/* bible-reader.css — the Bible reader (/bible, /biblia). Scoped to .bible-reader.
   Palette follows the site: parchment, warm charcoal ink, stone, antique gold.

   Every colour, font and size is a CSS variable. The defaults below equal the
   Bible Studio's defaults (bible-settings-vars.js); a published Bible Studio
   setting overrides them through <style id="br-settings"> in the page, and a
   visitor's reading preferences (bible-reader.js, ha-bible-v1) through
   html[data-br-theme], html[data-br-face], html[data-br-vlayout] and the
   --br-user-size / --br-user-leading properties on <html>. */
.bible-reader {
  --br-bg: #f4ecdc;
  --br-surface: #fffaf0;
  --br-paper: #fffaf0;
  --br-paper-2: #ece1ce;
  --br-ink: #231f19;
  --br-ink-soft: #4b4640;
  --br-muted: #6c675f;
  --br-heading: #2b2015;
  --br-line: #d6c6ab;
  --br-line-soft: #ece2d1;
  --br-gold: #8a642e;
  --br-gold-2: #a78b62;
  --br-gold-soft: #eadfcd;
  --br-on-accent: #ffffff;
  --br-focus: #8a642e;
  --br-link: #7a4a12;
  --br-vn: #8a5a16;
  --br-ot: #8c5a2b;
  --br-nt: #7b1e2b;
  --br-dc: #4e6a3a;
  --br-hl-gold: #f3dd99;
  --br-hl-green: #cfe6c4;
  --br-hl-blue: #cfe0f2;
  --br-hl-rose: #f2d2d2;
  --br-panel: #f7efdf;
  --br-toolbar: #fbf6ea;
  --br-font-read: Lora, Georgia, serif;
  --br-font-head: Cinzel, Georgia, serif;
  --br-font-ui: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --br-size: 21px;
  --br-leading: 1.75;
  --br-measure: 68ch;
  --br-vn-size: 0.62em;
  --br-title-scale: 1;
  --br-hero-tint: 0.55;
  --br-phone: 1;
  --br-size-boost: 0px;
  /* effective reading size and spacing (a visitor's choice wins) */
  --br-text-size: calc(var(--br-user-size, calc(var(--br-size) * var(--br-phone))) + var(--br-size-boost));
  --br-text-leading: var(--br-user-leading, var(--br-leading));
  --br-accent-t: var(--br-ot);
  --br-radius: 16px;
  --br-shadow: 0 1px 2px rgba(60, 42, 14, .06), 0 10px 30px -18px rgba(60, 42, 14, .35);
  --br-sticky-top: 4.25rem;
  color: var(--br-ink);
  background: var(--br-bg);
  max-width: 80rem;
  margin: 5.5rem auto 2.5rem;
  padding: 1.4rem clamp(1rem, 3.2vw, 2.75rem) 3rem;
  border-radius: 24px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 60px -40px rgba(60, 42, 14, .45);
  font-family: var(--br-font-ui);
  font-size: 1.0625rem;
  line-height: 1.55;
  box-sizing: border-box;
  /* The verse menu (bible-reader.js) is positioned relative to this box; without
     it the menu landed under the Scholar's Desk sidebar at desktop widths. */
  position: relative;
  overflow-wrap: break-word;
}
.bible-reader[data-testament="nt"] { --br-accent-t: var(--br-nt); }
.bible-reader[data-testament="dc"] { --br-accent-t: var(--br-dc); }
.bible-reader *, .bible-reader *::before, .bible-reader *::after { box-sizing: border-box; }
/* The site's style.css gives p/span/li/a/button/input a fixed font and every
   h1–h4 Cinzel + ink with !important. Inside the reader the Bible Studio's
   fonts apply instead: text elements inherit (zero-specificity :where, so any
   class below still wins) and headings read --br-hf / --br-hc. */
.bible-reader :where(p, span, li, a, button, input, textarea, select, label, legend, output, summary, small, strong, em, dd, dt, td, th) { font-family: inherit; }
html body .bible-reader :is(h1, h2, h3, h4) { font-family: var(--br-hf, var(--br-font-head)) !important; color: var(--br-hc, var(--br-heading)) !important; }
.bible-reader :is(h1, h2, h3, h4) a { color: inherit; }
html[data-sd] .bible-reader { margin-top: calc(var(--sd-header-h, 64px) + 18px); max-width: 84rem; --br-sticky-top: calc(var(--sd-header-h, 64px) + 4px); }
@media (max-width: 640px) {
  .bible-reader { --br-phone: .9; margin: 4.6rem 0 1.5rem; padding: 1rem 1rem 2.5rem; border-radius: 0; box-shadow: none; font-size: 1.04rem; --br-sticky-top: 3.9rem; }
  html[data-sd] .bible-reader { margin-top: calc(var(--sd-header-h, 56px) + 8px); }
}

.bible-reader a { color: var(--br-link); text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bible-reader a:hover { color: var(--br-ink); }
.bible-reader :focus-visible { outline: 3px solid var(--br-focus); outline-offset: 2px; border-radius: 4px; }
.br-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.br-skip { position: absolute; left: -9999px; }
.br-skip:focus { left: 1rem; top: 1rem; z-index: 50; background: var(--br-surface); padding: .5rem .8rem; border: 1px solid var(--br-line); }

/* breadcrumbs */
.br-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem; margin: 0 0 1rem; padding: 0; font-size: .9rem; color: var(--br-muted); }
.br-crumbs li + li::before { content: "›"; margin-right: .25rem; color: var(--br-gold-2); }
.br-crumbs a { color: var(--br-muted); text-decoration: none; }
.br-crumbs a:hover { text-decoration: underline; color: var(--br-ink); }

/* headings */
.br-h1 { font-family: var(--br-font-head); font-size: calc(clamp(1.85rem, 4.4vw, 3rem) * var(--br-title-scale)); line-height: 1.12; margin: 0 0 .5rem; color: var(--br-heading); font-weight: 700; letter-spacing: .01em; text-wrap: balance; }
.br-h1 small, .br-h1-version { display: block; font-family: var(--br-font-ui); font-size: 1.02rem; font-weight: 600; color: var(--br-muted); letter-spacing: 0; margin-top: .45rem; }
.br-h2 { font-family: var(--br-font-head); font-size: clamp(1.3rem, 2.4vw, 1.65rem); line-height: 1.25; margin: 2.2rem 0 .8rem; color: var(--br-heading); }
.br-h3 { --br-hf: var(--br-font-ui); --br-hc: var(--br-ink-soft); font-family: var(--br-font-ui); font-size: .82rem; font-weight: 700; letter-spacing: .09em; margin: 1.2rem 0 .45rem; color: var(--br-ink-soft); text-transform: uppercase; }
.br-eyebrow { font-family: var(--br-font-ui); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--br-gold); margin: 0 0 .5rem; }
.br-eyebrow a { color: inherit; text-decoration: none; }
.br-eyebrow a:hover { text-decoration: underline; }
.br-testament-dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 50%; background: var(--br-accent-t); margin-right: .45rem; vertical-align: .05em; }
.br-abbr { font-family: var(--br-font-ui); font-size: .62em; font-weight: 700; letter-spacing: .04em; color: var(--br-gold); border: 1px solid var(--br-line); border-radius: 6px; padding: .05em .4em; vertical-align: middle; white-space: nowrap; }
.br-lead { font-size: 1.15rem; line-height: 1.6; color: var(--br-ink-soft); max-width: 46rem; margin: .5rem 0; }
.br-note { font-size: 1rem; line-height: 1.6; color: var(--br-muted); max-width: 48rem; margin: .45rem 0; }
.br-muted { color: var(--br-muted); }
.br-hero { margin-bottom: 1.25rem; }
.br-links { margin: 1.4rem 0; font-size: 1.02rem; }
.br-langswitch { display: inline-flex; align-items: center; font-size: .88rem; font-weight: 600; padding: .25rem .75rem; border: 1px solid var(--br-line); border-radius: 999px; text-decoration: none; background: var(--br-surface); color: var(--br-ink) !important; }
.br-langswitch:hover { border-color: var(--br-gold); }

