/* Ruth — Scripture & scholarship discovery. Warm wheat-gold on the navy brand.
   No artificial green anywhere (feedback-no-artificial-green). */
.ruth-head{display:flex;gap:16px;align-items:flex-start;margin:6px 0 14px}
.ruth-portrait{flex:0 0 auto;width:76px;height:76px;border-radius:16px;
  background:radial-gradient(120% 120% at 30% 25%,#22335c,#0e1730);
  border:1px solid #2a3d6e;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.ruth-portrait svg{width:60px;height:60px}
.ruth-title h1{margin:0;font-size:clamp(1.5rem,4vw,2rem)}
.ruth-title .env{color:#f3c849}
.ruth-sub{color:#aeb9d6;max-width:60ch;line-height:1.55;margin:6px 0 0;font-size:.98rem}

/* the "wake Ruth" gate — honest about the one-time on-device download */
.ruth-gate{background:linear-gradient(155deg,#16223f,#0e1730);border:1px solid #2a3d6e;
  border-radius:16px;padding:20px 20px 18px;margin:16px 0}
.ruth-gate h2{margin:0 0 6px;font-size:1.05rem;color:#fff}
.ruth-gate p{margin:0 0 14px;color:#9fb0d4;font-size:.9rem;line-height:1.55;max-width:62ch}
.ruth-btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;
  background:#f3c849;color:#0e1730;border-radius:999px;padding:11px 22px;font-size:.98rem}
.ruth-btn:hover{background:#ffd76a}
.ruth-btn[disabled]{opacity:.55;cursor:default}
.ruth-progress{margin-top:14px;height:6px;border-radius:6px;background:#0b1224;overflow:hidden;display:none}
.ruth-progress > i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3b6fe0,#f3c849);transition:width .25s}
.ruth-stage{margin-top:8px;color:#8fa0c6;font-size:.82rem;min-height:1em}

/* search */
.ruth-search{display:none;margin:16px 0 6px}
.ruth-search.on{display:block}
.ruth-form{display:flex;gap:8px;flex-wrap:wrap}
.ruth-input{flex:1 1 260px;min-width:0;background:#0b1224;border:1px solid #2a3d6e;color:#eaf0ff;
  border-radius:12px;padding:12px 14px;font:inherit;font-size:1rem}
.ruth-input:focus{border-color:#3b6fe0}
/* ⚠ THE FOCUS RING WAS REMOVED AND REPLACED BY A BORDER-COLOUR CHANGE ALONE, measured at
   2.28:1 between the unfocused and focused states — under the 3:1 WCAG asks for, on the
   single most important control on the page. `outline:none` is only safe when something
   at least as visible replaces it. :focus-visible so a mouse click stays quiet. */
.ruth-input:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}
.ruth-go{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:600;background:#3b6fe0;color:#fff;
  border-radius:12px;padding:0 18px}
.ruth-go:hover{background:#5b86ec}
.ruth-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:12px 0 2px;
  color:#8fa0c6;font-size:.86rem}
.ruth-controls label{display:flex;gap:6px;align-items:center}
.ruth-controls select{background:#0b1224;border:1px solid #2a3d6e;color:#dbe4fb;border-radius:8px;
  padding:6px 8px;font:inherit;font-size:.86rem}
.ruth-controls select:disabled{opacity:.6}
.ruth-chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 2px}
.ruth-chip{background:#141f39;border:1px solid #263a66;color:#cdd7f0;border-radius:999px;
  padding:7px 14px;font-size:.86rem;cursor:pointer}
.ruth-chip:hover{border-color:#f3c849;color:#fff}

/* results */
.ruth-results{margin-top:18px;display:grid;gap:12px}
.ruth-meta-line{color:#8fa0c6;font-size:.85rem;margin:14px 0 2px;min-height:1em}
.passage{background:#111a30;border:1px solid #22304f;border-radius:14px;padding:14px 16px}
.passage .p-head{color:#f3c849;font-size:.8rem;letter-spacing:.02em;margin:0 0 4px;text-transform:uppercase}
.passage .p-ref{font-weight:700;color:#eaf0ff;font-size:.95rem;margin:0 0 6px}
.passage .p-text{color:#dbe4fb;line-height:1.62;font-size:1.02rem;
  font-family:Georgia,"Times New Roman",serif}
.passage .p-links{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.passage .p-links a{font-size:.82rem;color:#9fb0d4;text-decoration:none;border:1px solid #22304f;
  border-radius:999px;padding:4px 11px}
.passage .p-links a:hover{border-color:#3b6fe0;color:#cfe0ff}
/* the /read hand-off chips (classic cards + chapter views) — amber, the book colour */
.passage .p-links a.p-readbook{border-color:rgba(201,139,45,.45);color:#e6c877}
.passage .p-links a.p-readbook:hover{border-color:#c98b2d;color:#ffd76a}
.passage .p-links .lbl{color:#7d8cb0;font-size:.78rem;border:0;padding:0}

.ruth-sources{margin-top:26px;border-top:1px solid #23304f;padding-top:14px;color:#8fa0c6;font-size:.84rem;line-height:1.55}
.ruth-sources b{color:#cdd7f0}
.ruth-empty{color:#9fb0d4;padding:12px 2px}
.ruth-err{color:#ff9a8f}

/* language picker — always visible, above the gate */
.ruth-langrow{margin:14px 0 10px}
.ruth-gate-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:4px}
.ruth-langpick{display:flex;gap:8px;align-items:center;color:#9fb0d4;font-size:.9rem}
.ruth-langpick select{background:#0b1224;border:1px solid #2a3d6e;color:#eaf0ff;border-radius:10px;
  padding:9px 11px;font:inherit;font-size:.95rem;cursor:pointer}
.ruth-langpick select:focus{border-color:#3b6fe0}
.ruth-langpick select:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}

/* RTL (Persian) */
.ruth-results[dir="rtl"] .passage{text-align:right}
.ruth-results[dir="rtl"] .p-links{flex-direction:row-reverse}
.ruth-results[dir="rtl"] .p-text{font-family:"Vazirmatn","Noto Naskh Arabic",Georgia,serif}
.ruth-input[dir="rtl"]{text-align:right}

/* v2: passages — verse numbers, exact-reference highlight */
.p-text sup{color:#8fa0c6;font-size:.62em;margin:0 3px 0 1px;font-family:system-ui,sans-serif}
.p-text .hitv{color:#fff;background:rgba(243,200,73,.13);border-radius:4px;padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.p-text .hitv sup{color:#f3c849}

/* topics + book browser */
.ruth-topics-lbl{color:#7d8cb0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin:14px 0 6px}
.ruth-browse{margin:16px 0 4px;border:1px solid #22304f;border-radius:12px;background:#101932}
.ruth-browse summary{cursor:pointer;padding:10px 14px;color:#9fb0d4;font-size:.9rem;list-style:none}
.ruth-browse summary::-webkit-details-marker{display:none}
.ruth-browse summary::before{content:"▸ ";color:#f3c849}
.ruth-browse[open] summary::before{content:"▾ "}
.ruth-browse-body{padding:4px 14px 14px}
.ruth-browse-body select{background:#0b1224;border:1px solid #2a3d6e;color:#eaf0ff;border-radius:10px;padding:8px 10px;font:inherit;font-size:.92rem;max-width:100%}
.ruth-chgrid{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ruth-ch{background:#141f39;border:1px solid #263a66;color:#cdd7f0;border-radius:8px;min-width:34px;padding:6px 4px;font-size:.82rem;cursor:pointer}
.ruth-ch:hover{border-color:#f3c849;color:#fff}

/* the portrait host renders Ruth's procedural face (ruth-face.js) */
.ruth-portrait{overflow:hidden;padding:0}

/* inline parallel passage — hosted translation shown ON the card, closable */
.p-alt-toggle{appearance:none;font:inherit;cursor:pointer;font-size:.82rem;color:#f3c849;background:none;
  border:1px solid rgba(243,200,73,.45);border-radius:999px;padding:4px 11px}
.p-alt-toggle:hover{border-color:#f3c849}
.p-alt-toggle.on{background:#f3c849;color:#0e1730;font-weight:600}
.p-alt-toggle.busy{opacity:.5;cursor:progress}
.p-alt{margin-top:12px;border-left:3px solid #f3c849;background:#0d1528;border-radius:0 10px 10px 0;padding:10px 14px}
.p-alt-head{display:flex;justify-content:space-between;align-items:center;gap:8px;
  color:#f3c849;font-size:.85rem;font-weight:600;margin-bottom:6px}
.p-alt-close{appearance:none;border:0;background:none;color:#8fa0c6;cursor:pointer;font-size:.95rem;padding:2px 6px}
.p-alt-close:hover{color:#fff}
.p-alt-text{color:#dbe4fb;line-height:1.75;font-size:1rem;font-family:Georgia,"Songti SC","Noto Serif CJK SC","Times New Roman",serif}
.p-alt-text sup{color:#8fa0c6;font-size:.62em;margin:0 3px 0 1px;font-family:system-ui,sans-serif}
.p-alt-attr{margin-top:8px;color:#7d8cb0;font-size:.74rem}
.p-alt[dir="rtl"] .p-alt-text{text-align:right}

/* read aloud — device voices, per-verse read-along */
.ruth-tts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:14px 0 2px;
  color:#8fa0c6;font-size:.86rem}
.ruth-tts label{display:flex;gap:7px;align-items:center}
.ruth-tts select{background:#0b1224;border:1px solid #2a3d6e;color:#dbe4fb;border-radius:8px;
  padding:6px 8px;font:inherit;font-size:.85rem;max-width:220px}
.p-listen{appearance:none;font:inherit;cursor:pointer;font-size:.82rem;color:#9fb0d4;background:none;
  border:1px solid #22304f;border-radius:999px;padding:4px 11px;display:none}
.tts-on .p-listen{display:inline-block}
.p-listen:hover{border-color:#3b6fe0;color:#cfe0ff}
.p-listen.on{border-color:#f3c849;color:#f3c849}
.p-text .reading{color:#fff;background:rgba(59,111,224,.18);border-radius:4px;padding:0 2px;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}
.p-text .reading sup{color:#f3c849}

/* share + whole-chapter card actions (match the listen pill) */
.p-share,.p-chapter{appearance:none;font:inherit;cursor:pointer;font-size:.82rem;color:#9fb0d4;background:none;
  border:1px solid #22304f;border-radius:999px;padding:4px 11px}
.p-share:hover,.p-chapter:hover{border-color:#3b6fe0;color:#cfe0ff}
.passage{transition:border-color .15s ease}
.passage:hover{border-color:#2f4270}

/* Bible/classics scope + library cards + the floating stop (mobile Esc) */
.ruth-scope-row{margin:12px 0 2px;color:#8fa0c6;font-size:.88rem}
.ruth-scope-row select{background:#0b1224;border:1px solid #2a3d6e;color:#dbe4fb;border-radius:8px;padding:7px 9px;font:inherit;font-size:.88rem}
/* "only my language" — a FILTER beside the scope it modifies, not a fourth scope option */
.ruth-langonly{display:inline-flex;align-items:center;gap:6px;margin-inline-start:12px;cursor:pointer;white-space:nowrap}
.ruth-langonly input{accent-color:#f3c849;width:15px;height:15px;cursor:pointer}
.ruth-langonly:hover{color:#dbe4fb}
/* the quiet disclosure: content is never silently disappeared, and the line is the way back */
.ruth-hidden-line{display:block;width:100%;margin:14px 0 2px;padding:9px 12px;text-align:start;
  background:transparent;border:1px dashed #2a3d6e;border-radius:10px;color:#8fa0c6;
  font:inherit;font-size:.84rem;cursor:pointer}
.ruth-hidden-line:hover{border-color:#7d5a1d;color:#f3c849}
/* H2 disclosure — same quiet dashed frame as the language-filter line, but an <a> not a button:
   it leads to the reasoning on /sources, never to the withheld text. */
.ruth-withheld-line{display:block;width:100%;margin:14px 0 2px;padding:9px 12px;text-align:start;
  background:transparent;border:1px dashed #2a3d6e;border-radius:10px;color:#8fa0c6;
  font:inherit;font-size:.84rem;text-decoration:none}
.ruth-withheld-line:hover{border-color:#7d5a1d;color:#f3c849}
/* PACING — the rest of the comfort waits one tap away. Deliberately quiet: it must not compete
   with the verse above it, and on a crisis query it must not compete with the helpline. */
.ruth-care-more{margin:2px 0 10px}
.ruth-care-more>summary{cursor:pointer;list-style:none;color:#8fa0c6;font-size:.86rem;
  padding:7px 12px;border:1px dashed #2a3d6e;border-radius:10px;display:inline-block}
.ruth-care-more>summary::-webkit-details-marker{display:none}
.ruth-care-more>summary:hover{border-color:#7d5a1d;color:#f3c849}
.ruth-care-more[open]>summary{margin-bottom:8px}
/* The closing handoff. Same weight as the opening care line — a reader who got this far is not
   less in need than one who did not, so it is not styled as a footnote. */
.ruth-care-close{margin-top:22px;padding-top:16px;border-top:1px solid #23304f}
/* the "we followed a pointer" note on a topical card — quiet, but present */
.p-via{color:#8fa0c6;font-weight:400}
/* modern-topic bridge card — same shape as the reference card; the attribution line carries
   the source link, the licence and the modification note, because CC BY requires all three. */
.p-modcard .p-links{margin-top:8px}
.p-modcard .ruth-authnote a{color:#7fa0e8}
/* word-meaning card — the native script leads, transliteration and gloss support it */
.p-lexcard .p-head{font-size:1.3rem;line-height:1.35}
.p-lexcard .lex-tr{font-size:.86rem;color:#8fa0c6;font-weight:400;font-style:italic}
.p-lexcard .lex-code{color:#7d8cb0;font-size:.82em}
/* the short answer — the thing most readers came for, so it leads and it is not small */
.p-lexcard .lex-core{font-size:1.02rem;color:#eef2ff;margin:6px 0 2px}
/* the scholarship, one tap away. Same disclosure pattern as pacing: native, offline, no JS. */
.lex-more{margin:8px 0 2px}
.lex-more>summary{cursor:pointer;list-style:none;color:#8fa0c6;font-size:.86rem;
  padding:6px 12px;border:1px dashed #2a3d6e;border-radius:10px;display:inline-block}
.lex-more>summary::-webkit-details-marker{display:none}
.lex-more>summary:hover{border-color:#7d5a1d;color:#f3c849}
.lex-more[open]>summary{margin-bottom:10px}
.lex-headnote{color:#aeb9d6;font-size:.9rem;line-height:1.65;margin-bottom:10px}
.lex-sense{margin:5px 0;line-height:1.65;font-size:.92rem}
.lex-sense.lex-sub{margin-left:18px}
.lex-lbl{color:#f3c849;font-weight:700;margin-right:2px}
.lex-refs{display:inline-flex;flex-wrap:wrap;gap:4px;vertical-align:middle;margin-left:4px}
.lex-note{margin-top:12px;padding-top:10px;border-top:1px solid #23304f;
  color:#aeb9d6;font-size:.88rem;line-height:1.65}
/* Nave's: the rest of a topic, one tap away — same disclosure as the lexicon and pacing */
.ref-more{margin:8px 0 2px}
.ref-more>summary{cursor:pointer;list-style:none;color:#8fa0c6;font-size:.86rem;
  padding:6px 12px;border:1px dashed #2a3d6e;border-radius:10px;display:inline-block}
.ref-more>summary::-webkit-details-marker{display:none}
.ref-more>summary:hover{border-color:#7d5a1d;color:#f3c849}
.ref-more[open]>summary{margin-bottom:8px}
/* how many a section is holding back — honest rather than silent */
.ref-held{color:#7d8cb0;font-size:.78rem;margin-left:4px;white-space:nowrap}
/* clear the input — appears only when there is something to clear */
.ruth-clear{background:transparent;border:0;color:#8fa0c6;font-size:1rem;cursor:pointer;
  padding:0 10px;line-height:1;align-self:center}
.ruth-clear:hover{color:#f3c849}
/* show more — a button, never infinite scroll: the bottom of this page carries the source note,
   the withheld disclosure and, on a crisis query, the closing helpline. */
.ruth-more-row{text-align:center;margin:18px 0 6px}
.ruth-more{background:#131d38;border:1px solid #2a3d6e;color:#9fc0ff;border-radius:999px;
  padding:9px 22px;font-size:.9rem;cursor:pointer}
.ruth-more:hover{border-color:#7d5a1d;color:#f3c849}
/* a corrected slip is announced, never silent — with one tap back to the literal words */
.ruth-typo{margin:0 0 12px;color:#8fa0c6;font-size:.92rem}
.ruth-typo b{color:#eef2ff}
.ruth-typo-back{background:none;border:0;color:#7fa0e8;cursor:pointer;font-size:.92rem;padding:0}
.ruth-typo-back:hover{color:#f3c849}
/* the action row, grouped. Ten identical pills gave a reader wanting to STUDY a verse no cue
   which were for studying; the labelled groups are the cue. */
.p-links .p-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;
  padding-left:10px;margin-left:4px;border-left:1px solid #23304f}
.p-links .p-group .lbl{color:#7d8cb0;font-size:.78rem;margin-right:2px}
/* outbound study destinations — visibly leaving the site, like the "Read in" links */
.p-study{color:#7fa0e8;font-size:.82rem;text-decoration:none;padding:2px 4px;white-space:nowrap}
.p-study:hover{color:#f3c849;text-decoration:underline}
@media (max-width:560px){.p-links .p-group{padding-left:0;margin-left:0;border-left:0;
  border-top:1px solid #23304f;padding-top:6px;margin-top:4px;width:100%}}
/* the ⬇ offline chip (opt-in save; navy/gold — never green, brand rule) */
.ruth-offline-row{margin:10px 0 2px}
.ruth-off-chip{background:#131d38;border:1px solid #2a3d6e;border-radius:999px;color:#cdd7f0;
  padding:5px 13px;font:inherit;font-size:.84rem;cursor:pointer}
.ruth-off-chip:hover{border-color:#f3c849;color:#fff}
.ruth-off-chip[data-state="saving"]{color:#f3c849;border-color:#7d5a1d;cursor:progress}
.ruth-off-chip[data-state="done"]{color:#f3c849;border-color:#7d5a1d;cursor:default}
.ruth-off-chip[data-state="err"]{color:#ff9f7a;border-color:#7a3a2a}
.p-libcard{border-left:3px solid #7d5a1d;background:#121a2e}
.p-libcard .p-ref{color:#e6c877}
/* commentary notes — the third kind of card: blue-edged, keyed to its passage */
.p-commcard{border-left:3px solid #3b6fe0;background:#111a30}
.p-commcard .p-ref{color:#9fb8f0}
.p-commcard .p-head{color:#f3c849}
.p-commtext{font-family:Georgia,"Times New Roman",serif;font-style:normal}
.p-commcard .mine-chip{margin-left:2px}
/* chapter Q&A block + the question journal */
.ruth-qa{margin:18px 0 6px;border:1px solid #23304f;border-radius:12px;background:#101931;padding:10px 14px}
.ruth-qa-head{color:#f3c849;font-weight:600;font-size:.95rem;margin:2px 0 8px}
.ruth-qa-item{border-top:1px solid #1a2440;padding:7px 0}
.ruth-qa-item:first-of-type{border-top:0}
.ruth-qa-item summary{cursor:pointer;color:#dbe4fb;font-weight:600;font-size:.92rem}
.ruth-qa-item summary:hover{color:#fff}
.ruth-qa-a{font-family:Georgia,"Times New Roman",serif;color:#cdd7f0;line-height:1.62;margin:8px 0 6px;font-size:.92rem}
.ruth-qa-refs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.q-keep{margin-left:10px;background:#131d38;border:1px solid #2a3d6e;border-radius:999px;color:#ffd76a;padding:3px 11px;font-size:.8rem;cursor:pointer}
.q-keep.on{color:#8fa0c6;cursor:default;border-color:#23304f}
/* the reranker's one visible trace (engine v20): a quiet sparkle / download % */
.rr-note{margin-left:10px;color:#8fa0c6;font-size:.8rem;cursor:default}
.mine-chip.q-chip.lit{border-color:#f3c849;color:#ffd76a}
.ruth-jbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px;padding:8px 12px;border:1px solid #2a3d6e;border-radius:10px;background:#131d38}
.ruth-jbar .jq{color:#dbe4fb;font-size:.9rem;flex:1 1 auto}
.ruth-jbar button{background:#0d1528;border:1px solid #2a3d6e;border-radius:999px;color:#cdd7f0;padding:3px 10px;font-size:.8rem;cursor:pointer}
.ruth-jbar button:hover{border-color:#3b6fe0;color:#fff}
.p-author{color:#8fa0c6;font-weight:400;font-size:.85rem}
.p-libtext{font-style:normal}
.ruth-fab{position:fixed;left:18px;bottom:18px;z-index:60;appearance:none;border:0;cursor:pointer;
  font:inherit;font-weight:700;background:#f3c849;color:#0e1730;border-radius:999px;padding:12px 18px;
  box-shadow:0 6px 20px rgba(0,0,0,.45);font-size:.95rem}

/* the comfort bank — authored care shown first for grief/illness queries */
.ruth-care-line{color:#e6c877;font-size:.92rem;line-height:1.55;margin:4px 0 2px}
.ruth-care-rest{color:#7d8cb0;font-size:.82rem;margin-top:14px}
/* a multi-idea ask is searched one clause at a time; each group is headed by the reader's
   OWN words so Ruth visibly shows her work instead of silently blending three searches */
.ruth-clause-line{color:#8fa0c6;font-size:.84rem;line-height:1.5;margin:18px 0 6px;border-top:1px solid #1c2743;padding-top:12px}
.ruth-clause-line:first-child{border-top:0;margin-top:2px;padding-top:0}
.ruth-clause-line q{color:#dbe4fb;font-style:italic;quotes:"“" "”"}
.p-care{border-color:rgba(243,200,73,.5)}

.p-worklink{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(230,200,119,.55)}
.p-worklink:hover{color:#ffd76a;border-bottom-color:#ffd76a}

/* our modern-Chinese rendering of a classical text — clearly OURS, never the original */
.p-modern{margin-top:10px;border-left:3px solid #3b6fe0;background:#0d1528;border-radius:0 10px 10px 0;
  padding:9px 13px;color:#cdd7f0;line-height:1.8;font-size:.98rem}
.p-modern-lbl{color:#8fa0c6;font-size:.74rem;margin-bottom:5px}

/* per-script typography (policy: docs/prompts/ruth.md) — CJK serif stacks + looser leading */
.ruth-results[lang="zh-Hans"] .p-text,.ruth-results[lang="zh-Hant"] .p-text,.p-libtext[lang="zh-Hant"],.p-modern{
  font-family:Georgia,"Songti SC","Songti TC","Noto Serif CJK SC","Noto Serif SC",serif;line-height:1.85}
.ruth-results[lang="ja"] .p-text{font-family:Georgia,"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;line-height:1.85}
.ruth-results[lang="ko"] .p-text{font-family:Georgia,"AppleMyungjo","Nanum Myeongjo","Noto Serif CJK KR",serif;line-height:1.85}
.p-libtext[lang="en"],.p-libtext[lang="fr"]{font-family:Georgia,"Times New Roman",serif}
/* per-work language tag (non-English classics: 法文/文言/中文 — honest, small, gold detail) */
.p-wlang{display:inline-block;margin-left:.45em;padding:.02em .5em;border:1px solid rgba(243,200,73,.4);
  border-radius:.7em;font-size:.72rem;color:#d9c48a;vertical-align:middle;letter-spacing:.04em;white-space:nowrap}

/* local-first saved + recent (Tier 1) */
.ruth-mine{margin:6px 0 2px}
.mine-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:6px 0}
.mine-lbl{color:#8fa0c6;font-size:.78rem}
.mine-chip{background:#131d38;border:1px solid #2a3d6e;border-radius:999px;color:#cdd7f0;padding:4px 12px;font-size:.82rem;cursor:pointer;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mine-chip:hover{border-color:#3b6fe0;color:#fff}
.mine-clear{background:none;border:0;color:#7d8cb0;font-size:.75rem;cursor:pointer}
.mine-clear:hover{color:#8fa0c6}
.p-save.on{color:#ffd76a;border-color:#f3c849}

.mine-chip.vod{border-color:#3b6fe0;color:#ffd76a}

.p-rel-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;border-top:1px dashed #23304f;padding-top:9px}

/* PARALLEL VIEW — a second hosted translation beside every Bible card (Tier 2 #7).
   Two columns on wide screens, stacked on narrow. Each column carries its OWN lang/dir
   attribute so the per-script typography policy holds even when scripts mix on a card. */
.ruth-par-row select.busy{opacity:.5;cursor:progress}
.p-duo{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}
.p-duo-col{min-width:0}
.p-duo-col+.p-duo-col{border-inline-start:1px solid #1e2a4a;padding-inline-start:18px}
.p-duo-lbl{color:#7d8cb0;font-size:.72rem;letter-spacing:.03em;margin:0 0 4px}
.p-par-missing{color:#7d8cb0;font-style:italic;font-size:.9rem;padding-top:2px}
@media (max-width:640px){
  .p-duo{grid-template-columns:1fr}
  .p-duo-col+.p-duo-col{border-inline-start:0;padding-inline-start:0;border-top:1px dashed #23304f;margin-top:10px;padding-top:8px}
}
/* explicit per-column script treatment — these must OUTRANK the page-level container
   rules above (same specificity; later in the file wins) */
.ruth-results .p-text[lang="en"],.ruth-results .p-text[lang="fr"],.ruth-results .p-text[lang="de"],
.ruth-results .p-text[lang="es"],.ruth-results .p-text[lang="it"],.ruth-results .p-text[lang="ru"]{
  font-family:Georgia,"Times New Roman",serif;line-height:1.62;text-align:left}
.ruth-results .p-text[lang="zh-Hans"],.ruth-results .p-text[lang="zh-Hant"]{
  font-family:Georgia,"Songti SC","Songti TC","Noto Serif CJK SC","Noto Serif SC",serif;line-height:1.85;text-align:left}
.ruth-results .p-text[lang="ja"]{font-family:Georgia,"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;line-height:1.85;text-align:left}
.ruth-results .p-text[lang="ko"]{font-family:Georgia,"AppleMyungjo","Nanum Myeongjo","Noto Serif CJK KR",serif;line-height:1.85;text-align:left}
.ruth-results .p-text[lang="fa"]{font-family:"Vazirmatn","Noto Naskh Arabic",Georgia,serif;line-height:1.8;text-align:right}

.ruth-authnote{color:#7d8cb0;font-size:.72rem;margin:8px 0 2px}
.ruth-authnote a{color:#8fa0c6;text-decoration:underline;text-underline-offset:2px}
.ruth-authnote a:hover{color:#cdd7f0}

/* the reference shelf (Nave's Topical + Easton's dictionary): 📚 copper-edged cards,
   the pinned definitional card, and the Nave's topic chips + browser */
.p-refcard{border-left:3px solid #a3703f;background:#131a2c}
.p-refcard .p-ref{color:#dfae84}
.p-refcard .p-head{color:#f3c849}
.p-reftext{font-family:Georgia,"Times New Roman",serif;white-space:pre-line}
.p-defcard{border-left-width:4px}
.ref-sub{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;border-top:1px solid #1a2440;padding:6px 0}
.ref-sub-lbl{color:#cdd7f0;font-size:.9rem;font-weight:600;margin-right:4px;font-family:Georgia,"Times New Roman",serif}
.ref-more-note{color:#8fa0c6;font-size:.78rem;margin:6px 0 2px}
.ref-rest{margin-top:6px}
.ref-rest summary{cursor:pointer;color:#dfae84;font-size:.82rem}
.ref-see{color:#ffd76a}
.ruth-chip.topic{border-color:#5a4326;color:#e6c877}
.ruth-chip.topic:hover{border-color:#f3c849;color:#fff}
.ruth-chip.topic-more{border-style:dashed;color:#8fa0c6}
.ruth-topic-panel{margin:10px 0;border:1px solid #23304f;border-radius:12px;background:#101931;padding:10px 12px}
.ruth-topic-bar{display:flex;gap:8px;margin-bottom:8px}
.ruth-topic-filter{flex:1;background:#0d1528;border:1px solid #263a66;border-radius:8px;color:#e8edfa;padding:7px 10px;font-size:.9rem;min-width:0}
.ruth-topic-close{background:#131d38;border:1px solid #2a3d6e;border-radius:8px;color:#cdd7f0;padding:4px 10px;cursor:pointer;font-size:.8rem;white-space:nowrap}
.ruth-topic-list{display:flex;flex-wrap:wrap;gap:7px;max-height:210px;overflow-y:auto}

/* the guide, findable from Ruth herself — visible pre- and post-wake */
.ruth-help{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border:1px solid #35426a;border-radius:50%;color:#8fa0c6;text-decoration:none;font-size:.8rem;
  vertical-align:middle;margin-left:6px}
.ruth-help:hover{border-color:#f3c849;color:#ffd76a}

/* auto-load: hide the Wake button + first-time note; the progress bar carries the state */
.ruth-gate.ruth-auto #ruthWake,.ruth-gate.ruth-auto #ruthNote{display:none}
.ruth-gate.ruth-auto .ruth-stage{margin-top:2px}
/* search skeleton — content placeholders beat a spinner (perceived speed) */
.p-skel{border:1px solid #23304f;border-radius:14px;padding:14px 16px;margin:10px 0;background:#111a30}
.sk-line{height:12px;border-radius:6px;margin:9px 0;background:linear-gradient(90deg,#1a2540 25%,#2a3860 37%,#1a2540 63%);background-size:400% 100%;animation:skShimmer 1.4s ease infinite}
.sk-ref{width:36%;height:14px;margin-bottom:12px}
.sk-line.short{width:55%}
@keyframes skShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.sk-line{animation:none;opacity:.5}}

/* Visually hidden, still announced. ⚠ NOT display:none and NOT visibility:hidden — both remove
   the node from the accessibility tree, so a live region using them announces nothing at all. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* SKIP LINK. ⚠ Ruth has the longest tab chains on the site: ~14 nav items before the search box,
   and a single reference card can emit 25+ verse chips. Without a way past them a keyboard user
   walks the whole list to reach the next thing. Hidden until focused — the first Tab reveals it. */
.ruth-skip{position:absolute;left:-9999px;top:0;z-index:100;
  background:#131d38;color:#eef2ff;border:1px solid #3b6fe0;border-radius:0 0 10px 0;
  padding:10px 16px;font-size:.95rem;text-decoration:none}
.ruth-skip:focus{left:0}
.ruth-skip:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}
/* the targets must be programmatically focusable to receive the jump */
#ruthResults:focus,#ruthSearchRegion:focus{outline:none}

/* The line under a passage that loaded on the light path (verses only, no model). Quiet: it is
   an offer, not a nag — the reader came for a verse and has it. */
.ruth-liteline{margin:18px 0 4px;padding:12px 14px;background:#101a30;border:1px solid #23304f;
  border-radius:12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ruth-liteline span{color:#8fa0c6;font-size:.86rem;line-height:1.5;flex:1 1 240px}
.ruth-lite-full:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}

/* TOPICAL NOTE — our own words, and it must never be mistaken for Scripture. Deliberately styled
   apart from a passage card: no verse serif, a quieter panel, and an authorship line under the
   heading rather than tucked at the bottom where nobody reads it. */
.p-note{background:#101a30;border:1px solid #2a3d6e;border-left:4px solid #7d8cb0}
.p-note .note-auth{color:#7d8cb0;font-size:.78rem;margin:-2px 0 10px;font-style:italic}
.p-note .note-silent{color:#eef2ff;font-size:1rem;margin:0 0 14px;line-height:1.6}
.p-note .note-sec{margin:14px 0 0;font-size:.9rem}
.p-note .note-sec>b{display:block;color:#ffd76a;font-size:.82rem;letter-spacing:.02em;margin-bottom:6px}
.p-note .note-sec p{margin:4px 0;line-height:1.65;color:#dbe4fb}
.p-note .note-mis{background:#0d1528;border:1px solid #1c2743;border-radius:9px;margin:6px 0}
.p-note .note-mis>summary{cursor:pointer;list-style:none;padding:8px 12px;color:#9fc0ff;font-size:.9rem}
.p-note .note-mis>summary::-webkit-details-marker{display:none}
.p-note .note-mis>summary::before{content:"▸ ";color:#7d8cb0}
.p-note .note-mis[open]>summary::before{content:"▾ "}
.p-note .note-mis-b{padding:0 12px 10px}
.p-note .note-cons{color:#8fa0c6;font-size:.85rem;border-left:2px solid #2a3d6e;padding-left:9px}
.p-note .note-inf{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin:5px 0}
.p-note .note-inf span{color:#8fa0c6;font-size:.85rem;flex:1 1 200px}
.p-note .ruth-authnote a{display:inline}

/* the declared leaning, and the line addressed to the person rather than the subject */
.p-note .note-leans{background:#16223f;border:1px solid #33406a;border-left:3px solid #f3c849;
  border-radius:9px;padding:9px 12px;margin:0 0 12px;color:#ffd76a;font-size:.85rem;line-height:1.55}
.p-note .note-wt{color:#7d8cb0;font-size:.8rem;font-style:italic}
.p-note .note-past{margin:14px 0 0;padding:11px 13px;background:#0d1528;border:1px solid #2a3d6e;
  border-left:3px solid #7fa0e8;border-radius:9px;color:#cdd7f0;font-size:.88rem;line-height:1.65}

/* a stance that deliberately takes no side reads differently from one that leans */
.p-note .note-leans.note-even{border-left-color:#7fa0e8;color:#cfe0ff}

/* the stance lens — the reader's tradition first, the others still present */
.p-note .note-pos-wrap{margin-top:.85rem}
.p-note .note-pos-as{font-size:.86rem;color:#8fa0c6;margin-bottom:.35rem}
.p-note .note-pos{border-left:3px solid #2c3550;padding:.35rem 0 .35rem .7rem;margin:.5rem 0}
.p-note .note-pos-mine{border-left-color:#ffd76a;background:rgba(255,215,106,.05)}
.p-note .note-pos-t{font-weight:600;color:#cfe0ff;font-size:.9rem;margin-bottom:.15rem}
.p-note .note-pos p{margin:0}
.p-note .note-pos-rest{margin-top:.6rem}
.p-note .note-pos-rest summary{cursor:pointer;color:#9fb2da;font-size:.9rem}
.p-note .note-pos-rest summary:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}
.p-note .note-pos-note{font-size:.84rem;color:#8fa0c6;margin-top:.6rem;font-style:italic}
.p-note .note-pos-warn{font-size:.86rem;color:#ffc46a;margin-top:.6rem}
