/* Biblia Sacra — Douay-Rheims & Clementine Vulgate. Left-aligned, readable. */
:root{
  --vellum:#f4efe3; --vellum-2:#ece5d4; --panel:#faf6ec;
  --ink:#2b241b; --ink-soft:#5a4f3e; --muted:#8d8069;
  --rubric:#a02c22; --rubric-deep:#7f2019;
  --gilt:#9a7b30; --gilt-soft:#c7ad6e; --sel:#ecdfb6; --hover:#e6dabb; --rule:#d8cba6;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--vellum);color:var(--ink);
  font-family:var(--serif);font-size:18px;line-height:1.6;text-rendering:optimizeLegibility}
a{color:var(--rubric);text-decoration:none}
a:hover{color:var(--rubric-deep);text-decoration:underline}
:focus-visible{outline:2px solid var(--gilt);outline-offset:2px}
.container{max-width:900px;margin:0 auto;padding:26px 32px 72px}

/* header */
.site-header{position:sticky;top:0;z-index:10;background:var(--vellum);
  border-bottom:1px solid var(--rule)}
.bar{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:baseline;
  gap:6px 20px;padding:12px 32px}
.wordmark{font-size:1.3rem;font-weight:700;letter-spacing:.04em;
  font-variant:small-caps;color:var(--ink)}
.wordmark:hover{color:var(--rubric);text-decoration:none}
.nav-tabs{margin-left:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;
  font-variant:small-caps;letter-spacing:.06em;font-size:1rem}
.nav-tabs a{color:var(--ink-soft)}
.nav-tabs a:hover{color:var(--rubric);text-decoration:none}
.nav-tabs .active{color:var(--rubric);border-bottom:2px solid var(--gilt);padding-bottom:3px}
.nav-tabs .home{color:var(--rubric)}
.nav-tabs .divider{width:1px;align-self:stretch;background:var(--rule);margin:3px 0}
.nav-tabs .search-link{color:var(--gilt)}

/* home masthead — left aligned */
.mast{padding:24px 0 4px;border-bottom:1px solid var(--rule);margin-bottom:26px}
.mast h1{margin:0;font-size:2.5rem;font-weight:700;letter-spacing:.04em;
  font-variant:small-caps;color:var(--ink);display:flex;align-items:center;gap:14px}
.mast h1 .emblem{width:34px;height:auto;flex:none}
.mast .sub{margin:.35em 0 0;color:var(--muted);font-style:italic;font-size:1.1rem}

/* search */
.hero-search{max-width:560px;margin:0 0 6px;display:flex;border:1px solid var(--rule);
  background:var(--panel)}
.hero-search:focus-within{box-shadow:0 0 0 2px var(--gilt-soft)}
.hero-search input{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:11px 14px;
  background:transparent;border:none;color:var(--ink)}
.hero-search input::placeholder{color:var(--muted);font-style:italic}
.hero-search input:focus{outline:none}
.hero-search button{border:none;border-left:1px solid var(--rule);background:var(--vellum-2);
  padding:0 17px;cursor:pointer;color:var(--ink-soft);font-variant:small-caps;letter-spacing:.05em}
.hero-search button:hover{background:var(--hover)}

/* testament sections — left aligned */
.testament{margin-top:34px}
.testament .eyebrow{font-style:italic;color:var(--gilt);font-size:.98rem;margin:0}
.testament h2{margin:.05em 0 0;font-size:1.28rem;font-weight:700;font-variant:small-caps;
  letter-spacing:.06em;color:var(--rubric)}