/* buttons */
.br-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font-family: var(--br-font-ui); font-size: .95rem; font-weight: 700; letter-spacing: .01em; padding: .55rem 1rem; border-radius: 10px; border: 1px solid #26221c; background: linear-gradient(135deg, #3a342b, #26221c 55%, #1b1813); color: #f7f1e3 !important; text-decoration: none; cursor: pointer; min-height: 2.75rem; line-height: 1.2; }
.br-btn:hover { filter: brightness(1.15); }
.br-btn-accent { background: var(--br-gold); border-color: var(--br-gold); color: var(--br-on-accent) !important; }
.br-btn-quiet { background: var(--br-surface); color: var(--br-ink) !important; border-color: var(--br-line); }
.br-btn-quiet:hover { border-color: var(--br-gold); filter: none; }

/* chips */
.br-chips { list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; padding: 0; margin: .55rem 0; }
.br-chip { font-size: .85rem; line-height: 1.25; padding: .22rem .6rem; border-radius: 999px; background: var(--br-paper-2); border: 1px solid var(--br-line); color: var(--br-ink-soft); }
.br-chip-tradition { border-color: var(--br-gold-2); color: var(--br-ink); background: var(--br-gold-soft); font-weight: 700; }
.br-chip-prelim { border-style: dashed; color: var(--br-muted); font-style: italic; }

