/* Everything is scoped to this reader. No Admin CP, theme or native form overrides. */
.tjb { --b-bg:#f6f4ee; --b-paper:#fffefa; --b-soft:#efeee6; --b-ink:#193d34; --b-text:#253d36; --b-muted:#5c6860; --b-line:#d8dcd1; --b-green:#245548; --b-sage:#e6ebdd; --b-red:#a33230; --b-size:16px; color:var(--b-text); font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
.tjb *, .tjb *::before, .tjb *::after { box-sizing:border-box; }
.tjb [hidden] { display:none !important; }
.tjb h2, .tjb h3, .tjb p { margin:0; }
.tjb h2 { color:var(--b-ink); font:400 clamp(26px,3vw,38px)/1.16 Georgia,serif; }
.tjb h3 { color:var(--b-ink); font:400 24px/1.25 Georgia,serif; }
.tjb a { color:var(--b-green); text-underline-offset:3px; }
.tjb a:hover { text-decoration:underline; }
.tjb button, .tjb select, .tjb input:not([type="checkbox"]):not([type="range"]), .tjb summary { font:inherit; color:var(--b-ink); border:1px solid var(--b-line); border-radius:9px; background:var(--b-paper); min-height:44px; padding:10px 14px; }
.tjb button, .tjb summary { cursor:pointer; font-weight:600; }
.tjb button:hover:not(:disabled), .tjb summary:hover { background:var(--b-sage); border-color:#a2b39e; }
.tjb button:disabled { opacity:.5; cursor:default; }
.tjb :is(button,a,select,input,summary):focus-visible { outline:3px solid #806032; outline-offset:3px; }
.tjb input::placeholder { color:var(--b-muted); opacity:1; }
.tjb label { font-size:14px; font-weight:600; }
.tjb select { display:block; width:100%; padding-right:30px; appearance:auto; }
.tjb input[type="checkbox"] { position:static !important; opacity:1 !important; appearance:auto !important; width:18px !important; height:18px !important; margin:0 !important; accent-color:var(--b-green); flex:0 0 18px; }
.tjb .tjb-check { display:flex; align-items:center; gap:10px; font-weight:400; line-height:1.45; }
.tjb .tjb-eyebrow { font:600 11px/1.5 system-ui,sans-serif; letter-spacing:.16em; color:#806032; margin-bottom:8px; }
.tjb-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:8px 0 24px; }
.tjb-top h2 { margin-bottom:8px; }
.tjb-top p:not(.tjb-eyebrow) { color:var(--b-muted); }
.tjb-reference { width:320px; max-width:100%; }
.tjb-reference > div { display:flex; gap:8px; margin-top:6px; }
.tjb-reference input { min-width:0; width:100%; }
.tjb-reference button { background:var(--b-green); color:#fffefa; border-color:var(--b-green); }
.tjb-reference button:hover:not(:disabled) { background:#193d34; }
.tjb-picker { display:grid; grid-template-columns:minmax(180px,2fr) minmax(90px,1fr) minmax(100px,1fr) auto; align-items:end; gap:16px; padding:18px 20px; border:1px solid var(--b-line); background:var(--b-soft); border-radius:14px; margin-bottom:24px; }
.tjb-picker label > select { margin-top:5px; }
.tjb-settings { position:relative; }
.tjb-settingsPanel { position:absolute; right:0; top:calc(100% + 10px); width:300px; padding:20px; border:1px solid var(--b-line); border-radius:12px; background:var(--b-paper); box-shadow:0 12px 32px #193d3426; z-index:20; display:grid; gap:16px; }
.tjb-settingsPanel p { color:var(--b-muted); font-size:12px; }
.tjb-settingsPanel input[type="range"] { width:100%; accent-color:var(--b-green); }
.tjb-settingsPanel output { float:right; }
.tjb-workspace { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; align-items:start; }
.tjb-paper { min-width:0; background:var(--b-paper); border:1px solid var(--b-line); border-radius:16px; box-shadow:0 10px 30px #193d3406; }
.tjb-chapterHeader { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:30px 36px; border-bottom:1px solid var(--b-line); }
.tjb-chapterHeader h2 { font-size:36px; }
.tjb-edition { display:block; margin-top:8px; font-size:13px; color:var(--b-muted); }
.tjb-chapterHeader button[aria-pressed="true"] { background:var(--b-sage); }
.tjb-status { padding:14px 36px 0; color:var(--b-muted); font-size:13px; }
.tjb-error { margin:24px 36px; padding:20px; background:#fff1e7; border-radius:10px; color:#703a20; }
.tjb-error button { margin-top:12px; }
.tjb .tjb-scripture { font:400 var(--b-size)/1.95 Georgia,"Times New Roman",serif; max-width:76ch; margin:0 auto; padding:24px 36px 36px; overflow-wrap:anywhere; min-height:180px; }
.tjb[data-font="sans"] .tjb-scripture { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.tjb .tjb-scripture :is(p,.p,.m) { margin:0 0 1em; }
.tjb .tjb-scripture :is(h2,h3,h4,.s,.s1,.s2,.s3) { font:600 1.15em/1.4 system-ui,sans-serif; margin:1.3em 0 .75em; color:var(--b-ink); }
.tjb-scripture .verse, .tjb-scripture .verse-num { color:#6f7769; font:600 .65em/1 system-ui,sans-serif; vertical-align:super; padding-right:4px; scroll-margin-top:150px; }
.tjb[data-verses="false"] .tjb-scripture :is(.verse,.verse-num) { display:none; }
.tjb[data-red="true"] .tjb-scripture .wj { color:var(--b-red); }
.tjb-scripture :is(.q1,.qm1,.poetry,.line) { display:block; padding-left:1em; }
.tjb-scripture :is(.q2,.qm2,.indent) { padding-left:2em; }
.tjb-scripture :is(.q3,.q4,.indent-2) { padding-left:3em; }
.tjb-scripture :is(.d,.psalm-title,.selah) { font-style:italic; }
.tjb-scripture .add { font-style:italic; }
.tjb-scripture .nd { font-variant:small-caps; }
.tjb-scripture .notemark { font-size:.7em; vertical-align:super; }
.tjb-scripture :is(.footnote,.footnotes) { border-top:1px solid var(--b-line); padding-top:18px; margin-top:28px; color:var(--b-muted); font:13px/1.6 system-ui,sans-serif; }
.tjb-scripture .copyright { font:12px/1.6 system-ui,sans-serif; }
.tjb-scripture :target, .tjb-scripture .tjb-target { background:#f3e6bd; outline:3px solid #f3e6bd; border-radius:2px; }
.tjb-chapterFooter { border-top:1px solid var(--b-line); padding:24px 36px; }
.tjb-chapterNav { display:flex; justify-content:space-between; gap:12px; margin-bottom:20px; }
.tjb-credit, .tjb-chapterFooter > a { font-size:12px; color:var(--b-muted); }
.tjb-aside { display:grid; gap:20px; }
.tjb-card { padding:24px; border:1px solid var(--b-line); border-radius:14px; background:var(--b-paper); }
.tjb-card h3 { margin-bottom:14px; }
.tjb-card p { font-size:14px; color:var(--b-muted); }
.tjb-listen { background:var(--b-soft); }
.tjb-listen audio { display:block; width:100%; height:44px; margin:16px 0 10px; }
.tjb .tjb-audioNote { font-size:12px; margin:10px 0 16px; }
.tjb-speed { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:16px 0; }
.tjb-speed select { width:90px; }
.tjb-deviceSpeech { border-top:1px solid var(--b-line); margin-top:18px; padding-top:16px; }
.tjb-deviceSpeech summary { font-size:13px; padding:8px 10px; }
.tjb-deviceSpeech p { margin:12px 0; font-size:12px; }
.tjb-deviceSpeech > div { display:flex; flex-wrap:wrap; gap:8px; }
.tjb-deviceSpeech button { font-size:13px; }
.tjb-saved { padding:0; margin:12px 0 0; list-style:none; max-height:320px; overflow:auto; }
.tjb-saved li { display:flex; align-items:center; gap:8px; border-top:1px solid var(--b-line); padding:8px 0; }
.tjb-saved li a { flex:1; font-size:14px; }
.tjb-saved li button { font-size:18px; padding:6px 10px; }
.tjb-reflect { background:var(--b-sage); }
.tjb-reflect a { display:inline-block; margin-top:16px; font-size:14px; font-weight:600; }
@media(max-width:1000px) { .tjb-workspace { grid-template-columns:minmax(0,1fr) 250px; gap:16px; } .tjb-card { padding:18px; } .tjb-chapterHeader, .tjb-scripture, .tjb-chapterFooter { padding-left:24px; padding-right:24px; } }
@media(max-width:760px) { .tjb-top { align-items:start; flex-direction:column; gap:18px; } .tjb-reference { width:100%; } .tjb-workspace { display:flex; flex-direction:column; } .tjb-paper,.tjb-aside { width:100%; } .tjb-aside { grid-template-columns:repeat(2,minmax(0,1fr)); } .tjb-reflect { grid-column:1/-1; } .tjb-picker { grid-template-columns:1fr 1fr; gap:12px; padding:14px; } .tjb-settingsPanel { width:min(300px,85vw); } .tjb-settings summary { font-size:14px; } .tjb-scripture { padding:20px !important; } .tjb-chapterHeader { padding:22px 20px; } .tjb-chapterHeader h2 { font-size:30px; } .tjb-chapterHeader button { font-size:13px; } }
@media(max-width:480px) { .tjb-aside { grid-template-columns:1fr; } .tjb-chapterNav button { padding:10px; font-size:13px; } .tjb-chapterFooter { padding:20px; } .tjb-settingsPanel { right:0; } }
@media print { .tjb-top,.tjb-picker,.tjb-aside,.tjb-chapterNav,.tjb-chapterHeader button,.tjb-status { display:none; } .tjb-workspace { display:block; } .tjb-paper { border:0; box-shadow:none; } }