.testament .band{height:1px;background:var(--rule);margin:12px 0 18px}
.booklist{columns:3 200px;column-gap:32px}
.booklist.nt{columns:2 200px}
.bitem{break-inside:avoid;margin:0 0 .5em;line-height:1.3}
.bk{color:var(--rubric);font-size:1.1rem}
.bk:hover{background:var(--hover);color:var(--ink);text-decoration:none;box-shadow:0 0 0 .12em var(--hover)}
.bitem .alt{color:var(--muted);font-style:italic;font-size:.96rem;margin-left:.4em}
.deut{color:var(--gilt);font-size:.66em;vertical-align:super;font-weight:700;margin-left:.05em}
.legend{color:var(--muted);font-style:italic;font-size:.94rem;margin-top:26px}
.legend .deut{font-style:normal}

/* reader chrome — left aligned */
.crumb{font-variant:small-caps;letter-spacing:.04em;color:var(--muted);font-size:.95rem;margin:0 0 12px}
.crumb a{color:var(--rubric)}
.crumb .sep{color:var(--gilt-soft);margin:0 .5em}
.crumb .cur{color:var(--ink-soft)}
.chead{margin:2px 0 4px}
.chead .bookname{font-size:1.9rem;font-weight:700;font-variant:small-caps;letter-spacing:.04em}
.chead .altname{color:var(--muted);font-style:italic;font-weight:400;font-variant:normal;
  font-size:1.05rem;letter-spacing:0}
.chead .chap{color:var(--rubric);font-variant:small-caps;letter-spacing:.08em;font-size:1.02rem;margin-top:2px}
.pager{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;font-variant:small-caps;
  letter-spacing:.04em;font-size:.98rem;color:var(--muted);margin:12px 0 6px}
.pager a{color:var(--rubric)}
.pager .mid{color:var(--ink-soft)}
.pager .off{opacity:.35}
.pager .dot{color:var(--gilt-soft)}
.chapgrid{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 4px}
.chapgrid a,.chapgrid .cur{min-width:2.1em;text-align:center;padding:2px 6px;font-size:.98rem;
  border-radius:3px;color:var(--rubric)}
.chapgrid a:hover{background:var(--hover);text-decoration:none}
.chapgrid .cur{background:var(--rubric);color:var(--vellum);font-weight:700}
.rule-gilt{border:none;border-top:1px solid var(--gilt-soft);margin:16px 0}

/* scripture — single version, left aligned + justified, comfortable measure */
.scripture{max-width:40em;font-size:1.3rem;line-height:1.72;text-align:justify;hyphens:auto}
.verse{scroll-margin-top:76px}
.vn{font-size:.62em;vertical-align:.42em;line-height:0;color:var(--rubric);font-weight:700;
  text-decoration:none;margin:0 .28em 0 .06em}
.vn:hover{text-decoration:underline}
.versal{font-size:2.3em;line-height:1;color:var(--rubric);font-weight:700;margin-right:.03em}
.incipit{font-variant:small-caps;letter-spacing:.035em}
.verse.hl{background:var(--sel);box-shadow:0 0 0 .16em var(--sel);border-radius:2px}
.xref{font-variant:small-caps;letter-spacing:.05em;color:var(--gilt);font-size:.74em;
  font-style:normal;white-space:nowrap;margin:0 .4em}

/* scripture — DR + LV parallel */
.parallel{max-width:100%}
.colhead{display:grid;grid-template-columns:2em 1fr 1fr;column-gap:1.6em;font-variant:small-caps;
  letter-spacing:.06em;color:var(--muted);font-size:.88rem;padding:0 .4em .5em;
  border-bottom:1px solid var(--rule);margin-bottom:.7em}
.colhead .lat{color:var(--gilt)}
.vrow{display:grid;grid-template-columns:2em 1fr 1fr;column-gap:1.6em;align-items:start;
  padding:.3em .4em;border-radius:3px}
.vrow .num{color:var(--rubric);font-weight:700;font-size:.9rem;text-align:right;
  padding-top:.3em;text-decoration:none}
.vrow .num:hover{text-decoration:underline}
.vrow .en{font-size:1.2rem;line-height:1.6}
.vrow .la{font-size:1.14rem;line-height:1.6;color:var(--ink-soft);font-style:italic}
.vrow.hl{background:var(--sel)}

