/* ──────────────────────────────────────────────────────────────
   Analytical Study view — renders inside the reader drawer.
   Two-column layout: sticky map + scrolling document body.
   Styled like a printed critical edition — not like a web page.
   ────────────────────────────────────────────────────────────── */

.study-shell {
  display: grid;
  grid-template-columns: 248px 1fr;
  height: 100%;
  background: var(--tan-bg);
}

/* ── Left map / rail ─────────────────────────────────────── */
.study-map {
  padding: 18px 18px 18px 20px;
  background: var(--tan-bg-soft);
  border-right: 1px solid var(--tan-border-2);
  display:flex; flex-direction:column; gap: 16px;
  overflow-y: auto;
}
.study-back {
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; border:1px solid var(--tan-border-3);
  color: var(--tan-fg-2);
  padding: 5px 10px; border-radius: 6px;
  font: 500 11.5px var(--font-meta);
  cursor: pointer; align-self: flex-start;
}
.study-back:hover { background: var(--tan-bg-soft); color: var(--tan-ink); }
.study-map-kicker {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin-top: 4px;
}
.study-map-ref {
  font: 500 17px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.005em;
  border-bottom: 1px solid var(--tan-border-2);
  padding-bottom: 12px;
}
.study-map-list { display:flex; flex-direction:column; }
.study-map-item {
  display:flex; align-items: flex-start; gap: 10px;
  padding: 8px 10px; margin-left: -10px;
  cursor: pointer; border-radius: 6px;
  color: var(--tan-fg-2);
  font: 500 12px var(--font-sans); line-height: 1.35;
  position: relative;
}
.study-map-item .dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(6,31,39,.2);
  margin-top: 6px; flex:none;
  transition: background .15s, transform .15s;
}
.study-map-item:hover { background: var(--tan-bg-soft); color: var(--tan-ink); }
.study-map-item.on { color: var(--tan-ink); font-weight: 600; }
.study-map-item.on .dot { background: var(--tan-cyan-600); transform: scale(1.35); box-shadow: 0 0 0 3px rgba(61,202,220,.2); }

/* Unauthored sections — grayed in the rail, italic, with an inline
   "+ commission" tag that appears on hover/active. */
.study-map-item.unauthored {
  color: var(--tan-fg-4);
  font-weight: 400;
  font-style: italic;
}
.study-map-item.unauthored .dot {
  background: transparent;
  border: 1px dashed var(--tan-border-3);
  width: 8px; height: 8px; margin-top: 5px;
}
.study-map-item.unauthored:hover { color: var(--tan-fg-2); background: var(--tan-bg-soft); }
.study-map-item.unauthored.on { color: var(--tan-fg-2); }
.study-map-item.unauthored .unauth-tag {
  font: 600 9px var(--font-meta);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--tan-cyan-600);
  margin-left: auto; padding-left: 6px;
  opacity: 0; transition: opacity .15s;
  white-space: nowrap;
}
.study-map-item.unauthored:hover .unauth-tag,
.study-map-item.unauthored.on .unauth-tag { opacity: 1; }

/* Commission-all CTA in the cover card */
.sc-commission-all {
  display: flex; align-items: center; gap: 12px;
  margin-top: 20px;
  padding: 12px 14px;
  background: var(--tan-bg-soft);
  border: 1px dashed var(--tan-border-3);
  border-radius: var(--r-md);
  flex-wrap: wrap;
}
.sc-commission-all-btn {
  font: 600 12px var(--font-ui);
  letter-spacing: .02em;
  color: var(--tan-ink);
  background: var(--tan-cyan);
  border: 0; border-radius: var(--r-md);
  padding: 7px 14px;
  cursor: pointer;
  transition: background .15s;
}
.sc-commission-all-btn:hover { background: var(--color-brand-hover); }
.sc-commission-all-btn strong { font-weight: 700; }
.sc-commission-all-hint {
  font: 400 12px var(--font-sans);
  color: var(--tan-fg-3);
}

