/* Shared reading ergonomics, including the original editorial pages. */
[hidden]{display:none!important}
body{overflow-wrap:anywhere}
button,select,input{font:inherit}
button,a,select,input{-webkit-tap-highlight-color:transparent}
button,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:10px;z-index:100;padding:10px 14px;background:var(--card);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.topbar .wrap{min-height:64px;height:auto;padding-block:10px;gap:14px;flex-wrap:wrap}
.topbar nav{display:flex;gap:16px;flex-wrap:wrap}
.toplink{display:inline-flex;align-items:center;min-height:40px}
.topbar .btn{min-width:44px;min-height:44px}
.hero{padding:32px 0 18px}
.hero h1{font-size:clamp(38px,5.8vw,64px);line-height:1.05;margin:12px 0}
.hero p{margin:10px 0;font-size:17px}
.hero .reader-caveat,.reader-caveat{font-size:14px;color:var(--muted);max-width:780px}
.tools{grid-template-columns:minmax(240px,1fr) 175px 150px 230px;align-items:end;margin-top:20px}
.tools label,.bible-controls label{display:grid;gap:6px;font-size:13px;font-weight:700;min-width:0}
.tools input,.tools select,.bible-controls select{min-height:48px;padding:10px 12px;font-size:16px;max-width:100%}
.topics{gap:8px}
.chip{min-height:44px;padding:8px 12px}
.status{flex-wrap:wrap;gap:8px 18px;margin:12px 0}
.reader-notice{min-height:0;font-size:14px;color:var(--accent)}
.reader-notice:empty{display:none}
.layout{padding-bottom:32px;grid-template-columns:240px minmax(0,1fr)}
.context-tip{font-size:14px;color:var(--muted);margin-top:0}
.section{scroll-margin-top:140px}
.section h2{font-size:23px}
.saying{scroll-margin-top:140px}
.saying-head{flex-wrap:wrap;margin-bottom:4px}
.actions{gap:5px}
.iconbtn{min-width:44px;min-height:44px;padding:8px}
.excerpt-label{font-size:12px;color:var(--muted);margin:0 0 12px}
.quote{font-size:22px;line-height:1.65;margin:0}
.quote a{text-decoration:none}
.quote a:hover{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.quote-short{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.text-button{min-height:44px;background:transparent;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;font-size:14px;padding:8px 0}
.context-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px}
.context-link{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sidebar{top:88px}
.sidebar summary{cursor:pointer;font-size:14px;font-weight:700;padding:8px 0}
.timeline-era{border-top:1px solid var(--line);margin-top:8px}
.timeline-era .section-link{min-height:44px;font-weight:400;padding:10px 8px}
.load-more{min-height:48px;display:block;width:100%;margin:18px 0}
.reader-about{max-width:900px;border-top:1px solid var(--line);padding:22px 0 40px}
.reader-about h2{font-family:Georgia,serif;font-size:30px}
.reader-about .start-links{display:flex;flex-wrap:wrap;gap:12px 24px}
.reader-about a{min-height:44px;display:inline-flex;align-items:center;color:var(--accent)}
.footer .links a{display:inline-flex;align-items:center;min-height:44px}
.bible-page{max-width:850px;padding-top:20px}
.bible-page h1{font-size:38px;margin:20px 0 12px}
.bible-page .lede{font-size:16px}
.reader-return{position:sticky;top:64px;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0}
.reader-return a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;color:var(--accent)}
#bibleControls{border:1px solid var(--line);border-radius:14px;padding:16px;scroll-margin-top:150px;margin:22px 0}
#bibleControls legend{padding:0 8px;font-size:14px}
.bible-controls{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:12px}
.chapter-nav{display:flex;justify-content:space-between;gap:18px;margin:20px 0}
.chapter-nav a{min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--accent)}
#chapterTitle{scroll-margin-top:150px;font-size:32px;margin-bottom:6px}
#translationName,#bibleStatus{font-size:14px;color:var(--muted);margin:6px 0}
.bible-text{font-family:Georgia,serif;font-size:21px;line-height:1.8;background:var(--card);padding:20px 26px;border:1px solid var(--line);border-radius:16px}
.bible-verse{font-size:inherit!important;margin:0;padding:5px 8px;scroll-margin-top:160px;border-radius:6px}
.verse-number{font-family:system-ui,sans-serif;font-size:12px;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:36px;vertical-align:baseline}
.selected-verse{background:var(--accent2);box-shadow:inset 3px 0 var(--accent)}
.context-explainer{border-top:1px solid var(--line);margin-top:30px}
dt{font-weight:700;margin-top:22px}dd{margin:8px 0 22px}
.article-page li{margin:9px 0}
@media(max-width:1050px){.tools{grid-template-columns:1fr 1fr}.tools label:first-child{grid-column:1/-1}.tools label:last-child{grid-column:1/-1}}
@media(max-width:820px){
  .topbar .wrap{gap:6px 10px}.brand{font-size:17px}.topbar nav{order:3;width:100%;justify-content:space-between;gap:4px}.toplink{font-size:13px;display:inline-flex;min-height:36px}.topbar .spacer{display:none}.brand{margin-right:auto}
  .hero{padding-top:20px}.hero h1{font-size:40px}.hero p{font-size:16px}.hero .reader-caveat{font-size:13px}
  .tools{gap:10px;margin-top:16px}.tools input,.tools select{padding:10px;font-size:16px}.topics{gap:6px}.chip{font-size:13px}
  .layout{display:block}.sidebar{position:static;display:block;max-height:none;overflow:visible;padding:0;margin-bottom:20px}.sidebar>details{border:1px solid var(--line);border-radius:12px;padding:8px 12px}.sidebar>details:not([open])>summary{padding:4px 0}
  .sidebar>details>summary{min-height:44px;display:list-item;align-content:center}
  .saying{padding:16px}.saying-head{gap:5px}.num{font-size:11px}.quote{font-size:21px}.section h2{font-size:22px}
  .reader-return{top:107px}.bible-page h1{font-size:31px}.bible-page{padding-top:10px}
  .bible-controls{grid-template-columns:1fr 1fr}.bible-controls label:first-child{grid-column:1/-1}
  .bible-text{padding:14px 10px;font-size:20px}.bible-verse{padding:5px 7px;scroll-margin-top:190px}.verse-number{min-width:28px}
  .mobile-nav{padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{min-height:48px;font-size:13px}
  body:has(.mobile-nav){padding-bottom:calc(48px + env(safe-area-inset-bottom))}.footer{padding-bottom:28px}
  .page{padding-top:24px}.reader-about h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.topbar,.mobile-nav,.sidebar,.actions,.tools,.topics,.reader-return{display:none!important}.quote-short{display:block}.bible-text{border:0;padding:0}}

/* Keep the return bar directly below headers of different phone heights. */
.reader-return{top:var(--reader-header-height,107px)}
#reader,#timelinePanel{scroll-margin-top:140px}
@media(max-width:380px){.topbar .brand{font-size:14px}.topbar .wrap{column-gap:8px}.hero h1{font-size:32px}}

/* Optional filters collapse on phones; the search and sayings stay close. */
.reader-filters,.filter-fields{display:contents}
.reader-filters>summary{display:none}
@media(max-width:820px){
  .reader-filters{display:block;grid-column:1/-1;border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 12px}
  .reader-filters>summary{display:list-item;cursor:pointer;min-height:48px;align-content:center;font-size:14px;font-weight:700}
  .filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 0 12px}
  .filter-fields label:first-child{grid-column:auto}
  .filter-fields label:last-child{grid-column:1/-1}
}