/* search view */
.search-head{max-width:560px;margin:0 0 22px;display:flex;border:1px solid var(--rule);background:var(--panel)}
.search-head:focus-within{box-shadow:0 0 0 2px var(--gilt-soft)}
.search-head input{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:11px 14px;
  background:transparent;border:none;color:var(--ink)}
.search-head input:focus{outline:none}
.search-head button{border:none;border-left:1px solid var(--rule);background:var(--vellum-2);
  padding:0 17px;cursor:pointer;color:var(--ink-soft);font-variant:small-caps;letter-spacing:.05em}
.search-head button:hover{background:var(--hover)}
.results{max-width:44em}
.results .count{font-variant:small-caps;letter-spacing:.05em;color:var(--muted);margin:0 0 18px}
.hit{margin:0 0 1em;line-height:1.55;font-size:1.14rem}
.hit .ref{color:var(--rubric);font-weight:700;font-variant:small-caps;letter-spacing:.03em;
  margin-right:.5em;white-space:nowrap}
.hit mark{background:var(--sel);color:inherit}
.prompt{color:var(--muted);font-style:italic;margin-top:22px}
.loading{color:var(--muted);font-style:italic;padding:1em 0}

footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--rule);color:var(--muted);
  font-style:italic;font-size:.9rem;line-height:1.6}
footer a{color:var(--gilt);white-space:nowrap}
.copyline{display:block;margin-top:.5em;font-style:normal;font-size:.85rem;
  color:var(--muted);opacity:.8}
footer a:hover{color:var(--rubric)}

/* about / colophon pages */
.colophon{max-width:38em;font-size:1.12rem;line-height:1.72}
.colophon p{margin:1.05em 0}
.colophon em{color:var(--ink-soft)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);
  color:var(--vellum);padding:9px 18px;border-radius:4px;font-variant:small-caps;letter-spacing:.06em;
  font-size:.94rem;opacity:0;pointer-events:none;transition:opacity .2s;z-index:30}
.toast.show{opacity:1}