/* Empty-section body for unauthored sections */
.study-section.unauthored-section { padding-top: 28px; padding-bottom: 14px; }
.sec-head-unauthored { color: var(--tan-fg-2); font-weight: 400; }
.sec-note-unauthored { color: var(--tan-fg-3); font-style: italic; }
.empty-section-card {
  margin-top: 12px;
  padding: 18px 22px;
  background: var(--tan-bg-soft);
  border: 1px dashed var(--tan-border-3);
  border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 10px;
  max-width: 620px;
}
.esc-msg {
  margin: 0;
  font: 400 13px var(--font-sans);
  color: var(--tan-fg-2);
  line-height: 1.55;
}
.esc-cta {
  align-self: flex-start;
  font: 600 12px var(--font-ui);
  color: var(--tan-cyan-600);
  background: transparent;
  border: 1px solid var(--tan-cyan-600);
  padding: 7px 14px;
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.esc-cta:hover { background: var(--tan-cyan-600); color: #fff; }

/* NIV fallback panel — shown above the spine when no Reader's translation
   has been authored in the user's language. The default Bible text is
   visible so the user has SOMETHING to read; the CTA invites commissioning
   the actual Reader's. */
.niv-fallback-panel {
  margin: 18px 48px 0;
  padding: 22px 26px;
  background: var(--tan-bg-soft);
  border: 1px solid var(--tan-border-2);
  border-left: 3px solid var(--tan-cyan-600);
  border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 14px;
}
.niv-fallback-head { display: flex; flex-direction: column; gap: 4px; }
.niv-fallback-kicker {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--tan-fg-3);
}
.niv-fallback-label {
  margin: 0;
  font: 500 16px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.005em;
}
.niv-fallback-body {
  font: 400 15px var(--font-sans);
  color: var(--tan-fg-1);
  line-height: 1.7;
}
.niv-fallback-body .vline { margin: 0 0 8px; padding: 0 0 0 36px; text-indent: -36px; }
.niv-fallback-body .vn {
  display: inline-block; width: 24px; text-align: right;
  font: 600 10.5px var(--font-meta);
  letter-spacing: .04em;
  color: var(--tan-cyan-600);
  vertical-align: 2px;
  margin-right: 8px;
}
.niv-fallback-cta {
  align-self: flex-start;
  font: 600 12px var(--font-ui);
  color: var(--tan-cyan-600);
  background: transparent;
  border: 1px solid var(--tan-cyan-600);
  padding: 7px 14px;
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.niv-fallback-cta:hover { background: var(--tan-cyan-600); color: #fff; }
.study-map-footer {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--tan-border-2);
}
.study-map-footer .author { display:flex; align-items:center; gap: 9px; }
.study-map-footer .avatar-chip {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--tan-ink); color: var(--tan-cyan);
  display:grid; place-items:center;
  font: 700 10px var(--font-meta); letter-spacing:.04em;
}
.study-map-footer .nm { font: 600 12px var(--font-sans); color: var(--tan-ink); }
.study-map-footer .dt { font: 400 10.5px var(--font-sans); color: var(--tan-fg-3); }

/* ── Main body ───────────────────────────────────────────── */
.study-main {
  overflow-y: auto;
  padding: 0 0 60px;
  position: relative;
  scroll-behavior: smooth;
}

/* Cover card */
.study-cover {
  padding: 38px 48px 30px;
  border-bottom: 1px solid var(--tan-border-2);
  background: var(--tan-bg);
  position: relative;
  overflow: hidden;
}
.study-cover::before {
  content: '';
  position: absolute;
  right: 36px; top: 20px; bottom: 20px; width: 1px;
  background: repeating-linear-gradient(to bottom, var(--tan-border-2) 0 3px, transparent 3px 7px);
  opacity: .6;
}
.sc-top { display:flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.sc-chip {
  font: 600 10px var(--font-meta);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--tan-ink);
  padding: 4px 10px; border-radius: 4px;
  background: rgba(61,202,220,.12);
  border: 1px solid rgba(61,202,220,.3);
}
.sc-chip.muted {
  background: var(--tan-bg-soft);
  border-color: var(--tan-border-2);
  color: var(--tan-fg-2);
}
.study-cover.tradition-hebrew .sc-chip { background: rgba(216,163,64,.14); border-color: rgba(216,163,64,.35); }

/* Agency-reviewed quick chip in the top chip row */
.sc-chip.sc-chip-reviewed {
  background: rgba(76,176,101,.12);
  border-color: rgba(36,159,88,.35);
  color: var(--tan-green-700);
  text-transform: none;
  letter-spacing: 0;
  font: 600 11px var(--font-meta);
  display: inline-flex; align-items: center; gap: 4px;
}
.sc-chip-reviewed strong { font-weight: 700; }
.sc-chip-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--tan-green-700);
  color: #fff;
  font-size: 9px; font-weight: 700;
}

/* Detailed reviewer strip — full row with agency seals, reviewer name,
   credential, scope, and signoff date. Sits between subtitle and signature. */
.sc-reviewed-strip {
  margin: 12px 0 18px;
  padding: 12px 16px;
  background: rgba(76,176,101,.06);
  border-left: 3px solid var(--tan-green-700);
  border-radius: 0 var(--r-md) var(--r-md) 0;
  display: flex; flex-direction: column;
  gap: 6px;
  max-width: 720px;
}
.sc-rs-top {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.sc-rs-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--tan-green-700);
  color: #fff;
  font-size: 11px; font-weight: 700;
}
.sc-rs-label {
  font: 600 11px var(--font-meta);
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--tan-green-700);
}
.sc-rs-seals {
  display: inline-flex; gap: 6px;
  margin-left: auto;
}
.sc-rs-body {
  font: 500 14px var(--font-sans);
  color: var(--tan-ink);
}
.sc-rs-name { font-weight: 600; }
.sc-rs-cred {
  font-weight: 400;
  color: var(--tan-fg-2);
}
.sc-rs-meta {
  font: 400 12px var(--font-sans);
  color: var(--tan-fg-3);
  font-style: italic;
}

