.reader{
  position:relative;
  background:linear-gradient(180deg, #0e1530 0%, #0a1024 100%);
  border:1px solid rgba(233,192,115,0.12);
  border-left:1px solid rgba(233,192,115,0.3);
  border-radius:14px;
  padding:0; overflow:hidden;
  box-shadow:-30px 0 60px rgba(0,0,0,0.4), inset 1px 0 0 rgba(245,217,154,0.06);
  display:flex; flex-direction:column;
  min-height:0;       /* allow internal scrolling inside flex grid track */
}
.reader-head{ flex:none }
.reader::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg, transparent, rgba(233,192,115,0.4) 20%, rgba(233,192,115,0.4) 80%, transparent);
}

.reader-head{
  padding:18px 22px 14px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  background:linear-gradient(180deg, rgba(255,255,255,0.015), transparent);
  position:relative; z-index:2;
}
.reader-meta{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px }
.reader-tag{ font-size:10px; letter-spacing:0.32em; color:var(--gold); text-transform:uppercase }
.reader-controls{ display:flex; gap:8px; color:var(--muted) }
.reader-controls .icon-btn{ width:28px; height:28px }

/* Era + approx-year pill — lives inside the primary column header next
   to the translation toggle, so the entire pill stays at-a-glance with
   the verses it labels rather than eating top-of-reader vertical space. */
.reader-era-badge{
  display:inline-flex; align-items:center; gap:7px;
  padding:4px 12px;
  border:1px solid rgba(233,192,115,0.22);
  border-radius:999px;
  background:linear-gradient(180deg, rgba(245,217,154,0.08), rgba(245,217,154,0.02));
  font-family:'Cormorant Garamond', serif;
  font-size:11.5px; letter-spacing:0.06em;
  color:var(--ivory-dim);
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(245,217,154,0.06);
}
.reader-era-badge .era-name{ color:var(--gold-2); font-style:italic; font-weight:500 }
.reader-era-badge .era-dot{ color:rgba(233,192,115,0.4) }
.reader-era-badge .era-year{ font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.14em; color:var(--ivory-strong) }
.reader-era-badge:empty{ display:none }