/* ---------- banners (home, today, plans, which, versions, book) ---------- */
.br-banner { position: relative; isolation: isolate; overflow: hidden; border-radius: 20px; margin: 0 0 1.5rem; padding: clamp(1.4rem, 4vw, 3rem); background: linear-gradient(135deg, var(--br-surface), var(--br-paper-2)); border: 1px solid var(--br-line-soft); }
.br-banner-inner { position: relative; max-width: 46rem; min-width: 0; width: 100%; }
.br-banner .br-langswitch { margin: .1rem 0 .6rem; }
.br-banner.has-img { color: #fbf6ea; background: #1c1712; border-color: transparent; min-height: clamp(15rem, 34vw, 23rem); display: flex; align-items: flex-end; }
.br-banner-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.br-banner.has-img::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(20, 14, 6, calc(var(--br-hero-tint) + .3)) 0%, rgba(20, 14, 6, var(--br-hero-tint)) 45%, rgba(20, 14, 6, calc(var(--br-hero-tint) * .35)) 100%); }
.br-banner.has-img { --br-hc: #fbf6ea; }
.br-banner.has-img .br-h1, .br-banner.has-img .br-lead, .br-banner.has-img .br-note, .br-banner.has-img .br-eyebrow, .br-banner.has-img .br-today-date { color: #fbf6ea; text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.br-banner.has-img .br-eyebrow { color: #f0d9a4; }
.br-banner.has-img a:not(.br-btn):not(.br-langswitch) { color: #f6e3b4; }
.br-banner.has-img .br-langswitch { background: rgba(255, 250, 240, .14); color: #fff !important; border-color: rgba(255, 255, 255, .45); backdrop-filter: blur(4px); }
.br-banner.has-img .br-canon { color: #f6e3b4; border-color: rgba(255, 255, 255, .4); }

/* the passage search in the home banner */
.br-go { margin: 1.2rem 0; padding: 1rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 14px; }
.br-go label { font-family: var(--br-font-ui); font-weight: 700; font-size: .95rem; display: block; margin-bottom: .45rem; }
.br-go-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.br-go input, .br-go select, .br-filters select, .br-order select { font: inherit; font-size: 1.05rem; padding: .55rem .75rem; border: 1px solid var(--br-line); border-radius: 10px; background: #fffdf8; color: var(--br-ink); min-height: 2.9rem; max-width: 100%; }
.br-go input { flex: 1 1 14rem; min-width: 0; }
.br-go select { flex: 0 1 15rem; min-width: 0; }
.br-go-hero { background: rgba(255, 250, 240, .96); color: var(--br-ink); margin: 1.4rem 0 0; box-shadow: 0 12px 30px -16px rgba(0, 0, 0, .5); border-color: transparent; }
.br-go-hero label { color: var(--br-ink); }
.br-filters { display: flex; flex-wrap: wrap; gap: .6rem; align-items: end; margin: .5rem 0 1rem; }
.br-filter { display: flex; flex-direction: column; font-size: .9rem; color: var(--br-muted); gap: .2rem; min-width: 0; max-width: 100%; }
.br-nomatch { width: 100%; color: var(--br-muted); }

/* ---------- home ---------- */
.br-home-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr)); gap: 1rem; margin: 0 0 1.25rem; }
.br-today-card, .br-continue { border: 1px solid var(--br-line); border-radius: var(--br-radius); background: var(--br-surface); padding: 1.2rem 1.35rem; box-shadow: var(--br-shadow); }
.br-today-card { border-top: 4px solid var(--br-nt); }
.br-today-card-h { font-family: var(--br-font-head); font-size: 1.35rem; line-height: 1.3; margin: 0 0 .6rem; }
.br-today-card-h a { color: var(--br-heading); text-decoration: none; }
.br-today-card-h a:hover { text-decoration: underline; }
.br-today-card-list { list-style: none; margin: 0 0 .9rem; padding: 0; display: grid; gap: .4rem; font-size: 1.15rem; font-family: var(--br-font-read); }
.br-today-card-more { margin: 0; }
.br-continue .br-h2 { margin: 0 0 .7rem; font-size: 1.2rem; }
.br-continue[hidden] { display: none; }
.br-recent { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.br-recent-link { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; padding: .55rem .75rem; border-radius: 10px; background: var(--br-paper-2); text-decoration: none; color: var(--br-ink) !important; border: 1px solid transparent; }
.br-recent-link:hover { border-color: var(--br-gold); }
.br-recent-link.is-latest { background: var(--br-gold-soft); font-weight: 700; }
.br-recent-v { font-size: .82rem; font-weight: 700; color: var(--br-gold); letter-spacing: .04em; }

.br-sections { margin: 1rem 0 1.5rem; }
.br-sections > .br-h2 { margin-top: 1rem; }
.br-section-cards { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); gap: 1rem; }
.br-scard { --br-accent-t: var(--br-ot); position: relative; display: flex; flex-direction: column; border: 1px solid var(--br-line); border-radius: var(--br-radius); background: var(--br-surface); overflow: hidden; box-shadow: var(--br-shadow); transition: transform .18s ease, box-shadow .18s ease; }
.br-scard[data-testament="nt"] { --br-accent-t: var(--br-nt); }
.br-scard[data-testament="dc"] { --br-accent-t: var(--br-dc); }
.br-scard::before { content: ""; height: 5px; background: var(--br-accent-t); }
.br-scard:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -24px rgba(60, 42, 14, .55); }
.br-scard-img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; display: block; }
.br-scard-emblem { display: flex; align-items: center; justify-content: center; height: 5.25rem; color: var(--br-accent-t); background: radial-gradient(circle at 50% 120%, color-mix(in srgb, var(--br-accent-t) 16%, transparent), transparent 70%), var(--br-paper-2); }
.br-scard-icon { width: 2.6rem; height: 2.6rem; }
.br-scard-body { padding: .95rem 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.br-scard-title { font-family: var(--br-font-head); font-size: 1.22rem; line-height: 1.25; margin: 0; }
.br-scard-title a { color: var(--br-heading); text-decoration: none; }
.br-scard-title a:hover { color: var(--br-accent-t); }
.br-scard-blurb { margin: 0; font-size: .98rem; color: var(--br-ink-soft); line-height: 1.5; }
.br-scard-books { list-style: none; padding: 0; margin: .4rem 0 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.br-scard-books a { display: inline-block; font-size: .88rem; font-weight: 600; padding: .2rem .55rem; border-radius: 999px; background: var(--br-paper-2); color: var(--br-ink) !important; text-decoration: none; border: 1px solid transparent; }
.br-scard-books a:hover { border-color: var(--br-accent-t); color: var(--br-accent-t) !important; }

.br-cards { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.br-card { position: relative; border: 1px solid var(--br-line); border-radius: var(--br-radius); background: var(--br-surface); padding: 1.1rem 1.15rem 1rem; box-shadow: var(--br-shadow); }
.br-card[hidden] { display: none; }
.br-card-title { font-family: var(--br-font-head); font-size: 1.1rem; margin: 0 0 .3rem; line-height: 1.3; }
.br-card-title a { color: var(--br-heading); text-decoration: none; }
.br-card-title a:hover { text-decoration: underline; }
.br-card-lang { margin: 0; font-size: .95rem; color: var(--br-muted); }
.br-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 0; }
/* feature cards (today / plans / which / side by side / original languages) */
.br-daily-cards { margin: 1.25rem 0 .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.br-fcard { padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: transform .18s ease, box-shadow .18s ease; }
.br-fcard:hover { transform: translateY(-2px); }
.br-fcard-img { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; display: block; }
.br-fcard-icon { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 8; background: linear-gradient(135deg, var(--br-paper-2), var(--br-gold-soft)); color: var(--br-gold); }
.br-fcard-svg { width: 2.8rem; height: 2.8rem; }
.br-fcard-glyph { font-family: 'Gentium Plus', 'GFS Didot', Georgia, serif; font-size: 2.6rem; color: var(--br-gold); }
.br-fcard-body { padding: .9rem 1.05rem 1.05rem; }
.br-fcard .br-note { margin: .2rem 0 0; font-size: .95rem; }
.br-stretch::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.br-stretch:focus-visible { outline: none; }
.br-stretch:focus-visible::after { outline: 3px solid var(--br-focus); outline-offset: 2px; }
.br-orthodox-note { margin: 1.25rem 0; padding: .9rem 1.1rem; border-left: 4px solid var(--br-gold); background: var(--br-gold-soft); border-radius: 0 12px 12px 0; color: var(--br-ink-soft); max-width: none; }
/* version cards */
.br-vcard { padding-top: 1.05rem; }
.br-vcard-abbr { position: absolute; top: .8rem; right: 1rem; margin: 0; font-family: var(--br-font-head); font-size: 1.05rem; font-weight: 700; color: var(--br-gold); opacity: .5; }
.br-vcard .br-card-title { padding-right: 3.5rem; }
.br-vcard .br-card-title .br-abbr { display: none; }
.br-vcard[data-group="lxx"] { border-top: 4px solid var(--br-ot); }
.br-vcard[data-group="full"] { border-top: 4px solid var(--br-dc); }
.br-vcard[data-group="p66"] { border-top: 4px solid var(--br-gold-2); }
.br-vcard[data-group="nt"] { border-top: 4px solid var(--br-nt); }
.br-vcard[data-group="tanakh"] { border-top: 4px solid var(--br-ot); }
.br-vcard.is-featured { background: linear-gradient(180deg, var(--br-surface), var(--br-paper)); }
.br-featured-cards { margin-top: .5rem; }
.br-group > .br-h2 { padding-bottom: .4rem; border-bottom: 1px solid var(--br-line); }

/* compare table */
.br-table-wrap { overflow-x: auto; border: 1px solid var(--br-line); border-radius: 12px; background: var(--br-surface); }
.br-table { border-collapse: collapse; width: 100%; font-size: .98rem; min-width: 56rem; }
.br-table th, .br-table td { text-align: left; padding: .55rem .65rem; border-bottom: 1px solid var(--br-line-soft); vertical-align: top; }
.br-table thead th { font-family: var(--br-font-ui); font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; background: var(--br-paper-2); position: sticky; top: 0; }
.br-table tr[hidden] { display: none; }

/* profile */
.br-section { margin: 1.6rem 0; max-width: 54rem; }
.br-facts { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; border: 1px solid var(--br-line); border-radius: 12px; overflow: hidden; background: var(--br-surface); }
.br-facts > div { display: grid; grid-template-columns: minmax(9rem, 13rem) 1fr; gap: .8rem; padding: .6rem .9rem; border-bottom: 1px solid var(--br-line-soft); }
.br-facts > div:last-child { border-bottom: 0; }
.br-facts dt { font-weight: 700; color: var(--br-ink-soft); }
.br-facts dd { margin: 0; line-height: 1.5; }
.br-statement { margin: 0; padding: .8rem 1rem; border-left: 3px solid var(--br-gold-2); background: var(--br-gold-soft); font-size: 1rem; line-height: 1.55; color: var(--br-ink-soft); }
.br-booklist { line-height: 1.9; }
.br-which { max-width: 48rem; margin-top: 2rem; padding: 1.1rem 1.3rem; border: 1px solid var(--br-line); border-radius: 14px; background: var(--br-surface); }
.br-which p { font-size: 1.1rem; line-height: 1.65; }

/* book lists */
.br-books { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); gap: .3rem .9rem; }
.br-books li { padding: .25rem 0; font-size: 1.05rem; }
.br-books li[data-testament]::before { content: ""; display: inline-block; width: .4rem; height: .4rem; border-radius: 50%; margin-right: .45rem; vertical-align: .15em; background: var(--br-ot); opacity: .75; }
.br-books li[data-testament="nt"]::before { background: var(--br-nt); }
.br-books li[data-testament="dc"]::before { background: var(--br-dc); }
.br-books a { text-decoration: none; color: var(--br-ink); }
.br-books a:hover, .br-books a[aria-current] { color: var(--br-gold); text-decoration: underline; }
.br-canon { font-family: var(--br-font-ui); font-size: .68rem; font-weight: 700; color: var(--br-gold); border: 1px solid var(--br-line); border-radius: 4px; padding: 0 .25rem; margin-left: .25rem; white-space: nowrap; vertical-align: 1px; }
.br-chapters { list-style: none; display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; margin: .6rem 0; }
.br-chapters a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; height: 2.75rem; border: 1px solid var(--br-line); border-radius: 10px; background: var(--br-surface); color: var(--br-ink); text-decoration: none; font-size: 1.02rem; font-weight: 600; }
.br-chapters a:hover, .br-chapters a[aria-current] { border-color: var(--br-gold); background: var(--br-gold-soft); }
.br-chapters-sm a { min-width: 2.4rem; height: 2.4rem; font-size: .95rem; }
/* book page: big chapter tiles */
.br-book-hero { border-top: 5px solid var(--br-accent-t); }
.br-chapter-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.25rem, 1fr)); gap: .6rem; margin: 1rem 0 1.5rem; }
.br-chapter-tiles a { width: 100%; height: auto; aspect-ratio: 1; font-family: var(--br-font-head); font-size: 1.35rem; font-weight: 700; border-radius: 14px; box-shadow: var(--br-shadow); color: var(--br-heading); }
.br-chapter-tiles a:hover { border-color: var(--br-accent-t); color: var(--br-accent-t); background: var(--br-surface); transform: translateY(-1px); }
.br-order { display: inline-flex; align-items: center; gap: .5rem; margin: .4rem 0 .6rem; font-size: .95rem; color: var(--br-muted); flex-wrap: wrap; }
.br-order[hidden] { display: none; }