.sc-title {
  font: 400 38px var(--font-display);
  letter-spacing: -.015em;
  color: var(--tan-ink);
  margin: 4px 0 8px;
  line-height: 1.05;
}
.sc-subtitle {
  font: 400 17px 'Roboto', serif;
  color: var(--tan-fg-2);
  max-width: 580px;
  line-height: 1.4;
  margin: 0 0 22px;
  font-style: italic;
}
.sc-signature {
  margin: 0 0 26px;
  padding: 14px 20px 14px 22px;
  border-left: 3px solid var(--tan-cyan);
  background: rgba(61,202,220,.06);
  font: 400 15px var(--font-display);
  color: var(--tan-ink);
  font-style: italic;
  max-width: 620px;
  border-radius: 0 6px 6px 0;
}
.study-cover.tradition-hebrew .sc-signature {
  border-left-color: #d4a24c;
  background: rgba(216,163,64,.06);
}
.sc-stats {
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0;
  border: 1px solid var(--tan-border-2);
  border-radius: 6px;
  overflow: hidden;
  background: var(--tan-bg-soft);
  max-width: 520px;
}
.sc-stat { padding: 12px 16px; border-right: 1px solid var(--tan-border-1); }
.sc-stat:last-child { border-right: 0; }
.sc-stat .n {
  font: 400 22px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.sc-stat .l {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin-top: 3px;
}

/* Section */
.study-section {
  padding: 36px 48px 22px;
  max-width: 820px;
  scroll-margin-top: 20px;
}
.sec-head {
  font: 500 22px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.01em;
  margin: 0 0 6px;
  line-height: 1.2;
}
.sec-head::before {
  content:'';
  display: inline-block;
  width: 18px; height: 1px;
  background: var(--tan-cyan);
  vertical-align: middle;
  margin-right: 10px;
  transform: translateY(-4px);
}
.sec-note {
  font: 400 13.5px var(--font-sans);
  color: var(--tan-fg-3);
  margin: 0 0 20px;
  font-style: italic;
  max-width: 640px;
  line-height: 1.55;
}

/* ── Plain & annotated passages ──────────────────────────── */
.sty-passage {
  font: 400 16.5px var(--font-display);
  color: var(--tan-ink);
  line-height: 1.75;
}
.sty-passage .vline {
  margin: 0 0 10px;
  padding: 2px 0 2px 40px;
  text-indent: -40px;
}
.sty-passage .vn {
  display: inline-block;
  width: 28px; text-align: right;
  font: 600 10.5px var(--font-meta);
  letter-spacing: .04em;
  color: var(--tan-cyan-600);
  vertical-align: 2px;
  margin-right: 8px;
}
.sty-passage.plain { background: var(--tan-bg-soft); border: 1px solid var(--tan-border-1); border-radius: 6px; padding: 18px 22px 12px; }
.sty-passage.annotated { padding: 2px 0; }

/* Annotated gloss chip — must stay `display: inline` so multi-word glosses
   ("repetidament desitjant") can break across lines like normal text. */
.gk-gloss {
  display: inline;
  position: relative;
  background: linear-gradient(to top, rgba(61,202,220,.18) 0 40%, transparent 40%);
  padding: 0 1px;
  cursor: help;
  font-weight: 500;
  color: var(--tan-ink);
  border-bottom: 1px dotted rgba(61,202,220,.6);
  text-decoration: none;
}
.gg-term { font-weight: 500; }
.gg-tip {
  /* Floating tooltip — hidden by default, appears on hover. Positioned
     below the term so it never collides with the previous line. Auto
     sized but clamped so short glosses look snug, long glosses fit on
     a phone, and nothing in the underlying paragraph leaks through. */
  display: block;
  font: 400 12.5px var(--font-sans);
  color: var(--tan-fg-1);
  background: var(--tan-bg);
  border: 1px solid var(--tan-border-3);
  border-radius: 6px;
  padding: 8px 12px;
  box-shadow: 0 8px 24px rgba(6,31,39,.18), 0 2px 6px rgba(6,31,39,.08);
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: max-content;
  max-width: min(360px, 88vw);
  min-width: 140px;
  z-index: 100;
  opacity: 0; pointer-events: none; visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .14s, transform .14s, visibility 0s linear .14s;
  font-style: italic;
  line-height: 1.45;
  white-space: normal;
  text-align: left;
}
.gk-gloss:hover .gg-tip,
.gk-gloss:focus-within .gg-tip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .14s, transform .14s, visibility 0s;
}

/* ── Greek text block ────────────────────────────────────── */
.sty-greek .gk-block {
  margin-bottom: 18px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid rgba(6,31,39,.09);
  border-left: 3px solid var(--tan-cyan);
  border-radius: 0 6px 6px 0;
}
.sty-greek .gk-label {
  font: 600 10px var(--font-meta);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--tan-cyan-600);
  margin-bottom: 8px;
}
.sty-greek .gk-body {
  font: 400 16px 'GFS Neohellenic', var(--font-display);
  line-height: 1.65;
  color: var(--tan-ink);
}

