/* Bible Terminal: retro terminal arcade theme, modelled on weazycough.com/404 */
@font-face{font-family:'Press Start 2P';src:url(../fonts/press-start-2p.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Mono';src:url(../fonts/space-mono-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Ezra SIL';src:url(../fonts/SILEOT.woff) format('woff');font-weight:400;font-display:swap;unicode-range:U+0590-05FF,U+FB1D-FB4F,U+25CC}
@font-face{font-family:'Gentium';src:url(../fonts/Gentium-Regular.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF,U+0300-036F,U+2E00-2E7F}
@font-face{font-family:'Space Mono';src:url(../fonts/space-mono-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url(../fonts/space-grotesk-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Space Grotesk';src:url(../fonts/space-grotesk-700.woff2) format('woff2');font-weight:700;font-display:swap}
:root{
  --purple:#C9A0FF; --purple-dark:#9B6FD4; --purple-light:#E8D5FF;
  --red:#E02020; --gold:#F0A030; --teal:#4FE3CE; --green:#81C784;
  --black:#0A0A0A; --black-soft:#1A1A1A; --white:#F5F5F5; --muted:#B9B9B9; --dim:#8A8A8A;
  --pixel-border:4px;
  --topbar-h:64px;
  --font-display:'Press Start 2P', monospace;
  --font-body:'Space Mono', monospace;
  --font-orig:'Ezra SIL','Gentium','Noto Serif Hebrew','Noto Serif','Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
body{background-color:var(--black);color:var(--white);font-family:var(--font-body);min-height:100vh;line-height:1.7}
/* subtle scan-line page background (same as site scanline-bg) */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 4px,rgba(201,160,255,.03) 4px,rgba(201,160,255,.03) 5px)}
a{color:var(--purple)}
:focus-visible{outline:2px dashed var(--teal);outline-offset:3px}
.blink{animation:blink 1.8s steps(1,end) infinite}
@keyframes blink{0%,49.9%{visibility:visible}50%,100%{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.blink{animation:none}*{transition:none!important}}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 24px;background:var(--black);border-bottom:var(--pixel-border) solid var(--purple)}
.logo{display:flex;align-items:baseline;text-decoration:none;color:var(--purple);font-family:var(--font-display);font-size:clamp(13px,2.2vw,20px);line-height:1.4}
/* scanline + pixel-shadow title effect (from the 404 title-pixel-shadow block) */
.scan-title,.logo-text{
  --tps-px:max(2px,round(0.1em,1px)); --tps-ol:max(1px,round(0.025em,1px)); --tps-fr:max(1px,round(0.02em,1px)); --tps-back:var(--purple-dark);
  background-image:repeating-linear-gradient(to bottom,currentColor 0,currentColor 3px,color-mix(in srgb,currentColor 95%,#000) 3px,color-mix(in srgb,currentColor 95%,#000) 5px);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(var(--tps-fr) 0 0 rgba(255,70,50,.6)) drop-shadow(calc(var(--tps-fr)*-1) 0 0 rgba(0,200,180,.6))
    drop-shadow(var(--tps-ol) 0 0 #000) drop-shadow(calc(var(--tps-ol)*-1) 0 0 #000) drop-shadow(0 var(--tps-ol) 0 #000) drop-shadow(0 calc(var(--tps-ol)*-1) 0 #000)
    drop-shadow(var(--tps-px) var(--tps-px) 0 #000) drop-shadow(var(--tps-px) var(--tps-px) 0 var(--tps-back))}
.mainnav{display:flex;gap:6px;flex-wrap:wrap}
.mainnav a{font-family:var(--font-display);font-size:10px;color:var(--white);text-decoration:none;padding:10px 10px;border:2px solid transparent}
.mainnav a:hover{color:var(--purple)}
.mainnav a.on{color:var(--purple);border-color:var(--purple)}

main{max-width:1280px;margin:0 auto;padding:24px 24px 80px}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.6}
h1.scan-title{font-size:clamp(16px,3vw,26px);color:var(--purple);margin:8px 0 20px}
h2{font-size:13px;color:var(--purple);margin:28px 0 14px}
h2.bsec{font-size:17px;line-height:1.5}
@media (max-width:760px){h2.bsec{font-size:15px}}
h3{font-size:11px;margin:0 0 10px}
p{color:var(--muted);margin:0 0 14px}
.small{font-size:12px;color:var(--dim)}

/* ---------- 404-style buttons ---------- */
.btn{font-family:var(--font-display);font-size:10px;line-height:1.4;text-decoration:none;color:var(--black);cursor:pointer;
  background:var(--bc,var(--purple));background-clip:padding-box;border:var(--pixel-border) solid var(--black);
  box-shadow:4px 4px 0 var(--purple-dark);padding:12px 14px;display:inline-block;transition:transform .1s ease-out,box-shadow .1s ease-out;white-space:nowrap}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--purple-dark)}
.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--purple-dark)}
.btn.grey{--bc:#C8C8C8} .btn.teal{--bc:var(--teal)} .btn.gold{--bc:var(--gold)} .btn.white{--bc:var(--white)} .btn.red{--bc:var(--red)}
.btn.sm{font-size:8px;padding:8px 10px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 var(--purple-dark)}

/* ---------- 404-style cards ---------- */
.card{--cc:201,160,255;background:var(--black-soft);border:var(--pixel-border) solid rgb(var(--cc));padding:20px;transition:box-shadow .15s ease-out}
.card.hov:hover{box-shadow:0 0 16px rgba(var(--cc),.28),0 0 36px rgba(var(--cc),.10)}

/* ---------- reader controls ---------- */
.controls{display:flex;flex-wrap:wrap;gap:14px 12px;align-items:center;margin-bottom:18px}
.sel{font-family:var(--font-body);font-size:14px;color:var(--white);background:var(--black-soft);border:var(--pixel-border) solid var(--purple);padding:9px 10px;min-height:46px}
.sel:focus{outline:none;box-shadow:0 0 0 2px var(--teal)}
.trbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
.trbar .lbl{font-family:var(--font-display);font-size:9px;color:var(--dim);margin-right:4px}
.trbar .trbr{flex-basis:100%;height:0;margin-bottom:-8px}
.trbar .lbl{min-width:84px}
.chip{font-family:var(--font-display);font-size:9px;cursor:pointer;padding:9px 10px;background:var(--black);color:rgb(var(--cc));border:3px solid rgb(var(--cc))}
.chip[aria-pressed="true"]{background:rgb(var(--cc));color:var(--black)}
.chip:disabled{opacity:.35;cursor:not-allowed}
.reader-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 20px;margin-bottom:6px}
.ch-title{font-family:var(--font-display);font-weight:400;font-size:clamp(14px,2.5vw,20px);color:var(--purple);margin:0;line-height:1.6}
.canon{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.badge{font-family:var(--font-display);font-size:8px;padding:5px 6px;border:2px solid var(--dim);color:var(--dim)}
.badge.in{border-color:var(--green);color:var(--green)}
.notice{border-left:4px solid var(--gold);padding:8px 12px;margin:0 0 16px;font-size:13px;color:var(--muted);background:rgba(240,160,48,.06)}
.hint{font-size:12px;color:var(--dim);margin:-6px 0 16px}

/* compare grid */
.compare{padding:0;overflow:visible}
.cmp-head,.vrow{display:grid;grid-template-columns:72px repeat(var(--n),minmax(0,1fr));gap:0 22px;padding:0 20px}
.cmp-head{position:sticky;top:var(--topbar-h);background:var(--black-soft);border-bottom:2px solid #2c2c2c;padding-top:12px;padding-bottom:10px;z-index:10;box-shadow:0 -16px 0 var(--black-soft)}
.cmp-head .th{font-family:var(--font-display);font-size:13px;line-height:1.45;color:rgb(var(--cc));min-width:0}
.cmp-head .th small{display:block;font-family:var(--font-body);font-size:13px;color:var(--dim);margin-top:5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vrow{padding-top:12px;padding-bottom:12px;border-bottom:1px solid #262626}
.vrow:last-child{border-bottom:0}
.vrow.marked{background:linear-gradient(90deg,rgba(240,160,48,.08),transparent 60%)}
.vnum{font-family:var(--font-display);font-size:18px;color:var(--purple);background:none;border:0;cursor:pointer;text-align:left;padding-top:2px;align-self:start;line-height:1.2;white-space:nowrap}
.vnum:hover{color:var(--teal)}
.vnum .bm{display:block;color:var(--gold);font-size:14px;margin-top:6px}
.cell{font-size:var(--cmp-fs,16px);line-height:1.75;color:var(--white);font-family:'Gentium Book',Georgia,'Times New Roman',serif}
.compare.mono .cell:not(.orig){font-family:'Space Grotesk',system-ui,sans-serif}
.cell .tl{display:none}
.cell.missing{color:#555;font-size:.81em;font-style:italic;font-family:var(--font-body)}
.cell .nref{font-family:var(--font-display);font-size:8px;letter-spacing:.5px;color:rgb(var(--cc));opacity:.85;vertical-align:2px;white-space:nowrap}
.cell .sv{font-family:var(--font-display);font-size:7px;color:rgb(var(--cc));opacity:.85;margin:0 2px}
.cell .only{display:block;font-family:var(--font-display);font-size:8px;letter-spacing:.5px;color:rgb(var(--cc));margin-bottom:4px}
.vrow.xrow{background:rgba(255,255,255,.025)}
.vnum.xn{cursor:default;color:#555}
.vnum.xn:hover{color:#555}
.w{cursor:pointer;border-bottom:1px dotted rgba(201,160,255,.3)}
.w:hover,.w.act{color:var(--black);background:var(--purple);border-bottom-color:transparent}
.vnote{grid-column:2/-1;margin-top:8px;font-size:13px;color:var(--gold);border-left:3px solid var(--gold);padding:4px 10px;white-space:pre-wrap}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:22px}

/* sheet (popup) */
.sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}
.sheet[hidden]{display:none}
.sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.sheet-card{position:relative;width:min(560px,100%);max-height:86vh;overflow:auto;box-shadow:0 0 16px rgba(201,160,255,.28),0 0 36px rgba(201,160,255,.10)}
.xbtn{position:absolute;top:10px;right:10px;font-family:var(--font-display);font-size:10px;width:40px;height:40px;cursor:pointer;color:var(--black);background:#D0D0D0;background-clip:padding-box;border:4px solid var(--black);box-shadow:4px 4px 0 var(--purple-dark);transition:transform .1s ease-out,box-shadow .1s ease-out;padding:0}
.xbtn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--purple-dark)}
.xbtn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--purple-dark)}
.wp-eng{font-family:var(--font-display);font-size:11px;color:var(--white);margin:0 44px 14px 0;line-height:1.6}
.wp-orig{font-family:var(--font-orig);font-size:40px;line-height:1.3;color:var(--purple);margin:4px 0}
.wp-orig[dir=rtl]{text-align:right}
.wp-tr{font-size:15px;color:var(--teal)}
.wp-parse{font-size:13px;color:var(--muted);margin:6px 0 14px}
.wp-gloss{font-size:15px;color:var(--white);border-top:2px solid #2c2c2c;padding-top:12px;margin-top:6px}
.wp-sn{font-family:var(--font-display);font-size:9px;color:var(--gold);margin-bottom:6px}
.wp-full{margin-top:14px;font-size:14px;color:var(--muted)}
.wp-full dt{font-family:var(--font-display);font-size:8px;color:var(--purple);margin-top:12px}
.wp-full dd{margin:4px 0 0}
.wp-src{font-size:11px;color:var(--dim);margin-top:16px;border-top:1px solid #2c2c2c;padding-top:10px}
.row-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
textarea.note{width:100%;min-height:140px;font-family:var(--font-body);font-size:14px;color:var(--white);background:var(--black);border:3px solid var(--gold);padding:10px;margin-top:10px}

/* books */
.bookgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.bk{text-decoration:none;color:var(--white);padding:12px 14px;display:block}
.bk .nm{font-size:14px;font-weight:700;display:block}
.bk .bd{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.bk .nt{font-size:11px;color:var(--dim);display:block;margin-top:6px;line-height:1.4}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);margin-bottom:14px}

/* lists */
.list{display:grid;gap:14px}
.item h3{color:rgb(var(--cc))}
.item p{margin:6px 0 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;font-family:var(--font-display);font-size:9px;background:var(--teal);color:var(--black);border:3px solid var(--black);box-shadow:3px 3px 0 var(--purple-dark);padding:12px 14px}
.src-h{font-family:var(--font-display);font-size:12px;color:var(--purple);margin:28px 0 12px;letter-spacing:.5px}
.src-h:first-of-type{margin-top:18px}
.src-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:8px}
.src h3{color:rgb(var(--cc))}
.src p{font-size:13px;margin:6px 0 0}
.src .lic{font-family:var(--font-display);font-size:8px;color:var(--black);background:rgb(var(--cc));display:inline-block;padding:5px 6px;margin-top:8px}
.soon{opacity:.6}


/* ---------- search, word study, cross-references, graph ---------- */
.sform{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sq{flex:1 1 320px;min-width:0;font-size:15px}
.sfilters{margin-top:4px;align-items:flex-end}
.fl{display:flex;flex-direction:column;gap:4px}
.fl span{font-family:var(--font-display);font-size:8px;color:var(--dim)}
mark{background:var(--gold);color:var(--black);padding:0 2px}
.stripcard{padding:14px 14px 8px;margin:0 0 12px}
svg.strip{display:block;width:100%;height:auto}
.strip .sb{cursor:pointer;outline:none}
.strip .sb:hover rect+rect,.strip .sb:focus rect+rect{opacity:1;filter:brightness(1.25)}
.strip .sb.on rect+rect{stroke:#fff;stroke-width:3}
.bkcounts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}
.bkcounts .chip{font-size:8px;padding:6px 7px;border-width:2px}
.reslist{gap:10px}
.res{background:var(--black-soft);border-left:4px solid rgb(var(--cc));padding:10px 14px}
.res .rref{font-family:var(--font-display);font-size:9px;color:rgb(var(--cc));text-decoration:none}
.res .rref:hover{text-decoration:underline}
.rtx{font-size:15px;line-height:1.7;color:var(--white);margin-top:4px}
.snhead{margin:0 0 14px}
.snhead p{margin:8px 0 0}
.ws-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ws-main .wp-orig{font-size:46px}
b.hl{color:var(--gold)}
.gbars{display:grid;gap:5px;margin:8px 0}
.gb{display:grid;grid-template-columns:minmax(90px,38%) 1fr 44px;gap:8px;align-items:center;font-size:13px}
.gw{color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gbar{height:12px;background:#262626}
.gbar i{display:block;height:100%;background:var(--purple)}
.gn{text-align:right;color:var(--muted)}
.eqs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
a.chip{text-decoration:none;display:inline-block}
.xlist{display:grid;gap:8px}
.xr{display:block;text-decoration:none;background:var(--black);border-left:4px solid rgb(var(--cc));padding:8px 12px;color:var(--white)}
.xr:hover{background:#222}
.xr b{display:block;font-family:var(--font-display);font-size:9px;font-weight:400;color:rgb(var(--cc));margin-bottom:4px}
.xr em{display:block;font-style:normal;font-size:11px;color:var(--dim);margin:-2px 0 4px}
.xr span{font-size:14px;line-height:1.6;color:var(--muted)}
.xr.flash{box-shadow:0 0 0 3px var(--gold)}
.gstage{padding:0;height:560px;overflow:hidden;--cc:79,227,206}
.gstage svg{width:100%;height:100%;display:block;touch-action:manipulation}
.gnode{cursor:pointer}
.gpanel{margin-top:14px}
.gpanel h3{color:rgb(var(--cc))}
.lg{white-space:nowrap;margin-left:6px}
.lg i{display:inline-block;width:10px;height:10px;border-radius:50%;background:rgb(var(--cc));margin:0 5px 0 10px;vertical-align:-1px}
.cn{cursor:pointer}
.vrow.hit{box-shadow:inset 4px 0 0 var(--gold)}

/* ---------- mobile ---------- */
@media (max-width:760px){
  .topbar{padding:12px 14px;gap:10px}
  .topbar{flex-wrap:nowrap;flex-direction:column;align-items:stretch;gap:8px}
  .mainnav{flex-wrap:nowrap;overflow-x:auto;gap:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px}
  .mainnav::-webkit-scrollbar{display:none}
  .mainnav a{font-size:9px;padding:8px 6px;flex:none}
  main{padding:10px 12px 64px}
  .cmp-head{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0 10px;padding:10px 14px;top:var(--topbar-h)}
  .cmp-head > span:first-child{display:none}
  .cmp-head .th{font-size:11px}
  .cmp-head .th small{display:none}
  .vrow{display:block;padding:14px 14px}
  .vnum{display:inline-block;margin-bottom:6px;white-space:nowrap;min-width:3.2em}
  .vnum .bm{display:inline;margin:0 0 0 8px}
  .cell{margin-bottom:10px;padding-left:10px;border-left:3px solid rgb(var(--cc))}
  .cell .tl{display:block;font-family:var(--font-display);font-size:8px;color:rgb(var(--cc));margin-bottom:2px}
  .cell.blank{display:none}
  .vnote{margin-left:0}
  .sheet{align-items:flex-end;padding:0}
  .sheet-card{width:100%;max-height:80vh;border-bottom:0}
  .sel{font-size:13px}
  .ws-grid{grid-template-columns:1fr}
  .gstage{height:440px}
  .sfilters{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sfilters .sel{width:100%}
  .sfilters .btn{justify-self:start}
  .rtx{font-size:14px}
}

/* original-language columns (keep Ezra/Gentium; scale with --cmp-fs; never take Latin BOOK/MONO) */
.cell.orig{font-family:var(--font-orig)!important;font-size:calc(var(--cmp-fs,16px) * 1.3125);line-height:1.75}
.cell.orig[lang=he]{direction:rtl;text-align:right;font-size:calc(var(--cmp-fs,16px) * 1.5);line-height:1.9}
.cell.orig .nref,.cell.orig .only{font-family:var(--font-display);direction:ltr;unicode-bidi:isolate}
.cell.orig.missing{font-family:var(--font-body)!important;font-size:.81em;direction:ltr;text-align:left}
.wp-orig[lang=he]{direction:rtl}
.wp-parts{margin:10px 0;display:grid;gap:8px}
.wp-part{border-left:3px solid rgb(var(--cc));padding:4px 10px;background:rgba(var(--cc),.06)}
.wp-part .k{font-family:var(--font-display);font-size:9px;letter-spacing:.5px;color:rgb(var(--cc))}

/* prophecy links */
.vrow{position:relative}
.vrow.hasp{min-height:76px}
.pbadge{position:absolute;left:20px;top:46px;font-family:var(--font-display);font-size:8px;line-height:1;text-decoration:none;color:var(--black);background:var(--teal);padding:4px 5px;border:2px solid var(--black)}
.pbadge:hover{background:var(--white)}
.pbadge.inl{position:static;display:inline-block;margin:0 2px}
.plist{display:grid;gap:18px}
.pcard h3{font-size:12px;color:rgb(var(--cc));margin:0 0 10px}
.ptags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ptag{font-family:var(--font-display);font-size:8px;line-height:1.5;padding:4px 7px;border:2px solid rgb(var(--cc));color:rgb(var(--cc));display:inline-block}
.psides{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin-bottom:14px;font-size:14px;line-height:1.8}
.psides b{display:block;font-family:var(--font-display);font-size:8px;font-weight:400;color:var(--dim);margin-bottom:4px}
.ptext{margin-top:14px}
.ptext sup{color:var(--dim);font-size:10px;margin-right:2px}
.pviews{margin-top:16px;border-left:3px solid #E8D5FF;padding:6px 14px;background:rgba(232,213,255,.05)}
.pviews b{display:block;font-size:14px;color:var(--purple-light);margin-bottom:6px;font-weight:700}
.pviews ul{margin:0 0 6px 18px;font-size:14px;line-height:1.7;color:var(--muted)}
.pcard.flash{box-shadow:0 0 0 3px var(--gold)}
/* prophecy verse-menu chips (shared) */
.plchips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}
.plchip{font-size:13px;text-decoration:none;color:var(--white);background:var(--black);border:2px solid #444;padding:5px 9px;cursor:pointer;font-family:var(--font-body)}
.plchip:hover{border-color:var(--teal)}
.plchip small{color:var(--dim);font-size:11px}
.vmlinks{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width:760px){
  .vrow.hasp{min-height:0}
  .pbadge{position:static;display:inline-block;margin:0 0 6px 10px;vertical-align:1px}
  .psides{grid-template-columns:1fr}
  /* clip (not hidden) so position:sticky on topbar + Compare header still works */
  html,body{overflow-x:clip;max-width:100%}
  main#view{overflow-x:clip;max-width:100%;box-sizing:border-box}
}

/* ---------- v8: Read mode (one version, page by page) ---------- */
/* Gentium again, under its own name, for the book-style reading font (the main @font-face is limited to Greek letters). */
@font-face{font-family:'Gentium Book';src:url('../fonts/Gentium-Regular.woff2') format('woff2');font-display:swap}
.rbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:4px 0 16px}
.rbar .sel{min-height:42px}
.rbar #rtr{max-width:260px}
.rjump input{width:170px}
.rsz{display:flex;gap:6px}
.rsz .btn{min-height:42px;min-width:44px}
.rsz #rsm,.rsz #rlg,.rsz #csm,.rsz #clg{display:inline-flex;align-items:center;justify-content:center;gap:4px}
.rsz .sg{font-size:14px;line-height:1;display:inline-block}
.rbook{display:flex;justify-content:center}
.rpage{overflow:hidden;position:relative;max-width:100%}
.rflow{column-fill:auto;font-family:'Gentium Book',Georgia,'Times New Roman',serif;line-height:1.7;color:#ECECEC;transition:transform .28s ease;will-change:transform;orphans:2;widows:2}
.rflow.mono{font-family:'Space Grotesk',system-ui,sans-serif;line-height:1.7}
.rflow.orig{font-family:var(--font-orig),'Gentium Book',serif}
.rhead{text-align:center;margin:0 0 1.1em;break-inside:avoid;break-after:avoid}
.rbname{font-family:var(--font-display);font-size:.9em;line-height:1.5;color:var(--purple);text-shadow:3px 3px 0 #3a2a55;margin:.4em 0 .5em;text-transform:uppercase}
.rchname{font-family:var(--font-display);font-size:.5em;letter-spacing:.12em;color:var(--teal)}
.rchname::before,.rchname::after{content:'';display:inline-block;width:2.2em;height:2px;background:#3a3a3a;vertical-align:middle;margin:0 .8em}
.rp,.rq{margin:0}
.rp{text-indent:1.4em;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.rp.r1,.rp:first-of-type{text-indent:0}
.rq{padding-left:1.8em;text-indent:-1.2em}
.rp+.rq,.rq+.rp{margin-top:.55em}
.rq.r1{padding-left:.6em;text-indent:0}
.rflow [dir=rtl].rp{text-align:right;text-indent:0}
.rdrop{float:left;font-family:var(--font-display);font-size:2.1em;line-height:1;color:var(--purple);text-shadow:3px 3px 0 #3a2a55;margin:.14em .3em 0 0;text-indent:0;cursor:pointer}
.rflow [dir=rtl] .rdrop{float:right;margin:.14em 0 0 .3em}
.rv{font-family:var(--font-display);font-size:.4em;line-height:0;vertical-align:.95em;color:#a98bd6;padding:0 .3em 0 .15em;cursor:pointer;text-indent:0}
.rv:hover,.rv:focus-visible,.rdrop:hover{color:var(--teal);outline:none}
.rv.bm,.rdrop.bm{color:var(--gold)}
.rv.nt::after,.rdrop.nt::after{content:'*';color:var(--gold)}
.rv.flash,.rdrop.flash{background:var(--gold);color:var(--black)}
.rflow .w{border-bottom:0;cursor:pointer;border-radius:2px;padding:0;color:inherit;background:none}
.rflow .w.t{border-bottom:1px dotted rgba(201,160,255,.55)}
.rflow .w:hover{background:rgba(201,160,255,.18);color:inherit}
.rflow .w.act{background:var(--purple);color:#111}
.rflow .sv{font-family:var(--font-display);font-size:.38em;color:#888}
.rnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.rnav .btn{min-width:110px}
.rwhere{text-align:center;display:flex;flex-direction:column;gap:5px}
.rwhere b{font-family:var(--font-display);font-size:10px;color:var(--purple);font-weight:400}
.rwhere span{font-size:12px;color:#9a9a9a}
.rtip{text-align:center;margin:14px auto 0;max-width:620px;text-wrap:balance}
/* small word popup */
.wpop{position:fixed;z-index:60;width:min(340px,calc(100vw - 16px));background:var(--black-soft);border:4px solid rgb(var(--cc));box-shadow:0 0 0 2px #000,0 0 24px rgba(var(--cc),.35);padding:14px 14px 12px;color:#ECECEC}
.wq-x0{position:absolute;top:4px;right:6px;background:none;border:0;color:#aaa;font-size:24px;cursor:pointer;line-height:1;padding:4px 6px}
.wq-x0:hover{color:#fff}
.wq-w{font-size:19px;font-weight:700;padding-right:28px;margin-bottom:6px}
.wq-w[lang=he],.wq-w[lang=grc],.wq-orig,.wq-lem{font-family:var(--font-orig)}
.wq-w[lang=he]{font-size:26px}
.wq-orig{font-size:28px;color:var(--purple);line-height:1.4}
.wq-xl{color:var(--teal);font-size:14px;margin-bottom:6px}
.wq-sn{font-size:13px;margin:8px 0;border-top:2px solid #2c2c2c;padding-top:8px}
.wq-sn b{font-family:var(--font-display);font-size:8px;color:var(--gold);font-weight:400}
.wq-lem{font-size:18px;color:#fff}
.wq-x{color:var(--teal)}
.wq-g{color:#bbb;margin-top:3px}
.wq-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (max-width:760px){
  .rbar{display:grid;grid-template-columns:1fr 1fr 70px;gap:8px;margin-bottom:10px}
  .rbar .fl > span{display:none}
  .rbar #rtr{max-width:none;width:100%}
  .rbar .sel{min-height:40px;width:100%;font-size:13px;padding-left:6px;padding-right:6px}
  .rjump{grid-column:1}
  .rjump input{width:100%}
  .rbar .fl:last-child{grid-column:2 / 4}
  .rsz{justify-content:flex-end}
  .rsz .btn{flex:1}
  .rp{text-align:left}
  .rnav .btn{min-width:0;padding-left:12px;padding-right:12px}
  .rtip{display:none}
}

/* ---------- v8: Home ---------- */
.hero{padding:18px 0 6px}
.htitle{font-size:clamp(24px,6vw,60px);line-height:1.3;margin:8px 0 18px;color:var(--purple)}
@media (prefers-reduced-motion:reduce){.blink{animation:none}.rflow{transition:none}}
.hsub{font-size:15px;color:#cfcfcf;max-width:760px;line-height:1.6}
.hrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0 8px}
.btn.hbig{font-size:12px;padding:18px 22px}
.hcont{font-size:14px;color:#cfcfcf}
.hcont b{color:#fff}
.hlast{margin:4px 0 0}
.hsearch{margin-top:22px}
.hsearch .sq{font-size:17px;min-height:58px;border-width:3px}
.hjump{margin-top:12px}
.hjump input{flex:0 1 320px;min-width:0}
.hgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hcard{display:block;text-decoration:none;color:inherit;min-height:132px;position:relative}
.hcard{border:1px dotted #7A7A7A}
.hcard h3{color:rgb(var(--cc));font-size:15px;line-height:1.5;margin:8px 0 10px}
.hcard p{font-size:13px;margin:0;color:#cfcfcf;line-height:1.55}
.hnum{font-family:var(--font-display);font-size:8px;color:#777}
.hcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.hcols h3{color:rgb(var(--cc));font-size:13px;margin:0 0 10px}
.htrans h3{font-size:13px}
.htrans{margin-top:26px;border:1px dotted rgb(var(--cc))}
.hvers{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:12px}
.htr{display:block;text-decoration:none;color:inherit;background:var(--black);border:2px solid rgb(var(--cc));padding:14px 16px;min-height:100%;transition:box-shadow .15s ease-out}
.htr:hover{box-shadow:0 0 14px rgba(var(--cc),.28),0 0 28px rgba(var(--cc),.10)}
.htr b{font-family:var(--font-display);font-size:13px;font-weight:400;color:rgb(var(--cc));display:block;line-height:1.4;margin:0 0 6px}
.htr-short{display:block;font-size:11px;color:var(--dim);line-height:1.4;margin:0 0 8px}
.htr-desc{font-size:13px;line-height:1.55;color:#cfcfcf;margin:0}
.hrec{list-style:none;padding:0;margin:0 0 10px}
.hrec li{padding:7px 0;border-bottom:2px solid #262626;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.hrec li .small{flex-basis:100%}
.htips{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:#cfcfcf}
.htips li{margin-bottom:6px}
@media (max-width:760px){
  .hcols{grid-template-columns:1fr}
  .hvers{grid-template-columns:1fr}
  .htr{padding:12px 14px}
  .htr b{font-size:12px}
  .htr-desc{font-size:12px}
  .hgrid{grid-template-columns:1fr 1fr;gap:10px}
  .hcard{min-height:0;padding:12px}
  .hcard h3{font-size:13px}
  .hcard p{font-size:12px}
  .hjump input{flex:1 1 100%}
}
@media (max-width:420px){.hgrid{grid-template-columns:1fr}}
.rflow p[lang=he]{font-size:1.2em;line-height:1.75}

/* ---------- v9: app-name titles = white fill + hard purple drop shadow (as on the 404 page) ---------- */
/* Only the "Bible Terminal" name (header logo + Home title); other .scan-title headings keep their purple. */
.logo-text,h1.scan-title.htitle{color:#FFFFFF;--tps-back:#9B6FD4}
.htitle .blink{color:#FFFFFF}

/* ---------- v11: larger Home title ---------- */
h1.scan-title.htitle{font-size:clamp(20px,3.6vw,34px)}

/* ---------- v12: one search + go-to-verse bar on Home ---------- */
.hsearch:not(.isref) #hjr,.hsearch:not(.isref) #hjc{opacity:.55}
.hsearch.isref button[type=submit]{opacity:.55}
@media (max-width:760px){.hsearch .sq{padding-left:12px;padding-right:8px}}
.hcard h3{margin-top:0}

/* ---------- v15: mobile hamburger menu ---------- */
.navtoggle{display:none}
@media (max-width:760px){
  .topbar{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0}
  .navtoggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;padding:0 9px;cursor:pointer;
    background:#D0D0D0;background-clip:padding-box;border:4px solid var(--black);box-shadow:4px 4px 0 #9B6FD4;transition:transform .1s ease-out,box-shadow .1s ease-out}
  .navtoggle:active,.navtoggle:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 #9B6FD4}
  .navtoggle span{display:block;height:3px;background:var(--black);transition:transform .15s,opacity .15s}
  .navopen .navtoggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .navopen .navtoggle span:nth-child(2){opacity:0}
  .navopen .navtoggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .mainnav{display:none;flex-basis:100%;flex-direction:column;flex-wrap:nowrap;overflow:visible;margin:12px 0 0;padding:8px 0 0;gap:2px;border-top:2px solid #262626}
  .navopen .mainnav{display:flex}
  .mainnav a{font-size:12px;padding:13px 10px;flex:none}
  .mainnav a.on{border-color:var(--purple)}
}



/* ---------- Round 28: interactive tour ---------- */
body.tour-on{overflow:hidden;overscroll-behavior:none}
#tour-root{position:fixed;inset:0;z-index:80;pointer-events:none}
#tour-root.tour-jumping{background:rgba(0,0,0,.72)}
#tour-root[hidden]{display:none}
.tour-hole{position:fixed;z-index:81;pointer-events:none;border-radius:6px;box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 0 0 3px rgb(201,160,255),0 0 18px rgba(201,160,255,.45);transition:none}
.tour-card{position:fixed;z-index:82;pointer-events:auto;width:min(360px,calc(100vw - 24px));max-height:min(70vh,520px);overflow:auto;padding:22px 18px 16px;box-shadow:0 0 16px rgba(201,160,255,.28),0 0 36px rgba(201,160,255,.10)}
.tour-card.tour-dock{box-shadow:0 -4px 24px rgba(0,0,0,.5),0 0 16px rgba(201,160,255,.28)}
.tour-kicker{font-family:var(--font-display);font-size:8px;color:var(--dim);letter-spacing:1px;margin:0 44px 10px 0}
.tour-title{font-family:var(--font-display);font-size:12px;color:var(--white);line-height:1.55;margin:0 44px 10px 0}
.tour-body{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.tour-actions{margin-top:4px}
.htour-row{margin:14px 0 4px}

/* ---------- site footer ---------- */
.site-footer{border-top:2px solid var(--purple);margin:0 auto;max-width:1280px;padding:36px 24px 48px;text-align:center;color:var(--dim);box-sizing:border-box;width:100%}
.site-footer p{margin:0;font-family:var(--font-body);font-size:12px;line-height:1.7;color:var(--dim)}
.site-footer .sf-line1{margin-bottom:8px}
.site-footer .sf-line2{font-size:11px}
.site-footer .sf-brand{font-family:var(--font-display);font-size:8px;color:var(--muted);letter-spacing:.04em}
.site-footer a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.site-footer a:hover{color:var(--purple)}
@media (max-width:760px){
  .site-footer{padding:28px 14px 40px}
  .site-footer p{font-size:11px;line-height:1.65}
  .site-footer .sf-line2{font-size:10px}
  .site-footer .sf-brand{font-size:7px;display:inline-block;margin-bottom:2px}
}
.sf-nw{white-space:nowrap}

@media (max-width:760px){.trbar{padding-left:96px}.trbar .lbl{margin-left:-96px}.trbar .trbr{margin-right:1px}}
#hinst .btn{margin-bottom:18px}
.canon .cmp-text{margin-left:auto;flex-direction:row;align-items:center;gap:8px}
.canon .cmp-text .rsz .btn{min-height:40px}
@media (max-width:760px){.canon .cmp-text{flex:1 1 100%;margin-left:0;margin-top:8px;margin-bottom:6px}.canon .cmp-text .rsz{width:100%}.canon .cmp-text .rsz .btn{flex:1;min-height:42px}}
.card.bk{border-width:2px}
.card.pcard,.card.src{border-width:2px}
.card.compare{border-top:0}.card.compare>.cmp-head{border-top:var(--pixel-border) solid rgb(201,160,255)}
.mainnav a{border:0;clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px);transition:color .15s,background .15s,box-shadow .15s}
.mainnav a.on{background:rgba(201,160,255,.10);box-shadow:inset 0 0 0 2px var(--purple)}
@media (max-width:760px){.canon{padding-left:96px}.canon>.small{margin-left:-96px;min-width:90px}.canon .cmp-text{margin-left:-96px;flex-basis:calc(100% + 96px)}}
#ssec,#scan,#sfrom,#sto,#sout>.card{border-width:2px}
.bsub{margin:36px 0 14px;font-size:13px;padding-bottom:8px;border-bottom:1px dotted #7A7A7A}.bsub:first-of-type{margin-top:8px}
h2.bsec{margin-top:52px}h2.bsec:first-of-type{margin-top:28px}
.card.src{min-width:0}.card.src a{overflow-wrap:anywhere;word-break:break-word}
#rtr,#rbk,#rch,#rjq{border-width:2px}
.hcols>.card{border-width:2px}.hcols>.hhow{grid-column:1/-1}
.htrans h3{font-size:17px}.htr b{font-size:15px}@media (max-width:760px){.htrans h3{font-size:15px}.htr b{font-size:13px}}

/* bt-v67: Explore + Translations borders match weazy .identity-card (2px dashed soft purple) */
.hcard{border:2px dashed rgba(201,160,255,0.28)}
.htrans{border:2px dashed rgba(201,160,255,0.28)}