/* ---------- chapter page ---------- */
.br-chapter-head { margin: .2rem 0 .6rem; max-width: calc(var(--br-measure) + 4rem); }
.br-title { margin-bottom: .2rem; }
.br-title-main { display: block; }
.br-head-meta { display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; margin-top: .5rem; }
.br-about-text { font-size: .92rem; }
.br-about-text > summary { cursor: pointer; color: var(--br-link); font-weight: 600; list-style: none; padding: .25rem 0; }
.br-about-text > summary::-webkit-details-marker { display: none; }
.br-about-text > summary::after { content: " ▾"; color: var(--br-muted); }
.br-about-text[open] > summary::after { content: " ▴"; }
.br-about-text[open] { flex-basis: 100%; }

/* sticky slim toolbar */
.br-toolbar { position: sticky; top: var(--br-sticky-top); z-index: 15; margin: .6rem 0 1.4rem; background: color-mix(in srgb, var(--br-toolbar) 94%, transparent); backdrop-filter: blur(8px); border: 1px solid var(--br-line); border-radius: 14px; box-shadow: 0 8px 24px -18px rgba(60, 42, 14, .5); }
.br-toolbar { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; padding: .4rem; }
.br-toolbar-row { display: contents; }
.br-toolbar .br-savechap { margin-left: auto; min-height: 2.6rem; }
.br-tool { min-height: 2.6rem; padding: .45rem .8rem; font-size: .95rem; }
.br-tool-k { font-weight: 500; opacity: .75; }
.br-caret { font-size: .75em; opacity: .7; }
.br-readbar { position: absolute; left: 10px; right: 10px; bottom: -1px; height: 3px; border-radius: 3px; overflow: hidden; pointer-events: none; }
.br-readbar > span { display: block; height: 100%; background: var(--br-accent-t); transform: scaleX(0); transform-origin: 0 50%; transition: transform .12s linear; }
.bible-reader[data-br-progress="off"] .br-readbar { display: none; }
.br-pop { position: relative; }
.br-pop > summary { list-style: none; }
.br-pop > summary::-webkit-details-marker { display: none; }
.br-pop[hidden] { display: none; }
.br-pop-body { position: absolute; left: 0; top: calc(100% + .45rem); width: min(34rem, calc(100vw - 2rem)); max-height: min(72vh, 36rem); overflow: auto; background: var(--br-surface); color: var(--br-ink); border: 1px solid var(--br-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(40, 30, 10, .22); padding: .9rem 1rem; z-index: 20; font-size: 1rem; }
.br-ppick .br-pop-body, .br-spick .br-pop-body { width: min(24rem, calc(100vw - 2rem)); }
.br-pop-h { font-family: var(--br-font-ui); font-size: .76rem; font-weight: 700; letter-spacing: .08em; color: var(--br-muted); margin: .7rem 0 .3rem; text-transform: uppercase; }
.br-pop-h:first-child { margin-top: 0; }
.br-pop-quick { margin: 0 0 .6rem; }
.br-pop-body ul { list-style: none; margin: 0; padding: 0; }
.br-vpick li a { display: block; padding: .4rem .5rem; border-radius: 8px; text-decoration: none; color: var(--br-ink); line-height: 1.3; }
.br-vpick li a:hover, .br-vpick li a[aria-current] { background: var(--br-gold-soft); }
.br-vpick .br-muted { display: block; font-size: .85rem; }
.br-pop-foot { margin: .6rem 0 0; font-size: .95rem; }
.br-checks li { padding: .25rem 0; }
.br-checks label { cursor: pointer; }
/* reading preferences panel */
.br-settings .br-set { margin: 0 0 .85rem; padding: 0; border: 0; display: flex; flex-direction: column; gap: .4rem; }
.br-settings .br-set > legend, .br-settings .br-set > label { font-weight: 700; font-size: .92rem; margin-bottom: .35rem; padding: 0; }
.br-settings .br-set output { font-weight: 500; color: var(--br-muted); margin-left: .3rem; }
.br-settings .br-set-row { flex-direction: row; flex-wrap: wrap; gap: .5rem; }
.br-range { display: flex; align-items: center; gap: .5rem; }
.br-range input, .br-settings input[type="range"] { flex: 1; accent-color: var(--br-gold); min-height: 2rem; width: 100%; }
.br-range .br-btn { min-height: 2.4rem; padding: .3rem .65rem; }
.br-radios { display: flex; flex-wrap: wrap; gap: .4rem; }
.br-radio { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .65rem; border: 1px solid var(--br-line); border-radius: 999px; cursor: pointer; font-size: .92rem; background: var(--br-paper-2); }
.br-radio:has(input:checked) { border-color: var(--br-gold); background: var(--br-gold-soft); font-weight: 700; }
.br-radio input { accent-color: var(--br-gold); margin: 0; }
.br-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr)); gap: .4rem; }
.br-swatch-theme { border-radius: 10px; justify-content: flex-start; padding: .45rem .55rem; }
.br-swatch-theme span::before { content: ""; display: inline-block; width: .95rem; height: .95rem; border-radius: 50%; margin-right: .35rem; vertical-align: -.12em; border: 1px solid rgba(0, 0, 0, .25); }
.br-swatch-parchment span::before { background: #f4ecdc; }
.br-swatch-white span::before { background: #ffffff; }
.br-swatch-sepia span::before { background: #ead9b8; }
.br-swatch-night span::before { background: #1d1a16; }
.br-swatch-contrast span::before { background: linear-gradient(90deg, #000 50%, #fff 50%); }
html:not([data-br-allow~="theme"])[data-br-allow] [data-br-allow-k="theme"],
html:not([data-br-allow~="size"])[data-br-allow] [data-br-allow-k="size"],
html:not([data-br-allow~="spacing"])[data-br-allow] [data-br-allow-k="spacing"],
html:not([data-br-allow~="font"])[data-br-allow] [data-br-allow-k="font"],
html:not([data-br-allow~="numbers"])[data-br-allow] [data-br-allow-k="numbers"],
html:not([data-br-allow~="layout"])[data-br-allow] [data-br-allow-k="layout"],
html:not([data-br-allow~="focus"])[data-br-allow] [data-br-allow-k="focus"] { display: none !important; }

/* the text */
/* "Notes on this text": one quiet disclosure above the text (render.js notesDisclosure). */
/* Same box as article.br-text (its ch-based measure needs the text's font + size), so the line sits flush with the text; the words themselves are small. */
.br-notes { max-width: calc(var(--br-measure) + 4.5rem); margin: 0 auto .7rem; font-family: var(--br-font-read); font-size: var(--br-text-size); color: var(--br-muted); }
.br-notes > summary, .br-notes-list { font-family: var(--br-font-ui); font-size: .88rem; line-height: 1.5; }
.br-notes > summary { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; list-style: none; padding: .3rem .1rem; border-radius: 6px; color: var(--br-muted); font-weight: 600; }
.br-notes > summary::-webkit-details-marker { display: none; }
.br-notes > summary::after { content: "▾"; font-size: .8em; }
.br-notes[open] > summary::after { content: "▴"; }
.br-notes > summary:hover { color: var(--br-ink-soft); }
.br-notes > summary:focus-visible { outline: 2px solid var(--br-focus); outline-offset: 2px; }
.br-notes-i { display: inline-grid; place-items: center; width: 1.15em; height: 1.15em; border: 1px solid currentColor; border-radius: 50%; font: italic 700 .72em/1 Georgia, serif; }
.br-notes-n { font-weight: 400; }
.br-notes-list { margin: .15rem 0 0; padding: .1rem 0 .1rem .9rem; border-left: 2px solid var(--br-line); list-style: none; }
.br-notes-list li { margin: .15rem 0; max-width: none; }
.br-text { font-family: var(--br-font-read); font-size: var(--br-text-size); line-height: var(--br-text-leading); color: var(--br-ink); }
article.br-text { max-width: calc(var(--br-measure) + 4.5rem); margin: 0 auto; padding: clamp(1.25rem, 4vw, 2.75rem) clamp(1.1rem, 4.5vw, 3rem); background: var(--br-surface); border: 1px solid var(--br-line-soft); border-radius: 18px; box-shadow: var(--br-shadow); }
.br-para { margin: 0 0 .85em; text-wrap: pretty; hanging-punctuation: first; }
.br-para:last-child { margin-bottom: 0; }
.br-v { scroll-margin-top: calc(var(--br-sticky-top) + 5rem); border-radius: 4px; }
.br-v:target, .br-prow:target { background: color-mix(in srgb, var(--br-hl-gold) 70%, transparent); box-shadow: 0 0 0 .15em color-mix(in srgb, var(--br-hl-gold) 70%, transparent); }
.br-v.is-selected { background: color-mix(in srgb, var(--br-gold) 16%, transparent); box-shadow: 0 0 0 .12em color-mix(in srgb, var(--br-gold) 16%, transparent); }
.br-vn { font-family: var(--br-font-ui); font-size: var(--br-vn-size); font-weight: 700; vertical-align: super; line-height: 0; color: var(--br-vn); text-decoration: none; margin: 0 .12em 0 .05em; padding: 0 .1em; letter-spacing: 0; }
a.br-vn:hover { text-decoration: underline; }
.bible-reader[data-br-vnstyle="inline"] .br-vn { vertical-align: baseline; font-size: calc(var(--br-vn-size) * 1.25); opacity: .9; }
.bible-reader[data-br-vnstyle="pill"] .br-vn { vertical-align: .18em; line-height: 1; font-size: calc(var(--br-vn-size) * 1.05); background: var(--br-gold-soft); border-radius: 999px; padding: .12em .45em; }
html[data-br-nonum] .br-vn { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.br-empty .br-vt { color: var(--br-muted); }
.br-alt { font-size: .7em; color: var(--br-muted); }
/* drop cap: a large chapter number, or the first letter */
.br-chnum { float: left; font-family: var(--br-font-head); font-weight: 700; font-size: 3.6em; line-height: .82; margin: .06em .14em -.05em 0; color: var(--br-accent-t); padding: .04em .06em 0 0; }
.bible-reader[data-br-dcstyle="gold"] .br-chnum, .bible-reader[data-br-dcstyle="gold"] .br-initial { color: var(--br-gold); background: linear-gradient(160deg, var(--br-gold-2), var(--br-gold) 55%, color-mix(in srgb, var(--br-gold) 70%, #000)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.bible-reader[data-br-dcstyle="plain"] .br-chnum, .bible-reader[data-br-dcstyle="plain"] .br-initial { color: var(--br-heading); }
.bible-reader[data-br-dcstyle="boxed"] .br-chnum, .bible-reader[data-br-dcstyle="boxed"] .br-initial { color: var(--br-on-accent); background: var(--br-accent-t); border-radius: 10px; padding: .1em .16em .02em; font-size: 2.6em; margin-right: .18em; line-height: 1; }
.bible-reader[data-br-dropcap="number"] article#bible-text .br-v[data-v="1"] > .br-vn { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.br-initial { float: left; font-family: var(--br-font-head); font-weight: 700; font-size: 3.4em; line-height: .85; margin: .05em .1em 0 0; color: var(--br-accent-t); }
.br-text[dir="rtl"] .br-chnum, .br-text[dir="rtl"] .br-initial { float: right; margin: .06em 0 -.05em .14em; }
.br-text[lang="grc"], .br-pcell[lang="grc"] { font-family: 'Gentium Plus', 'GFS Didot', 'Palatino Linotype', 'Times New Roman', serif; }
.br-text[lang="hbo"], .br-pcell[lang="hbo"] { font-family: 'SBL Hebrew', 'Ezra SIL', 'Taamey Frank CLM', 'Times New Roman', 'David', serif; font-size: calc(var(--br-text-size) * 1.15); line-height: 1.95; }
.br-text[dir="rtl"] .br-vn { margin-left: .15em; }
/* Church Slavonic in its traditional orthography (lang="cu"; the civil-alphabet edition is
   "cu-Cyrl" and keeps the reading font): the Ponomar font, SIL Open Font License 1.1
   (assets/fonts/ponomar-OFL.txt, github.com/slavonic/Ponomar). Downloaded only by pages that show such text. */
@font-face { font-family: "Ponomar"; src: url("/assets/fonts/ponomar-regular.woff2") format("woff2"); font-display: swap; }
.br-text[lang="cu"], .br-pcell[lang="cu"] { font-family: 'Ponomar', 'Ponomar Unicode', 'Monomakh Unicode', 'Triodion Unicode', 'Times New Roman', serif; font-size: calc(var(--br-text-size) * 1.08); line-height: max(var(--br-text-leading), 1.8); }
.br-pcell[lang="cu"] { font-size: calc(var(--br-text-size) * 1); }
/* Modern Greek: the Greek stack. */
.br-text[lang="el"], .br-pcell[lang="el"] { font-family: 'Gentium Plus', 'GFS Didot', 'Palatino Linotype', 'Times New Roman', serif; }
/* Arabic (right to left, fully vowelled): system Naskh faces, larger, with room for the vowel marks. */
.br-text:lang(ar), .br-pcell:lang(ar) { font-family: 'Amiri', 'Scheherazade New', 'Noto Naskh Arabic', 'Traditional Arabic', 'Arabic Typesetting', 'Geeza Pro', 'Times New Roman', serif; font-size: calc(var(--br-text-size) * 1.15); line-height: max(var(--br-text-leading), 2); }
.br-pcell[dir="rtl"] .br-vn { margin: 0 .05em 0 .15em; }
/* one verse per line (owner default or visitor choice) */
.bible-reader[data-br-deflayout="verse"] #bible-text .br-v, html[data-br-vlayout="verse"] #bible-text .br-v { display: block; margin: 0 0 .35em; padding-left: 1.9em; text-indent: -1.9em; }
.bible-reader[data-br-deflayout="verse"] #bible-text .br-vn, html[data-br-vlayout="verse"] #bible-text .br-vn { display: inline-block; min-width: 1.9em; text-indent: 0; text-align: right; padding-right: .45em; margin: 0; vertical-align: .35em; }
html[data-br-vlayout="paragraph"] .bible-reader[data-br-deflayout="verse"] #bible-text .br-v { display: inline; padding-left: 0; text-indent: 0; margin: 0; }
html[data-br-vlayout="paragraph"] .bible-reader[data-br-deflayout="verse"] #bible-text .br-vn { display: inline; min-width: 0; padding-right: .1em; vertical-align: super; }
html[data-br-vlayout="verse"] .br-parallel .br-v, .bible-reader[data-br-deflayout="verse"] .br-parallel .br-v { padding-left: 0; text-indent: 0; }
/* verse per line, right to left (Arabic, Hebrew): the number hangs on the right */
.bible-reader[data-br-deflayout="verse"] #bible-text[dir="rtl"] .br-v, html[data-br-vlayout="verse"] #bible-text[dir="rtl"] .br-v { padding-left: 0; padding-right: 1.9em; }
.bible-reader[data-br-deflayout="verse"] #bible-text[dir="rtl"] .br-vn, html[data-br-vlayout="verse"] #bible-text[dir="rtl"] .br-vn { text-align: left; padding-right: 0; padding-left: .45em; }
html[data-br-vlayout="paragraph"] .bible-reader[data-br-deflayout="verse"] #bible-text[dir="rtl"] .br-v { padding-right: 0; }
html[data-br-vlayout="paragraph"] .bible-reader[data-br-deflayout="verse"] #bible-text[dir="rtl"] .br-vn { padding-left: .1em; }

/* parallel */
.br-parallel { font-family: var(--br-font-read); font-size: calc(var(--br-text-size) * .92); line-height: calc(var(--br-text-leading) * .94); border: 1px solid var(--br-line); border-radius: 16px; background: var(--br-surface); box-shadow: var(--br-shadow); overflow: clip; }
.br-prow { display: grid; grid-template-columns: repeat(var(--br-cols, 2), minmax(0, 1fr)); border-bottom: 1px solid var(--br-line-soft); scroll-margin-top: calc(var(--br-sticky-top) + 5rem); }
.br-prow:last-child { border-bottom: 0; }
.br-pcell { padding: .6rem .9rem; min-width: 0; overflow-wrap: anywhere; }
.br-pcell + .br-pcell { border-left: 1px solid var(--br-line-soft); }
.br-phead { position: sticky; top: calc(var(--br-sticky-top) + 3.6rem); background: var(--br-paper-2); z-index: 2; font-family: var(--br-font-ui); font-size: .85rem; font-weight: 700; }
.br-phead .br-muted { font-weight: 500; font-size: .85rem; }
.br-numnote { font-size: 1rem; color: var(--br-ink); background: var(--br-gold-soft); border: 1px solid var(--br-gold-2); border-radius: 10px; padding: .5rem .8rem; max-width: 52rem; }
@media (max-width: 720px) {
  /* Toolbar pop-ups open from the toolbar's left edge (not from their button),
     so the book/parallel/settings panels never run off the right of a phone. */
  .br-toolbar .br-pop { position: static; }
  .br-toolbar .br-pop-body { left: .25rem; right: .25rem; width: auto; }
  .br-tool-k { display: none; }
  .br-prow { grid-template-columns: 1fr; }
  .br-phead { display: none; }
  .br-pcell + .br-pcell { border-left: 0; border-top: 1px dashed var(--br-line); }
  .br-pcell::before { content: attr(data-label); display: block; font-family: var(--br-font-ui); font-size: .7rem; font-weight: 700; letter-spacing: .06em; color: var(--br-muted); }
  .br-facts > div { grid-template-columns: 1fr; gap: .1rem; }
  .br-home-row { grid-template-columns: 1fr; }
  .br-scard-emblem { height: 3.6rem; }
  .br-scard-icon { width: 2rem; height: 2rem; }
  .br-go select { flex-basis: 100%; }
  .br-chapter-tiles { grid-template-columns: repeat(auto-fill, minmax(3.4rem, 1fr)); gap: .45rem; }
  .br-chapter-tiles a { font-size: 1.15rem; border-radius: 11px; }
  article.br-text { padding: 1.15rem 1.05rem; border-radius: 14px; }
}

/* pager + attribution */
.br-pager { display: flex; justify-content: space-between; align-items: stretch; gap: .75rem; margin: 1.8rem auto 1.2rem; max-width: calc(var(--br-measure) + 4.5rem); }
.br-has-parallel .br-pager { max-width: none; }
.br-pagebtn { flex: 1 1 0; display: flex; flex-direction: column; gap: .15rem; padding: .85rem 1.1rem; min-height: 4rem; border: 1px solid var(--br-line); border-radius: 14px; background: var(--br-surface); text-decoration: none; color: var(--br-ink) !important; box-shadow: var(--br-shadow); transition: border-color .15s ease, transform .15s ease; }
.br-pagebtn:hover { border-color: var(--br-accent-t); transform: translateY(-1px); }
.br-pagebtn-next { text-align: right; align-items: flex-end; }
.br-pagebtn.is-empty { visibility: hidden; box-shadow: none; }
.br-pagebtn-k { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--br-muted); }
.br-pagebtn-t { font-family: var(--br-font-head); font-size: 1.15rem; font-weight: 700; color: var(--br-heading); }
.br-chpos { align-self: center; flex: 0 0 auto; font-size: .85rem; color: var(--br-muted); text-align: center; }
@media (max-width: 560px) { .br-chpos { display: none; } .br-pagebtn { padding: .7rem .8rem; } .br-pagebtn-t { font-size: 1rem; } }
.br-attrib { margin: 1.4rem auto 0; padding-top: .9rem; border-top: 1px solid var(--br-line); font-size: .9rem; color: var(--br-muted); line-height: 1.55; max-width: calc(var(--br-measure) + 4.5rem); }
.br-has-parallel .br-attrib { max-width: none; }
.br-attrib-line { margin: .3rem 0; }
.br-attrib strong { color: var(--br-ink-soft); }

/* verse action popover (bible-reader.js) */
.br-vmenu { position: absolute; z-index: 30; display: flex; flex-wrap: wrap; gap: .35rem; padding: .4rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 12px; box-shadow: 0 10px 26px rgba(40, 30, 10, .2); font-family: var(--br-font-ui); max-width: min(24rem, calc(100vw - 2rem)); }
.br-vmenu button { font: inherit; font-size: .95rem; padding: .4rem .65rem; border: 1px solid var(--br-line); border-radius: 8px; background: var(--br-paper-2); cursor: pointer; color: var(--br-ink); min-height: 2.5rem; }
.br-vmenu button:hover { border-color: var(--br-gold); }

/* focus mode: only the text, its numbers and its attribution stay */
html[data-br-focus] #home-root, html[data-br-focus] .ssr-sitenav, html[data-br-focus] body > footer, html[data-br-focus] .sd-side, html[data-br-focus] .sd-topbar,
html[data-br-focus] .bible-reader .br-crumbs, html[data-br-focus] .bible-reader .br-head-meta, html[data-br-focus] .bible-reader .br-panel,
html[data-br-focus] .bible-reader .br-notes, html[data-br-focus] .br-study-tools { display: none !important; }
html[data-br-focus] .bible-reader { margin-top: 1.5rem; box-shadow: none; background: transparent; }
html[data-br-focus] .bible-reader .br-toolbar { top: .5rem; }
html[data-br-focus] body { background: var(--br-focus-bg, #f4ecdc); }
.br-focus-exit { position: fixed; right: 1rem; bottom: 1rem; z-index: 60; font: 700 .95rem/1.2 system-ui, -apple-system, 'Segoe UI', sans-serif; padding: .7rem 1rem; border-radius: 999px; border: 0; background: #26221c; color: #fff; box-shadow: 0 10px 24px rgba(0, 0, 0, .3); cursor: pointer; min-height: 2.75rem; }

/* ---------- visitor themes ---------- */
html[data-br-theme="white"] .bible-reader, html[data-br-theme-default="white"] .bible-reader {
  --br-bg: #f6f6f4; --br-surface: #ffffff; --br-paper: #ffffff; --br-paper-2: #efefec; --br-panel: #f7f7f5; --br-toolbar: #ffffff;
  --br-ink: #1c1c1c; --br-ink-soft: #3d3d3d; --br-muted: #616161; --br-heading: #161616; --br-line: #dcdcd8; --br-line-soft: #ececea; --br-gold-soft: #f3ecdf; --br-link: #6d4510; --br-vn: #7d5414;
}
html[data-br-theme="sepia"] .bible-reader, html[data-br-theme-default="sepia"] .bible-reader {
  --br-bg: #e9dcc1; --br-surface: #f4e8cf; --br-paper: #f4e8cf; --br-paper-2: #e6d5b4; --br-panel: #efe0c2; --br-toolbar: #f1e3c7;
  --br-ink: #3b2a17; --br-ink-soft: #533d24; --br-muted: #6c5536; --br-heading: #33230f; --br-line: #cdb68d; --br-line-soft: #e2cfab; --br-gold-soft: #e7d2a4; --br-link: #6b3f0d; --br-vn: #7a4a12;
}
html[data-br-theme="night"] .bible-reader, html[data-br-theme-default="night"] .bible-reader {
  --br-bg: #1b1814; --br-surface: #24201b; --br-paper: #24201b; --br-paper-2: #2e2922; --br-panel: #29241e; --br-toolbar: #26221c;
  --br-ink: #ece3d0; --br-ink-soft: #d9cdb4; --br-muted: #ab9f88; --br-heading: #f3e9d4; --br-line: #4a4135; --br-line-soft: #383128; --br-gold: #d9bb76; --br-gold-2: #b8914b; --br-gold-soft: #3a3121;
  --br-link: #e8c98a; --br-vn: #d9bb76; --br-on-accent: #1b1814; --br-focus: #e8c98a; --br-ot: #d3a06a; --br-nt: #e08f98; --br-dc: #a8c78c;
  --br-hl-gold: #6b5520; --br-hl-green: #34502d; --br-hl-blue: #2b4560; --br-hl-rose: #5e3236;
  box-shadow: none;
}
html[data-br-theme="contrast"] .bible-reader, html[data-br-theme-default="contrast"] .bible-reader {
  --br-bg: #ffffff; --br-surface: #ffffff; --br-paper: #ffffff; --br-paper-2: #f0f0f0; --br-panel: #ffffff; --br-toolbar: #ffffff;
  --br-ink: #000000; --br-ink-soft: #000000; --br-muted: #333333; --br-heading: #000000; --br-line: #000000; --br-line-soft: #8a8a8a; --br-gold: #5c3d00; --br-gold-2: #5c3d00; --br-gold-soft: #fff1c9;
  --br-link: #0b3d91; --br-vn: #5c3d00; --br-ot: #5c3d00; --br-nt: #7b0012; --br-dc: #24420f;
  --br-size-boost: 4px; --br-shadow: none;
  box-shadow: none;
}
html[data-br-theme="contrast"] .bible-reader .br-text, html[data-br-theme-default="contrast"] .bible-reader .br-text { font-weight: 500; }
html[data-br-theme="contrast"] .bible-reader a, html[data-br-theme-default="contrast"] .bible-reader a { text-decoration-thickness: 2px; }
html[data-br-theme="night"] .br-go input, html[data-br-theme="night"] .br-go select, html[data-br-theme="night"] .br-filters select, html[data-br-theme="night"] .br-order select, html[data-br-theme="night"] .br-today-pick input,
html[data-br-theme-default="night"] .br-go input, html[data-br-theme-default="night"] .br-go select, html[data-br-theme-default="night"] .br-filters select, html[data-br-theme-default="night"] .br-order select { background: #1f1b16; color: #ece3d0; }
html[data-br-theme="night"] .br-go-hero, html[data-br-theme-default="night"] .br-go-hero { background: rgba(36, 32, 27, .96); }
html[data-br-theme="night"] .br-btn:not(.br-btn-quiet):not(.br-btn-accent), html[data-br-theme-default="night"] .br-btn:not(.br-btn-quiet):not(.br-btn-accent) { background: var(--br-gold); border-color: var(--br-gold); color: #1b1814 !important; }
html[data-br-theme="night"] .br-v[class*="br-hl-"] .br-vt, html[data-br-theme-default="night"] .br-v[class*="br-hl-"] .br-vt { color: #fff8e8; }
/* visitor fonts */
html[data-br-face="serif"] .bible-reader { --br-font-read: Georgia, 'Source Serif 4', 'Times New Roman', serif; }
html[data-br-face="sans"] .bible-reader { --br-font-read: 'Source Sans 3', Inter, system-ui, -apple-system, 'Segoe UI', sans-serif; }
html[data-br-face="easy"] .bible-reader { --br-font-read: Verdana, 'Segoe UI', Tahoma, system-ui, sans-serif; }
html[data-br-face="easy"] .bible-reader .br-text { letter-spacing: .02em; word-spacing: .12em; }

@media (prefers-reduced-motion: reduce) {
  .bible-reader *, .br-focus-exit { transition: none !important; animation: none !important; }
  .br-scard:hover, .br-fcard:hover, .br-pagebtn:hover, .br-chapter-tiles a:hover { transform: none; }
}

@media print {
  .br-toolbar, .br-pager, .br-crumbs, .br-langswitch, .br-vmenu, #home-root, footer, .br-focus-exit, .br-head-meta { display: none !important; }
  .bible-reader { padding: 0; margin: 0; background: #fff; box-shadow: none; }
  article.br-text { box-shadow: none; border: 0; padding: 0; }
}

/* ---------- daily features: Today's readings, plans, Which Bible, My Study (bible-study.js) ---------- */
.br-today-hero .br-today-date { font-family: var(--br-font-ui); font-weight: 700; font-size: 1rem; letter-spacing: .04em; margin: .1rem 0 .4rem; }
.br-feast-title { margin-top: .2rem; }
.br-today-lead { max-width: 52rem; }
.br-today-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin: .8rem 0 1rem; padding: .7rem .9rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 14px; }
.br-today-tools .br-calswitch, .br-today-tools .br-today-nav, .br-today-tools .br-today-pick { margin: 0; }
.br-today-date { font-family: var(--br-font-ui); font-size: 1rem; color: var(--br-gold); margin: .2rem 0; }
.br-calswitch { display: flex; flex-wrap: wrap; gap: .4rem; margin: .6rem 0; }
.br-today-nav { flex-wrap: wrap; gap: .5rem; max-width: none; }
.br-today-pick { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: .4rem 0 1rem; font-size: 1rem; }
.br-today-pick input { font: inherit; padding: .4rem .55rem; border: 1px solid var(--br-line); border-radius: 10px; background: #fffdf8; color: var(--br-ink); min-height: 2.6rem; }
.br-feasts { list-style: none; padding: 0; margin: .3rem 0; }
.br-feasts li { font-size: 1.1rem; font-weight: 600; }
.br-feast-great::before { content: "✠ "; color: var(--br-gold); }
.br-reading { position: relative; margin: 1.1rem 0 1.6rem; padding: 1.3rem clamp(1.1rem, 3.5vw, 2.2rem) 1.4rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 18px; max-width: calc(var(--br-measure) + 4.5rem); box-shadow: var(--br-shadow); border-top: 4px solid var(--br-ot); }
.br-reading[data-type="Gospel"] { border-top-color: var(--br-nt); }
.br-reading[data-type="Epistle"], .br-reading[data-type="Apostol"] { border-top-color: var(--br-gold); }
.br-reading-h { font-family: var(--br-font-head); font-size: 1.25rem; margin: 0 0 .7rem; line-height: 1.35; color: var(--br-heading); }
.br-reading-h a { color: inherit; }
.br-reading-type { display: inline-block; font-family: var(--br-font-ui); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--br-gold); margin-right: .35rem; }
.br-text-inline { font-size: var(--br-text-size); line-height: var(--br-text-leading); max-width: var(--br-measure); }
.br-text-inline .br-para { margin: 0 0 .7rem; }
.br-chunk-h { font-family: var(--br-font-ui); font-size: .8rem; font-weight: 700; color: var(--br-muted); margin: .9rem 0 .25rem; text-transform: uppercase; letter-spacing: .08em; }
.br-reading-more { margin: .6rem 0 0; font-size: 1rem; font-weight: 600; }
.br-svc { margin-bottom: .7rem; }
.br-svc-list { margin: 0; padding-left: 1.1rem; font-size: 1.05rem; line-height: 1.65; }
.br-plan-cards { margin-top: .5rem; }
.br-plan-card-top { display: flex; gap: .9rem; align-items: center; }
.br-ring { --br-pct: 0; flex: 0 0 auto; width: 4.2rem; height: 4.2rem; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(closest-side, var(--br-surface) 76%, transparent 78% 100%), conic-gradient(var(--br-gold) calc(var(--br-pct) * 1%), var(--br-paper-2) 0); }
.br-ring-n { font-family: var(--br-font-ui); font-size: .9rem; font-weight: 700; color: var(--br-ink); }
.br-plan-hero { display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.4rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 20px; box-shadow: var(--br-shadow); }
.br-plan-hero .br-ring { width: 5.5rem; height: 5.5rem; }
.br-plan-hero-text { min-width: 0; flex: 1; }
@media (max-width: 560px) { .br-plan-hero { flex-direction: column; } }
.br-plan-days { list-style: none; padding: 0; margin: 0; columns: 2 22rem; column-gap: 1.5rem; }
.br-plan-day { break-inside: avoid; display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem; padding: .45rem 0; border-bottom: 1px solid var(--br-line-soft); font-size: 1.05rem; }
.br-plan-day.is-done .br-plan-daylink { color: var(--br-muted); }
.br-plan-daylink { font-weight: 700; white-space: nowrap; }
.br-plan-refs { color: var(--br-ink-soft); }
.br-plan-check { width: 1.6rem; height: 1.6rem; border-radius: 7px; border: 1.5px solid var(--br-gold-2); background: var(--br-surface); cursor: pointer; align-self: center; position: relative; flex: 0 0 auto; }
.br-plan-check.is-done { background: var(--br-gold); border-color: var(--br-gold); }
.br-plan-check.is-done::after { content: "✓"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--br-on-accent); font-size: .95rem; }
.br-plan-donebar { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.2rem 0; }
.br-progress { height: .6rem; background: var(--br-paper-2); border: 1px solid var(--br-line); border-radius: 999px; overflow: hidden; max-width: 28rem; margin: .5rem 0 .2rem; }
.br-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--br-gold-2), var(--br-gold)); }
.br-which-toc { background: var(--br-surface); border: 1px solid var(--br-line); border-radius: 14px; padding: .8rem 1.1rem; margin: 1rem 0; max-width: 48rem; }
.br-which-toc ol { margin: 0; padding-left: 1.2rem; columns: 2 16rem; font-size: 1.02rem; line-height: 1.7; }
.br-which-body { max-width: 48rem; font-family: var(--br-font-read); font-size: 1.12rem; line-height: 1.7; }
.br-which-body p, .br-which-body li { margin: .55rem 0; }
.br-which-table th, .br-which-table td { vertical-align: top; text-align: left; }
.br-cite { font-size: .7em; white-space: nowrap; }
.br-cite a { text-decoration: none; }
.br-sources { font-size: .98rem; line-height: 1.55; padding-left: 1.4rem; max-width: 52rem; overflow-wrap: anywhere; }
.br-sources li { margin: .35rem 0; }
.br-sources li:target { background: var(--br-gold-soft); }
/* verse highlights + notes (colours from the Bible Studio) */
.br-v.br-hl-gold .br-vt { background: var(--br-hl-gold); }
.br-v.br-hl-green .br-vt { background: var(--br-hl-green); }
.br-v.br-hl-blue .br-vt { background: var(--br-hl-blue); }
.br-v.br-hl-rose .br-vt { background: var(--br-hl-rose); }
.br-v[class*="br-hl-"] .br-vt { border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 0 .08em; }
.br-notebadge { border: 0; background: transparent; color: var(--br-gold); cursor: pointer; font-size: .85em; padding: 0 .2rem; vertical-align: super; }
.br-vmenu-hl { display: flex; gap: .3rem; align-items: center; }
.br-vmenu .br-swatch { width: 2.3rem; min-height: 2.3rem; padding: 0; border-radius: 50%; border: 2px solid rgba(0, 0, 0, .18); }
.br-swatch-gold { background: var(--br-hl-gold) !important; } .br-swatch-green { background: var(--br-hl-green) !important; } .br-swatch-blue { background: var(--br-hl-blue) !important; } .br-swatch-rose { background: var(--br-hl-rose) !important; }
.br-vmenu .br-swatch[aria-pressed="true"] { outline: 2px solid var(--br-ink); outline-offset: 1px; }
.br-noteform { width: 100%; display: flex; flex-wrap: wrap; gap: .35rem; }
.br-noteform textarea { width: 100%; font: inherit; font-size: 1rem; padding: .5rem; border: 1px solid var(--br-line); border-radius: 10px; background: #fffdf8; color: var(--br-ink); }
.br-savechap { margin-left: auto; }
@media print { .br-calswitch, .br-today-nav, .br-today-pick, .br-today-version, .br-plan-donebar, .br-plan-check, .br-notebadge, .br-today-tools { display: none !important; } }

/* "Open a passage" book picker (bible-bookpick.js; src/bible/render.js homeBookPicker) */
.br-bookpick { margin: -0.4rem 0 1.25rem; padding: 1.1rem 1.25rem 1.3rem; background: var(--br-surface); border: 1px solid var(--br-line); border-radius: var(--br-radius, 16px); box-shadow: var(--br-shadow); animation: br-bp-in .16s ease-out; }
.br-bookpick[hidden] { display: none; }
@keyframes br-bp-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .br-bookpick { animation: none; } }
.br-bookpick-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.br-bookpick-title { font-family: var(--br-font-head); font-size: 1.35rem; color: var(--br-heading, var(--br-ink)); margin: 0; }
.br-bookpick-hint { margin: .15rem 0 0; font-size: .95rem; color: var(--br-muted); }
.br-bookpick-close { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--br-line); background: var(--br-paper-2); color: var(--br-ink); font-size: 1.4rem; line-height: 1; cursor: pointer; }
.br-bookpick-close:hover { border-color: var(--br-accent-t); color: var(--br-accent-t); }
.br-bp-grid { display: grid; gap: 1.1rem 1.6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.br-bp-col { display: flex; flex-direction: column; gap: .9rem; min-width: 0; }
.br-bp-sec-h { margin: 0 0 .4rem; font-family: var(--br-font-ui); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--br-accent-t); padding-bottom: .3rem; border-bottom: 1px solid var(--br-line-soft); }
.br-bp-books { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.br-bp-book { font: inherit; font-size: .92rem; font-weight: 600; padding: .32rem .7rem; border-radius: 999px; border: 1px solid transparent; background: var(--br-paper-2); color: var(--br-ink); cursor: pointer; }
.br-bp-book:hover, .br-bp-book:focus-visible { border-color: var(--br-accent-t); color: var(--br-accent-t); }
.br-bp-book.is-other { background: transparent; border-style: dashed; border-color: var(--br-line); color: var(--br-ink-soft); }
.br-bp-back { font: inherit; font-size: .95rem; font-weight: 600; margin: 0 0 .8rem; padding: .35rem .8rem; border-radius: 999px; border: 1px solid var(--br-line); background: transparent; color: var(--br-ink); cursor: pointer; }
.br-bp-back:hover { border-color: var(--br-accent-t); color: var(--br-accent-t); }
.br-bp-chapters { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; grid-template-columns: repeat(auto-fill, minmax(3.1rem, 1fr)); }
.br-bp-chapters a { display: flex; align-items: center; justify-content: center; min-height: 2.9rem; border-radius: 10px; background: var(--br-paper-2); border: 1px solid transparent; color: var(--br-ink) !important; font-weight: 600; text-decoration: none; }
.br-bp-chapters a:hover, .br-bp-chapters a:focus-visible { border-color: var(--br-accent-t); color: var(--br-accent-t) !important; }
.br-bp-none { color: var(--br-muted); margin: .4rem 0; }
@media (max-width: 640px) { .br-bookpick { padding: .9rem .9rem 1.1rem; } .br-bp-book { font-size: .95rem; padding: .4rem .75rem; } }