/* ── LXX / MT parallel ───────────────────────────────────── */
.sty-lxxmt { display:flex; flex-direction: column; gap: 2px; }
.lm-head, .lm-row {
  display: grid;
  grid-template-columns: 40px 1fr 1fr;
  gap: 14px;
  align-items: start;
}
.lm-head {
  font: 600 10px var(--font-meta);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--tan-fg-3);
  padding: 0 0 8px;
  border-bottom: 1px solid var(--tan-border-2);
}
.lm-head > div:first-child { grid-column: 2 / 3; }
.lm-head .lxx-col { color: var(--tan-cyan-600); }
.lm-head .mt-col  { color: #a87416; text-align: right; }
.lm-row {
  padding: 10px 0;
  border-bottom: 1px dashed var(--tan-border-1);
}
.lm-row .lm-vn {
  font: 600 10.5px var(--font-meta);
  color: var(--tan-cyan-600);
  letter-spacing: .04em;
  padding-top: 2px;
}
.lm-col {
  font: 400 15px var(--font-display);
  line-height: 1.55;
  color: var(--tan-ink);
}
.lm-col.mt-col {
  direction: rtl;
  font-family: 'SBL Hebrew', 'Ezra SIL', 'Times New Roman', serif;
  font-size: 17px;
  line-height: 1.8;
}

.lm-divergences {
  margin-top: 24px;
  padding: 18px 22px;
  background: #fff;
  border: 1px solid var(--tan-border-2);
  border-radius: 8px;
}
.lm-divergences h4 {
  font: 600 10.5px var(--font-meta);
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin: 0 0 14px;
}
.div-row { padding: 14px 0; border-top: 1px solid var(--tan-border-1); }
.div-row:first-of-type { padding-top: 0; border-top: 0; }
.div-head {
  display:flex; align-items: center; gap: 10px;
  margin-bottom: 10px;
}
.div-token {
  font: 600 13px var(--font-sans);
  color: var(--tan-ink);
}
.div-cls {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .12em; text-transform: uppercase;
  padding: 3px 7px; border-radius: 3px;
  background: rgba(142,104,255,.12);
  color: var(--tan-cyan-600);
}
.div-two {
  display:grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;
}
.div-cell {
  padding: 10px 12px; border-radius: 6px;
  background: rgba(6,31,39,.03);
}
.div-cell.lxx-cell { border-left: 2px solid var(--tan-cyan); }
.div-cell.mt-cell  { border-left: 2px solid #d4a24c; }
.dc-label {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin-bottom: 6px;
}
.dc-body { font: 400 14px var(--font-display); color: var(--tan-ink); line-height: 1.5; }
.dc-body.heb { font-family: 'SBL Hebrew', 'Ezra SIL', 'Times New Roman', serif; direction: rtl; font-size: 15px; }
.div-note { font: 400 13px var(--font-sans); color: var(--tan-fg-2); font-style: italic; line-height: 1.55; }

/* ── Word-by-word ────────────────────────────────────────── */
.sty-wxw .wxw-pericope { margin-bottom: 26px; }
.wxw-head {
  font: 500 13.5px var(--font-sans);
  color: var(--tan-ink);
  padding: 8px 12px;
  background: rgba(6,31,39,.05);
  border-radius: 5px;
  margin-bottom: 10px;
  font-style: italic;
}
.wxw-entries { display: flex; flex-direction: column; gap: 4px; }
.wxw-entry {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 22px;
  padding: 14px 14px 14px 0;
  border-top: 1px solid var(--tan-border-1);
  align-items: start;
}
.wxw-entry:first-child { border-top: 0; padding-top: 4px; }
.wxw-entry.risk { background: linear-gradient(to right, rgba(233,73,53,.03), transparent 70%); border-left: 2px solid rgba(233,73,53,.35); padding-left: 12px; margin-left: -14px; border-radius: 0 4px 4px 0; }
.wxw-gk {
  font: 500 17px var(--font-display);
  color: var(--tan-ink);
  line-height: 1.1;
  margin-bottom: 4px;
  display: flex; flex-direction: column; gap: 4px;
}
.risk-pill {
  align-self: flex-start;
  font: 600 9px var(--font-meta);
  letter-spacing: .12em; text-transform: uppercase;
  color: #b03826; background: rgba(233,73,53,.12);
  padding: 2px 6px; border-radius: 3px;
  line-height: 1.2;
}
.wxw-en {
  font: 400 13px var(--font-sans); color: var(--tan-fg-2); font-style: italic; margin-bottom: 6px;
}
.wxw-parse {
  font: 500 10.5px var(--font-meta);
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--tan-fg-3);
}
.wxw-notes {
  font: 400 13.5px var(--font-sans);
  color: var(--tan-fg-1); line-height: 1.6;
}

/* ── Structural observation ──────────────────────────────── */
.mvmts { display: flex; flex-direction: column; gap: 14px; margin-bottom: 22px; }
.mvmt {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--tan-border-1);
}
.mvmt:first-child { border-top: 0; padding-top: 0; }
.mv-n {
  font: 400 26px var(--font-display);
  color: var(--tan-cyan-600);
  line-height: 1;
  font-style: italic;
  padding-top: 2px;
}
.mv-label { font: 600 13.5px var(--font-sans); color: var(--tan-ink); margin-bottom: 4px; }
.mv-body { font: 400 13.5px var(--font-sans); color: rgba(6,31,39,.75); line-height: 1.6; }

.chiasm-box {
  padding: 18px 22px;
  background: #fff;
  border: 1px solid var(--tan-border-2);
  border-radius: 8px;
  position: relative;
}
.chiasm-box::before {
  content:'';
  position: absolute; left: 50%; top: 32px; bottom: 56px;
  width: 1px;
  background: repeating-linear-gradient(to bottom, rgba(61,202,220,.35) 0 3px, transparent 3px 6px);
  transform: translateX(-.5px);
}
.ch-title {
  font: 600 10.5px var(--font-meta);
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin-bottom: 12px;
}
.ch-lines { display: flex; flex-direction: column; gap: 4px; position: relative; }
.ch-line { display: flex; align-items: baseline; gap: 10px; padding: 4px 0; }
.ch-k {
  font: 500 13px var(--font-display);
  color: var(--tan-cyan-600);
  width: 24px; flex: none;
  font-style: italic;
}
.ch-t {
  font: 400 13.5px var(--font-sans);
  color: var(--tan-ink);
  line-height: 1.45;
}
.ch-concl {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--tan-border-1);
  font: 400 13px var(--font-sans);
  color: var(--tan-fg-2); font-style: italic; line-height: 1.55;
}