@media (max-width:720px){
  body{font-size:17px}
  .container{padding:20px 18px 60px}
  .bar{padding:12px 18px}
  .mast h1{font-size:2rem}
  .nav-tabs{width:100%;margin-left:0}
  .booklist,.booklist.nt{columns:1}
  .scripture{font-size:1.24rem}
  .colhead{display:none}
  .vrow{grid-template-columns:1.8em 1fr;column-gap:.9em}
  .vrow .la{grid-column:1 / -1;margin-top:.35em}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.pager,.chapgrid,.hero-search,.crumb,footer,.toast{display:none}
  body{background:#fff;color:#000}}

/* ---------- Challoner notes: toggle, markers, footnotes ---------- */
.notes-row{display:flex;align-items:center;gap:11px;margin:4px 0 12px}
.notes-label{font-variant:small-caps;letter-spacing:.05em;color:var(--ink-soft);
  font-size:.98rem;cursor:pointer}
.switch{position:relative;width:44px;height:22px;border-radius:11px;border:none;padding:0;
  background:var(--vellum-2);box-shadow:inset 0 0 0 1px var(--rule);cursor:pointer;
  transition:background .18s;flex:none}
.switch .knob{position:absolute;top:-3px;left:-2px;width:28px;height:28px;border-radius:50%;
  background:var(--muted);box-shadow:0 1px 3px rgba(0,0,0,.35);
  transition:transform .18s,background .18s}
.switch[aria-checked="true"]{background:var(--gilt-soft)}
.switch[aria-checked="true"] .knob{transform:translateX(20px);background:var(--rubric)}

.fnmark{font-size:.62em;line-height:0;vertical-align:.5em}
.fnmark a{color:var(--gilt);font-weight:700;text-decoration:none;padding:0 .06em;
  scroll-margin-top:80px}
.fnmark a:hover{text-decoration:underline}

.footnotes{max-width:40em;margin:20px 0 0;font-size:.98rem;line-height:1.55;color:var(--ink-soft)}
.footnotes h3{font-variant:small-caps;letter-spacing:.07em;color:var(--rubric);font-weight:700;
  font-size:1.05rem;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.fn{margin:0 0 .62em;scroll-margin-top:80px}
.fn .fnnum{color:var(--gilt);font-weight:700;text-decoration:none;margin-right:.2em}
.fn .fnnum:hover{text-decoration:underline}
.fn .fnv{color:var(--muted);font-variant:small-caps;letter-spacing:.03em;margin-right:.15em}
.fn .fnk{color:var(--ink);font-style:italic}
.fn-empty{color:var(--muted);font-style:italic;margin:18px 0 0}


.hit-tag{display:inline-block;font-variant:small-caps;letter-spacing:.05em;font-size:.72rem;
  color:var(--gilt);border:1px solid var(--gilt-soft);border-radius:3px;padding:0 5px;
  margin-right:7px;vertical-align:1px}
.hit .vref{display:block;margin-bottom:2px}

/* Prerendered chapter pages. app.js replaces this content on load; these
   rules are what a crawler, or a reader without JavaScript, sees. */
.prerender{max-width:40em;margin:0 auto;padding:28px 20px 48px}
.prerender h1{font-size:1.6rem;margin:0 0 .15em;color:var(--ink)}
.prerender-sub{margin:0 0 1.4em;color:var(--muted);font-style:italic;font-size:.95rem}
.prerender .pv{margin:.5em 0;line-height:1.7;font-size:1.15rem}
.prerender .pvn{color:var(--rubric);font-size:.78em;vertical-align:.35em;
  margin-right:.25em;font-weight:700}
.prerender-alt{margin-top:2em;padding-top:1em;border-top:1px solid var(--rule);
  font-size:.95rem}
.prerender-alt a{color:var(--gilt)}

/* ---------- lexicon: tap-to-parse Latin ---------- */
.lw { cursor: pointer; border-bottom: 1px dotted transparent; }
.lw:hover { border-bottom-color: #9a7b30; }
.lw-busy { opacity: .55; }
.lw-on { background: #f3ead2; border-bottom-color: #9a7b30; }

.lexpop {
  position: absolute; z-index: 60; max-width: 22rem; min-width: 14rem;
  background: #fffdf7; border: 1px solid #d8cdae; border-radius: 3px;
  box-shadow: 0 6px 24px rgba(0,0,0,.16); padding: .5rem .7rem .55rem;
  font-size: .86rem; line-height: 1.45;
}
.lexbar {
  display: flex; align-items: baseline; justify-content: space-between;
  border-bottom: 1px solid #e6dcc4; padding-bottom: .3rem; margin-bottom: .4rem;
}
.lexword { font-weight: 600; font-style: italic; }
.lexclose {
  background: none; border: 0; font-size: 1.15rem; line-height: 1;
  cursor: pointer; color: #8a8071; padding: 0 .15rem;
}
.lexr + .lexr {
  margin-top: .5rem; padding-top: .45rem; border-top: 1px dotted #e6dcc4;
}
.lexhead { display: flex; flex-wrap: wrap; gap: .35rem; align-items: baseline; }
.lexpos { font-variant: small-caps; letter-spacing: .03em; color: #9a7b30; }
.lexform { font-size: .78rem; color: #6f6757; }
.lextack { font-size: .78rem; color: #9a7b30; }
.lexmean { margin-top: .15rem; }
.lexnone { color: #8a8071; margin: 0; }
.lexsrc {
  color: #8a8071; font-size: .72rem; margin-top: .5rem; padding-top: .3rem;
  border-top: 1px solid #e6dcc4;
}
@media (max-width: 480px) {
  .lexpop { max-width: calc(100vw - 1.5rem); font-size: .92rem; }
}
