/* UECF.NET NKJV Chronological Study Bible — stylesheet
   Visual language shared with the UECF.NET KJV Study Bible (palette, type, layout),
   extended for chronological readings: epochs, transitions, background notes,
   time capsules, time panels, charts and maps. */

:root{
  --ink:#101B31;
  --ink-soft:#2C3E60;
  --gold:#C79A3D;
  --gold-soft:#E4C685;
  --maroon:#8B3A42;
  --teal:#2F5D62;
  --cream:#FAF6EC;
  --cream-dim:#F0E7D5;
  --line:#E2D8C0;
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Source Sans 3', system-ui, -apple-system, sans-serif;
  --font-scripture:'Merriweather', Georgia, serif;

  --bg:var(--cream);
  --bg-panel:#ffffff;
  --bg-panel-alt:var(--cream-dim);
  --text:var(--ink);
  --text-soft:var(--ink-soft);
  --border:var(--line);
  --accent:var(--maroon);
  --accent-soft:var(--gold);
  --link:var(--maroon);
  --highlight-bg:#FCEFC7;
  --note-bg:#F6EEDC;
  --note-border:#D9C69A;
  --transition-bg:#EEF2F1;
  --transition-border:#9DB7B2;
  --capsule-bg:#F3F0E6;
  --daily-bg:#FBF3E3;
  --chart-head:#E8DEC5;
  --scripture-size:1.08rem;
  --scripture-line:1.85;
}

:root[data-theme="dark"]{
  --bg:#0B1220;
  --bg-panel:#141F35;
  --bg-panel-alt:#101A2E;
  --text:#EAEAF2;
  --text-soft:#B9C2D8;
  --border:#2B3A5A;
  --accent:#E0A96D;
  --accent-soft:#C79A3D;
  --link:#E8B86D;
  --highlight-bg:#3A331A;
  --note-bg:#1B2338;
  --note-border:#4A4A2E;
  --transition-bg:#152531;
  --transition-border:#3E6A72;
  --capsule-bg:#182035;
  --daily-bg:#1E2436;
  --chart-head:#243047;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1220;
    --bg-panel:#141F35;
    --bg-panel-alt:#101A2E;
    --text:#EAEAF2;
    --text-soft:#B9C2D8;
    --border:#2B3A5A;
    --accent:#E0A96D;
    --accent-soft:#C79A3D;
    --link:#E8B86D;
    --highlight-bg:#3A331A;
    --note-bg:#1B2338;
    --note-border:#4A4A2E;
    --transition-bg:#152531;
    --transition-border:#3E6A72;
    --capsule-bg:#182035;
    --daily-bg:#1E2436;
    --chart-head:#243047;
  }
}

*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
h1,h2,h3,h4{font-family:var(--font-display); color:var(--text); margin:0 0 .5em;}
a{color:var(--link); text-decoration:none;}
a:hover{text-decoration:underline;}
button{font-family:inherit;}
img{max-width:100%; height:auto;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--gold); color:var(--ink);
  padding:10px 16px; z-index:200; font-weight:600; border-radius:0 0 6px 0;
}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}