/* ── Patristic ───────────────────────────────────────────── */
.pt-thesis {
  margin-bottom: 22px;
  padding: 18px 22px;
  background: linear-gradient(to right, rgba(142,104,255,.06), rgba(142,104,255,.02));
  border-left: 3px solid rgba(142,104,255,.45);
  border-radius: 0 6px 6px 0;
}
.pt-thesis-label {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--tan-cyan-600); margin-bottom: 6px;
}
.pt-thesis p {
  margin: 0;
  font: 400 14.5px var(--font-display);
  color: var(--tan-ink); line-height: 1.6;
  font-style: italic;
}
.pt-voices { display: flex; flex-direction: column; gap: 10px; }
.pt-voice {
  border: 1px solid var(--tan-border-2);
  border-radius: 8px;
  background: #fff;
  padding: 18px 22px;
}
.pv-head { display:flex; gap: 14px; align-items: center; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--tan-border-1); }
.pv-mono {
  font: 400 20px var(--font-display);
  font-variant-numeric: tabular-nums;
  color: var(--tan-cyan-600);
  font-style: italic;
}
.pv-name { font: 500 15.5px var(--font-display); color: var(--tan-ink); letter-spacing: -.005em; }
.pv-dates { font: 400 11.5px var(--font-sans); color: var(--tan-fg-3); margin-top: 2px; }
.pv-points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pv-points li {
  position: relative;
  padding-left: 20px;
  font: 400 13.5px var(--font-sans);
  color: var(--tan-fg-1);
  line-height: 1.6;
}
.pv-points li::before {
  content: '';
  position: absolute;
  left: 0; top: 8px;
  width: 10px; height: 1px;
  background: var(--tan-cyan);
}

/* ── Greek vs Calvin / comparison tables ─────────────────── */
.gvc-note, .cmp-note {
  font: 400 13px var(--font-sans);
  color: var(--tan-fg-2);
  font-style: italic;
  margin: 0 0 16px;
}
.gvc-table, .cmp-table {
  border: 1px solid var(--tan-border-2);
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.gvc-row, .cmp-row {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--tan-border-1);
  font: 400 13px var(--font-sans);
  color: var(--tan-ink);
}
.gvc-row { grid-template-columns: 180px 1fr 1fr 1fr; }
.cmp-row { grid-template-columns: 140px 1fr 1fr 1fr; }
.gvc-row:first-child, .cmp-row:first-child { border-top: 0; }
.gvc-row > div, .cmp-row > div {
  padding: 12px 14px;
  line-height: 1.5;
  border-right: 1px solid var(--tan-border-1);
}
.gvc-row > div:last-child, .cmp-row > div:last-child { border-right: 0; }
.gvc-row.head, .cmp-row.head {
  background: var(--tan-bg-soft);
  font: 600 10.5px var(--font-meta);
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--tan-fg-3);
}
.gvc-row.head > div, .cmp-row.head > div { padding: 10px 14px; }
.gvc-feature, .cmp-greek { font-family: var(--font-display); font-weight: 500; color: var(--tan-ink); }
.gvc-calvin { color: var(--tan-fg-2); }
.gvc-comment, .cmp-gain { color: var(--tan-fg-3); font-style: italic; font-size: 12.5px; }
.cmp-analytical { font-family: var(--font-display); color: var(--tan-cyan-600); }
.cmp-standard { color: var(--tan-fg-2); font-style: italic; }

/* End mark */
.study-endmark {
  display:flex; flex-direction: column; align-items: center; gap: 10px;
  margin-top: 42px; padding: 28px 48px;
}
.study-endmark > span:first-child {
  font: 400 24px var(--font-display);
  color: rgba(61,202,220,.7);
}
.em-line { width: 80px; height: 1px; background: var(--tan-border-3); }
.em-meta { font: 500 10.5px var(--font-meta); letter-spacing: .18em; text-transform: uppercase; color: rgba(6,31,39,.45); }

/* ── Drawer reach — make drawer wider when a study is open ──
   We force max-width via a parent data-attribute from the reader. */
.amos-drawer.study-open { max-width: 1180px; }
.amos-drawer.study-open .amos-drawer-body { padding: 0; }