/* selector wheel */
.selector{
  display:flex; align-items:stretch;
  background:linear-gradient(180deg, #131a36, #0c1228);
  border:1px solid rgba(233,192,115,0.2);
  border-radius:10px; overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(245,217,154,0.08), 0 4px 16px rgba(0,0,0,0.35);
}
.wheel{
  flex:1; position:relative; padding:8px 12px; text-align:center;
  border-right:1px solid rgba(233,192,115,0.12);
  cursor:pointer; overflow:hidden;
}
.wheel:last-child{ border-right:none }
.wheel-label{ font-size:9px; letter-spacing:0.32em; color:var(--muted); text-transform:uppercase; margin-bottom:4px }
.wheel-stack{
  position:relative; height:auto; min-height:64px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px;
}
.wheel-arrow{
  display:grid; place-items:center;
  width:22px; height:18px;
  padding:0; margin:0;
  background:transparent;
  border:1px solid rgba(233,192,115,0.18);
  border-radius:5px;
  color:rgba(233,192,115,0.55);
  cursor:pointer;
  transition:color .15s, background .15s, border-color .15s, transform .12s;
}
.wheel-arrow:hover{
  color:var(--gold-2);
  background:rgba(245,217,154,0.12);
  border-color:rgba(245,217,154,0.5);
}
.wheel-arrow:active{ transform:scale(0.92) }
.wheel-arrow.disabled{
  opacity:0.25;
  pointer-events:none;
}
.wheel-arrow svg{ display:block }
.wheel-current{
  font-family:'Cormorant Garamond', serif; font-weight:600; font-size:22px; color:#fff7e3;
  line-height:1; letter-spacing:0.01em;
  text-shadow:0 0 18px rgba(245,217,154,0.35);
  margin:3px 0;
  padding:2px 8px;
  border-radius:6px;
  cursor:pointer;
  transition:transform .25s ease, background .15s ease, box-shadow .15s ease;
}
.wheel-current:hover{
  background:rgba(245,217,154,0.08);
  box-shadow:inset 0 0 0 1px rgba(245,217,154,0.25);
}
.wheel-current em{ font-style:italic; color:var(--gold-2); font-weight:500 }
/* (Top/bottom fade gradients removed — arrows replace the prev/next text
   that those gradients were softening.) */
.wheel.book-wheel{ flex:1.4 }

/* picker dropdown — body-anchored with fixed positioning so it escapes the
   selector's overflow:hidden box. JS sets left/top/width inline. */
.wheel-picker{
  background:linear-gradient(180deg, #131a36, #0c1228);
  border:1px solid rgba(233,192,115,0.3); border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,0.65);
  max-height:320px; overflow-y:auto; z-index:9999;
  display:none;
  padding:6px;
}
.wheel-picker.open{ display:block }
.picker-section-title{
  font-size:9px; letter-spacing:0.32em; color:var(--gold); text-transform:uppercase;
  padding:8px 12px 4px;
  border-bottom:1px solid rgba(233,192,115,0.1);
  background:rgba(233,192,115,0.04);
  margin:4px -6px;
}
.picker-item{
  padding:6px 14px; font-family:'Cormorant Garamond', serif; font-size:14px; color:var(--ivory-dim);
  cursor:pointer; border-radius:6px;
}
.picker-item:hover{ background:rgba(233,192,115,0.08); color:var(--ivory-strong) }
.picker-item.active{ color:var(--gold-2); background:rgba(245,217,154,0.1) }

/* Numeric grid for chapter / verse pickers — much faster to scan than a
   long vertical list, especially for books with many chapters. */
.picker-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:4px;
  padding:4px;
}
.picker-cell{
  padding:8px 0;
  text-align:center;
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  color:var(--ivory-dim);
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(233,192,115,0.12);
  border-radius:6px;
  cursor:pointer;
  transition:background .12s, border-color .12s, color .12s, transform .08s;
}
.picker-cell:hover{
  background:rgba(245,217,154,0.12);
  border-color:rgba(245,217,154,0.4);
  color:var(--ivory-strong);
}
.picker-cell:active{ transform:scale(0.94) }
.picker-cell.active{
  color:#0a1024;
  background:linear-gradient(180deg, #f5d99a, #e9c073);
  border-color:rgba(245,217,154,0.7);
  font-weight:700;
}

/* reading body — single column. (Compare-mode and the modern column
   were removed; the translation pills swap KJV ↔ NRSV in place.) */
.reader-body{ flex:1; display:flex; overflow:hidden; position:relative }
.col{ flex:1; padding:22px 22px 24px; overflow-y:auto; position:relative }

/* License attribution — required line under NRSV / ESV. Subtle so it
   doesn't compete with the verses, but always present. */
.trans-attribution{
  margin:24px 0 12px;
  padding:10px 0 0;
  border-top:1px solid rgba(233,192,115,0.08);
  font-family:'Inter', sans-serif;
  font-size:9.5px; line-height:1.5;
  letter-spacing:0.04em;
  color:rgba(180,180,200,0.5);
  font-style:italic;
}

/* Column header is now just the always-visible KJV | NRSVUE pill row.
   The translation-name + EN·1611 lang line that used to live here was
   redundant once the pills showed the active translation directly. */
.col-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-bottom:14px; padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
/* Translation selector — same pill family as the era badge: thin gold
   outline, subtle interior gradient, italic Cormorant lettering. The
   active pill is a slightly darker tint with a soft glow rather than
   a filled gold gradient, so it reads as part of the same chrome
   instead of competing with the verses below. */
.trans-pills{
  display:inline-flex;
  padding:3px;
  gap:1px;
  background:linear-gradient(180deg, rgba(245,217,154,0.06), rgba(245,217,154,0.015));
  border:1px solid rgba(233,192,115,0.22);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(245,217,154,0.06);
}
.trans-pill{
  appearance:none; cursor:pointer;
  min-width:54px;
  padding:5px 14px;
  font-family:'Cormorant Garamond', serif;
  font-style:italic; font-weight:600;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(245,217,154,0.5);
  background:transparent;
  border:1px solid transparent;
  border-radius:999px;
  transition:color .15s, background .15s, border-color .15s,
             text-shadow .15s, transform .08s;
}
.trans-pill:hover{
  color:var(--ivory-strong);
  background:rgba(245,217,154,0.06);
}
.trans-pill:active{ transform:scale(0.97) }
.trans-pill.active{
  color:var(--gold-2);
  background:rgba(245,217,154,0.12);
  border-color:rgba(245,217,154,0.32);
  text-shadow:0 0 12px rgba(245,217,154,0.4);
}

.verses{ font-family:'Cormorant Garamond', serif; font-size:16px; line-height:1.65; color:#e8dfca }

/* Papyrus unroll — fires when the user opens a new book. Vertical
   reveal with a brief sepia tint so it reads as "unrolling parchment"
   rather than just a fade. Auto-removes after the animation. */
.verses.unrolling{
  animation: papyrus-unroll 0.7s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
@keyframes papyrus-unroll {
  0%   { clip-path: inset(0 0 100% 0); opacity: 0; filter: sepia(0.45) brightness(1.15) }
  55%  { filter: sepia(0.2) brightness(1.05) }
  100% { clip-path: inset(0 0 0 0); opacity: 1; filter: none }
}
.verses .verse{ display:block; margin:0 0 12px; cursor:default }
.verses .verse[data-has-note] .v-num::after{
  content:""; display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--gold-2); margin-left:4px; vertical-align:1px;
  box-shadow:0 0 6px rgba(245,217,154,0.7);
}
.v-num{
  font-family:'JetBrains Mono'; font-size:9.5px; color:var(--gold);
  margin-right:5px; vertical-align:0.45em; letter-spacing:0.12em; font-weight:500;
}
.verses .drop{
  font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:600;
  float:left; font-size:46px; line-height:0.85; color:var(--gold-2);
  margin:6px 8px 0 0; text-shadow:0 0 18px rgba(245,217,154,0.35);
}

/* ===== Tagged English words (KJV with Strong's) =====
   Every English KJV word that has a Strong's number becomes a clickable
   span. Visually they read as normal text with the lightest possible
   affordance — a faint gold dotted underline on hover — so the verse
   doesn't shout "every word is a button". Click opens the lexicon card. */
.v-text .tagged-word{
  cursor:pointer;
  border-bottom:1px dotted transparent;
  transition:color .12s, border-color .12s, background .12s, text-shadow .12s;
}
.v-text .tagged-word:hover{
  color:var(--gold-2);
  border-bottom-color:rgba(245,217,154,0.55);
  text-shadow:0 0 8px rgba(245,217,154,0.25);
}
.v-text .tagged-word:focus-visible{
  outline:2px solid rgba(245,217,154,0.55);
  outline-offset:2px;
  border-radius:2px;
}
.v-text .tagged-word.active{
  color:var(--gold-2);
  border-bottom-color:rgba(245,217,154,0.85);
  background:rgba(245,217,154,0.08);
  border-radius:2px;
}
/* Words of Christ override — keep red letters red even when tagged */
.verses .verse.jesus .v-text .tagged-word{ color:inherit }
.verses .verse.jesus .v-text .tagged-word:hover{
  color:#fff7e3;
  border-bottom-color:rgba(255,247,227,0.65);
  text-shadow:0 0 8px rgba(255,247,227,0.4);
}
.verses .verse.jesus .v-text .tagged-word.active{
  color:#fff7e3;
  background:rgba(255,247,227,0.1);
}

/* ===== Words of Christ — red-letter rendering =====
   Blood-red, slightly warmed so it sits inside the gold-leaf palette
   without going web-red. Drop cap and inline highlights keep working. */
.verses .verse.jesus .v-text{
  color:#b8302d;
  text-shadow:0 0 22px rgba(184,48,45,0.18);
}
.verses .verse.jesus .v-text .drop{
  color:#c93838;
  text-shadow:0 0 22px rgba(201,56,56,0.45);
}
.verses .verse.jesus .v-num{
  color:#c54a47;
}
.verses .verse.jesus .v-text.hl{
  /* Note highlight band stays — but the red text wins for legibility. */
  color:#9c2723;
}

/* Listen button — appears inline at the end of red-letter verses */
.listen-btn{
  display:inline-flex; align-items:center; gap:5px;
  vertical-align:0.05em;
  margin-left:8px;
  padding:3px 9px 3px 8px;
  background:linear-gradient(180deg, rgba(201,56,56,0.12), rgba(120,30,28,0.06));
  border:1px solid rgba(201,56,56,0.45);
  border-radius:999px;
  color:#e08885;
  font-family:'JetBrains Mono'; font-size:9.5px;
  letter-spacing:0.18em; text-transform:uppercase;
  cursor:pointer; transition:all .15s;
}
.listen-btn:hover{
  background:linear-gradient(180deg, rgba(201,56,56,0.22), rgba(120,30,28,0.12));
  border-color:rgba(201,56,56,0.7);
  color:#f5b8b6;
  box-shadow:0 0 12px rgba(201,56,56,0.25);
}
.listen-btn.loading{
  opacity:0.6; pointer-events:none;
  animation:listenPulse 1.1s ease-in-out infinite;
}
.listen-btn.playing{
  background:linear-gradient(180deg, rgba(201,56,56,0.32), rgba(120,30,28,0.18));
  color:#fff7e3;
  box-shadow:0 0 14px rgba(201,56,56,0.45);
}
.listen-btn svg{ flex:none }
@keyframes listenPulse{
  0%,100% { box-shadow:0 0 6px rgba(201,56,56,0.2)  }
  50%     { box-shadow:0 0 18px rgba(201,56,56,0.55) }
}

/* ===== Aramaic phrase pill =====
   Preserved Aramaic words (Talitha qumi, Eli Eli lema sabachthani, Abba…)
   shown beneath the verse where the gospel writer left them
   untranslated. */
.aramaic-pill{
  display:block; margin:8px 0 10px;
  padding:9px 12px 10px;
  background:linear-gradient(180deg, rgba(40,28,12,0.45), rgba(22,16,8,0.32));
  border:1px solid rgba(245,217,154,0.22);
  border-left:3px solid rgba(245,217,154,0.55);
  border-radius:0 7px 7px 0;
  font-family:'Inter', sans-serif;
  font-size:11.5px; line-height:1.5;
  color:var(--ivory-dim);
}
.aramaic-pill.jesus{
  background:linear-gradient(180deg, rgba(60,20,18,0.45), rgba(34,14,12,0.32));
  border-color:rgba(201,56,56,0.35);
  border-left-color:rgba(201,56,56,0.7);
}
.aramaic-row{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:10px;
  margin-bottom:4px;
}
.aramaic-script{
  font-family:'Frank Ruhl Libre', 'Cormorant Garamond', serif;
  font-size:18px; line-height:1; color:var(--ivory-strong);
  direction:rtl;
  letter-spacing:0.02em;
}
.aramaic-pill.jesus .aramaic-script{ color:#f7d2d0 }
.aramaic-translit{
  font-family:'Cormorant Garamond', serif;
  font-style:italic; font-size:14px;
  color:var(--gold-2); font-weight:500;
}
.aramaic-pill.jesus .aramaic-translit{ color:#e08885 }
.aramaic-pron{
  font-family:'JetBrains Mono'; font-size:10px;
  color:var(--muted); letter-spacing:0.05em;
}
.aramaic-gloss{
  font-size:12.5px; color:var(--ivory-strong);
  margin-bottom:3px; font-weight:500;
}
.aramaic-note{
  font-size:11.5px; color:var(--muted); line-height:1.45;
  font-style:italic;
}

/* per-verse "show original" toggle */
.orig-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; padding:0; margin-left:6px;
  vertical-align:0.1em;
  background:transparent; border:1px solid rgba(233,192,115,0.22);
  border-radius:4px; cursor:pointer;
  color:rgba(233,192,115,0.55);
  font-family:'Cormorant Garamond', 'Frank Ruhl Libre', serif;
  font-size:13px; line-height:1; font-weight:600;
  transition:all .15s;
}
.orig-toggle:hover{ border-color:rgba(245,217,154,0.55); color:var(--gold-2); background:rgba(245,217,154,0.08) }
.orig-toggle.active{ border-color:rgba(245,217,154,0.7); color:var(--gold-2); background:rgba(245,217,154,0.16); box-shadow:0 0 6px rgba(245,217,154,0.25) }
.orig-toggle-glyph{ display:inline-block; transform:translateY(-1px) }

/* original-language strip beneath each verse */
.orig-strip{
  margin:6px 0 12px;
  padding:8px 10px;
  background:rgba(233,192,115,0.03);
  border-left:2px solid rgba(233,192,115,0.18);
  border-radius:0 6px 6px 0;
  font-size:18px; line-height:1.7; color:var(--ivory-strong);
  display:none;
}
.orig-strip.open{ display:block }
.orig-strip.hebrew{ direction:rtl; text-align:right; font-family:'Cormorant Garamond','Frank Ruhl Libre', serif }
.orig-strip.greek { direction:ltr; font-family:'Cormorant Garamond', serif }
.orig-strip .ow{
  display:inline-block; padding:0 3px; cursor:pointer; border-radius:3px;
  transition:background .12s, color .12s;
  margin:0 2px;
}
.orig-strip .ow:hover{ background:rgba(245,217,154,0.18); color:var(--ivory-strong) }
.orig-strip-empty{ font-size:11px; color:var(--muted); font-style:italic }
.orig-strip-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  font-size:9.5px; color:var(--muted); letter-spacing:0.18em; text-transform:uppercase;
  margin-bottom:4px; padding-bottom:4px; border-bottom:1px solid rgba(233,192,115,0.08);
}

/* clickable English word w/ Strong's */
.word{
  position:relative; display:inline; cursor:pointer;
  padding:0 2px; border-radius:3px;
  border-bottom:1px dotted rgba(233,192,115,0.25);
  transition:all .12s;
}
.word:hover{
  background:linear-gradient(180deg, rgba(233,192,115,0.18), rgba(233,192,115,0.08));
  color:#fff7e3;
}
.word.active{
  background:linear-gradient(180deg, rgba(233,192,115,0.18), rgba(233,192,115,0.08));
  border-bottom:1px dashed rgba(245,217,154,0.55);
  color:#fff7e3;
  box-shadow:0 0 12px rgba(245,217,154,0.18);
}

/* highlight color bands */
.hl{ display:inline; padding:0 2px; border-radius:3px }
.hl-covenant   { background:rgba(91,143,208,0.22) }
.hl-promise    { background:rgba(233,192,115,0.22) }
.hl-warning    { background:rgba(201,122,122,0.22) }
.hl-fulfillment{ background:rgba(127,181,133,0.22) }
.hl-question   { background:rgba(157,126,200,0.22) }

/* notes panel inline */
.note-edit{
  margin-top:10px; padding:10px 12px;
  background:rgba(245,217,154,0.04);
  border:1px solid rgba(233,192,115,0.18);
  border-radius:8px;
  display:none;
}
.note-edit.open{ display:block }
.note-edit textarea{
  width:100%; min-height:90px; resize:vertical;
  background:rgba(7,11,24,0.6); color:var(--ivory);
  border:1px solid rgba(233,192,115,0.18); border-radius:6px;
  padding:8px 10px; font-family:'Inter', sans-serif; font-size:13px; line-height:1.5;
  outline:none;
}
.note-edit textarea:focus{ border-color:rgba(245,217,154,0.6); box-shadow:0 0 14px rgba(245,217,154,0.12) }
.note-toolbar{ display:flex; gap:8px; align-items:center; margin-top:8px }
.note-toolbar input.tag-in{
  flex:1; background:rgba(7,11,24,0.6); border:1px solid rgba(233,192,115,0.18); color:var(--ivory);
  border-radius:6px; padding:6px 10px; font-size:12px; outline:none;
}
.note-color{
  width:18px; height:18px; border-radius:4px; cursor:pointer;
  border:1px solid rgba(255,255,255,0.15);
}
.note-color.active{ box-shadow:0 0 0 2px var(--gold-2) }
.note-color.c-covenant   { background:rgba(91,143,208,0.5) }
.note-color.c-promise    { background:rgba(233,192,115,0.5) }
.note-color.c-warning    { background:rgba(201,122,122,0.5) }
.note-color.c-fulfillment{ background:rgba(127,181,133,0.5) }
.note-color.c-question   { background:rgba(157,126,200,0.5) }
.note-color.c-clear      { background:transparent; border:1px dashed rgba(255,255,255,0.4) }

.btn{
  font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  padding:6px 12px; border-radius:6px;
  background:rgba(245,217,154,0.08); border:1px solid rgba(233,192,115,0.3);
  color:var(--gold-2); cursor:pointer; font-weight:500;
}
.btn:hover{ background:rgba(245,217,154,0.16) }
.btn.saved{
  background:rgba(127,181,133,0.22);
  border-color:rgba(127,181,133,0.55);
  color:#dff3df;
  transition:background .25s, color .25s, border-color .25s;
}

/* side-drawer panels (notes index, genealogy, chapter map) */
.drawer{
  position:fixed; right:0; top:70px; bottom:0; width:min(420px, 92vw); z-index:30;
  background:linear-gradient(180deg, #0e1530 0%, #0a1024 100%);
  border-left:1px solid rgba(233,192,115,0.3);
  box-shadow:-20px 0 40px rgba(0,0,0,0.5);
  transform:translateX(100%); transition:transform .35s cubic-bezier(0.6,0,0.2,1);
  display:flex; flex-direction:column;
}
.drawer.open{ transform:translateX(0) }
.drawer-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 22px; border-bottom:1px solid rgba(255,255,255,0.06);
}
.drawer-head .title{ font-family:'Cormorant Garamond', serif; font-size:18px; color:var(--ivory-strong); font-weight:600 }
.drawer-body{ flex:1; overflow-y:auto; padding:14px 22px 24px; font-size:13px; line-height:1.55 }
.drawer-body h3{ font-family:'Cormorant Garamond', serif; font-size:15px; color:var(--gold-2); margin:18px 0 8px }
.drawer-row{
  padding:10px 0; border-bottom:1px solid rgba(233,192,115,0.06); display:block;
  cursor:pointer; color:var(--ivory-dim);
}
.drawer-row:hover{ color:var(--ivory-strong) }
.drawer-row .ref{ font-family:'JetBrains Mono'; font-size:9.5px; color:var(--gold); letter-spacing:0.18em }
.drawer-row .body{ font-size:12.5px; color:var(--ivory-dim); margin-top:4px }
.drawer-row .tags{ font-size:10px; color:var(--sapphire-2); margin-top:3px }
/* Custom-event pin-style picker (in the Notes/Add-event form) */
.evt-style-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px;
  padding:6px 4px;
  border:1px solid rgba(233,192,115,0.12);
  border-radius:6px;
  background:rgba(7,11,24,0.4);
}
.evt-style-label{
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold);
  padding-left:6px;
}
.evt-style-pick{ display:flex; gap:4px }
.evt-style{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid transparent;
  cursor:pointer;
  font-family:'Inter', sans-serif;
  font-size:10.5px; letter-spacing:0.06em;
  color:var(--ivory-dim);
  transition:background .12s, color .12s, border-color .12s;
}
.evt-style:hover{ background:rgba(245,217,154,0.06); color:var(--ivory-strong) }
.evt-style input{ display:none }
.evt-style:has(input:checked){
  background:rgba(245,217,154,0.16);
  border-color:rgba(245,217,154,0.45);
  color:#fff7e3;
}
.evt-style-dot{ width:9px; height:9px; border-radius:50%; flex:none }
.evt-style-default .evt-style-dot{
  background:radial-gradient(circle, #f5d99a 0%, #c89642 55%, #6b4818 100%);
  box-shadow:0 0 4px rgba(245,217,154,0.45);
}
.evt-style-featured .evt-style-dot{
  background:radial-gradient(circle, #fff7e3 0%, #f5d99a 35%, #b8853a 90%);
  box-shadow:0 0 6px rgba(255,247,227,0.6);
}
.evt-style-jesus .evt-style-dot{
  background:radial-gradient(circle, #6b0000 0%, #8b0000 35%, #ffffff 50%, #ffffff 100%);
  box-shadow:0 0 5px rgba(255,255,255,0.7), 0 0 3px rgba(139,0,0,0.6);
}

.drawer-subhead{
  font-family:'JetBrains Mono', monospace;
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold); margin:14px 0 6px;
}

/* Reading heatmap — 7×26 grid of day-cells, GitHub-style intensity. */
.reading-heatmap{ margin:6px 0 14px }
.rh-grid{
  display:flex; gap:3px;
  padding:6px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(245,217,154,0.1);
  border-radius:8px;
  overflow-x:auto;
}
.rh-col{ display:grid; grid-template-rows:repeat(7, 1fr); gap:3px; min-width:10px }
.rh-cell{
  appearance:none; padding:0;
  width:10px; height:10px;
  border:1px solid rgba(245,217,154,0.06);
  border-radius:2px;
  background:rgba(255,255,255,0.025);
  cursor:default;
  transition:transform .1s, border-color .1s;
}
.rh-cell:not(:disabled){ cursor:pointer }
.rh-cell:not(:disabled):hover{
  transform:scale(1.4);
  border-color:rgba(245,217,154,0.55);
}
.rh-cell[data-level="1"]{ background:rgba(245,217,154,0.25); border-color:rgba(245,217,154,0.18) }
.rh-cell[data-level="2"]{ background:rgba(245,217,154,0.45); border-color:rgba(245,217,154,0.32) }
.rh-cell[data-level="3"]{ background:rgba(245,217,154,0.7);  border-color:rgba(245,217,154,0.5) }
.rh-cell[data-level="4"]{ background:linear-gradient(180deg, #f7dca0, #c9a05a); border-color:rgba(245,217,154,0.85) }
.rh-stats{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  margin-top:8px;
  font-family:'Inter', sans-serif;
  font-size:10.5px; letter-spacing:0.04em;
  color:var(--muted);
}
.rh-stats b{ color:var(--gold-2); font-weight:600; font-size:13px }

/* chapter map grid */
.chap-grid{ display:grid; grid-template-columns:repeat(10, 1fr); gap:6px; margin-top:6px }
.chap-cell{
  aspect-ratio:1; border-radius:5px; display:grid; place-items:center;
  font-family:'JetBrains Mono'; font-size:10px; color:rgba(255,255,255,0.65); cursor:pointer;
  border:1px solid rgba(255,255,255,0.1);
}
.chap-cell:hover{ filter:brightness(1.4) }
.chap-cell.active{ outline:1px solid var(--gold-2); outline-offset:1px }
.cell-narrative { background:rgba(194,181,148,0.25) }
.cell-law       { background:rgba(214,176,122,0.30) }
.cell-poetry    { background:rgba(157,126,200,0.30) }
.cell-wisdom    { background:rgba(127,181,133,0.30) }
.cell-prophecy  { background:rgba(91,143,208,0.30) }
.cell-gospel    { background:rgba(245,217,154,0.30) }
.cell-epistle   { background:rgba(156,196,241,0.25) }
.cell-apocalypse{ background:rgba(201,122,122,0.30) }

/* genealogy tree */
.tree{ position:relative; padding:8px 0 }
.tree-node{
  position:relative; padding:8px 12px;
  border-left:2px solid rgba(233,192,115,0.25); margin-left:18px;
  cursor:pointer; color:var(--ivory-dim);
}
.tree-node::before{
  content:""; position:absolute; left:-7px; top:14px;
  width:12px; height:12px; border-radius:50%;
  background:radial-gradient(circle, var(--gold-2), var(--gold-deep));
  box-shadow:0 0 0 2px rgba(7,11,24,1), 0 0 10px rgba(245,217,154,0.5);
}
.tree-node:hover{ color:var(--ivory-strong) }
.tree-node .name{ font-family:'Cormorant Garamond', serif; font-size:15px; font-weight:600; color:var(--ivory-strong) }
.tree-node .meta{ font-size:10px; color:var(--muted); letter-spacing:0.12em; text-transform:uppercase }
.tree-node .note{ font-size:11px; color:var(--muted); margin-top:3px; font-style:italic }

/* compact reader-empty state */
.reader-empty{
  padding:40px 22px; color:var(--muted); font-size:12px; text-align:center;
}

/* ===== Archaeology Chest drawer ===== */
.archy-tabs{
  display:flex; flex-wrap:wrap; gap:6px;
  padding:12px 0;
  margin-bottom:6px;
  border-bottom:1px solid rgba(245,217,154,0.1);
}
.archy-tab{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px;
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(245,217,154,0.2);
  border-radius:999px;
  font-family:'Inter', sans-serif; font-size:11px;
  letter-spacing:0.05em;
  color:var(--ivory-dim);
  cursor:pointer; transition:all .15s;
}
.archy-tab:hover{ border-color:rgba(245,217,154,0.5); color:var(--gold-2) }
.archy-tab.active{
  background:linear-gradient(180deg, rgba(245,217,154,0.18), rgba(245,217,154,0.06));
  border-color:rgba(245,217,154,0.7);
  color:var(--gold-2);
  box-shadow:0 0 14px rgba(245,217,154,0.18);
}
.archy-tab-glyph{ font-family:'Cormorant Garamond', serif; font-size:14px; line-height:1 }
.archy-tab-count{
  font-family:'JetBrains Mono'; font-size:9px;
  background:rgba(7,11,24,0.5); border-radius:4px;
  padding:1px 5px; color:var(--muted);
  letter-spacing:0.05em;
}
.archy-tab.active .archy-tab-count{ color:var(--gold) }

.archy-intro{
  font-size:11.5px; line-height:1.5;
  color:var(--muted);
  margin:0 0 14px;
  font-style:italic;
}

.archy-card{
  position:relative;
  margin-bottom:12px;
  padding:12px 14px;
  background:linear-gradient(180deg, rgba(40,28,12,0.55), rgba(22,16,8,0.42));
  border:1px solid rgba(245,217,154,0.18);
  border-radius:8px;
  transition:all .2s;
}
.archy-card:hover{
  border-color:rgba(245,217,154,0.45);
  background:linear-gradient(180deg, rgba(40,28,12,0.7), rgba(22,16,8,0.55));
  box-shadow:0 0 18px rgba(245,217,154,0.1);
}
.archy-card.flash{
  animation:archyFlash 1.2s ease-out;
}
@keyframes archyFlash{
  0%   { box-shadow:0 0 0 1px rgba(245,217,154,0.9), 0 0 30px rgba(245,217,154,0.4) }
  100% { box-shadow:0 0 0 0 rgba(245,217,154,0), 0 0 0 rgba(245,217,154,0) }
}
.archy-card-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:6px;
  gap:10px;
}
.archy-type-badge{
  display:inline-flex; align-items:center; gap:5px;
  font-family:'Inter', sans-serif;
  font-size:9.5px; font-weight:600;
  letter-spacing:0.18em; text-transform:uppercase;
  padding:3px 8px;
  border-radius:3px;
  border:1px solid currentColor;
}
.archy-type-glyph{ font-family:'Cormorant Garamond', serif; font-size:12px; line-height:1 }
.archy-type-badge.type-tablet      { color:#d99a3f; background:rgba(217,154,63,0.08) }
.archy-type-badge.type-inscription { color:#9da7b8; background:rgba(157,167,184,0.08) }
.archy-type-badge.type-scroll      { color:#e9d6a8; background:rgba(233,214,168,0.08) }
.archy-type-badge.type-structure   { color:#7fb585; background:rgba(127,181,133,0.08) }
.archy-type-badge.type-relic       { color:#c97a7a; background:rgba(201,122,122,0.08) }

.archy-card-yr{
  font-family:'JetBrains Mono'; font-size:10px;
  letter-spacing:0.18em;
  color:var(--gold);
  text-transform:uppercase;
}
.archy-card-ttl{
  font-family:'Cormorant Garamond', serif;
  font-weight:600; font-size:17px;
  color:var(--ivory-strong);
  margin:2px 0 6px;
  line-height:1.2;
}
.archy-card-note{
  font-size:12.5px; line-height:1.5;
  color:var(--ivory-dim);
  margin:0 0 8px;
}
.archy-card-meta{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  margin:0; padding:8px 0 0;
  font-size:11px; line-height:1.4;
  border-top:1px solid rgba(245,217,154,0.08);
}
.archy-card-meta dt{
  font-family:'JetBrains Mono';
  font-size:9px; letter-spacing:0.18em;
  color:var(--muted); text-transform:uppercase;
  margin:0;
}
.archy-card-meta dd{
  margin:0; color:var(--ivory-dim);
}
.archy-card-meta .archy-link{
  color:var(--gold-2);
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(245,217,154,0.35);
  text-underline-offset:2px;
}
.archy-card-meta .archy-link:hover{
  color:var(--ivory-strong);
  text-decoration-color:rgba(245,217,154,0.8);
}


/* ============================================================
   Print stylesheet — ⌘P / window.print() produces a clean
   single-column reading sheet with the active translation,
   verse text in black on white, your highlighted notes inline,
   and the era + reference at the top. Everything else hides.
   ============================================================ */
@media print {
  body{ background:#fff !important; color:#000 !important }

  /* Hide everything except the reader. */
  .nav, .timeline-stack, .scrubber, .status-bar, .legend,
  .world-panel, .strongs, .orig-popover, .concord-panel,
  .drawer, .lane-label, .scene-meta, .reader-controls,
  .selector, .v-orig-btn, .listen-btn, .strongs-title-edit,
  .trans-pills, .reader-tag, .reader-meta {
    display: none !important;
  }

  .stage{ display:block !important; padding:0 !important; background:#fff !important }
  .reader, .reader.collapsed{
    position:static !important;
    transform:none !important;
    display:block !important;
    background:#fff !important;
    border:none !important;
    box-shadow:none !important;
    color:#000 !important;
  }
  .reader-head{ background:#fff !important; border:none !important; padding:0 !important; margin-bottom:12px !important }
  .reader-era-badge{
    display:inline-flex !important;
    color:#444 !important;
    background:transparent !important;
    border-color:#aaa !important;
  }
  .reader-era-badge .era-name{ color:#000 !important }
  .reader-era-badge .era-year{ color:#000 !important }

  .reader-body{ display:block !important; overflow:visible !important }
  .col{ flex:none !important; padding:0 !important; overflow:visible !important; width:100% !important }
  .col-head{ border:none !important; margin-bottom:8px !important }

  .verses{
    color:#000 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 12.5pt !important;
    line-height: 1.5 !important;
  }
  .verses .verse{
    page-break-inside: avoid;
    margin: 0 0 8pt !important;
  }
  .v-num{
    color:#666 !important;
    font-family: monospace !important;
    font-size: 8pt !important;
  }
  .v-text .drop{
    color:#000 !important;
    text-shadow:none !important;
  }
  .v-text .tagged-word{
    border:none !important;
    color:inherit !important;
  }
  .v-text.hl-blue   { background:#e8eef9 !important; padding:0 2pt }
  .v-text.hl-gold   { background:#faf2da !important; padding:0 2pt }
  .v-text.hl-red    { background:#f9e3e0 !important; padding:0 2pt }
  .v-text.hl-green  { background:#e3efe3 !important; padding:0 2pt }
  .v-text.hl-violet { background:#ece4f4 !important; padding:0 2pt }

  /* Words of Christ in print: dark red, no glow. */
  .verses .verse.jesus .v-text{ color:#7a0e1a !important; text-shadow:none !important }
  .verses .verse.jesus .v-num { color:#7a0e1a !important }

  /* Note editor expanded inline if open; otherwise hide. */
  .note-edit{
    display:none !important;
  }
  .note-edit.open{
    display:block !important;
    margin: 4pt 0 8pt 16pt;
    padding: 6pt 8pt;
    border-left: 2pt solid #999;
    background:#f7f5ee !important;
    color:#222 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 9.5pt !important;
  }
  .note-edit textarea{
    background:transparent !important;
    border:none !important;
    color:#222 !important;
  }
  .note-edit .actions, .note-edit .colors{ display:none !important }

  .aramaic-pill{
    border:1pt solid #aaa !important;
    background:#f7f5ee !important;
    color:#000 !important;
    page-break-inside: avoid;
  }

  .trans-attribution{
    color:#666 !important;
    border-top:1pt solid #ccc !important;
    page-break-before: avoid;
    font-size:8pt !important;
  }

  @page { margin: 0.6in }
}