/* ---------- Header ---------- */
.sb-header{background:var(--ink); color:var(--cream); border-bottom:3px solid var(--gold);}
:root[data-theme="dark"] .sb-header{background:#0B1220;}
.sb-header-inner{
  max-width:1400px; margin:0 auto; padding:10px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.sb-brand{display:flex; align-items:center; gap:12px; color:var(--cream);}
.sb-brand img{border-radius:6px; display:block;}
.sb-brand-text{display:flex; flex-direction:column; line-height:1.25;}
.sb-brand-text strong{font-family:var(--font-display); font-size:1.05rem; color:var(--cream);}
.sb-brand-text small{font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-soft); font-weight:600;}
.sb-header-nav{display:flex; align-items:center; gap:4px;}
.sb-header-nav a{color:var(--cream); font-size:.9rem; font-weight:600; padding:8px 12px; border-radius:4px;}
.sb-header-nav a:hover{background:rgba(228,198,133,.15); color:var(--gold-soft); text-decoration:none;}

.sb-other-bibles-menu{position:relative;}
.sb-other-bibles-trigger{
  background:none; border:none; color:var(--cream); font-size:.9rem; font-weight:600;
  padding:8px 12px; border-radius:4px; cursor:pointer; font-family:inherit;
}
.sb-other-bibles-trigger:hover{background:rgba(228,198,133,.15); color:var(--gold-soft);}
.sb-other-bibles-drop{
  display:none; position:absolute; right:0; top:calc(100% + 6px); background:var(--bg-panel);
  border:1px solid var(--border); border-radius:8px; padding:6px; min-width:240px;
  box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:80;
}
.sb-other-bibles-drop.show{display:block;}
.sb-other-bibles-drop a{
  display:block; padding:9px 12px; border-radius:5px; color:var(--text); font-size:.88rem; font-weight:500;
}
.sb-other-bibles-drop a:hover{background:var(--bg-panel-alt); text-decoration:none; color:var(--accent);}
.sb-other-bibles-sheet{display:none;}

/* ---------- Notice banner ---------- */

/* ---------- Mobile top bar ---------- */
.sb-mtop{
  display:none; position:sticky; top:0; z-index:75; background:var(--ink); color:var(--cream);
  align-items:center; gap:10px; padding:10px 14px; padding-top:calc(10px + env(safe-area-inset-top));
  border-bottom:2px solid var(--gold);
}
:root[data-theme="dark"] .sb-mtop{background:#0B1220;}
.sb-mtop-home{
  width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(228,198,133,.4);
  display:flex; align-items:center; justify-content:center; font-size:1rem; flex:0 0 auto; text-decoration:none;
}
.sb-mtop-title{flex:1; min-width:0; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.sb-mtop-title strong{font-family:var(--font-display); font-size:1rem; color:var(--cream); font-weight:600;}
.sb-mtop-more{
  width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); border:1px solid rgba(228,198,133,.4);
  color:var(--cream); font-size:1.2rem; line-height:1; cursor:pointer; flex:0 0 auto;
}

/* ---------- Toolbar ---------- */
.sb-toolbar{
  position:sticky; top:0; z-index:50; background:var(--bg-panel); border-bottom:1px solid var(--border);
  box-shadow:0 2px 8px rgba(16,27,49,.06);
}
.sb-sheet-handle{display:none;}
.sb-toolbar-inner{
  max-width:1400px; margin:0 auto; padding:10px 16px; display:flex; align-items:center;
  gap:8px; flex-wrap:wrap;
}
.sb-select, .sb-input, .sb-btn{
  font-size:.88rem; padding:8px 10px; border-radius:6px; border:1px solid var(--border);
  background:var(--bg-panel); color:var(--text); font-family:var(--font-body);
}
.sb-select{cursor:pointer; min-width:120px; max-width:260px;}
.sb-btn{cursor:pointer; font-weight:600; white-space:nowrap;}
.sb-btn:hover{background:var(--bg-panel-alt);}
.sb-btn:disabled{opacity:.4; cursor:default;}
.sb-btn-quiet{background:transparent; border-color:transparent; color:var(--accent);}
.sb-btn-quiet:hover{background:var(--bg-panel-alt); border-color:var(--border);}
.sb-nav-btns{display:flex; gap:4px;}
.sb-search-wrap{flex:1 1 220px; min-width:180px;}
.sb-search-btn{width:100%; text-align:left; cursor:pointer; color:var(--text-soft);}
.sb-search-btn kbd{
  float:right; font-size:.7rem; border:1px solid var(--border); border-radius:4px; padding:1px 5px;
  background:var(--bg-panel-alt);
}
.sb-tool-group{display:flex; gap:4px;}
.sb-goto{display:flex; gap:4px; align-items:center;}
.sb-goto .sb-select{min-width:90px;}

/* ---------- Bottom nav (phones) ---------- */
.sb-bottom-nav{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:70;
  background:var(--bg-panel); border-top:1px solid var(--border);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  box-shadow:0 -4px 16px rgba(16,27,49,.1);
}
.sb-bn-btn{
  background:none; border:none; color:var(--text-soft); font-family:var(--font-body);
  display:flex; flex-direction:column; align-items:center; gap:2px; font-size:.68rem; font-weight:600;
  padding:6px 4px; border-radius:8px; cursor:pointer; flex:1 1 0;
}
.sb-bn-btn .ic{font-size:1.15rem; line-height:1;}
.sb-bn-btn:hover, .sb-bn-btn:active{background:var(--bg-panel-alt); color:var(--text);}
.sb-bn-btn.sb-bn-primary{color:var(--accent);}
.sb-bn-btn.sb-bn-primary .ic{
  background:var(--accent); color:#fff; width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin-bottom:1px;
}
.sb-sheet-backdrop{display:none; position:fixed; inset:0; background:rgba(16,27,49,.5); z-index:59;}
.sb-sheet-backdrop.show{display:block;}

/* ---------- Layout ---------- */
.sb-layout{
  max-width:1400px; margin:0 auto; padding:20px 16px 60px;
  display:grid; grid-template-columns:260px minmax(0,1fr) 280px; gap:22px; align-items:start;
}
.sb-side, .sb-notes-panel-col{position:sticky; top:70px; max-height:calc(100vh - 90px); overflow-y:auto;}
.sb-side h2{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:0 0 8px;}

/* sidebar tabs */
.sb-side-tabs{display:flex; gap:4px; margin-bottom:12px; border-bottom:1px solid var(--border);}
.sb-side-tabs button{
  flex:1; background:none; border:none; border-bottom:3px solid transparent; padding:8px 4px; cursor:pointer;
  font-weight:700; font-size:.82rem; color:var(--text-soft); text-transform:uppercase; letter-spacing:.05em;
}
.sb-side-tabs button.active{color:var(--accent); border-bottom-color:var(--accent);}
.sb-side-pane[hidden]{display:none;}

/* chronological tree */
.sb-epoch{border:1px solid var(--border); border-radius:8px; margin-bottom:8px; background:var(--bg-panel); overflow:hidden;}
.sb-epoch > button{
  width:100%; text-align:left; background:none; border:none; padding:10px 12px; cursor:pointer; color:var(--text);
  display:flex; gap:8px; align-items:baseline; font-family:var(--font-body);
}
.sb-epoch > button .num{
  font-family:var(--font-display); font-weight:700; color:var(--accent); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap;
}
.sb-epoch > button .ttl{font-weight:600; font-size:.9rem; line-height:1.25;}
.sb-epoch > button .dates{display:block; font-size:.74rem; color:var(--text-soft); font-weight:500;}
.sb-epoch > button::after{content:"▾"; margin-left:auto; color:var(--text-soft); font-size:.8rem;}
.sb-epoch.open > button::after{content:"▴";}
.sb-epoch.active > button{background:var(--bg-panel-alt);}
.sb-epoch-body{display:none; border-top:1px solid var(--border); padding:6px 6px 8px;}
.sb-epoch.open .sb-epoch-body{display:block;}
.sb-section{margin:4px 0;}
.sb-section > button{
  width:100%; text-align:left; background:none; border:none; padding:6px 8px; cursor:pointer; color:var(--text-soft);
  font-weight:700; font-size:.8rem; border-radius:5px; font-family:var(--font-body);
}
.sb-section > button:hover{background:var(--bg-panel-alt); color:var(--text);}
.sb-section.active > button{color:var(--accent);}
.sb-section-units{display:none; padding-left:6px;}
.sb-section.open .sb-section-units{display:block;}
.sb-unit-link{
  display:block; width:100%; text-align:left; background:none; border:none; padding:5px 8px; cursor:pointer;
  color:var(--text-soft); font-size:.84rem; border-radius:4px; font-family:var(--font-body); line-height:1.3;
}
.sb-unit-link:hover{background:var(--bg-panel-alt); color:var(--text);}
.sb-unit-link.active{background:var(--accent); color:#fff; font-weight:600;}
.sb-unit-link.intro{font-style:italic;}

/* canonical book grid */
.sb-book-list{display:flex; flex-direction:column; gap:1px; margin-bottom:6px;}
.sb-book-list button{
  text-align:left; background:none; border:none; padding:6px 8px; border-radius:4px; cursor:pointer;
  color:var(--text-soft); font-size:.86rem; font-family:var(--font-body);
}
.sb-book-list button:hover{background:var(--bg-panel-alt); color:var(--text);}
.sb-book-list button.active{background:var(--accent); color:#fff; font-weight:600;}
.sb-chapter-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(34px,1fr)); gap:5px;}
.sb-chapter-grid button{
  padding:6px 0; border-radius:4px; border:1px solid var(--border); background:var(--bg-panel);
  color:var(--text); font-size:.82rem; cursor:pointer; font-family:var(--font-body);
}
.sb-chapter-grid button:hover{background:var(--bg-panel-alt);}
.sb-chapter-grid button.active{background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700;}
.sb-resources a{
  display:block; padding:7px 8px; border-radius:5px; color:var(--text-soft); font-size:.86rem; font-weight:600;
}
.sb-resources a:hover{background:var(--bg-panel-alt); color:var(--text); text-decoration:none;}
.sb-resources a.active{background:var(--accent); color:#fff;}

/* ---------- Main reading column ---------- */
.sb-main{min-width:0; background:var(--bg-panel); border:1px solid var(--border); border-radius:10px; padding:26px 34px 40px;}
.sb-crumbs{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); font-weight:700; margin:0 0 4px;}
.sb-crumbs a{color:var(--accent);}
.sb-crumbs span + span::before{content:" · "; color:var(--text-soft);}
.sb-chapter-head h1{font-size:1.9rem; margin:4px 0 6px;}
.sb-chapter-head .sub{color:var(--text-soft); font-size:.9rem; margin:0 0 14px;}
.sb-chapter-nav{display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 18px; flex-wrap:wrap;}
.sb-chapter-nav .mid{flex:1; text-align:center; font-size:.82rem; color:var(--text-soft);}
.sb-parts{font-size:.84rem; color:var(--text-soft); background:var(--bg-panel-alt); border:1px solid var(--border); border-radius:6px; padding:8px 12px; margin:0 0 16px;}
.sb-parts a{font-weight:600;}

.sb-scripture{font-family:var(--font-scripture); font-size:var(--scripture-size); line-height:var(--scripture-line); color:var(--text);}
.loading-msg{color:var(--text-soft); font-style:italic; font-family:var(--font-body);}
.sb-scripture p{margin:0 0 .85em;}
.sb-scripture .sb-h{
  font-family:var(--font-display); font-style:italic; font-weight:600; color:var(--accent); font-size:1.02em;
  margin:1.4em 0 .5em; line-height:1.3;
}
.sb-scripture .sb-chapnum{
  font-family:var(--font-display); font-weight:700; font-size:1.55em; color:var(--accent); margin:1.2em 0 .3em;
  display:flex; align-items:baseline; gap:10px;
}
.sb-scripture .sb-chapnum small{font-family:var(--font-body); font-size:.55em; font-weight:600; color:var(--text-soft); text-transform:uppercase; letter-spacing:.08em;}
.sb-superscription{font-style:italic; color:var(--text-soft); margin:0 0 .8em; font-size:.92em;}
.sb-superscription .rm{font-style:normal;}
.sb-verse{border-radius:3px; padding:1px 2px; scroll-margin-top:90px; cursor:pointer;}
.sb-verse:hover{background:var(--bg-panel-alt);}
.sb-verse.active{background:var(--highlight-bg);}
.sb-vn{
  font-family:var(--font-body); font-weight:700; font-size:.68em; color:var(--accent);
  vertical-align:super; margin-right:2px; user-select:none; line-height:0;
}
.sb-fnm{font-family:var(--font-body); font-size:.62em; vertical-align:super; color:var(--teal); font-style:italic; margin-left:1px; line-height:0; text-decoration:none;}
.sb-fnm:hover{text-decoration:underline;}
.sc{font-variant:small-caps; letter-spacing:.02em;}
.ot{font-style:oblique; font-weight:500;}
.sb-poem{margin:0 0 .9em; padding-left:1.2em;}
.sb-poem .ln{display:block; text-indent:-1.2em; padding-left:0;}
.sb-poem .ln.i1{padding-left:1.2em;}
.sb-poem .ln.i2{padding-left:2.4em;}
.sb-poem .ln.i3{padding-left:3.6em;}
.sb-poem .ln.i4{padding-left:4.8em;}
.sb-poem .ln .sb-vn{margin-left:-1.4em; margin-right:.55em; display:inline-block; width:.8em; text-align:right;}
.sb-poem .ln.hasv{text-indent:0;}
.sb-poem .ln.hasv.i1{padding-left:1.2em;}

/* ---------- Study features (in-flow) ---------- */
.sb-feature{
  font-family:var(--font-body); font-size:.94rem; line-height:1.62; border-radius:8px; padding:16px 20px;
  margin:1.4em 0; border:1px solid var(--border); scroll-margin-top:90px;
}
.sb-feature p{margin:0 0 .7em;}
.sb-feature p:last-child{margin-bottom:0;}
.sb-feature .kicker{
  font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin:0 0 4px; color:var(--text-soft);
}
.sb-feature h3{font-size:1.06rem; margin:0 0 .5em; font-family:var(--font-display);}
.sb-feature h3 .ref{font-weight:400; font-style:italic; color:var(--text-soft); font-size:.9em;}
.sb-feature .refs{margin:.8em 0 0; font-weight:700; font-size:.86rem;}
.sb-feature .refs a{margin-right:10px;}
.sb-note{background:var(--note-bg); border-color:var(--note-border); border-left:5px solid var(--gold);}
.sb-note h3{color:var(--maroon);}
:root[data-theme="dark"] .sb-note h3{color:var(--accent);}
.sb-transition{background:var(--transition-bg); border-color:var(--transition-border); border-left:5px solid var(--teal);}
.sb-transition h3{color:var(--teal);}
:root[data-theme="dark"] .sb-transition h3{color:#8FC7C0;}
.sb-daily{background:var(--daily-bg); font-size:.9rem;}
.sb-daily .kicker{color:var(--accent);}
.sb-capsule{background:var(--capsule-bg);}
.sb-capsule table{border-collapse:collapse; width:100%; font-size:.86rem;}
.sb-capsule td{padding:5px 8px; border-top:1px solid var(--border); vertical-align:top;}
.sb-capsule td:first-child{font-weight:700; white-space:nowrap; color:var(--accent); width:1%;}
.sb-chart .chart-pics img{width:100%; border-radius:6px; border:1px solid var(--border); margin:.4em 0; background:#fff;}
.sb-chart details{margin-top:.6em;}
.sb-chart summary{cursor:pointer; font-weight:600; color:var(--accent); font-size:.86rem;}
.sb-chart table{border-collapse:collapse; width:100%; font-size:.9rem; margin-top:.5em;}
.sb-chart th{background:var(--chart-head); text-align:left; padding:6px 10px; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em;}
.sb-chart td{padding:6px 10px; border-top:1px solid var(--border); vertical-align:top;}
.sb-chart td:first-child{font-weight:700; white-space:nowrap; color:var(--accent);}
.sb-figure{margin:1.4em 0; text-align:center;}
.sb-figure img{border-radius:6px; border:1px solid var(--border); background:#fff;}
.sb-figure figcaption{font-family:var(--font-body); font-size:.84rem; color:var(--text-soft); margin-top:6px; line-height:1.45; text-align:left;}
.sb-figure figcaption strong{color:var(--text); display:block;}
.sb-figure.map img, .sb-figure.panel img{width:100%;}
.sb-figure.photo img{max-height:520px;}
.sb-quote{
  font-family:var(--font-display); font-style:italic; font-size:1.15rem; color:var(--accent); border-left:4px solid var(--gold);
  padding:6px 18px; margin:1.2em 0; line-height:1.5;
}
.sb-article{font-family:var(--font-body); font-size:1.02rem; line-height:1.72;}
.sb-article p{margin:0 0 1em;}
.sb-article h2{font-size:1.25rem; margin:1.6em 0 .5em; color:var(--accent);}
.sb-article h3{font-size:1.05rem; margin:1.3em 0 .4em;}
.sb-epoch-hero{
  background:linear-gradient(135deg, var(--ink), #2C3E60); color:var(--cream); border-radius:10px; padding:26px 28px; margin:0 0 22px;
  border-bottom:4px solid var(--gold);
}
.sb-epoch-hero .kicker{color:var(--gold-soft); text-transform:uppercase; letter-spacing:.14em; font-size:.75rem; font-weight:700;}
.sb-epoch-hero h1{color:#fff; font-size:2rem; margin:6px 0 4px;}
.sb-epoch-hero .dates{color:var(--gold-soft); font-weight:600; font-size:1rem;}
.sb-epoch-hero .epigraph{font-family:var(--font-display); font-style:italic; margin:14px 0 0; color:#F5EEDC; font-size:1.05rem; max-width:60ch; line-height:1.5;}

.sb-footnotes{margin-top:2em; border-top:1px solid var(--border); padding-top:12px; font-family:var(--font-body); font-size:.84rem; color:var(--text-soft);}
.sb-footnotes h2{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent);}
.sb-footnotes ol{list-style:none; margin:0; padding:0;}
.sb-footnotes li{padding:3px 0; scroll-margin-top:90px;}
.sb-footnotes li.hi{background:var(--highlight-bg); border-radius:4px; padding:3px 6px;}
.sb-footnotes .fref{font-weight:700; color:var(--text);}
.sb-footnotes .flet{font-style:italic; color:var(--teal); margin-right:4px;}

/* ---------- Right panel ---------- */
.sb-notes-panel{background:var(--bg-panel); border:1px solid var(--border); border-radius:10px; padding:18px;}
.sb-notes-panel h2{font-size:1rem; margin-bottom:10px;}
.sb-notes-panel h3{font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin:14px 0 6px;}
.sb-notes-empty{color:var(--text-soft); font-size:.88rem; font-style:italic;}
.sb-outline{list-style:none; margin:0; padding:0;}
.sb-outline li a{display:block; padding:6px 8px; border-radius:5px; font-size:.86rem; color:var(--text); line-height:1.35;}
.sb-outline li a:hover{background:var(--bg-panel-alt); text-decoration:none;}
.sb-outline li a .k{display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-soft); font-weight:700;}
.sb-context{font-size:.86rem; color:var(--text-soft); line-height:1.5;}
.sb-context b{color:var(--text);}

/* ---------- Verse actions ---------- */
.sb-verse-actions{
  position:absolute; display:none; gap:4px; background:var(--ink); border-radius:8px; padding:6px; z-index:60;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
}
.sb-verse-actions.show{display:flex;}
.sb-verse-actions button{background:none; border:none; color:var(--cream); font-size:.8rem; padding:6px 10px; border-radius:5px; cursor:pointer;}
.sb-verse-actions button:hover{background:rgba(255,255,255,.12);}

/* ---------- Search modal ---------- */
.sb-modal{
  position:fixed; inset:0; background:rgba(16,27,49,.55); z-index:100;
  display:flex; align-items:flex-start; justify-content:center; padding:8vh 16px;
}
.sb-modal[hidden]{display:none;}
.sb-modal-panel{
  background:var(--bg-panel); border-radius:10px; width:min(680px,100%); max-height:78vh;
  display:flex; flex-direction:column; box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.sb-modal-field{display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--border);}
.sb-modal-field input{flex:1; border:none; outline:none; font-size:1.05rem; background:transparent; color:var(--text); font-family:var(--font-body);}
.sb-modal-status{padding:8px 16px; font-size:.8rem; color:var(--text-soft); margin:0; display:flex; gap:12px; align-items:center; flex-wrap:wrap;}
.sb-modal-status label{cursor:pointer;}
.sb-modal-results{list-style:none; margin:0; padding:0 8px 8px; overflow-y:auto;}
.sb-modal-results li{padding:10px 8px; border-radius:6px; cursor:pointer; font-size:.88rem; line-height:1.45;}
.sb-modal-results li:hover, .sb-modal-results li.sel{background:var(--bg-panel-alt);}
.sb-modal-results .ref{font-weight:700; color:var(--accent); display:block; font-size:.78rem; margin-bottom:2px;}
.sb-modal-results mark{background:var(--gold-soft); color:var(--ink); border-radius:2px;}

/* ---------- Resource pages (glossary, topics, features) ---------- */
.sb-page{font-family:var(--font-body); font-size:1rem; line-height:1.7;}
.sb-page h2{font-size:1.25rem; color:var(--accent); margin:1.5em 0 .5em;}
.sb-page h3{font-size:1.02rem; margin:1.1em 0 .3em;}
.sb-page dl{margin:0;}
.sb-page dt{font-weight:700; margin-top:.9em; font-family:var(--font-display);}
.sb-page dd{margin:0 0 .3em;}
.sb-page ul{padding-left:1.2em;}
.sb-page li{margin:.2em 0;}
.sb-page .pgnum{color:var(--text-soft); font-size:.8em; margin-left:6px;}
.sb-page .callout{background:var(--bg-panel-alt); border:1px solid var(--border); border-left:4px solid var(--maroon); border-radius:6px; padding:14px 18px; margin:1.2em 0;}
.sb-page pre{white-space:pre-wrap; font-family:inherit; font-size:.9rem; background:var(--bg-panel-alt); padding:12px 16px; border-radius:6px;}
.sb-jump{display:flex; flex-wrap:wrap; gap:6px; margin:.6em 0 1.2em;}
.sb-jump a{border:1px solid var(--border); border-radius:4px; padding:2px 8px; font-size:.85rem; font-weight:600;}
.sb-jump a:hover{background:var(--bg-panel-alt); text-decoration:none;}
.sb-grid-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px;}
.sb-card{border:1px solid var(--border); border-radius:8px; padding:12px 14px; background:var(--bg-panel-alt); display:block; color:var(--text);}
.sb-card:hover{border-color:var(--accent); text-decoration:none;}
.sb-card .k{font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); font-weight:700;}
.sb-card .t{display:block; font-weight:600; line-height:1.3;}

/* ---------- Misc ---------- */
.sb-to-top{
  position:fixed; right:18px; bottom:18px; width:42px; height:42px; border-radius:50%;
  background:var(--ink); color:var(--cream); border:none; cursor:pointer; font-size:1.1rem;
  box-shadow:0 4px 14px rgba(0,0,0,.25); display:none; z-index:40;
}
.sb-to-top.show{display:block;}
.sb-footer{
  text-align:center; padding:26px 16px 50px; color:var(--text-soft); font-size:.82rem;
  border-top:1px solid var(--border); margin-top:20px;
}
.sb-footer p{margin:4px 0;}
.sb-footer-other{font-size:.78rem;}
.sb-footer-other a{color:var(--accent); font-weight:600;}
.sb-footer .copy{max-width:80ch; margin:10px auto 0; font-size:.76rem; line-height:1.5;}

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
  .sb-layout{grid-template-columns:1fr;}
  .sb-side, .sb-notes-panel-col{position:static; max-height:none; display:none; margin-bottom:16px;}
  .sb-side.open, .sb-notes-panel-col.open{display:block;}
  .sb-main{padding:20px 18px 30px;}
}
@media (max-width: 640px){
  .sb-toolbar-inner{gap:6px;}
  .sb-select{min-width:100px; flex:1 1 auto;}
  .sb-search-wrap{order:5; flex-basis:100%;}
  .sb-chapter-head h1{font-size:1.5rem;}
  .sb-epoch-hero h1{font-size:1.5rem;}
  .sb-chapter-nav .mid{display:none;}
  .sb-chapter-nav{justify-content:space-between;}
  .sb-nav-btns{order:4;}
  .sb-feature{padding:14px 14px;}
  .sb-main{padding:18px 14px 28px;}
}

@media (max-width: 780px){
  .sb-header{display:none;}
  .sb-mtop{display:flex;}
  .sb-bottom-nav{display:flex;}
  .sb-other-bibles-sheet{display:flex; flex-direction:column; gap:2px; padding-top:10px; margin-top:6px; border-top:1px solid var(--border);}
  .sb-other-bibles-label{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-soft); font-weight:700; padding:4px 4px 2px;}
  .sb-other-bibles-sheet a{padding:9px 6px; border-radius:6px; font-weight:600; color:var(--accent);}
  .sb-toolbar{
    position:fixed; top:auto; bottom:0; left:0; right:0; z-index:60;
    border-radius:16px 16px 0 0; border:1px solid var(--border); border-bottom:none;
    box-shadow:0 -10px 30px rgba(0,0,0,.25);
    max-height:78vh; overflow-y:auto;
    transform:translateY(105%); transition:transform .25s ease;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .sb-toolbar.mobile-open{transform:translateY(0);}
  .sb-sheet-handle{display:block; width:40px; height:4px; border-radius:99px; background:var(--border); margin:10px auto 2px;}
  .sb-toolbar-inner{flex-direction:column; align-items:stretch; padding:8px 16px 18px;}
  .sb-toolbar-inner > *{order:0;}
  .sb-toolbar-inner .sb-select, .sb-toolbar-inner .sb-input, .sb-toolbar-inner .sb-search-btn{width:100%; max-width:none;}
  .sb-goto{flex-direction:column; align-items:stretch;}
  .sb-nav-btns{display:grid; grid-template-columns:1fr 1fr;}
  .sb-search-wrap{margin:2px 0;}
  .sb-tool-group{display:grid; grid-template-columns:1fr 1fr; margin-top:2px;}
  .sb-tool-group .sb-btn{width:100%;}
  .sb-side, .sb-notes-panel-col{
    position:fixed !important; top:calc(56px + env(safe-area-inset-top)); bottom:0; z-index:65; width:88vw; max-width:380px;
    max-height:none; margin:0; background:var(--bg-panel);
    padding:16px 16px calc(16px + env(safe-area-inset-bottom));
    box-shadow:0 0 30px rgba(0,0,0,.3);
    transition:transform .25s ease; display:block; overflow-y:auto;
  }
  .sb-side{left:0; transform:translateX(-105%);}
  .sb-side.open{transform:translateX(0);}
  .sb-notes-panel-col{right:0; transform:translateX(105%);}
  .sb-notes-panel-col.open{transform:translateX(0);}
  .sb-notes-panel{border:none; padding:0;}
  .sb-layout{padding-bottom:78px;}
  .sb-footer{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  .sb-to-top{bottom:calc(78px + env(safe-area-inset-bottom) + 10px);}
  .sb-figure.photo img{max-height:none;}
}

/* ---------- Print ---------- */
@media print{
  .sb-header, .sb-mtop, .sb-toolbar, .sb-bottom-nav, .sb-side, .sb-notes-panel-col,
  .sb-to-top, .sb-footer, .sb-verse-actions, .sb-chapter-nav, .sb-sheet-backdrop{display:none !important;}
  .sb-layout{display:block; padding:0;}
  .sb-main{border:none; padding:0;}
  .sb-feature{break-inside:avoid;}
}


/* ---- Telugu edition: self-hosted Noto Sans Telugu (SIL Open Font License) so Telugu renders correctly even when Google Fonts is unavailable ---- */
@font-face{font-family:"Noto Sans Telugu Local";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/NotoSansTelugu-Regular.woff2") format("woff2");}
@font-face{font-family:"Noto Sans Telugu Local";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/NotoSansTelugu-SemiBold.woff2") format("woff2");}
@font-face{font-family:"Noto Sans Telugu Local";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/NotoSansTelugu-Bold.woff2") format("woff2");}
/* ---- Telugu edition: Telugu type for Scripture and interface ---- */
html[lang="te"]{
  --font-display:'Fraunces', 'Noto Sans Telugu Local', 'Noto Sans Telugu', 'Gautami', 'Nirmala UI', Georgia, serif;
  --font-body:'Source Sans 3', 'Noto Sans Telugu Local', 'Noto Sans Telugu', 'Gautami', 'Nirmala UI', system-ui, -apple-system, sans-serif;
  --font-scripture:'Merriweather', 'Noto Serif Telugu', 'Noto Sans Telugu Local', 'Noto Sans Telugu', 'Gautami', 'Vani', 'Nirmala UI', Georgia, serif;
}
html[lang="te"] .sb-scripture{ line-height:1.95; }
html[lang="te"] .sb-poem .ln{ display:block; padding-left:0; text-indent:0; margin:0 0 .4em; }
html[lang="te"] .sb-epoch-hero .sub{ opacity:.8; font-style:italic; margin:6px 0 0; }