/* ── Dark (scholarly) theme overrides ────────────────────── */
body.theme-scholar .study-shell { background: #15191f; }
body.theme-scholar .study-map { background: linear-gradient(180deg, #181d25 0%, #141820 100%); border-right-color: rgba(255,255,255,.06); }
body.theme-scholar .study-back { color: rgba(232,230,223,.7); border-color: rgba(255,255,255,.1); }
body.theme-scholar .study-map-kicker, body.theme-scholar .study-map-footer .dt { color: rgba(232,230,223,.5); }
body.theme-scholar .study-map-ref { color: #e8dcc4; border-bottom-color: rgba(255,255,255,.08); }
body.theme-scholar .study-map-item { color: rgba(232,230,223,.65); }
body.theme-scholar .study-map-item:hover { background: rgba(255,255,255,.04); color: #fff; }
body.theme-scholar .study-map-item.on { color: #e8dcc4; }
body.theme-scholar .study-map-item.on .dot { background: #d4a24c; box-shadow: 0 0 0 3px rgba(216,162,76,.2); }
body.theme-scholar .study-map-footer { border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .study-map-footer .nm { color: #e8dcc4; }
body.theme-scholar .study-cover { background: radial-gradient(circle at 90% -10%, rgba(216,163,64,.1), transparent 60%), #141820; border-bottom-color: rgba(255,255,255,.06); }
body.theme-scholar .sc-title { color: #ece8df; }
body.theme-scholar .sc-subtitle { color: rgba(232,230,223,.7); }
body.theme-scholar .sc-signature { color: #e8dcc4; background: rgba(216,163,64,.08); border-left-color: #d4a24c; }
body.theme-scholar .sc-chip { color: #e8dcc4; background: rgba(216,163,64,.16); border-color: rgba(216,163,64,.35); }
body.theme-scholar .sc-chip.muted { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); color: rgba(232,230,223,.65); }
body.theme-scholar .sc-stats { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.06); }
body.theme-scholar .sc-stat { border-right-color: rgba(255,255,255,.06); }
body.theme-scholar .sc-stat .n { color: #e8dcc4; }
body.theme-scholar .sc-stat .l { color: rgba(232,230,223,.5); }
body.theme-scholar .sec-head { color: #ece8df; }
body.theme-scholar .sec-head::before { background: #d4a24c; }
body.theme-scholar .sec-note { color: rgba(232,230,223,.6); }
body.theme-scholar .sty-passage { color: #ece8df; }
body.theme-scholar .sty-passage.plain { background: rgba(255,255,255,.02); border-color: rgba(255,255,255,.06); }
body.theme-scholar .sty-passage .vn { color: #d4a24c; }
body.theme-scholar .gk-gloss { background: linear-gradient(to top, rgba(216,163,64,.22) 0 40%, transparent 40%); border-bottom-color: rgba(216,163,64,.6); color: #ece8df; }
body.theme-scholar .gg-tip { background: #1d222b; border-color: rgba(255,255,255,.1); color: rgba(232,230,223,.85); }
body.theme-scholar .sty-greek .gk-block { background: #1d222b; border-color: rgba(255,255,255,.06); border-left-color: #d4a24c; }
body.theme-scholar .sty-greek .gk-label { color: #d4a24c; }
body.theme-scholar .sty-greek .gk-body { color: #ece8df; }
body.theme-scholar .lm-row { border-bottom-color: rgba(255,255,255,.06); }
body.theme-scholar .lm-head { border-bottom-color: rgba(255,255,255,.08); color: rgba(232,230,223,.55); }
body.theme-scholar .lm-col { color: #ece8df; }
body.theme-scholar .lm-divergences { background: #1d222b; border-color: rgba(255,255,255,.06); }
body.theme-scholar .div-row { border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .div-cell { background: rgba(255,255,255,.03); }
body.theme-scholar .div-token { color: #ece8df; }
body.theme-scholar .div-cls { background: rgba(142,104,255,.18); color: #b8a5ff; }
body.theme-scholar .dc-label { color: rgba(232,230,223,.55); }
body.theme-scholar .dc-body { color: #ece8df; }
body.theme-scholar .div-note { color: rgba(232,230,223,.7); }
body.theme-scholar .wxw-head { background: rgba(255,255,255,.04); color: #e8dcc4; }
body.theme-scholar .wxw-entry { border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .wxw-entry.risk { background: linear-gradient(to right, rgba(233,124,73,.06), transparent 70%); border-left-color: rgba(233,124,73,.4); }
body.theme-scholar .wxw-gk { color: #ece8df; }
body.theme-scholar .risk-pill { background: rgba(233,124,73,.18); color: #f5ac88; }
body.theme-scholar .wxw-en { color: rgba(232,230,223,.6); }
body.theme-scholar .wxw-parse { color: rgba(232,230,223,.5); }
body.theme-scholar .wxw-notes { color: rgba(232,230,223,.78); }
body.theme-scholar .mvmt { border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .mv-n { color: #d4a24c; }
body.theme-scholar .mv-label { color: #ece8df; }
body.theme-scholar .mv-body { color: rgba(232,230,223,.75); }
body.theme-scholar .chiasm-box { background: #1d222b; border-color: rgba(255,255,255,.06); }
body.theme-scholar .ch-title { color: rgba(232,230,223,.55); }
body.theme-scholar .ch-k { color: #d4a24c; }
body.theme-scholar .ch-t { color: #ece8df; }
body.theme-scholar .ch-concl { color: rgba(232,230,223,.65); border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .pt-thesis { background: linear-gradient(to right, rgba(142,104,255,.12), rgba(142,104,255,.04)); border-left-color: rgba(142,104,255,.55); }
body.theme-scholar .pt-thesis-label { color: #b8a5ff; }
body.theme-scholar .pt-thesis p { color: #ece8df; }
body.theme-scholar .pt-voice { background: #1d222b; border-color: rgba(255,255,255,.06); }
body.theme-scholar .pv-head { border-bottom-color: rgba(255,255,255,.06); }
body.theme-scholar .pv-mono { color: #d4a24c; }
body.theme-scholar .pv-name { color: #ece8df; }
body.theme-scholar .pv-dates { color: rgba(232,230,223,.55); }
body.theme-scholar .pv-points li { color: rgba(232,230,223,.78); }
body.theme-scholar .pv-points li::before { background: #d4a24c; }
body.theme-scholar .gvc-table, body.theme-scholar .cmp-table { background: #1d222b; border-color: rgba(255,255,255,.06); }
body.theme-scholar .gvc-row, body.theme-scholar .cmp-row { color: #ece8df; border-top-color: rgba(255,255,255,.06); }
body.theme-scholar .gvc-row > div, body.theme-scholar .cmp-row > div { border-right-color: rgba(255,255,255,.06); }
body.theme-scholar .gvc-row.head, body.theme-scholar .cmp-row.head { background: rgba(255,255,255,.04); color: rgba(232,230,223,.55); }
body.theme-scholar .gvc-calvin, body.theme-scholar .cmp-standard { color: rgba(232,230,223,.65); }
body.theme-scholar .gvc-comment, body.theme-scholar .cmp-gain { color: rgba(232,230,223,.55); }
body.theme-scholar .cmp-analytical { color: #d4a24c; }
body.theme-scholar .gvc-feature, body.theme-scholar .cmp-greek { color: #ece8df; }
body.theme-scholar .em-line { background: rgba(255,255,255,.1); }
body.theme-scholar .em-meta { color: rgba(232,230,223,.45); }
body.theme-scholar .study-endmark > span:first-child { color: #d4a24c; }

/* ── Studies rail (in library main view) ────────────────── */
.studies-rail { padding: 0 40px; margin-top: 10px; }
.studies-rail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.study-tile {
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--tan-border-2);
  border-radius: 10px;
  padding: 18px 20px 16px;
  display: flex; flex-direction: column; gap: 8px;
  position: relative; overflow: hidden;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.study-tile::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--tan-cyan);
}
.study-tile.tradition-hebrew::before { background: #d4a24c; }
.study-tile:hover {
  border-color: rgba(61,202,220,.5);
  box-shadow: 0 10px 24px var(--tan-border-1);
  transform: translateY(-1px);
}
.study-tile.tradition-hebrew:hover { border-color: rgba(216,163,64,.5); }
.st-top { display: flex; gap: 8px; align-items: center; }
.st-badge {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .14em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 3px;
  background: rgba(61,202,220,.14);
  color: var(--tan-cyan-600);
  border: 1px solid rgba(61,202,220,.35);
}
.study-tile.tradition-hebrew .st-badge { background: rgba(216,163,64,.16); color: #a87416; border-color: rgba(216,163,64,.4); }
.st-lang {
  font: 500 10.5px var(--font-meta);
  letter-spacing: .04em;
  color: var(--tan-fg-3);
}
.st-ref {
  font: 400 22px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-top: 2px;
}
.st-sub {
  font: 400 13.5px var(--font-sans);
  color: var(--tan-fg-2);
  line-height: 1.45;
  font-style: italic;
}
.st-sig {
  font: 400 12.5px var(--font-display);
  color: var(--tan-fg-3);
  line-height: 1.5;
  padding: 8px 10px;
  background: rgba(6,31,39,.03);
  border-radius: 4px;
  font-style: italic;
}
.st-foot {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: auto; padding-top: 8px;
  border-top: 1px dashed var(--tan-border-2);
}
.st-stats {
  font: 400 11.5px var(--font-sans);
  color: var(--tan-fg-3);
  font-variant-numeric: tabular-nums;
}
.st-stats b { color: var(--tan-ink); font-weight: 600; }
.st-cta {
  font: 600 11.5px var(--font-meta);
  letter-spacing: .04em;
  color: var(--tan-cyan-600);
}
.study-tile.tradition-hebrew .st-cta { color: #a87416; }

/* ── Studies picker (inside drawer, apparatus mode) ─────── */
.studies-picker { }
.sp-kicker {
  font: 600 10.5px var(--font-meta);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--tan-fg-3);
  margin: 0 0 8px;
}
.sp-intro {
  font: 400 13.5px var(--font-sans);
  color: var(--tan-fg-2);
  margin: 0 0 20px;
  max-width: 580px;
  line-height: 1.55;
}
.sp-grid {
  display: grid; gap: 12px;
}
.sp-card {
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--tan-border-2);
  border-left: 3px solid var(--tan-cyan);
  border-radius: 0 8px 8px 0;
  padding: 16px 20px 14px;
  display: flex; flex-direction: column; gap: 8px;
  transition: border-color .15s, box-shadow .15s;
}
.sp-card.tradition-hebrew { border-left-color: #d4a24c; }
.sp-card:hover { box-shadow: 0 6px 18px var(--tan-border-1); }
.spc-top { display: flex; gap: 8px; align-items: center; }
.spc-badge {
  font: 600 9.5px var(--font-meta);
  letter-spacing: .14em; text-transform: uppercase;
  padding: 3px 7px; border-radius: 3px;
  background: rgba(61,202,220,.12); color: var(--tan-cyan-600);
}
.sp-card.tradition-hebrew .spc-badge { background: rgba(216,163,64,.14); color: #a87416; }
.spc-lang, .spc-time { font: 500 10.5px var(--font-meta); color: var(--tan-fg-3); }
.spc-time::before { content: '· '; }
.spc-ref {
  font: 400 20px var(--font-display);
  color: var(--tan-ink);
  letter-spacing: -.005em;
  line-height: 1.1;
  margin: 2px 0;
}
.spc-sub {
  font: 400 13px var(--font-sans);
  color: var(--tan-fg-2);
  line-height: 1.45;
  margin: 0;
  font-style: italic;
}
.spc-sig {
  font: 400 12.5px var(--font-display);
  color: var(--tan-fg-2);
  line-height: 1.5;
  margin: 4px 0 0;
  padding: 8px 10px;
  background: rgba(6,31,39,.03);
  border-radius: 4px;
  font-style: italic;
}
.spc-foot {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 6px; padding-top: 8px;
  border-top: 1px dashed var(--tan-border-2);
  font: 400 11.5px var(--font-sans);
  color: var(--tan-fg-3);
}
.spc-by { display:flex; align-items:center; gap: 6px; }
.spc-av {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--tan-ink); color: var(--tan-cyan);
  display:grid; place-items:center;
  font: 700 9px var(--font-meta);
}
.spc-open {
  font: 600 11.5px var(--font-meta);
  color: var(--tan-cyan-600);
}

/* Drawer mode-count pill */
.mode-count {
  display: inline-block;
  margin-left: 6px;
  font: 600 9.5px var(--font-meta);
  letter-spacing: .04em;
  padding: 1px 6px; border-radius: 10px;
  background: var(--tan-cyan);
  color: var(--tan-ink);
  vertical-align: 1px;
}

/* Dark theme — studies rail + picker */
body.theme-scholar .study-tile { background: #1d222b; border-color: rgba(255,255,255,.08); }
body.theme-scholar .study-tile::before { background: #d4a24c; }
body.theme-scholar .st-ref { color: #ece8df; }
body.theme-scholar .st-sub { color: rgba(232,230,223,.7); }
body.theme-scholar .st-sig { background: rgba(255,255,255,.03); color: rgba(232,230,223,.7); }
body.theme-scholar .st-stats { color: rgba(232,230,223,.55); }
body.theme-scholar .st-stats b { color: #e8dcc4; }
body.theme-scholar .st-cta { color: #d4a24c; }
body.theme-scholar .st-badge { background: rgba(216,163,64,.16); color: #d4a24c; border-color: rgba(216,163,64,.35); }
body.theme-scholar .st-lang { color: rgba(232,230,223,.55); }
body.theme-scholar .st-foot { border-top-color: rgba(255,255,255,.06); }

body.theme-scholar .sp-kicker { color: rgba(232,230,223,.55); }
body.theme-scholar .sp-intro  { color: rgba(232,230,223,.7); }
body.theme-scholar .sp-card { background: #1d222b; border-color: rgba(255,255,255,.08); border-left-color: #d4a24c; }
body.theme-scholar .spc-ref { color: #ece8df; }
body.theme-scholar .spc-sub { color: rgba(232,230,223,.7); }
body.theme-scholar .spc-sig { background: rgba(255,255,255,.03); color: rgba(232,230,223,.65); }
body.theme-scholar .spc-foot { border-top-color: rgba(255,255,255,.06); color: rgba(232,230,223,.6); }
body.theme-scholar .spc-open { color: #d4a24c; }
body.theme-scholar .spc-badge { background: rgba(216,163,64,.14); color: #d4a24c; }
body.theme-scholar .spc-lang, body.theme-scholar .spc-time { color: rgba(232,230,223,.55); }
body.theme-scholar .mode-count { background: #d4a24c; color: #141820; }

/* ──────────────────────────────────────────────────────────────
   MOBILE — audit rank 2. study.css had ZERO media queries, so the
   core reading surface stayed locked to a 248px+1fr two-column grid
   and the interlinear/compare grids never reflowed, overflowing the
   phone viewport. This collapses the study to a single column with a
   bounded section rail on top, and reflows every inner data grid.
   ────────────────────────────────────────────────────────────── */
@media (max-width: 820px) {
  /* Two-column shell → stacked: section rail on top, document below */
  .study-shell { display: flex; flex-direction: column; height: 100%; }
  .study-map {
    border-right: 0;
    border-bottom: 1px solid var(--tan-border-2);
    max-height: 180px;          /* bounded, scrolls within — not a 400px wall */
    flex: 0 0 auto;
    padding: 12px 16px;
    gap: 10px;
  }
  .study-map-footer { display: none; }   /* author chip — reclaim vertical room */
  .study-main { padding-bottom: 40px; }
  .study-cover { padding: 22px 18px 18px; }

  /* Apparatus stat cards: 4-up → 2×2 so each is legible */
  .sc-stats { grid-template-columns: repeat(2, 1fr); max-width: none; }

  /* LXX / MT parallel → stack each verse's two readings */
  .lm-head, .lm-row { grid-template-columns: 1fr; gap: 4px; }
  .lm-head > div:first-child { grid-column: auto; }
  .lm-head .mt-col { text-align: left; }

  /* Two-up divergence cells → single column */
  .div-two { grid-template-columns: 1fr; }

  /* Word-by-word: Greek/English block above its notes */
  .wxw-entry { grid-template-columns: 1fr; gap: 6px; }

  /* Comparison tables: preserve the columns but scroll horizontally
     instead of crushing them or losing the alignment */
  .gvc-table, .cmp-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .gvc-row { min-width: 560px; }
  .cmp-row { min-width: 520px; }
}

