/* WDWS redesign (m3-red2) — app styles */
@font-face{font-family:Literata;src:url(fonts/literata.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Literata;src:url(fonts/literata-italic.woff2) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/sourceserif4.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Nunito;src:url(fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:Fredoka;src:url(fonts/fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(fonts/atkinson.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(fonts/atkinson-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/jakarta.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-italic.woff2) format("woff2");font-weight:500 600;font-style:italic;font-display:swap}
@font-face{font-family:Outfit;src:url(fonts/outfit.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Noto Serif Hebrew";src:url(fonts/notoserifhebrew.woff2) format("woff2");font-weight:400 600;font-display:swap}

:root{--title:"Cormorant Garamond",Literata,Georgia,serif;--ui:Outfit,"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--scripture:Literata,Georgia,serif;--hebrew:"Noto Serif Hebrew","Times New Roman",serif;
--fs:20px;--lh:1.85;--r:24px;--rail:104px;--ease:cubic-bezier(.2,.8,.2,1)}
body{--bg:#FBFAF6;--surface:#FFFFFF;--surface2:#F3F1EA;--ink:#13262F;--ink2:#34474F;--verseInk:#11191D;--muted:#4F5B61;
--accent:#1F6F8B;--accentText:#1A6380;--fill:#0E3A4D;--onFill:#FFFFFF;--tint:#EEF4F6;--tint2:#D5E5EB;--line:#E8E5DB;--line2:#D6D2C4;
--bar:rgba(251,250,246,.94);--wj:#B03A2E;--mark:#F5EBC8;--hl:#FFF1B8;--scrim:rgba(14,58,77,.38);--shadowC:14,58,77;--navy:#0E3A4D;--gold:#C9A227;--goldText:#7A5E0E;
/* compat for bible-memory.css */
--text:var(--ink);--panel:var(--surface);--panel2:var(--surface2);--border:var(--line2);--control:var(--surface);--gold2:var(--accentText);--shadow:rgba(14,58,77,.12)}
body[data-theme="olive"]{--goldText:var(--accentText);--navy:var(--ink);--bg:#F6F5F2;--surface:#FFFFFF;--surface2:#F0EFEB;--ink:#0F172A;--ink2:#334155;--verseInk:#141B2D;--muted:#556070;
--accent:#5B6B2F;--accentText:#566529;--fill:#5B6B2F;--onFill:#FFFFFF;--tint:#F4F6EC;--tint2:#E2E8CC;--line:#E4E8F1;--line2:#CBD3E1;
--bar:rgba(255,255,255,.96);--wj:#C0392B;--mark:#EEF2DF;--hl:#FFF1B8;--scrim:rgba(15,23,42,.38);--shadowC:15,23,42;
--text:var(--ink);--panel:var(--surface);--panel2:var(--surface2);--border:var(--line2);--control:var(--surface);--gold2:var(--accentText);--shadow:rgba(15,23,42,.14)}
body[data-theme="dark"]{--goldText:#E3C56C;--navy:#F3F2EF;--bg:#0E0F12;--surface:#17181C;--surface2:#222329;--ink:#F3F2EF;--ink2:#C9CCD3;--verseInk:#EEECE8;--muted:#A7ACB6;
--accent:#8CC3D6;--accentText:#9FD0E0;--fill:#1F6F8B;--onFill:#FFFFFF;--tint:#16232A;--tint2:#1E3440;--line:#2B2D34;--line2:#3D4049;
--bar:rgba(23,24,28,.96);--wj:#FF8E80;--mark:#22343C;--hl:#4A4116;--scrim:rgba(0,0,0,.6);--shadow:rgba(0,0,0,.5)}

body[data-theme="parchment"]{--goldText:#6E540C;--navy:var(--ink);--bg:#F3E6C8;--surface:#FBF3E1;--surface2:#EFE2C2;--ink:#2A1C08;--ink2:#4A3A22;--verseInk:#2A1C08;--muted:#6B5A3E;
--accent:#566529;--accentText:#4E5C24;--fill:#5B6B2F;--onFill:#FFFFFF;--tint:#EFE9CC;--tint2:#E0DAB0;--line:#E3D1A8;--line2:#D2BC8A;
--bar:rgba(251,243,225,.96);--wj:#B3301F;--mark:#E8E4C2;--hl:#F7E08A;--shadow:rgba(42,28,8,.14)}
body.noRed{--wj:inherit}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{margin:0;padding:0;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{font-family:var(--ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;transition:background-color .3s,color .3s}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
img{max-width:100%}
.ic{width:24px;height:24px;flex:none}.ic.sm{width:16px;height:16px}
a,button{transition:transform .18s ease,background-color .25s ease,box-shadow .25s ease,color .2s,opacity .2s}
a:active,button:active{transform:scale(.97)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- tab bar / rail ---------- */
.tabbar{position:fixed;z-index:40;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:6px 6px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);transition:transform .45s var(--ease),background-color .3s}
.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;min-width:56px;border-radius:16px;color:var(--muted);font:600 11.5px/1 var(--ui);letter-spacing:.2px}
.tab .ic{padding:4px 18px;width:62px;height:32px;border-radius:16px;transition:background .25s}
.tab.on{color:var(--accentText)}.tab.on .ic{background:var(--tint2)}.tab.on span{color:var(--ink);font-weight:800}
.railLogo,.railOnly{display:none}
.iconBtn{width:44px;height:44px;min-width:44px;border-radius:50%;display:inline-grid;place-items:center;color:var(--ink2)}
.view{display:none;padding:0 18px calc(100px + env(safe-area-inset-bottom));max-width:1100px;margin:0 auto;animation:viewIn .35s var(--ease)}
.view.on{display:block}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}}

/* ---------- home ---------- */
.topbar{display:flex;align-items:center;gap:12px;padding:18px 0 14px}
.logo{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:14px;padding:6px;box-shadow:0 2px 8px rgba(var(--shadowC),.08)}
.brand{flex:1;min-width:0}
.brand h1{margin:0;font:800 18px/1.15 var(--ui);color:var(--ink);letter-spacing:-.2px}
.brand p{margin:3px 0 0;font:600 10.5px/1.2 var(--ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.topbar .iconBtn{background:var(--surface);box-shadow:0 2px 8px rgba(var(--shadowC),.08)}
.askBox{background:var(--surface);border-radius:24px;padding:18px 18px 16px;margin:4px 0 18px;box-shadow:0 1px 2px rgba(var(--shadowC),.05),0 12px 30px -18px rgba(62,74,30,.35);border:1px solid var(--tint2)}
.askEyebrow{display:inline-flex;align-items:center;gap:6px;font:800 11px/1 var(--ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--accentText)}
.askBox h2{margin:10px 0 14px;font:600 24px/1.25 var(--scripture);color:var(--ink);letter-spacing:-.2px}
.askField{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 6px 0 16px;border-radius:18px;background:var(--tint);border:1.5px solid var(--tint2);color:var(--muted)}
.askField .ic{color:var(--accentText)}
.askField input{flex:1;min-width:0;border:0;background:transparent;outline:0;font:500 16px/1.2 var(--ui);color:var(--ink);min-height:44px}
.askField input::placeholder{color:var(--muted);opacity:1}
.askGo{width:44px;height:44px;border-radius:14px;background:var(--fill);color:var(--onFill);display:grid;place-items:center;flex:none}
.askGo .ic{color:var(--onFill);width:20px;height:20px}
.askChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.askChip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:var(--surface);border:1.5px solid var(--tint2);font:700 14px/1 var(--ui);color:var(--accentText)}
.askChip.on{background:var(--fill);border-color:var(--fill);color:var(--onFill)}
.askChip.more{border-style:dashed}
.hero{position:relative;overflow:hidden;border-radius:var(--r);padding:20px 20px 16px;margin:6px 0 22px;background:var(--tint);border:1px solid var(--tint2);box-shadow:0 1px 2px rgba(var(--shadowC),.05),0 14px 34px -22px rgba(62,74,30,.55)}
.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:rgba(62,74,30,.07);pointer-events:none}
.heroTop{display:flex;justify-content:space-between;align-items:center;gap:8px;position:relative;z-index:1}
.eyebrow{font:700 11px/1 var(--ui);letter-spacing:1.8px;text-transform:uppercase;color:var(--accentText)}
.heroRef{font:600 13px/1 var(--ui);color:var(--accentText);background:var(--tint2);padding:7px 10px;border-radius:999px}
.heroVerse{font:400 21px/1.6 var(--scripture);margin:14px 0;color:var(--ink);position:relative;z-index:1}
.heroFoot{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1}
.heroCite{font:600 15px/1.2 var(--scripture);color:var(--ink2)}
.pillBtn{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 16px 0 20px;border-radius:999px;font:700 15px/1 var(--ui);background:var(--fill);color:var(--onFill);white-space:nowrap}
.pillBtn .ic{width:18px;height:18px}
.sectionTitle{font:800 19px/1.1 var(--ui);margin:0 2px 12px;color:var(--ink)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r);min-height:132px;background:var(--surface);text-align:left;box-shadow:0 1px 2px rgba(var(--shadowC),.05),0 8px 24px -16px rgba(var(--shadowC),.18)}
.tIcon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--tint);color:var(--accentText)}
.tText{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.tText strong{font:800 17px/1.2 var(--ui)}
.tSub{font:500 13.5px/1.3 var(--ui);color:var(--muted)}
.tMeta{font:600 12.5px/1.3 var(--ui);color:var(--accentText);margin-top:2px}
.t-bible{flex-direction:column;align-items:flex-start;min-height:150px}.t-bible .tIcon{background:var(--fill);color:var(--onFill)}
.t-search{min-height:150px}
.t-video{grid-column:span 2;flex-direction:row;align-items:center;min-height:0}
.t-games{grid-column:span 2;flex-direction:row;flex-wrap:wrap;align-items:center;min-height:0}
.t-shop{grid-column:span 2;flex-direction:row;align-items:center;min-height:64px;padding:12px 16px}
.t-shop .tIcon{background:var(--surface2);color:var(--ink2);width:40px;height:40px;border-radius:12px}
.gameRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.gameChip{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 12px;border-radius:14px;font:600 14px/1.2 var(--ui);background:var(--bg);color:var(--ink);text-align:left}
.gameChip .ic{width:20px;height:20px;color:var(--accentText)}
.tExt{color:var(--muted)}.tExt .ic{width:20px;height:20px}
.latest{margin-top:24px}
.libRow{display:grid;gap:10px}
.libItem{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border-radius:20px;background:var(--surface);text-align:left;box-shadow:0 1px 2px rgba(var(--shadowC),.05)}
.libItem small{display:block;font:700 11px/1.2 var(--ui);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.libItem b{font:600 15px/1.25 var(--ui)}
.libIc{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--tint);color:var(--accentText)}
.libIc .ic{width:20px;height:20px}
.homeFoot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin:22px 0 4px}
.homeFoot a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;font:600 13.5px/1 var(--ui);color:var(--muted)}
.homeFoot .ic{width:18px;height:18px}

/* ---------- reader ---------- */
#view-bible{padding-top:64px;padding-bottom:calc(120px + env(safe-area-inset-bottom));transition:padding .45s var(--ease)}
.readerBar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:2px;padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bar);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:transform .45s var(--ease),opacity .3s}
body:not(.v-bible) .readerBar,body:not(.v-bible) .runHead,body:not(.v-bible) .fab,body:not(.v-bible) div.tools,body:not(.v-bible) .fade{display:none}
.refBtn{flex:1;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;min-width:0;padding:0 4px}
.refMain{display:inline-flex;align-items:center;gap:4px;font:800 17px/1.15 var(--ui);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.refMain .ic{width:18px;height:18px}
.refSub{font:500 12px/1.2 var(--ui);color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.aa{font:600 18px/1 var(--scripture);border-radius:12px;background:var(--tint);color:var(--accentText);width:48px;height:44px;display:inline-grid;place-items:center}
.seg{display:flex;gap:4px;padding:4px;margin:12px auto 4px;border-radius:14px;max-width:680px;background:var(--surface2);max-height:60px;overflow:hidden;transition:max-height .4s,opacity .3s,margin .4s,padding .4s}
.seg button{flex:1;min-height:46px;border-radius:11px;font:700 14px/1.1 var(--ui);color:var(--muted);padding:0 6px}
.seg button.on{background:var(--surface);color:var(--accentText);box-shadow:0 1px 4px rgba(var(--shadowC),.14)}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.chapter{max-width:680px;margin:0 auto;padding:8px 4px 24px;transition:max-width .45s}
.chapHead{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:16px 0 12px}
.bookName{font:800 28px/1.05 var(--ui);color:var(--ink)}
.chapNum{font:700 12.5px/1 var(--ui);letter-spacing:1.8px;text-transform:uppercase;color:var(--accentText)}
.trBadge{margin-left:auto;font:700 11.5px/1 var(--ui);letter-spacing:.6px;color:var(--muted);background:var(--surface2);padding:6px 9px;border-radius:999px}
.psTitle{font:italic 400 calc(var(--fs) * .85)/1.6 var(--scripture);color:var(--ink2);margin:0 0 14px}
.verse{font-family:var(--face,var(--scripture));font-size:var(--fs);line-height:var(--lh);font-weight:400;margin:0 0 .7em;color:var(--verseInk);letter-spacing:.005em;border-radius:8px;transition:background-color .3s;scroll-margin-top:90px;overflow-wrap:break-word}
.verse .vn{display:inline-grid;place-items:center;min-width:28px;min-height:28px;margin:-6px 2px -6px -6px;padding:0 4px;vertical-align:baseline;border-radius:8px;font:800 12.5px/1 var(--ui);color:var(--accentText);position:relative;top:-.35em}
.verse .vn:after{content:"";position:absolute;inset:-8px -4px}
.wj{color:var(--wj)}
.lord{font-variant:small-caps;letter-spacing:.03em}
.verse .w{cursor:pointer;border-radius:4px}
.verse .w.sel{background:var(--mark);box-shadow:inset 0 -2px 0 var(--accent)}
.verse.selected{background:var(--tint)}
.verse.highlighted .vt{background:linear-gradient(transparent 12%,var(--hl) 12%,var(--hl) 92%,transparent 92%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.verse.hasThought .vn{background:var(--tint2)}
.otBtn{display:inline-grid;place-items:center;min-height:28px;padding:0 8px;margin-left:6px;border-radius:999px;background:var(--tint);color:var(--accentText);font:700 12px/1 var(--ui);vertical-align:middle;position:relative}
.otBtn:after{content:"";position:absolute;inset:-8px -2px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.chips[dir=rtl]{direction:rtl}
.chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;min-width:48px;padding:6px 12px;border-radius:12px;background:var(--tint);border:1.5px solid transparent;cursor:pointer}
.chip .orig{font:400 19px/1.1 var(--scripture);color:var(--ink)}
.chip .orig:lang(he){font-family:var(--hebrew);font-size:21px}
.chip .gl{font:600 11.5px/1.15 var(--ui);color:var(--muted);text-align:center;max-width:140px}
.chip.on,.chip.sel{background:var(--fill)}.chip.on .orig,.chip.on .gl{color:var(--onFill)}
.enWord.on{background:var(--mark);box-shadow:inset 0 -2px 0 var(--accent);border-radius:3px}
.loadingText{font:500 16px/1.6 var(--ui);color:var(--muted);padding:30px 0;text-align:center}
.errorCard,.infoCard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:12px 0;font:500 15px/1.55 var(--ui);color:var(--ink2)}
.errorCard button,.infoCard button{min-height:44px;padding:0 14px;margin-top:8px;border-radius:12px;background:var(--surface2);font-weight:700}
.chapNav{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.chapNav button,.bookNav button{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 16px;border-radius:999px;font:700 14.5px/1 var(--ui);background:var(--surface2);color:var(--ink)}
.chapNav button:disabled,.bookNav button:disabled{opacity:.4}
.chapNav .ic{width:18px;height:18px}
.bookNav{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
.bookNav button{background:transparent;border:1.5px solid var(--line);font-size:13.5px;color:var(--ink2)}
.backTop{display:flex;margin:18px auto 0;min-height:44px;padding:0 16px;border-radius:999px;align-items:center;gap:6px;font:700 13.5px/1 var(--ui);color:var(--muted)}
.searchBar{display:flex;gap:8px;max-width:680px;margin:10px auto 0}
.searchBar .askField{flex:1;min-height:52px}
.searchNav{display:flex;flex-wrap:wrap;gap:8px;max-width:680px;margin:10px auto 0}
.searchNav button{min-height:44px;padding:0 14px;border-radius:999px;background:var(--surface2);font:700 13.5px/1 var(--ui)}
.searchSummary{font:600 14px/1.4 var(--ui);color:var(--muted);margin:14px 2px 10px}
.searchHit{display:block;width:100%;text-align:left;background:var(--surface);border-radius:16px;padding:12px 14px;margin:0 0 8px;box-shadow:0 1px 2px rgba(var(--shadowC),.05);min-height:44px}
.searchHit strong{display:block;font:800 14px/1.2 var(--ui);color:var(--accentText);margin-bottom:4px}
.searchHit span{font:400 17px/1.6 var(--scripture);color:var(--verseInk)}
.searchHit mark{background:var(--mark);color:inherit;box-shadow:inset 0 -2px 0 var(--accent);border-radius:3px}
.wordStudyCard{background:var(--tint);border:1px solid var(--tint2);border-radius:18px;padding:14px 16px;margin:10px 0;font:500 15px/1.55 var(--ui);color:var(--ink2)}
.wordStudyCard h3{margin:0 0 6px;font:800 16px/1.2 var(--ui);color:var(--accentText)}
.wordStudyCard p{margin:4px 0}

/* focus read */
.runHead{position:fixed;top:0;left:0;right:0;z-index:29;height:calc(32px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:center;background:var(--surface);font:700 11px/1 var(--ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);opacity:0;transform:translateY(-100%);transition:opacity .35s,transform .45s var(--ease);pointer-events:none}
.prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tint2)}
.prog i{display:block;height:100%;width:var(--p,0%);background:var(--accent);border-radius:0 3px 3px 0;transition:width .15s}
body.focus .runHead{opacity:1;transform:none}
body.focus:not(.peek) .readerBar{transform:translateY(-105%);opacity:0;pointer-events:none}
body.focus:not(.peek) .tabbar{transform:translateY(120%)}
body.focus #view-bible{padding-top:40px}
body.focus .seg,body.focus .searchBar{max-height:0;opacity:0;margin:0 auto;padding:0;pointer-events:none}
.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:33;width:56px;height:56px;border-radius:50%;background:var(--fill);color:var(--onFill);display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(62,74,30,.65);opacity:0;transform:scale(.6) translateY(24px);pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
body.focus .fab{opacity:.97;transform:none;pointer-events:auto}
.fab .ic{grid-area:1/1;transition:transform .3s,opacity .2s}.fab .i2{opacity:0;transform:rotate(-90deg)}
body.tools .fab .i1{opacity:0;transform:rotate(90deg)}body.tools .fab .i2{opacity:1;transform:none}
div.tools{position:fixed;right:84px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:32;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px -10px rgba(var(--shadowC),.3);opacity:0;transform:translateX(30px) scale(.85);transform-origin:right center;pointer-events:none;transition:opacity .25s,transform .35s var(--ease);max-width:calc(100vw - 100px)}
body.focus.tools div.tools{opacity:1;transform:none;pointer-events:auto}
.toolRef{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 12px 0 14px;border-radius:999px;background:var(--tint);color:var(--accentText);font:700 14px/1 var(--ui);white-space:nowrap}
.toolRef .ic{width:16px;height:16px}
.fade{position:fixed;left:0;right:0;bottom:0;height:96px;z-index:28;pointer-events:none;background:linear-gradient(transparent,var(--bg) 85%);opacity:0;transition:opacity .4s}
body.focus .fade{opacity:1}
body.v-bible{background:var(--surface)}
body.v-bible .fade{background:linear-gradient(transparent,var(--surface) 85%)}

/* ---------- sheets ---------- */
.scrim{position:fixed;inset:0;z-index:60;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .3s}
body.sheetOpen .scrim{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:61;left:0;right:0;bottom:0;max-height:86vh;max-height:86dvh;overflow:auto;overscroll-behavior:contain;padding:8px 20px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--surface);color:var(--ink);box-shadow:0 -10px 40px rgba(var(--shadowC),.2);transform:translateY(110%);visibility:hidden;transition:transform .42s var(--ease),visibility 0s .42s}
.sheet.open{transform:none;visibility:visible;transition:transform .42s var(--ease)}
.handle{width:40px;height:5px;border-radius:3px;background:var(--line2);margin:0 auto 10px}
.sheetTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px}
.sheetTitle h3{margin:0;font:800 19px/1.2 var(--ui)}
.sheet h4{margin:16px 0 8px;font:800 11.5px/1 var(--ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--accentText)}
.sizeRow{display:flex;align-items:center;gap:12px}
.szBtn{width:52px;height:52px;flex:none;border-radius:14px;background:var(--surface2);color:var(--ink);font:600 16px/1 var(--scripture)}
.szBtn.big{font-size:23px}
.slider{flex:1;position:relative;height:48px}
.slider input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.track{position:absolute;left:0;right:0;top:22px;height:4px;border-radius:2px;background:var(--line2)}
.track i{display:block;height:100%;width:var(--pos,50%);background:var(--accent);border-radius:2px}
.ticks{position:absolute;left:0;right:0;top:32px;display:flex;justify-content:space-between}.ticks b{width:2px;height:5px;background:var(--line2);border-radius:1px}
.thumb{position:absolute;top:12px;left:calc(var(--pos,50%) - 12px);width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:0 2px 6px rgba(0,0,0,.2);transition:left .15s}
.slider input:focus-visible~.thumb{outline:3px solid var(--accent);outline-offset:2px}
.sizeMeta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
#szLabel{font:700 13.5px/1 var(--ui);color:var(--accentText);background:var(--tint);padding:8px 11px;border-radius:999px}
.lockBtn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border-radius:12px;font:700 13.5px/1 var(--ui);color:var(--ink2)}
.lockBtn[aria-pressed=true]{color:var(--accentText);background:var(--tint)}
.preview{margin:12px 0 0;padding:12px 14px;border-radius:14px;background:var(--bg);font-family:var(--face,var(--scripture));font-size:var(--fs);line-height:var(--lh);color:var(--verseInk)}
.seg2{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface2)}
.seg2 button{flex:1;min-height:48px;border-radius:11px;font:700 14px/1.1 var(--ui);color:var(--muted);padding:0 4px}
.seg2 button.on{background:var(--surface);color:var(--accentText);box-shadow:0 1px 4px rgba(var(--shadowC),.14)}
body[data-theme=dark] .seg2 button.on,body[data-theme=dark] .seg button.on{background:var(--tint2)}
.f-lit{font-family:Literata,serif!important}.f-ss{font-family:"Source Serif 4",serif!important}.f-sans{font-family:"Atkinson Hyperlegible",sans-serif!important}
.looks{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.look{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:8px 4px;border-radius:14px;border:1.5px solid var(--line);font:700 12.5px/1 var(--ui);color:var(--ink2)}
.look i{width:26px;height:26px;border-radius:50%;border:1px solid #C9C3BA}
.look.on{border-color:var(--accent);background:var(--tint);color:var(--accentText)}
.switchRow{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);width:100%;text-align:left}
.switchRow b{display:block;font:700 15.5px/1.2 var(--ui)}.switchRow small{font:500 13px/1.3 var(--ui);color:var(--muted)}
.switch{width:52px;height:32px;flex:none;border-radius:16px;background:var(--line2);position:relative;transition:background .25s}
.switch:after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .25s}
.switchRow[aria-checked=true] .switch{background:var(--fill)}.switchRow[aria-checked=true] .switch:after{left:24px}
.tvRow{display:flex;align-items:center;gap:14px;min-height:64px;margin-top:12px;padding:10px 14px;border-radius:16px;background:var(--tint);color:var(--accentText);width:100%;text-align:left}
.tvRow span{flex:1}.tvRow b{display:block;font:700 15.5px/1.2 var(--ui);color:var(--ink)}.tvRow small{font:500 13px/1.3 var(--ui);color:var(--muted)}
.castTip{display:flex;gap:8px;align-items:flex-start;margin:10px 2px 0;font:500 13px/1.45 var(--ui);color:var(--muted)}
.castTip .ic{margin-top:1px;color:var(--accentText)}.castTip b{color:var(--ink2)}
.listBtn{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 12px;border-radius:14px;background:var(--surface2);font:700 15px/1.25 var(--ui);color:var(--ink);text-align:left;margin:0 0 8px}
.listBtn small{display:block;font:500 12.5px/1.3 var(--ui);color:var(--muted)}
.listBtn .ic{color:var(--accentText)}
.btnRow{display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 16px;border-radius:14px;font:700 14.5px/1 var(--ui);background:var(--surface2);color:var(--ink)}
.btn.primary{background:var(--fill);color:var(--onFill);box-shadow:0 8px 20px -10px rgba(62,74,30,.8)}
.btn .ic{width:19px;height:19px}
textarea.note,input.text{width:100%;min-height:120px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg);padding:12px;font:400 16px/1.55 var(--ui);color:var(--ink);resize:vertical}
input.text{min-height:48px}
.small{font:500 13px/1.4 var(--ui);color:var(--muted)}
/* word card */
.cardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.lemma{font:400 38px/1.15 var(--scripture);color:var(--ink);overflow-wrap:anywhere}
.lemma:lang(he){font-family:var(--hebrew)}
.translit{font:italic 500 16px/1.3 var(--scripture);color:var(--ink2);margin-top:4px}
.translit span{font:400 13.5px var(--ui);color:var(--muted);font-style:normal}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.tag{font:700 12.5px/1 var(--ui);padding:8px 11px;border-radius:999px;background:var(--surface2);color:var(--ink2)}
.tag.strong{background:var(--tint2);color:var(--accentText)}
.here{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:12px 14px;border-radius:12px;margin-bottom:6px;background:var(--bg)}
.here small{font:700 11.5px/1 var(--ui);letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.here b{font:600 18px/1.3 var(--scripture)}
.def{margin:0;font:400 16px/1.6 var(--ui);color:var(--ink2);white-space:pre-line}
.cardActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));margin:16px -20px calc(-18px - env(safe-area-inset-bottom));padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface)}
.lexTabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface2);margin:14px 0 8px}
.lexTabs button{flex:1;min-height:44px;border-radius:11px;font:700 13.5px/1 var(--ui);color:var(--muted)}
.lexTabs button.on{background:var(--surface);color:var(--accentText)}
.lexGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.lexGrid div{background:var(--bg);border-radius:12px;padding:10px 12px;font:500 13.5px/1.45 var(--ui);color:var(--ink2)}
.lexGrid span{display:block;font:800 10.5px/1 var(--ui);letter-spacing:1.2px;text-transform:uppercase;color:var(--accentText);margin-bottom:5px}
/* picker */
.pickTabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--surface2);margin:4px 0 10px}
.pickTabs button{flex:1;min-height:44px;border-radius:11px;font:700 14px/1 var(--ui);color:var(--muted)}
.pickTabs button.on{background:var(--surface);color:var(--accentText)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.grid.num{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}
.grid button{min-height:48px;padding:6px 10px;border-radius:12px;background:var(--surface2);font:700 14.5px/1.15 var(--ui);color:var(--ink);text-align:left}
.grid.num button{text-align:center;padding:0}
.grid button.on{background:var(--fill);color:var(--onFill)}
.grid button small{display:block;font:500 11.5px/1.2 var(--ui);color:inherit;opacity:.75}
.groupLabel{font:800 11.5px/1 var(--ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:14px 2px 8px}
.trList{display:grid;gap:8px}
/* toast */
.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:120;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);font:700 14px/1.3 var(--ui);padding:12px 18px;border-radius:999px;max-width:calc(100vw - 40px);text-align:center;transition:opacity .25s,transform .3s var(--ease)}
.toast.show{opacity:1;transform:translate(-50%,0)}
body.focus .toast{bottom:auto;top:calc(44px + env(safe-area-inset-top))}

/* ---------- ask ---------- */
.subBar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;margin:0 -18px;padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.subBarTitle{flex:1;text-align:center;font:800 17px/1 var(--ui)}
.askQuery{background:var(--surface);border-radius:24px;padding:16px;border:1px solid var(--tint2);margin-top:14px}
.askQuery .askField{margin-top:10px;background:var(--surface);border-color:var(--accent)}
.askQuery .askField input{font:600 20px/1.2 var(--scripture)}
.askLead{margin:16px 4px 6px;font:400 16.5px/1.6 var(--ui);color:var(--ink2)}
.askLead b{color:var(--ink);font-weight:800}
.secHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 4px 10px}
.secHead h2{margin:0;font:800 19px/1.1 var(--ui);color:var(--ink)}
.secHead span{font:600 12.5px/1.2 var(--ui);color:var(--muted);text-align:right}
.vCard{background:var(--surface);border-radius:22px;padding:16px 18px 10px;margin-bottom:12px;box-shadow:0 1px 2px rgba(var(--shadowC),.05),0 8px 24px -18px rgba(var(--shadowC),.25)}
.vCard header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.vCard h3{margin:0;font:800 17px/1.2 var(--ui);color:var(--accentText)}
.vTrans{font:600 12px/1.4 var(--ui);color:var(--muted)}
.wjBadge{flex:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--tint);color:var(--wj);font:700 11.5px/1 var(--ui)}
body.noRed .wjBadge{color:var(--accentText)}
.wjBadge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.vText p{margin:10px 0 0;font-family:var(--face,var(--scripture));font-size:calc(var(--fs) * .93);line-height:1.75;color:var(--verseInk)}
.vText sup{font:800 11px/1 var(--ui);color:var(--accentText);margin-right:5px;vertical-align:4px}
.vText .gap{color:var(--muted);margin:2px 0 -4px;letter-spacing:4px;font-family:var(--ui)}
.vCard footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;padding-top:6px;border-top:1px solid var(--line)}
.openLink{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0 4px 0 8px;font:700 14.5px/1 var(--ui);color:var(--accentText);white-space:nowrap}
.openLink .ic{width:18px;height:18px}
.sermonCard{display:flex;gap:14px;background:var(--surface);border-radius:22px;padding:16px 18px 8px;box-shadow:0 8px 24px -18px rgba(var(--shadowC),.25);width:100%;text-align:left;margin-bottom:12px}
.sermonCard small{display:block;font:700 11.5px/1.3 var(--ui);letter-spacing:.4px;color:var(--muted)}
.sermonCard h3{margin:6px 0 8px;font:700 17px/1.3 var(--scripture);color:var(--ink)}
.sermonCard blockquote{margin:0;padding:2px 0 2px 12px;border-left:3px solid var(--tint2);font:italic 400 16px/1.6 var(--scripture);color:var(--ink2)}
.sermonCard .openLink{padding-left:0}
.videoCard{display:block;width:100%;text-align:left;background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px -18px rgba(var(--shadowC),.25);margin-bottom:12px}
.vthumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#29311a,#5B6B2F 60%,#7A8A45)}
.vthumb img{width:100%;height:100%;object-fit:cover;display:block}
.vthumb .vnum{position:absolute;left:14px;bottom:10px;font:800 34px/1 var(--ui);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(62,74,30,.92);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.play .ic{width:30px;height:30px}
.vcText{display:flex;flex-direction:column;gap:5px;padding:14px 18px 16px}
.vcText small{font:700 11.5px/1.2 var(--ui);color:var(--muted);letter-spacing:.4px}
.vcText b{font:800 16.5px/1.3 var(--ui);color:var(--ink)}
.vcText span{font:500 13.5px/1.3 var(--ui);color:var(--ink2)}
.moreSearch{display:flex;align-items:center;gap:12px;min-height:56px;margin:16px 0 8px;padding:0 16px;border-radius:18px;border:1.5px dashed var(--tint2);color:var(--accentText);font:700 14.5px/1.3 var(--ui);width:100%;text-align:left}
.moreSearch span{flex:1}

/* ---------- watch ---------- */
.player{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#111;margin-top:14px;box-shadow:0 14px 34px -22px rgba(0,0,0,.6)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.player .poster{position:absolute;inset:0;width:100%;height:100%;display:block}
.player .poster img{width:100%;height:100%;object-fit:cover}
.nowPlaying{margin:12px 4px 0}
.nowPlaying small{font:700 11.5px/1.2 var(--ui);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.nowPlaying h2{margin:4px 0 0;font:800 20px/1.25 var(--ui)}
.vidList{display:grid;gap:10px}
.vidItem{display:flex;align-items:center;gap:12px;min-height:72px;padding:8px;border-radius:18px;background:var(--surface);text-align:left;width:100%;box-shadow:0 1px 2px rgba(var(--shadowC),.05)}
.vidItem .vt2{position:relative;width:112px;flex:none;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#29311a,#5B6B2F 60%,#7A8A45)}
.vidItem .vt2 img{width:100%;height:100%;object-fit:cover;display:block}
.vidItem .vt2 em{position:absolute;inset:0;display:grid;place-items:center;font:800 22px/1 var(--ui);color:#fff;font-style:normal;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.vidItem b{display:block;font:700 15px/1.3 var(--ui)}
.vidItem small{font:600 12px/1.3 var(--ui);color:var(--muted)}
.vidItem.on{outline:2px solid var(--accent);background:var(--tint)}
.channelLink{display:flex;align-items:center;gap:10px;min-height:52px;margin-top:14px;padding:0 16px;border-radius:16px;background:var(--surface);font:700 14.5px/1.2 var(--ui);color:var(--accentText)}

/* ---------- games ---------- */
.gameCard{display:flex;gap:14px;align-items:center;width:100%;min-height:96px;padding:16px;border-radius:22px;background:var(--surface);text-align:left;margin-bottom:12px;box-shadow:0 1px 2px rgba(var(--shadowC),.05),0 8px 24px -16px rgba(var(--shadowC),.18)}
.gameCard .tIcon{width:56px;height:56px}
.gameCard b{display:block;font:800 18px/1.2 var(--ui)}
.gameCard small{display:block;font:500 14px/1.4 var(--ui);color:var(--muted);margin-top:4px}
.gamesDialog{border:0;padding:0;width:1px;height:1px;position:fixed;opacity:0;pointer-events:none}

/* ---------- sermons ---------- */
.sermonList{display:grid;gap:8px;margin-top:12px}
.sermonItem{display:flex;gap:12px;align-items:center;width:100%;min-height:60px;padding:10px 14px;border-radius:16px;background:var(--surface);text-align:left}
.sermonItem .num{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accentText);font:800 13.5px/1 var(--ui)}
.sermonItem b{display:block;font:700 15px/1.3 var(--ui)}
.sermonItem small{font:500 12.5px/1.4 var(--ui);color:var(--muted)}
.sermonItem mark{background:var(--mark);color:inherit}
.sermonRead{max-width:720px;margin:0 auto}
.sermonRead .meta{font:800 11.5px/1 var(--ui);letter-spacing:1.6px;text-transform:uppercase;color:var(--accentText);margin:18px 0 8px}
.sermonRead h2{font:700 26px/1.25 var(--scripture);margin:0 0 14px}
.wesleyRead p{font-family:var(--face,var(--scripture));font-size:var(--sfs,19px);line-height:var(--lh);color:var(--verseInk);margin:0 0 .9em}
.wesleyRead p.focusPara{background:var(--tint);border-radius:10px;box-shadow:0 0 0 8px var(--tint)}
.sermonTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 4px}
.sermonTools button{min-width:48px;min-height:44px;padding:0 12px;border-radius:12px;background:var(--surface2);font:700 15px/1 var(--scripture)}
.sermonTools button[aria-pressed=true]{background:var(--tint2);color:var(--accentText)}
.rightsNote{font:500 13px/1.5 var(--ui);color:var(--muted);margin:18px 0;overflow-wrap:anywhere}
.rightsNote a{color:var(--accentText);text-decoration:underline}

/* dialogs for study viewer etc */
dialog.dlg{border:0;border-radius:24px;padding:18px;background:var(--surface);color:var(--ink);width:min(94vw,760px);max-height:90vh;box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog.dlg::backdrop{background:var(--scrim)}
dialog.dlg h3{margin:0 0 10px;font:800 18px/1.25 var(--ui)}


/* ---------- tablet: side rail ---------- */
@media (min-width:700px){
 .tabbar{top:0;right:auto;width:var(--rail);flex-direction:column;justify-content:flex-start;gap:6px;padding:22px 10px;padding-bottom:calc(22px + env(safe-area-inset-bottom));border-top:0;border-right:1px solid var(--line)}
 .tab{flex:none;min-height:64px;font-size:12.5px}
 .railLogo{display:grid;place-items:center;height:64px;margin-bottom:18px}.railLogo img{width:46px;border-radius:10px}
 .railOnly{display:flex;margin-top:auto}
 .view{padding:0 36px 56px;margin-left:var(--rail);max-width:none}
 #view-home>*,#view-home>.hbSide>*{max-width:1000px;margin-left:auto;margin-right:auto}
 #view-home .topbar .logo,#view-home .topbar .iconBtn{display:none}
 .topbar{padding:36px 0 22px}.brand h1{font-size:30px}
 .hero{padding:28px 30px 22px}.heroVerse{font-size:28px}
 .askBox h2{font-size:30px}
 .tiles{grid-template-columns:repeat(4,1fr);gap:16px}
 .t-bible{grid-column:span 2;grid-row:span 2;justify-content:flex-end}
 .t-bible .tIcon{width:64px;height:64px;margin-bottom:auto}.t-bible strong{font-size:26px}.t-bible .tText{flex:none}
 .t-search{grid-column:span 2;min-height:120px}.t-video{grid-column:span 2;min-height:120px}
 .t-games{grid-column:span 3}.t-shop{grid-column:span 1;flex-direction:column;align-items:flex-start;min-height:0}
 .t-shop .tExt{position:absolute;top:16px;right:16px}
 .libRow{grid-template-columns:1fr 1fr}
 .readerBar{left:var(--rail);padding:10px 24px;padding-top:calc(10px + env(safe-area-inset-top))}
 .runHead,.fade{left:var(--rail)}
 .subBar{margin:0 -36px;padding:10px 24px}
 #view-bible{padding-top:72px}
 .chapter{max-width:680px}
 body.focus:not(.peek) .tabbar{transform:translateX(-110%)}
 body.focus #view-bible{margin-left:0}
 body.focus .runHead,body.focus .fade{left:0}
 body.focus{--fsBoost:2px}
 body.focus .chapter{max-width:720px}
 .fab{right:28px;bottom:28px}div.tools{right:96px;bottom:30px}
 .sheet{left:calc(var(--rail) + (100vw - var(--rail) - 680px)/2);width:680px;right:auto;bottom:20px;max-height:78vh;border-radius:26px;padding:10px 28px 20px}
 .cardActions{bottom:-20px;margin:16px -28px -20px;padding:12px 28px 18px}
 .toast{bottom:32px;left:calc(50% + var(--rail)/2)}
 #view-ask>*,#view-watch>*,#view-games>*,#view-sermons>*{max-width:760px;margin-left:auto;margin-right:auto}
 #view-ask>.subBar,#view-watch>.subBar,#view-games>.subBar,#view-sermons>.subBar{max-width:none;margin:0 -36px}
 .vidList{grid-template-columns:1fr 1fr}
 .gameRow{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){.verse{font-size:calc(var(--fs) + 1px)}}

/* ---------- hover (pointer devices only) ---------- */
@media (hover:hover){
 .tab:hover{color:var(--ink)}.tab:hover .ic{background:var(--surface2)}.tab.on:hover .ic{background:var(--tint2)}
 .tile:hover,.libItem:hover,.gameCard:hover,.vCard:hover,.sermonCard:hover,.videoCard:hover,.vidItem:hover,.sermonItem:hover{box-shadow:0 2px 4px rgba(var(--shadowC),.06),0 16px 34px -18px rgba(var(--shadowC),.32)}
 .askChip:hover{background:var(--tint)}.askChip.on:hover{background:var(--fill)}
 .pillBtn:hover,.btn.primary:hover,.askGo:hover{filter:brightness(1.12)}
 .iconBtn:hover,.refBtn:hover{background:var(--surface2)}
 .gameChip:hover,.grid button:hover,.listBtn:hover,.btn:hover,.chapNav button:hover,.searchNav button:hover{background:var(--tint2)}
 .grid button.on:hover{background:var(--fill)}
 .verse .w:hover{background:var(--mark)}
 .chip:hover{border-color:var(--accent)}
 .searchHit:hover{background:var(--tint)}
 .openLink:hover,.homeFoot a:hover{text-decoration:underline}
 .seg button:not(.on):not(:disabled):hover,.seg2 button:not(.on):hover,.lexTabs button:not(.on):hover,.pickTabs button:not(.on):hover{color:var(--ink)}
 .look:hover{border-color:var(--accent)}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.vidItem .vt2 img+em{display:none}
/* r7 unified verse actions + compare */
.actGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.actGrid .btn{flex-direction:column;justify-content:center;gap:5px;min-height:68px;padding:8px 4px;font-size:12.5px;line-height:1.15;text-align:center}
.actGrid .btn .ic{width:22px;height:22px}
.cmpRow{padding:12px 0;border-bottom:1px solid var(--line)}.cmpRow b{font:800 14px var(--ui);color:var(--accentText);margin-right:8px}.cmpRow p{margin:6px 0 0;font:400 17px/1.55 var(--scripture);color:var(--verseInk)}
.legalFoot{margin:6px auto 0;padding:4px 16px 16px;max-width:760px;text-align:center;color:var(--muted);font:500 13px/1.5 var(--ui)}.legalFoot a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--accentText);font-weight:700}
/* r8 logo: bigger, transparent, theme-adaptive */
.topbar .logo{width:64px;height:64px;flex:0 0 auto;background:none;padding:0;border-radius:0;box-shadow:none;object-fit:contain}
.topbar{gap:10px}
.railLogo{height:84px}.railLogo img{width:72px;height:72px;border-radius:0;object-fit:contain}
[data-theme="dark"] .logo,[data-theme="dark"] .railLogo img{filter:invert(1)}
@media (max-width:380px){.topbar .logo{width:56px;height:56px}.brand h1{font-size:17px}}

/* r9 fonts */
@font-face{font-family:Mulish;src:url(fonts/mulish.woff2) format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:Mulish;src:url(fonts/mulish-italic.woff2) format("woff2");font-weight:200 1000;font-style:italic;font-display:swap}
.f-mu{font-family:Mulish,system-ui,sans-serif!important}
#faceSeg button{font-size:13.5px}
.readerBar .iconBtn{flex:0 0 auto}
@media (max-width:420px){.readerBar{gap:0!important;padding-left:4px!important;padding-right:4px!important}.readerBar .iconBtn,.readerBar .aa{width:38px!important;min-width:38px!important;height:44px}.readerBar .refBtn{padding:0 4px!important;min-width:0}}
/* r11 slim Ask + tidy Explore */
.askSlim{padding:14px 14px 12px;border-radius:22px}
.askSlim .askHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 10px}
.askSlim h2{margin:0;font:600 19px/1.25 var(--scripture);letter-spacing:-.1px}
.askAll{flex:none;font:700 12.5px/1 var(--ui);color:var(--accentText);text-decoration:none;padding:8px 0}
.askSlim .askField{min-height:48px;border-radius:14px;border-width:1px;padding-left:14px}
.askSlim .askGo{width:38px;height:38px;border-radius:11px}
.askSlim .askChips{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin:10px -14px 0;padding:0 14px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 88%,transparent)}
.askSlim .askChips::-webkit-scrollbar{display:none}
.askSlim .askChip{flex:none;min-height:34px;padding:0 13px;border-radius:999px;font-size:13px;font-weight:600;border-width:1px}
.askSlim .askChip.more{border-style:solid;background:var(--tint)}
.xGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.xGrid.x3{grid-template-columns:repeat(3,1fr)}
.xTile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:118px;padding:14px;border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none;text-align:left;border:1px solid var(--line);box-shadow:0 1px 2px rgba(var(--shadowC),.04);font:inherit;cursor:pointer}
.xTile b{margin-top:auto;font:700 15px/1.2 var(--ui)}
.xTile small{font:500 12px/1.3 var(--ui);color:var(--muted)}
.xIc{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accentText);margin-bottom:8px}
.xIc .ic{width:20px;height:20px}
.x3 .xTile{min-height:104px;padding:12px}.x3 .xTile b{font-size:13.5px}.x3 .xTile small{font-size:11.5px}
.xLabel{margin:20px 2px 10px;font:800 12px/1 var(--ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.xShop{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;min-height:60px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.xShop .xIc{margin:0}.xShop>span:nth-child(2){flex:1}.xShop b{display:block;font:700 14.5px/1.2 var(--ui)}.xShop small{font:500 12px var(--ui);color:var(--muted)}.xShop>.ic{color:var(--muted);width:18px;height:18px}
@media (hover:hover){.xTile:hover,.xShop:hover{border-color:var(--tint2);box-shadow:0 8px 22px -14px rgba(var(--shadowC),.3)}}
@media (min-width:700px){.xGrid{grid-template-columns:repeat(4,1fr)}.xGrid.x3{grid-template-columns:repeat(3,1fr)}.xTile{min-height:132px}}
.xGrid{grid-auto-rows:1fr}
/* r12 Wesley list: refs, hearts, saved */
.sermonRow{position:relative}.sermonRow .sermonItem{padding-right:56px}
.sermonItem small{display:block;margin-top:3px;font:600 12.5px/1.3 var(--ui);color:var(--accentText)}
.heartBtn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;color:var(--muted);border-radius:12px;background:none;border:0;cursor:pointer}
.heartBtn svg{fill:none;width:22px;height:22px;transition:transform .2s}
.heartBtn.on{color:#C0392B}.heartBtn.on svg{fill:currentColor;transform:scale(1.08)}
[data-theme="dark"] .heartBtn.on{color:#FF8E80}
#sermonHeart{position:static;transform:none}#sermonHeart[hidden]{display:grid;visibility:hidden}
.sermonHead{margin:14px 4px 2px}.sermonHead:first-child{margin-top:4px}
#listBody .listBtn svg{width:20px;height:20px;color:#C0392B;fill:currentColor}

/* ===== SLIM line (r13): calm, serious default ===== */
.topbar{border-bottom:1px solid var(--line);padding:14px 0 12px;margin-bottom:14px}
.brand h1{font:600 13.5px/1.2 var(--ui);letter-spacing:.09em;white-space:nowrap;text-transform:uppercase;color:var(--navy)}
.brand p{font-weight:500;letter-spacing:.16em}
.topbar .iconBtn{box-shadow:none;border:1px solid var(--line)}
.askBox,.hero,.tile,.libItem,.vCard,.sermonCard,.videoCard,.vidItem,.gameCard,.searchHit,.xTile,.xShop{box-shadow:none!important;border:1px solid var(--line)}
@media (hover:hover){.xTile:hover,.xShop:hover,.tile:hover,.libItem:hover,.gameCard:hover,.vCard:hover,.sermonCard:hover,.videoCard:hover,.vidItem:hover{border-color:var(--line2);box-shadow:none!important}}
.askSlim h2,.sectionTitle{font-family:var(--title);font-weight:600;color:var(--navy)}
.askSlim h2{font-size:23px;line-height:1.15}
.sectionTitle{font-size:25px;letter-spacing:0}
.askEyebrow,.eyebrow{color:var(--goldText);letter-spacing:.18em;font-weight:600}
.hero{background:var(--surface);border-color:var(--line)}
.hero:after{display:none}
.heroRef{background:transparent;border:1px solid var(--line2);font-weight:500}
.heroVerse{font-family:var(--title);font-weight:500;font-size:25px;line-height:1.4}
.heroCite{font-family:var(--ui);font-weight:500;letter-spacing:.04em}
body:not([data-theme]) .hero,body[data-theme="light"] .hero{background:radial-gradient(520px 220px at 50% -20%,rgba(201,162,39,.16),transparent 70%),var(--surface)}
.btn.primary,.pillBtn{box-shadow:none}
.xIc{background:var(--tint)!important;color:var(--accentText)!important}
body[data-theme="light"] .xIc{background:rgba(201,162,39,.14)!important;color:var(--goldText)!important}
.xTile b,.xShop b{font-weight:600}
.chapHead{border-bottom:1px solid var(--line);padding:18px 0 14px;margin-bottom:16px}
.bookName{font:600 38px/1 var(--title);color:var(--navy);letter-spacing:0}
.chapNum{color:var(--goldText);font-weight:600;letter-spacing:.18em}
.trBadge{background:transparent;border:1px solid var(--line2);font-weight:500;letter-spacing:.14em}
.verse .vn{font-weight:600;color:var(--accent)}
.seg{background:transparent;border:1px solid var(--line);padding:3px}
.seg button{font-weight:500}
.seg button.on,.seg2 button.on{box-shadow:none;background:var(--tint);color:var(--accentText)}
.tabbar{border-top:1px solid var(--line);box-shadow:none}
.tab{font-weight:500;letter-spacing:.02em}
.fab,div.tools{box-shadow:0 6px 18px -8px rgba(var(--shadowC),.35)}
.play{background:rgba(14,58,77,.9)}
body.faceCg .verse{font-weight:500;letter-spacing:.01em}
.f-cg{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.08em}

/* ===== SLIM 2 (r14): slim search + ordered Home ===== */
.srOnly{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#view-home .askSlim{background:transparent;border:0!important;padding:0;margin:2px 0 22px;border-radius:0}
#view-home .askSlim .askField{min-height:46px;height:46px;border-radius:999px;background:var(--surface);border:1px solid var(--line2);padding:0 4px 0 16px;gap:10px;transition:border-color .2s,box-shadow .2s}
#view-home .askSlim .askField:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(31,111,139,.14)}
#view-home .askSlim .askField .ic{width:18px;height:18px;color:var(--muted)}
#view-home .askSlim .askField input{font:400 15.5px/1.2 var(--ui);min-height:40px}
#view-home .askSlim .askGo{width:38px;height:38px;border-radius:50%}
#view-home .askSlim .askGo .ic{width:17px;height:17px;color:var(--onFill)}
#view-home .askSlim .askChips{margin:10px -16px 0;padding:0 16px 2px;gap:6px}
#view-home .askSlim .askChip{min-height:32px;padding:0 12px;font:500 13px/1 var(--ui);border:1px solid var(--line);background:transparent;color:var(--ink2)}
#view-home .askSlim .askChip.more{background:transparent;color:var(--accentText);border-color:var(--line2)}
#view-home .hero{padding:18px 18px 16px;margin:0 0 26px;border-radius:20px}
#view-home .heroVerse{font-size:23px;margin:12px 0 14px}
#view-home .pillBtn{min-height:44px;padding:0 14px 0 18px;font-weight:600;font-size:14.5px}
#view-home .xLabel{margin:0 2px 12px;font:600 11.5px/1 var(--ui);letter-spacing:.18em;color:var(--goldText)}
#view-home .xGrid{gap:10px}
#view-home .xGrid+.xLabel,#view-home .latest .xLabel{margin-top:26px}
#view-home .xTile{min-height:108px;padding:14px;border-radius:16px;gap:3px}
#view-home .xTile b{font:600 15px/1.2 var(--ui);color:var(--ink)}
#view-home .xTile small{font:400 12.5px/1.3 var(--ui)}
#view-home .xIc{width:34px;height:34px;border-radius:10px;margin-bottom:10px}
#view-home .xIc .ic{width:18px;height:18px}
#view-home .x3 .xTile{min-height:100px;padding:12px}
#view-home .x3 .xTile b{font-size:13.5px}
#view-home .x3 .xTile small{font-size:11.5px}
#view-home .xShop{margin-top:10px;min-height:56px;padding:8px 14px 8px 12px;border-radius:16px}
#view-home .xShop .xIc{margin:0}
#view-home .latest{margin-top:0}
#view-home .libRow{gap:10px}
#view-home .libItem{border-radius:16px;min-height:60px}

/* ===== r15: heavier reading text, distinct search, sectioned Home, polish ===== */
body{--vw:500;--cardShadow:0 1px 2px rgba(var(--shadowC),.06),0 6px 18px -12px rgba(var(--shadowC),.28)}
body[data-face="cg"]{--vw:640}
body[data-face="sans"]{--vw:400}
.verse,.vText p{font-weight:var(--vw)}
body.faceCg .verse{font-weight:var(--vw);letter-spacing:.008em}
body[data-face="cg"] .vText p{font-size:calc(var(--fs) * 1.08)}
.verse .wj,.vText .wj{font-weight:inherit}
#view-home .heroVerse{font-weight:600;color:var(--ink)}
/* search: slim but raised and unmistakable */
#view-home .askSlim .askField{height:48px;min-height:48px;background:var(--surface);border:1.5px solid rgba(14,58,77,.32);box-shadow:0 1px 2px rgba(var(--shadowC),.06),0 8px 20px -12px rgba(var(--shadowC),.45)}
body[data-theme="dark"] #view-home .askSlim .askField{border-color:var(--line2)}
#view-home .askSlim .askField .ic{color:var(--accentText);width:19px;height:19px}
#view-home .askSlim .askField input::placeholder{color:var(--ink2)}
.askHelp{margin:7px 6px 0;font:400 12.5px/1.3 var(--ui);color:var(--muted)}
#view-home .askSlim .askChips{margin-top:10px}
/* raised cards */
#view-home .hero,#view-home .libItem,#view-home .xTile{box-shadow:var(--cardShadow)!important}
#view-home .hero{border-color:rgba(var(--shadowC),.08)}
/* section panels */
.hPanel{position:relative;margin:0 -6px 14px;padding:14px 12px 12px;border-radius:22px;background:var(--surface2);border:1px solid var(--line);overflow:hidden}
.hPanel>.xLabel{position:relative;margin:2px 4px 12px!important}
.hPanel .xGrid{position:relative}
#view-home .hPanel .xTile{border-color:rgba(var(--shadowC),.07)}
body[data-theme="light"] .explorePanel{background:#F1EFE7}
/* r15b: no wallpaper; distinct panels and tiles in every theme */
body{--panelBg:var(--surface2);--panelLine:var(--line2);--tileLine:rgba(var(--shadowC),.16);--kidsBg:var(--surface2);--searchLine:rgba(14,58,77,.34)}
body[data-theme="light"]{--panelBg:#EEEBE1;--panelLine:#DDD8C9;--kidsBg:#F2ECDD}
body[data-theme="olive"]{--panelBg:#EDECE6;--panelLine:#D9D7CC;--kidsBg:#EEF0E2;--searchLine:rgba(91,107,47,.45)}
body[data-theme="parchment"]{--panelBg:#EFE2C2;--panelLine:#D9C595;--kidsBg:#EADBB6;--tileLine:rgba(42,28,8,.2);--searchLine:rgba(42,28,8,.35)}
body[data-theme="dark"]{--panelBg:var(--surface2);--panelLine:var(--line2);--kidsBg:var(--surface2);--tileLine:var(--line2);--searchLine:var(--line2)}
.hPanel,body[data-theme="light"] .explorePanel{background:var(--panelBg);border-color:var(--panelLine)}
.kidsPanel{background:var(--kidsBg)}
#view-home .hPanel .xTile{background:var(--surface);border:1px solid var(--tileLine)}
#view-home .askSlim .askField{border-color:var(--searchLine)!important}
/* ask results */
#askVerses.pending:empty{display:none}
.vHit h3{font-family:var(--ui)}
.emptyState{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:26px 16px;margin:8px 0;border:1px dashed var(--line2);border-radius:18px;color:var(--muted);font:400 14.5px/1.45 var(--ui)}
.emptyState b{font:600 16px/1.3 var(--ui);color:var(--ink)}
/* app-wide polish */
.secHead h2{font:600 22px/1.15 var(--title);color:var(--navy);letter-spacing:0}
.secHead span{font-weight:500}
.vCard,.sermonCard,.videoCard,.vidItem,.gameCard,.searchHit{box-shadow:var(--cardShadow)!important;border:1px solid rgba(var(--shadowC),.07);border-radius:18px}
.vCard h3{font-weight:600}
.gameCard b{font-weight:600}
.subBarTitle{font-weight:600;letter-spacing:.02em}
.sheet{border-top:1px solid var(--line)}
.sheet h4{font-weight:600;letter-spacing:.16em;color:var(--goldText)}
.btn{font-weight:600}
.listBtn{font-weight:600}
.toast{font-weight:500;border-radius:14px}
.openLink{font-weight:600}
.askLead b{font-weight:600}
.loadingText{font-style:normal;letter-spacing:.01em}
.wsRow{padding:8px 0;border-top:1px solid var(--tint2)}.wsRow:first-of-type{border-top:0}
.wsLab{display:block;font:600 10.5px/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--goldText);margin-bottom:2px}
.wsOrig{font:500 22px/1.3 var(--hebrew);color:var(--ink)}.wsOrig[lang="el"]{font-family:var(--scripture)}.wsTr{font-size:13.5px;color:var(--muted)}.wsMean{color:var(--ink2)}
.askQuery{border-color:var(--line);box-shadow:var(--cardShadow)}
.askQuery .askField{min-height:50px;border-radius:999px;border:1.5px solid rgba(14,58,77,.32);padding:0 5px 0 16px}
.askQuery .askField input{font:400 16px/1.2 var(--ui)}
.askQuery .askGo{width:40px;height:40px;border-radius:50%}
.askQuery .askChip{min-height:36px;font-weight:500;font-size:13.5px;border-width:1px}
.askQuery .askHelp{margin:8px 4px 0}
.askLead{font-size:16px;line-height:1.6}
.wordStudyCard h3{font:600 20px/1.2 var(--title);color:var(--navy)}

/* ===================== r16 · Mock B in the app ===================== */
body{--votdLine:#C9A227;--darkBar:#0E3A4D;--darkBarInk:#FBFAF6;--darkBarGold:#E3C56C}
body[data-theme="olive"]{--darkBar:#2E3A16}
body[data-theme="dark"]{--darkBar:#1B2A33}

body[data-theme="parchment"]{--darkBar:#3A2A10;--votdLine:#9A7414}
.srOnly{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* tabs: gold active bar */
.tab{position:relative}.tab.on:before{content:"";position:absolute;top:-6px;left:50%;width:28px;height:3px;margin-left:-14px;border-radius:0 0 3px 3px;background:var(--votdLine)}
.tab.on .ic{background:transparent}
@media (min-width:700px){.tab.on:before{top:50%;left:-10px;width:3px;height:28px;margin:-14px 0 0;border-radius:0 3px 3px 0}}
/* home header */
.hTop .greet{flex:1;min-width:0}
.hTop .greet p{margin:0;font:600 11px/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--goldText)}
.hTop .greet h1{margin:2px 0 0;font:600 27px/1.1 var(--title);color:var(--navy);letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.micBtn{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--accentText)}
.micBtn .ic{width:19px;height:19px}
#view-home .askSlim .micBtn .ic{color:var(--accentText)}
.askHelp.warn{color:var(--ink);font-weight:600}
/* verse of the day: slim, light card (no big dark block) */
.votd{position:relative;margin:4px 0 14px;padding:14px 16px 12px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--tileLine);box-shadow:var(--cardShadow)}
.votd:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--votdLine)}
.votd .eyebrow{color:var(--goldText)}
.votdText{margin:8px 0 6px;font:var(--vw) 19px/1.42 var(--title);color:var(--verseInk);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body[data-face="sans"] .votdText{font-family:var(--ui);font-size:16.5px}
.votd cite{display:block;font:600 12.5px/1.2 var(--ui);letter-spacing:.04em;color:var(--goldText);font-style:normal}
.votdActs{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.votdActs button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;font:600 12.5px var(--ui);color:var(--ink)}
.votdActs button.p{background:var(--fill);border-color:var(--fill);color:var(--onFill)}
.votdActs button[aria-pressed=true]{color:var(--goldText);border-color:var(--votdLine)}
.votdActs .ic{width:15px;height:15px}
/* continue reading */
#view-home .hero.contCard{padding:0;margin:0 0 16px;background:var(--surface);border-radius:18px}
.contBtn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 12px 12px 14px;text-align:left;color:var(--ink)}
.contBk{flex:none;width:42px;height:50px;border-radius:7px 10px 10px 7px;background:linear-gradient(90deg,rgba(0,0,0,.22) 0 5px,transparent 5px),var(--darkBar);display:grid;place-items:center;color:var(--darkBarGold);font:600 15px var(--title)}
.contT{flex:1;min-width:0}.contT .eyebrow{display:block;color:var(--muted)}
.contT b{display:block;font:600 16px/1.2 var(--ui);margin:3px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contProg{display:block;height:4px;border-radius:9px;background:var(--line);overflow:hidden}.contProg i{display:block;height:100%;width:0;background:var(--accent);border-radius:9px;transition:width .4s}
.contT small{display:block;margin-top:5px;font:400 12px var(--ui);color:var(--muted)}
.contGo{flex:none;width:42px;height:42px;border-radius:50%;background:var(--fill);color:var(--onFill);display:grid;place-items:center}.contGo .ic{width:18px;height:18px}
/* quick actions */
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 4px}
.qaBtn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;border-radius:16px;background:var(--surface);border:1px solid var(--tileLine);box-shadow:var(--cardShadow);font:600 12px/1.2 var(--ui);text-align:center;color:var(--ink);min-width:0}
.qaBtn .q{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--tint);color:var(--accentText)}
.qaBtn:nth-child(2) .q{background:rgba(201,162,39,.16);color:var(--goldText)}
.qaBtn small{display:block;font:400 10.5px/1.2 var(--ui);color:var(--muted)}
.homeSec{margin-top:20px}
/* family rail */
.rail{display:flex;gap:10px;overflow-x:auto;margin:0 -18px;padding:2px 18px 8px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{display:none}
.storyCard,.gameTile{flex:none;width:148px;scroll-snap-align:start;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--tileLine);box-shadow:var(--cardShadow);color:var(--ink);text-align:left}
.storyCard img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--surface2)}
.storyCard>span{display:block;padding:8px 10px 10px}.storyCard b{display:block;font:600 17px/1.15 var(--title);color:var(--navy)}.storyCard small{font:400 11.5px var(--ui);color:var(--muted)}
.gameTile{display:flex;flex-direction:column;gap:3px;padding:12px;min-height:168px}.gameTile .xIc{margin-bottom:auto;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--tint);color:var(--accentText)}
.gameTile b{font:600 14.5px/1.2 var(--ui)}.gameTile small{font:400 11.5px var(--ui);color:var(--muted)}
/* reader chrome */
.refPills{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;gap:6px}
.readerBar .refBtn{flex:0 1 auto;min-width:0;min-height:38px;height:38px;flex-direction:row;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--surface)}
.readerBar .refMain{font:600 15px/1 var(--ui)}.readerBar .refMain .ic{width:15px;height:15px;color:var(--muted)}
.trBtn{flex:none;display:inline-flex;align-items:center;gap:3px;height:38px;padding:0 10px 0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--surface);font:700 12.5px/1 var(--ui);letter-spacing:.06em;color:var(--accentText);white-space:nowrap}
.trBtn .ic{width:14px;height:14px}
.readerBar{position:fixed}.rProg{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line);pointer-events:none}.rProg i{display:block;height:100%;width:0;background:var(--votdLine)}
.runHead .prog{display:none}body.focus .runHead .prog{display:block}
.chapPill{position:fixed;z-index:32;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line2);box-shadow:0 10px 26px -14px rgba(var(--shadowC),.55)}
.chapPill button{min-width:40px;height:40px;border-radius:999px;display:grid;place-items:center;color:var(--navy)}
.chapPill .pillRef{padding:0 10px;font:600 13.5px var(--ui);color:var(--ink);white-space:nowrap}
.chapPill .ic{width:18px;height:18px}
body:not(.v-bible) .chapPill,body.focus .chapPill,body.sheetOpen .chapPill,body.inGame .chapPill{display:none}
.parLine{display:block;margin:4px 0 2px;padding-left:10px;border-left:2px solid var(--line2);font:400 calc(var(--fs) * .72)/1.5 var(--ui);color:var(--ink2)}
.parLine b{font:700 10.5px var(--ui);letter-spacing:.08em;color:var(--accentText);margin-right:4px}
/* dark verse action bar (a sheet, so back/escape close it) */
body.vbarOpen .scrim{background:transparent}
.sheet.vbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-height:none;padding:6px 6px 8px;border-radius:20px;border:0;background:var(--darkBar);color:var(--darkBarInk);box-shadow:0 16px 36px -14px rgba(0,0,0,.6)}
.vbarRef{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 4px 12px}.vbarRef b{font:600 13px var(--ui);color:var(--darkBarGold);letter-spacing:.02em}
.vbarX{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--darkBarInk)}.vbarX .ic{width:18px;height:18px}
.vbarActs{display:flex;justify-content:space-between}
.vbarActs button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border-radius:12px;font:500 10.5px/1.1 var(--ui);color:var(--darkBarInk)}
.vbarActs button:first-child{color:var(--darkBarGold)}.vbarActs .ic{width:21px;height:21px}
@media (max-width:360px){.vbarActs button{font-size:9.5px}.vbarActs .ic{width:19px;height:19px}}
/* translations sheet */
.grp{display:flex;justify-content:space-between;margin:16px 4px 8px;font:600 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--goldText)}.grp span{letter-spacing:0;text-transform:none;font-weight:500;color:var(--muted)}
.tl{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.tr2{display:flex;align-items:center;gap:10px;padding:4px 12px 4px 4px;border-top:1px solid var(--line)}.tr2:first-child{border-top:0}
.trPick,.trPick2{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px;min-height:56px;text-align:left;color:var(--ink);border-radius:14px}
.tl.soon .tr2{padding:12px 14px;opacity:.75}
.radio{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line2)}.on>.radio{border:7px solid var(--fill)}.radio.off{border-style:dashed}
body[data-theme=dark] .on>.radio{border-color:var(--accent)}
.tr2 .m{flex:1;min-width:0}.tr2 .m b{display:block;font:700 15px/1.2 var(--ui)}.tr2 .m b i{font-style:normal;color:var(--muted);font-weight:500;margin-left:6px;font-size:12.5px}.tr2 .m small{display:block;margin-top:2px;font:400 12.5px/1.3 var(--ui);color:var(--muted)}
.dl{flex:none;display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font:600 11.5px var(--ui);border:1px solid var(--line2);color:var(--muted)}
.offSw{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;min-width:58px;padding:6px 0}
.offSw input{position:absolute;opacity:0;width:1px;height:1px}
.offSw .sw{position:relative;width:44px;height:26px;border-radius:13px;background:var(--line2);transition:background .2s}
.offSw .sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}
.offSw input:checked+.sw{background:var(--fill)}.offSw input:checked+.sw:after{left:21px}
body[data-theme=dark] .offSw input:checked+.sw{background:var(--accent)}
.offSw input:focus-visible+.sw{outline:2px solid var(--accent);outline-offset:2px}
.offSw em{font:600 10.5px var(--ui);font-style:normal;color:var(--muted)}.offSw.on em{color:var(--accentText)}.offSw.busy em{color:var(--goldText)}
#trSheet .note,#view-compare .note{margin:8px 4px 0;font:400 12.5px/1.4 var(--ui);color:var(--muted)}
#trSheet .switchRow{margin-top:14px}
#trSheet .btn.wide{width:100%;margin-top:16px;justify-content:center}
.credit{margin:14px 4px 4px;font:400 11.5px/1.45 var(--ui);color:var(--muted)}
.redNote{margin:6px 4px 0}
.switchRow[disabled]{opacity:.55}
/* formal ↔ dynamic line */
.spec{position:relative;height:6px;border-radius:9px;background:linear-gradient(90deg,#0E3A4D,#1F6F8B 55%,#C9A227);margin:30px 10px 36px}
body[data-theme=dark] .spec{background:linear-gradient(90deg,#5FA8BF,#8BC0CF 55%,#E3C56C)}
.specDot{position:absolute;top:50%;transform:translate(-50%,-50%)}
.specDot i{display:block;width:14px;height:14px;border-radius:50%;background:var(--surface);border:2.5px solid var(--fill)}
body[data-theme=dark] .specDot i{border-color:var(--ink)}
.specDot.on i{width:18px;height:18px;background:var(--votdLine)}
.specDot.soon i{border-style:dashed}
.specDot b{position:absolute;left:50%;transform:translateX(-50%);top:-22px;font:700 10.5px var(--ui);color:var(--ink2);white-space:nowrap}
.specDot:nth-child(odd) b{top:auto;bottom:-22px}
.specCard{margin:14px 0 0;padding:14px 14px 4px;border-radius:18px;background:var(--surface);border:1px solid var(--tileLine)}
.specEnds{display:flex;justify-content:space-between;margin:0 0 10px;font:400 11px/1.3 var(--ui);color:var(--muted)}.specEnds b{display:block;font:600 12px var(--ui);color:var(--ink)}.specEnds span:last-child{text-align:right}
/* compare */
.cmpGrid{display:grid;gap:10px}
#view-compare .cmpRow{padding:14px 16px;border:1px solid var(--tileLine);border-radius:16px;background:var(--surface)}
#view-compare .cmpRow header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
#view-compare .cmpRow header b{font:800 14px var(--ui);color:var(--accentText)}
.cmpInfo{margin-left:auto;font:600 11px var(--ui);color:var(--goldText)}
#view-compare .cmpRow p{margin:8px 0 4px;font:var(--vw) calc(var(--fs) * .92)/1.55 var(--face);color:var(--verseInk)}
#view-compare .cmpRow.soon{opacity:.72;border-style:dashed}
#view-compare .cmpRow.soon p{font:400 13px var(--ui)}
/* voice overlay */
.voiceOv{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:rgba(6,16,21,.9)}
.voiceOv[hidden]{display:none}
.voiceBox{width:min(420px,100%);text-align:center;color:#FBFAF6}
.voiceOrb{width:96px;height:96px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#0E3A4D;border:2px solid #E3C56C;color:#E3C56C}
.voiceOrb .ic{width:40px;height:40px}
.voiceOv[data-state=listen] .voiceOrb{animation:vPulse 1.6s ease-in-out infinite}
@keyframes vPulse{0%,100%{box-shadow:0 0 0 0 rgba(227,197,108,.45)}50%{box-shadow:0 0 0 18px rgba(227,197,108,0)}}
.voiceSay{margin:0 0 10px;font:600 26px/1.3 var(--title)}
.voiceLive{min-height:28px;margin:0 0 22px;font:400 18px/1.4 var(--ui);color:#E3C56C;word-break:break-word}
.voiceBtns{display:flex;justify-content:center;gap:10px}
.voiceBtns .btn{min-width:130px;background:rgba(251,250,246,.12);border:1px solid rgba(251,250,246,.3);color:#FBFAF6}
.voiceOv[data-state=fallback] #voiceType{background:#FBFAF6;color:#0E3A4D}
body.voiceOn{overflow:hidden}
.safeCard{margin:16px 0;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--tileLine)}
.safeCard b{display:block;font:600 17px/1.35 var(--ui);color:var(--ink)}.safeCard .small{display:block;margin-top:6px}
/* responsive: small phones, tablets (side rail), desktop */
@media (max-width:360px){.view{padding-left:14px;padding-right:14px}.rail{margin:0 -14px;padding-left:14px;padding-right:14px}.qa{gap:6px}.qaBtn{padding:10px 2px 8px;font-size:11px}.qaBtn small{display:none}.qaBtn .q{width:38px;height:38px}.hTop .greet h1{font-size:23px}.votdText{font-size:18px}.trBtn{padding:0 8px}.readerBar .refBtn{padding:0 9px}}
@media (min-width:700px){
 .chapPill{left:calc(var(--rail) + (100vw - var(--rail))/2);bottom:24px}
 .sheet.vbar{left:calc(var(--rail) + (100vw - var(--rail) - 640px)/2);right:auto;width:640px;bottom:24px;border-radius:22px;padding:8px 10px 10px}
 .rail{margin:0;padding:2px 0 8px}
 .storyCard,.gameTile{width:176px}
 .votdText{font-size:21px;-webkit-line-clamp:3}
 .cmpGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
 #landingPage>*{max-width:920px;margin-left:auto;margin-right:auto}
 #landingPage>.rail{max-width:920px}
}
@media (min-width:1100px){
 .rail{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible}.storyCard,.gameTile{width:auto}
 #landingPage>*{max-width:1000px}
}
/* low-end phones & reduced motion: no blur, lighter shadows, no animation */
body.lite *,body.lite *:before,body.lite *:after{animation:none!important;transition-duration:0s!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.lite .qaBtn,body.lite .storyCard,body.lite .gameTile,body.lite .votd,body.lite #view-home .hero,body.lite .libItem,body.lite .chapPill,body.lite .sheet{box-shadow:none!important}
body.lite .view{animation:none}
@media (prefers-reduced-motion:reduce){.voiceOv[data-state=listen] .voiceOrb{animation:none}.rail{scroll-behavior:auto}}

/* r18: continue badge + family cards */
.contBk{width:48px;height:54px;font:700 18px/1 var(--ui);letter-spacing:.01em;color:#F1D88A;text-shadow:0 1px 1px rgba(0,0,0,.35)}
body[data-theme="dark"] .contBk{border:1px solid #33505F}
.famGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.famCard{display:flex;flex-direction:column;min-width:0;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--tileLine);box-shadow:var(--cardShadow);color:var(--ink);text-align:left;padding:0}
.famCard img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--surface2)}
.famT{display:block;padding:9px 10px 11px}
.famT b{display:block;font:600 14px/1.2 var(--ui);color:var(--ink)}
.famT small{display:block;margin-top:3px;font:400 11.5px/1.3 var(--ui);color:var(--muted)}
@media (max-width:360px){.famGrid{gap:8px}.famT{padding:8px 8px 10px}.famT b{font-size:13px}.famT small{font-size:10.5px}}
@media (min-width:700px){.famGrid{gap:14px}.famT{padding:12px 14px 14px}.famT b{font-size:16px}.famT small{font-size:12.5px}}
@media (hover:hover){.famCard:hover{border-color:var(--tint2)}}
body.lite .famCard{box-shadow:none}
@media (max-width:699px){.famT b{min-height:2.4em;display:flex;align-items:flex-end}}
/* r19: licensed translations (API.Bible) */
.licHead{font:700 calc(var(--fs) * .78)/1.4 var(--ui);color:var(--ink2);margin:18px 0 8px;letter-spacing:.01em}
.licFoot{margin:26px 0 8px;padding-top:14px;border-top:1px solid var(--line);font:400 13px/1.5 var(--ui);color:var(--ink2)}
.licFoot p{margin:0 0 6px}
.licFoot a,.apiNote a{color:var(--accentText);font-weight:700}
.cmpCr{display:block;font:400 11.5px/1.4 var(--ui);color:var(--ink2);margin:2px 0 4px}
.apiNote{margin:8px 2px 4px;font:400 12.5px/1.4 var(--ui);color:var(--ink2)}

/* ===== r20: Home "Open Bible hero" (Variation B), topic chips on focus, reading plans, reader clarity ===== */
body{--heroBg:#0E3A4D;--heroInk:#FFFFFF;--heroSub:rgba(255,255,255,.82);--heroGold:#F1D88A;--heroLine:rgba(255,255,255,.26);--heroField:rgba(255,255,255,.1);--heroBtn:#F1D88A;--heroBtnInk:#0A2C3B;--hbGap:30px;--hbLbl:var(--goldText)}
body[data-theme="olive"]{--heroBg:#1E293B}
body[data-theme="dark"]{--heroBg:#16303B;--heroLine:rgba(255,255,255,.2)}
body[data-theme="parchment"]{--heroBg:#3A2A10;--heroGold:#F0D48A;--heroBtn:#F0D48A;--heroBtnInk:#2A1C08}
#view-home{padding-bottom:8px}
#view-home .hbHero{position:relative;margin:0 -18px;padding:0 20px 22px;padding-top:env(safe-area-inset-top);background:var(--heroBg);color:var(--heroInk);border-radius:0 0 28px 28px}
body[data-theme="dark"] #view-home .hbHero{border:1px solid var(--line2);border-top:0}
.hbTop{display:flex;align-items:center;gap:12px;padding:18px 0 0}
.hbLogo{width:44px;height:44px;flex:none;filter:invert(1)}
.hbGreet{flex:1;min-width:0}
.hbGreet p{margin:0;font:600 11.5px/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--heroGold)}
.hbGreet h1{margin:2px 0 0;font:600 29px/1.1 var(--title);color:var(--heroInk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbIconBtn{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;border:1px solid var(--heroLine);color:var(--heroInk)}
.hbIconBtn .ic{width:20px;height:20px}
.hbLbl{display:flex;align-items:center;gap:8px;margin:0 2px 14px;font:600 12px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--hbLbl)}
.hbLbl .ic{width:18px;height:18px;flex:none}
.hbLblHero{margin:26px 2px 14px;color:var(--heroGold)}
.hbOpen{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:10px 16px 10px 18px;border-radius:18px;background:var(--heroBtn);color:var(--heroBtnInk);text-align:left;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
.hbOpen .ic{width:26px;height:26px;flex:none}.hbOpen .hbGo{width:22px;height:22px;margin-left:auto}
.hbOpenT{display:flex;flex-direction:column;gap:4px;min-width:0}
.hbOpenT b{font:700 20px/1.1 var(--ui)}.hbOpenT small{font:500 14.5px/1.2 var(--ui);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbProg{height:4px;margin:12px 4px 0;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden}.hbProg i{display:block;height:100%;width:0;background:var(--heroGold);transition:width .4s}
.hbCite{margin:7px 4px 0;font:500 13.5px/1.3 var(--ui);color:var(--heroSub)}
.hbJump{display:flex;gap:10px;margin-top:16px}
.hbSel{display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 12px 8px 14px;border-radius:14px;border:1px solid var(--heroLine);background:var(--heroField);color:var(--heroInk);text-align:left}
.hbSel span{display:flex;flex-direction:column;gap:4px;min-width:0}
.hbSel small{font:600 11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--heroSub)}
.hbSel b{font:700 17px/1.1 var(--ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbSel .ic{width:18px;height:18px;margin-left:auto;flex:none;color:var(--heroGold)}
.hbSelCh{flex:1.7;min-width:0}.hbSelTr{flex:1;min-width:0}
.hbPlanLink{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;padding:0 4px;font:600 15px/1.2 var(--ui);color:var(--heroGold)}
.hbPlanLink .ic{width:18px;height:18px;flex:none}.hbPlanLink span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbSearch{margin-top:10px}
.hbField{display:flex;align-items:center;gap:8px;height:50px;padding:0 4px 0 14px;border-radius:14px;background:var(--heroField);border:1px solid var(--heroLine);color:var(--heroSub)}
.hbField:focus-within{border-color:var(--heroGold);box-shadow:0 0 0 3px rgba(241,216,138,.22)}
.hbField>.ic{width:19px;height:19px;flex:none}
.hbField input{flex:1;min-width:0;height:44px;border:0;background:transparent;outline:0;font:500 16px/1.2 var(--ui);color:var(--heroInk)}
.hbField input::placeholder{color:var(--heroSub);opacity:1}
.hbField input::-webkit-search-cancel-button{filter:invert(1)}
.hbMic,.hbAskGo{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:11px;color:var(--heroInk)}
.hbAskGo{background:var(--heroBtn);color:var(--heroBtnInk)}.hbMic .ic,.hbAskGo .ic{width:19px;height:19px}
.hbChipsWrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--ease),margin .25s var(--ease);visibility:hidden;transition-property:grid-template-rows,margin,visibility;transition-delay:0s,0s,.25s}
.hbChipsWrap.open{grid-template-rows:1fr;margin-top:12px;visibility:visible;transition-delay:0s}
.hbChips{display:flex;flex-wrap:wrap;gap:8px;overflow:hidden;min-height:0}
#view-home .hbChips .askChip{min-height:38px;padding:0 14px;border-radius:999px;font:500 14.5px/1 var(--ui);background:transparent;border:1px solid var(--heroLine);color:var(--heroInk)}
#view-home .hbChips .askChip.more{border-style:dashed;color:var(--heroGold)}
.hbChipsWrap.open .askChip{animation:hbChipIn .25s var(--ease) both;animation-delay:calc(var(--i,0) * 35ms)}
@keyframes hbChipIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* section cards */
#view-home .hbCard,#view-home .hbExplore{margin-top:var(--hbGap)}
#view-home .hbCard{position:relative;padding:18px 18px 16px;border-radius:20px;background:var(--surface);border:1px solid var(--line2);box-shadow:var(--cardShadow)}
#view-home .hbVotd{margin-top:calc(var(--hbGap) + 4px);margin-bottom:6px;padding-left:22px}
#view-home .hbVotd:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--votdLine,#C9A227)}
#view-home .hbVotd .votdText{margin:0 0 8px;font:600 20px/1.45 var(--title);color:var(--verseInk);-webkit-line-clamp:5}
body[data-face="sans"] #view-home .hbVotd .votdText,body[data-face="mu"] #view-home .hbVotd .votdText{font:500 17px/1.5 var(--ui)}
#view-home .hbVotd cite{font:600 14px/1.2 var(--ui);color:var(--goldText);font-style:normal;display:block}
#view-home .hbVotd .votdActs{margin-top:12px}
/* plans card on home */
.hpT{margin:0 0 10px;font:700 19px/1.25 var(--ui);color:var(--ink)}
.hpS{margin:10px 0 0;font:500 15.5px/1.45 var(--ui);color:var(--ink2)}.hpS b{color:var(--ink);font-weight:700}
.hpActs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.hpBtn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:12px;border:1px solid var(--line2);font:600 15px/1 var(--ui);color:var(--ink)}
.hpBtn.p{background:var(--fill);border-color:var(--fill);color:var(--onFill)}.hpBtn .ic{width:18px;height:18px}
.hpLink{min-height:44px;display:inline-flex;align-items:center;padding:0 8px;font:600 15px/1 var(--ui);color:var(--accentText);text-decoration:underline;text-underline-offset:4px}
.hpList{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.hpRow{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 12px;font:600 16.5px/1.2 var(--ui);color:var(--ink)}
.hpRow+.hpRow{border-top:1px solid var(--line)}.hpRow>.ic{margin-left:auto;width:18px;height:18px;color:var(--muted);flex:none}
.plDays{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:14px;background:var(--tint);color:var(--accentText);font:600 10.5px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase}
.plDays b{font:700 20px/1 var(--ui);letter-spacing:0;margin-bottom:2px}
.plDays.sm{width:44px;height:44px;border-radius:12px}.plDays.sm b{font-size:17px}
.plBar{display:block;height:6px;border-radius:3px;background:var(--surface2);overflow:hidden}.plBar i{display:block;height:100%;background:var(--votdLine,#C9A227);border-radius:3px}
/* explore tiles */
.hbGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hbTile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:112px;padding:14px;border-radius:18px;background:var(--surface);border:1.5px solid var(--line2);color:var(--ink);box-shadow:0 1px 2px rgba(var(--shadowC),.05)}
.hbTile .hbTi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accentText);margin-bottom:6px}
.hbTile .hbTi .ic{width:22px;height:22px}
.hbTile b{font:700 16.5px/1.2 var(--ui)}.hbTile small{font:500 13.5px/1.25 var(--ui);color:var(--muted)}
@media (hover:hover){.hbTile:hover{border-color:var(--accent)}.hbOpen:hover{filter:brightness(1.04)}.hbSel:hover{background:rgba(255,255,255,.14)}}
#view-home .homeFoot{margin-top:var(--hbGap)}
@media (min-width:700px){
 #view-home .hbHero{margin:24px auto 0;border-radius:28px;padding:0 32px 28px}
 #view-home>.hbHero{max-width:1000px}
 .hbGrid{grid-template-columns:repeat(4,1fr)}
 .hbTop{padding-top:28px}
}
@media (max-width:360px){.hbGreet h1{font-size:24px}.hbOpenT b{font-size:18px}.hbSel b{font-size:15.5px}}
/* reading plans view */
#view-plans>*{max-width:760px;margin-left:auto;margin-right:auto}
@media (min-width:700px){#view-plans>.subBar{max-width:none;margin:0 -36px}}
.plansBody{padding-bottom:32px}
.plCard{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:16px;border-radius:20px;background:var(--surface);border:1px solid var(--line2);box-shadow:var(--cardShadow);color:var(--ink)}
.plCard>.ic{width:20px;height:20px;color:var(--muted);flex:none}
.plMain{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.plMain b{font:700 19px/1.2 var(--ui)}.plMain small{font:400 15px/1.4 var(--ui);color:var(--ink2)}.plMain em{font:600 13.5px/1.2 var(--ui);font-style:normal;color:var(--goldText)}
.plHead{display:flex;gap:14px;align-items:center;margin:18px 0 14px}.plHead h2{margin:0;font:600 28px/1.1 var(--title);color:var(--navy)}.plHead p{margin:4px 0 0;font:400 16px/1.45 var(--ui);color:var(--ink2)}
.plCount{margin:8px 2px 0;font:500 14px/1 var(--ui);color:var(--muted)}
.plGo{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;margin:18px 0 8px;padding:10px 18px;border-radius:18px;background:var(--fill);color:var(--onFill);text-align:left}
.plGo .ic{width:24px;height:24px;flex:none}.plGo span{display:flex;flex-direction:column;gap:4px}.plGo b{font:700 19px/1.1 var(--ui)}.plGo small{font:500 15px/1.2 var(--ui);opacity:.9}
.plFin{display:flex;align-items:center;gap:10px;margin:18px 0 8px;padding:14px 16px;border-radius:16px;background:var(--tint);font:600 16px/1.3 var(--ui);color:var(--accentText)}.plFin .ic{width:22px;height:22px}
.plDaysList{list-style:none;margin:16px 0 0;padding:0;border:1px solid var(--line2);border-radius:18px;background:var(--surface);overflow:hidden}
.plDay{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 8px}.plDay+.plDay{border-top:1px solid var(--line)}
.plChk{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%}
.plChk .ic{width:28px;height:28px;padding:4px;border-radius:50%;border:2px solid var(--line2);color:transparent;transition:background-color .2s,color .2s,border-color .2s}
.plDay.done .plChk .ic{background:var(--fill);border-color:var(--fill);color:var(--onFill)}
.plDayMain{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding:10px 6px;text-align:left;color:var(--ink)}
.plDayMain small{font:600 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--goldText)}
.plDayMain b{font:700 18px/1.25 var(--ui)}.plDayMain span{font:400 15px/1.35 var(--ui);color:var(--ink2)}
.plDay.done .plDayMain b{color:var(--ink2)}
.plReset{display:block;margin:18px auto 0;min-height:44px;padding:0 14px;font:600 14.5px/1 var(--ui);color:var(--muted);text-decoration:underline;text-underline-offset:4px}
/* reader clarity (from mocks/reader-fix.css): real weights, no faux bold/small caps, default smoothing, no extra tracking */
body{--vw:400}
body[data-face="cg"],body[data-face="sans"],body[data-theme="dark"]{--vw:400}
.verse,.vText p,.preview,.wesleyRead p{font-synthesis:style;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;letter-spacing:0}
body.faceCg .verse{font-weight:400;letter-spacing:0}
body[data-face="cg"] .vText p{font-size:calc(var(--fs) * .93)}
.lord{letter-spacing:.02em}
body[data-face="mu"] .lord,body[data-face="sans"] .lord{font-synthesis:style small-caps}
@media (min-width:1000px){
 .chapter{max-width:760px}
 body.focus .chapter{max-width:780px}
 .verse{font-size:calc(var(--fs) + .5px);line-height:calc(var(--lh) * .92);margin-bottom:.6em}
}
@media (prefers-reduced-motion:reduce){.hbChipsWrap,.hbChipsWrap.open{transition:none}.hbChipsWrap.open .askChip{animation:none}.hbProg i{transition:none}}

/* ===== r21: topic "rolodex" wheel under the home search ===== */
.hbWheelWrap{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-6px);transition:grid-template-rows .26s var(--ease),opacity .2s ease,transform .26s var(--ease),margin .26s var(--ease)}
.hbWheelWrap[hidden]{display:none}
.hbWheelWrap.open{grid-template-rows:1fr;opacity:1;transform:none;margin-top:10px}
.hbWheelIn{min-height:0;overflow:hidden}
.hbWheelHint{margin:0;overflow:hidden;font:500 12.5px/1.6 var(--ui);letter-spacing:.04em;color:var(--heroSub);text-align:center}
.hbWheelBox{position:relative;--ih:46px}
.hbWheelBand{position:absolute;left:10px;right:10px;top:calc(50% - var(--ih)/2);height:var(--ih);border-radius:12px;background:rgba(255,255,255,.1);border:1px solid var(--heroGold);pointer-events:none}
.hbWheel{list-style:none;margin:0;padding:calc(var(--ih)*2) 0;height:calc(var(--ih)*5);overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);
 -webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%),linear-gradient(to right,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}
.hbWheel::-webkit-scrollbar{display:none}
.hwItem{--d:3;height:var(--ih);display:flex;align-items:center;justify-content:center;scroll-snap-align:center;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.hwItem span{display:block;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 19px/1.2 var(--ui);color:var(--heroInk);transform:scale(calc(1 - var(--d) * .13));opacity:calc(1 - var(--d) * .3);transition:color .15s}
.hwItem.on span{font-weight:700;font-size:21px;color:var(--heroGold)}
.hwItem.more span{font-style:italic}
@media (hover:hover){.hwItem:hover span{color:var(--heroGold)}}
.hbWheel:focus-visible{outline:2px solid var(--heroGold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.hbWheelWrap,.hbWheelWrap.open{transition:none;transform:none}}
@media (min-width:700px){.hbWheelBox{max-width:520px;margin:0 auto}}

/* ===== r22: theme audit fixes, new Parchment, desktop (>=1024px) layout ===== */
/* words of Jesus: >=7:1 on light themes */
body{--wj:#962A20}
body[data-theme="olive"]{--wj:#962A20}
body.noRed{--wj:inherit}
/* Parchment, redesigned: warm aged paper, deep brown-black ink, burgundy/sepia accents */
body[data-theme="parchment"]{--bg:#F4ECDC;--surface:#FBF7EE;--surface2:#EFE5D0;--ink:#1F160D;--ink2:#3A2C1E;--verseInk:#1C140C;--muted:#5A4632;
 --accent:#7A3530;--accentText:#6A2E2A;--fill:#6A2E2A;--onFill:#FFFFFF;--tint:#F3E6DD;--tint2:#E5CFC3;--line:#DFD0B4;--line2:#C4AE88;
 --bar:rgba(250,245,234,.96);--wj:#8A2A22;--mark:#EADFC4;--hl:#F3DD9B;--scrim:rgba(40,26,12,.42);--shadowC:70,45,20;--shadow:rgba(70,45,20,.14);
 --goldText:#6B4A12;--navy:#3E231F;--gold:#A07A2C;--votdLine:#A07A2C;--tileLine:rgba(70,45,20,.22);--searchLine:rgba(70,45,20,.38);
 --panelBg:#EFE5D0;--panelLine:#D3BF9B;--kidsBg:#EADCC0;--darkBar:#4A2421;
 --heroBg:#4A2421;--heroGold:#F0D9A0;--heroBtn:#F3E3BE;--heroBtnInk:#3E231F;--heroLine:rgba(255,240,215,.3);--heroField:rgba(255,240,215,.09);
 background-color:var(--bg);
 background-image:radial-gradient(120% 80% at 50% -10%,rgba(255,252,243,.75),rgba(255,252,243,0) 60%),radial-gradient(90% 70% at 100% 110%,rgba(150,105,50,.10),rgba(150,105,50,0) 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .18 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
 background-attachment:fixed}
body[data-theme="parchment"] .hbTile .hbTi,body[data-theme="parchment"] .plDays{background:var(--tint);color:var(--accentText)}
body[data-theme="parchment"] .hbCard,body[data-theme="parchment"] .hbTile,body[data-theme="parchment"] .plCard,body[data-theme="parchment"] .plDaysList{border-color:var(--line2)}

.deskOnly{display:none!important}
@media (min-width:1024px){
 :root{--rail:0px;--topH:72px}
 .deskOnly{display:revert!important}
 /* top navigation bar */
 .tabbar{top:0;bottom:auto;left:0;right:0;width:auto;height:var(--topH);flex-direction:row;justify-content:flex-start;align-items:center;gap:4px;padding:0 28px;border-right:0;border-top:0;border-bottom:1px solid var(--line);background:var(--bar);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .railLogo{height:auto;margin:0 18px 0 0}.railLogo img{width:46px;height:46px}
 .tab{flex:none;flex-direction:row;gap:8px;min-height:46px;height:46px;padding:0 16px;border-radius:12px;font:600 16px/1 var(--ui);color:var(--ink2)}
 .tab .ic{width:20px;height:20px;padding:0;border-radius:0;background:none!important}
 #readerBack{display:none}
 .tab.on{color:var(--accentText);background:var(--tint)}.tab.on span{color:var(--ink);font-weight:700}
 .tab.on:before{top:auto;bottom:-13px;height:3px;width:calc(100% - 24px);left:12px;margin-left:0;border-radius:3px 3px 0 0}
 .navSearch{display:flex!important;align-items:center;gap:8px;margin-left:auto;width:min(340px,28vw);height:46px;padding:0 10px 0 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--surface);color:var(--muted)}
 .navSearch:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint2)}
 .navSearch .ic{width:19px;height:19px;flex:none}
 .navSearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 16px/1.2 var(--ui);color:var(--ink)}
 .navSearch input::placeholder{color:var(--muted);opacity:1}
 .navSearch kbd{font:600 12px/1 var(--ui);color:var(--muted);border:1px solid var(--line2);border-radius:6px;padding:4px 7px}
 .railOnly{display:flex;margin:0 0 0 8px!important;width:46px;padding:0;justify-content:center}
 .railOnly span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 body.focus:not(.peek) .tabbar{transform:translateY(-110%)}
 .view{margin-left:0;padding:var(--topH) 40px 64px}
 .subBar{top:var(--topH);margin:0 -40px;padding:10px 40px}
 #view-ask>.subBar,#view-watch>.subBar,#view-games>.subBar,#view-sermons>.subBar,#view-plans>.subBar{margin:0 -40px}
 /* reader */
 .readerBar{top:var(--topH);left:0;padding:10px max(24px,calc(50vw - 440px));gap:8px}
 body.focus .readerBar{top:0}
 #view-bible{padding-top:calc(var(--topH) + 84px)}
 .readerBar .refBtn{height:46px;min-height:46px;padding:0 18px}.readerBar .refMain{font:600 17px/1 var(--ui)}
 .trBtn{height:46px;padding:0 14px 0 16px;font-size:14px}
 .readerBar .iconBtn,.readerBar .aa{width:46px;height:46px}
 .barNav{display:inline-grid!important;border:1px solid var(--line2);background:var(--surface)}
 .runHead{top:0}
 /* home: 2 columns, max 1200px, ~20% larger */
 #view-home{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px 32px;align-items:start;max-width:1200px;margin:0 auto;padding-top:calc(var(--topH) + 26px)}
 #view-home>*{max-width:none!important;margin:0!important}
 #view-home .hbHero{display:flex;flex-direction:column;grid-column:1;grid-row:1 / span 2;align-self:stretch;border-radius:28px;padding:6px 36px 34px}
 #view-home .hbVotd{grid-column:2;grid-row:1}
 #view-home .hbPlans{grid-column:2;grid-row:2}
 #view-home .hbExplore{grid-column:1 / -1}
 #view-home .homeFoot,#view-home .legalFoot{grid-column:1 / -1}
 .hbTop{padding-top:26px}.hbGreet h1{font-size:36px}.hbGreet p{font-size:13px}.hbLogo{width:52px;height:52px}
 .hbLbl{font-size:13.5px;gap:10px;margin-bottom:16px}.hbLbl .ic{width:20px;height:20px}
 .hbOpen{min-height:84px;padding:12px 22px;border-radius:20px}.hbOpenT b{font-size:25px}.hbOpenT small{font-size:17px}.hbOpen .ic{width:30px;height:30px}
 .hbCite{font-size:15.5px}
 .hbSel{min-height:66px;padding:10px 16px}.hbSel b{font-size:20px}.hbSel small{font-size:12.5px}
 .hbPlanLink{font-size:17px;min-height:48px}
 .hbField{height:58px;border-radius:16px}.hbField input{font-size:18px}.hbMic,.hbAskGo{width:48px;height:48px}
 .hbWheelBox{--ih:52px}.hwItem span{font-size:21px}.hwItem.on span{font-size:24px}.hbWheelHint{font-size:14px}
 #view-home .hbCard{padding:24px 26px 22px;border-radius:24px}
 #view-home .hbVotd{padding-left:30px}
 #view-home .hbVotd .votdText{font-size:25px;-webkit-line-clamp:6}
 #view-home .hbVotd cite{font-size:16px}
 #view-home .hbVotd .votdActs button{min-height:46px;font-size:15.5px;padding:0 16px}
 .hpT{font-size:22px}.hpS{font-size:17.5px}.hpRow{font-size:19px;min-height:66px}.hpBtn{min-height:50px;font-size:16.5px}
 .hbGrid{grid-template-columns:repeat(4,1fr);gap:16px}
 .hbTile{min-height:150px;padding:20px;border-radius:22px;gap:6px}.hbTile b{font-size:19.5px}.hbTile small{font-size:15.5px}
 .hbTile .hbTi{width:50px;height:50px;border-radius:14px}.hbTile .hbTi .ic{width:26px;height:26px}
 /* plans + other views a bit larger */
 .plMain b{font-size:22px}.plMain small{font-size:17px}.plDayMain b{font-size:21px}.plDayMain span{font-size:17px}.plHead h2{font-size:34px}.plGo b{font-size:22px}
 /* hover states */
 .tab:hover{background:var(--tint);color:var(--ink)}
 .hbTile,.hbCard,.plCard,.hpRow,.plDayMain{transition:border-color .2s,box-shadow .2s,transform .2s,background-color .2s}
 .hbTile:hover,.plCard:hover{border-color:var(--accent);box-shadow:0 10px 26px -16px rgba(var(--shadowC),.45);transform:translateY(-2px)}
 .hpRow:hover,.plDayMain:hover{background:var(--tint)}
 .barNav:hover,.readerBar .refBtn:hover,.trBtn:hover{border-color:var(--accent)}
 .sheet{bottom:24px}
}
@media (min-width:1280px){.hbGrid{grid-template-columns:repeat(8,1fr)}.hbTile{min-height:170px}}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){.hbTile:hover,.plCard:hover{transform:none}}
@media (min-width:1024px){.tab.deskOnly{display:flex!important}}
@media (min-width:1024px){#view-home .hbSearch{margin-top:auto;padding-top:22px}}

/* ===== r23: desktop hero in natural flow; Night = refined charcoal (no teal) ===== */
@media (min-width:1024px){
 #view-home{align-items:start}
 #view-home .hbHero{align-self:start;padding-bottom:30px}
 #view-home .hbSearch{margin-top:14px;padding-top:0;position:relative}
 /* wheel = dropdown under the search, overlays content below instead of pushing it */
 #view-home .hbWheelWrap{position:absolute;left:-12px;right:-12px;top:100%;z-index:6;margin-top:0;padding:4px 12px 14px;border-radius:0 0 22px 22px;background:var(--heroBg);box-shadow:0 22px 40px -18px rgba(0,0,0,.55)}
 #view-home .hbWheelWrap.open{margin-top:0}
}
body[data-theme="dark"]{--bg:#0E0F11;--surface:#1A1C1F;--surface2:#24272B;--ink:#F2F2F0;--ink2:#CFD1D4;--verseInk:#EDEDEA;--muted:#A9ADB3;
 --accent:#D9B862;--accentText:#E3C56C;--fill:#E3C56C;--onFill:#17191C;--tint:#24262A;--tint2:#33363B;--line:#2A2D31;--line2:#3A3E44;
 --bar:rgba(22,23,26,.95);--wj:#FF9A8C;--mark:#3A3524;--hl:#4A4116;--scrim:rgba(0,0,0,.62);--shadowC:0,0,0;--shadow:rgba(0,0,0,.5);
 --goldText:#E3C56C;--navy:#F2F2F0;--gold:#C9A227;--votdLine:#C9A227;--darkBar:#1F2124;
 --panelBg:#24272B;--panelLine:#3A3E44;--kidsBg:#24272B;--tileLine:#3A3E44;--searchLine:#4A4E55;
 --heroBg:linear-gradient(160deg,#26292D 0%,#1B1D20 55%,#141518 100%);--heroInk:#FFFFFF;--heroSub:rgba(255,255,255,.78);--heroGold:#F1D88A;--heroLine:rgba(255,255,255,.16);--heroField:rgba(255,255,255,.06);--heroBtn:#F1D88A;--heroBtnInk:#17191C;
 background-color:#0E0F11;background-image:linear-gradient(180deg,#0E0F11 0%,#17191C 100%);background-attachment:fixed}
body[data-theme="dark"] #view-home .hbHero{border:1px solid #2E3135}
body[data-theme="dark"] #view-home .hbCard,body[data-theme="dark"] .hbTile,body[data-theme="dark"] .plCard,body[data-theme="dark"] .plDaysList,body[data-theme="dark"] .gameCard,body[data-theme="dark"] .libItem{background:linear-gradient(180deg,#1E2024 0%,#181A1D 100%);border-color:#34383D}
body[data-theme="dark"] .sheet{background:linear-gradient(180deg,#1E2024 0%,#17191C 100%);border-top:1px solid #34383D}
body[data-theme="dark"] .hbTile .hbTi,body[data-theme="dark"] .plDays{background:#2A2D31;color:#E3C56C}
body[data-theme="dark"] .contBk{border-color:#3A3E44}
body[data-theme="dark"] .play{background:rgba(23,25,28,.9)}
body[data-theme="dark"] .askQuery .askField{border-color:var(--line2)}
body[data-theme="dark"] .spec{background:linear-gradient(90deg,#3A3E44,#6B6F76 55%,#C9A227)}
body[data-theme="dark"] .voiceOrb{background:#1F2124}
body[data-theme="dark"] .hbWheelBand{background:rgba(255,255,255,.07)}
body[data-theme="dark"] .navSearch:focus-within{box-shadow:0 0 0 3px rgba(227,197,108,.22)}
@media (min-width:1024px){
 .hpList{display:grid;grid-template-columns:1fr 1fr}
 .hpRow+.hpRow{border-top:0}
 .hpRow:nth-child(n+3){border-top:1px solid var(--line)}
 .hpRow:nth-child(even){border-left:1px solid var(--line)}
 .hpRow{font-size:17.5px;gap:10px;padding:10px 12px}
 .hbLblHero{margin-top:30px}.hbJump{margin-top:20px}#view-home .hbSearch{margin-top:18px}.hbPlanLink{margin-top:12px}
}
@media (min-width:1024px) and (max-width:1279px){#view-home{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}#view-home .hbVotd .votdText{font-size:22px}}
@media (min-width:1024px) and (max-width:1279px){
 .tab{padding:0 11px;font-size:15px}.railLogo{margin-right:8px}.navSearch{width:220px}.navSearch kbd{display:none}
 .hpList{display:block}.hpRow:nth-child(even){border-left:0}.hpRow+.hpRow{border-top:1px solid var(--line)}
 .hpRow{min-height:54px;font-size:17px}
 #homePlan>.hpS:first-child{display:none}#homePlan .hpList{margin-top:0}
 #view-home .hbVotd .votdText{font-size:20.5px}
}
@media (min-width:1024px){#view-home{padding-top:28px}}@media (min-width:1024px) and (max-width:1279px){.navSearch{width:250px}}

/* ===== r23: seasonal accents (subtle; hero panel is dark in every theme so contrast holds) ===== */
#view-home .hbHero{isolation:isolate}
#view-home .hbHero:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;transition:opacity .4s}
body[data-season] #view-home .hbHero:before{opacity:1;background:radial-gradient(70% 55% at 100% 0%,var(--sGlow),transparent 70%);box-shadow:inset 0 3px 0 var(--sLine)}
body[data-season="fall"]{--sGlow:rgba(226,140,52,.24);--sLine:#E3A058;--sChip:rgba(226,140,52,.18);--sInk:#FFE2BF}
body[data-season="winter"]{--sGlow:rgba(150,195,235,.20);--sLine:#B7D3EE;--sChip:rgba(150,195,235,.16);--sInk:#E3F0FC}
body[data-season="christmas"]{--sGlow:rgba(200,50,50,.22);--sLine:linear-gradient(90deg,#C8423B,#F1D88A);--sChip:rgba(200,60,55,.22);--sInk:#FFE3DF}
body[data-season="christmas"] #view-home .hbHero:before{box-shadow:inset 0 3px 0 #D9A441}
body[data-season="easter"]{--sGlow:rgba(255,226,160,.26);--sLine:#FFF0CC;--sChip:rgba(255,236,190,.16);--sInk:#FFF6E2}
@media (prefers-reduced-motion:reduce){#view-home .hbHero:before{transition:none}}

/* ===== r24: book picker, verse bar, double-tap ===== */
.pkFind{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border-radius:14px;background:var(--surface2);border:1.5px solid var(--line2);margin:4px 0 6px;position:sticky;top:0;z-index:2}
.pkFind:focus-within{border-color:var(--accent)}
.pkFind .ic{width:22px;height:22px;color:var(--muted);flex:none}
.pkFind input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:600 17px/1.2 var(--ui);outline:none;padding:12px 0}
.pkFind input::placeholder{color:var(--muted);opacity:1;font-weight:500}
.pkGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.pkBk{min-height:64px;padding:8px 6px;border-radius:14px;background:var(--surface2);color:var(--ink);border:1.5px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
.pkBk b{font:800 20px/1.05 var(--ui);letter-spacing:-.2px}
.pkBk small{font:600 11.5px/1.15 var(--ui);color:var(--ink2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkBk:hover{background:var(--tint2)}
.pkBk.on,.pkBk.on:hover{background:var(--fill);color:var(--onFill)}
.pkBk.on small{color:var(--onFill)}
.pkBk.first{border-color:var(--accent)}
.pkRecent .pkBk{min-height:56px}
.pkNone{font:500 15px/1.5 var(--ui);color:var(--ink2);padding:14px 2px}
#pickBody .groupLabel{font-size:13px;color:var(--ink2)}
#pickBody .grid.num button{min-height:52px;font-size:18px}
@media (min-width:700px){.pkGrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.pkBk b{font-size:22px}}

.vbar .vbarActs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:8px}
.vbar .vbarActs button{min-height:64px!important;min-width:48px;padding:8px 2px!important;gap:6px!important;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.vbar .vbarActs button .ic{width:26px!important;height:26px!important}
.vbar .vbarActs button span,.vbar .vbarActs button{font:700 13.5px/1.1 var(--ui)!important}
.vbar .vbarRef{font-size:15px}
@media (min-width:1024px){.vbar .vbarActs{gap:12px}.vbar .vbarActs button{min-height:68px!important;font-size:14.5px!important}}
#view-bible,#content{touch-action:manipulation}
.vbar .vbarX{width:48px;height:48px}.vbar .vbarX .ic{width:22px;height:22px}
.vbar .vbarActs button:hover{background:rgba(255,255,255,.08)}

/* ===== r26 ===== */
/* crisp reading text (YouVersion-like serif): Literata default, solid ink, weight 400-450 */
.verse,.mvText,.wesleyRead p,.cmE p{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
.verse{color:var(--verseInk);opacity:1;font-weight:420}
body[data-face="lit"] .verse,body[data-face="ss"] .verse,body.faceCg .verse{font-weight:420;letter-spacing:0}
body[data-face="mu"] .verse{font-weight:450}
body[data-face="sans"] .verse{font-weight:400}
body[data-theme="dark"] .verse{font-weight:400}
body[data-theme="light"]{--verseInk:#0F1A1F}body[data-theme="olive"]{--verseInk:#111827}body[data-theme="parchment"]{--verseInk:#1A120A}body[data-theme="dark"]{--verseInk:#F1EFEA}
/* glow (fades ~5s) */
@keyframes glow5{0%,70%{background-color:var(--hlGlow,rgba(201,162,39,.38));box-shadow:0 0 0 3px var(--hlGlow,rgba(201,162,39,.38)),0 0 18px var(--hlGlow,rgba(201,162,39,.38))}100%{background-color:transparent;box-shadow:0 0 0 3px transparent,0 0 0 transparent}}
.glow5{animation:glow5 5.2s ease-out forwards;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
mark.glowWord{background:var(--hlGlow,rgba(201,162,39,.45));color:inherit;border-radius:4px;padding:0 2px;box-shadow:0 0 12px var(--hlGlow,rgba(201,162,39,.45));transition:background-color 1.3s ease,box-shadow 1.3s ease}
mark.glowWord.out{background:transparent;box-shadow:none}
body[data-theme="dark"]{--hlGlow:rgba(227,197,108,.32)}body[data-theme="parchment"]{--hlGlow:rgba(176,120,40,.32)}
/* multi-verse results */
.mvRef{padding:6px 2px}
.mvHead{display:flex;align-items:center;gap:6px;font:800 15px/1.2 var(--ui);color:var(--accentText);letter-spacing:.2px;padding:6px 0;min-height:40px}
.mvText{margin:2px 0 0;font-family:var(--face,var(--scripture));font-size:var(--fs);line-height:var(--lh);color:var(--verseInk);cursor:pointer}
.mvText sup{font:800 11px var(--ui);color:var(--accentText);margin-right:3px}
.mvDiv{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--goldText,var(--accentText))}
.mvDiv i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.mvDiv b{font-size:12px;opacity:.85}
/* translation guide */
.trGuideBtn{margin:6px 0 4px}
.trgLead{margin:0 2px 10px}
.trgScale{display:flex;align-items:center;gap:6px;font:700 11px var(--ui);color:var(--ink2);margin:0 2px 12px}.trgScale i{flex:1;height:2px;border-radius:2px;background:var(--line)}
.trg{border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 10px;background:var(--surface)}
.trg.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.trg header{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.trg header b{font:800 16px var(--ui);color:var(--accentText)}.trg header span{font:600 13.5px var(--ui);color:var(--ink2)}
.trg dl{display:grid;grid-template-columns:88px 1fr;gap:4px 10px;margin:8px 0 4px;font:500 14px/1.4 var(--ui);color:var(--ink)}.trg dt{color:var(--muted);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.6px;padding-top:2px}.trg dd{margin:0}
/* commentaries */
.cmWho{display:grid;gap:10px;margin:12px 0}
@media (min-width:700px){.cmWho{grid-template-columns:1fr 1fr}}
.cmPick.on{outline:2px solid var(--accent);outline-offset:-2px}
.cmNav{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.cmNav select{flex:1;min-width:130px;min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 15px var(--ui);padding:0 10px}
.cmH{font:600 24px/1.2 var(--title);color:var(--ink);margin:6px 2px 10px}
.cmE{padding:12px 14px;border-radius:14px;margin:0 0 10px;background:var(--surface);border:1px solid var(--line)}
.cmE.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.cmE h3{margin:0 0 6px;font:800 13px var(--ui);letter-spacing:.6px;text-transform:uppercase;color:var(--accentText)}
.cmE p{margin:0 0 .7em;font-family:var(--face,var(--scripture));font-size:calc(var(--fs) * .88);line-height:1.7;color:var(--verseInk)}
#view-comm{padding-bottom:40px}
/* reader bookmark ribbon */
.verse.bmk .vn{box-shadow:inset 0 -3px 0 var(--accent)}
/* focus tip */
.focusTip{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;z-index:70;display:flex;align-items:center;gap:12px;max-width:min(92vw,420px);padding:12px 10px 12px 16px;border-radius:18px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.18);transition:opacity .3s,transform .3s}
.focusTip.show{opacity:1;transform:translate(-50%,0)}
.focusTip>svg{width:24px;height:24px;color:var(--accentText);flex:none}.focusTip span{display:flex;flex-direction:column;font:700 15px var(--ui)}.focusTip small{font:500 13px var(--ui);color:var(--ink2)}
body.focus #focusQuick{display:none}
/* Ask the Word focus */
#view-home>section>*,#view-home>*{transition:opacity .35s ease,filter .35s ease}
body.askFocus #view-home>section:not(.hbHero),body.askFocus #view-home>.hbSide,body.askFocus #view-home>footer,body.askFocus #view-home>.legalFoot,body.askFocus .hbHero>*:not(.hbSearch){opacity:0;pointer-events:none;filter:blur(2px)}
body.askFocus #view-home{padding-bottom:60vh}
/* book picker */
.pkTest{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:6px}
.pkTest span{font-weight:600;letter-spacing:.3px;text-transform:none;color:var(--muted)}
.pkHead{display:flex;align-items:center;gap:10px;margin:4px 0 12px}
.pkHead b{font:700 20px var(--ui);color:var(--ink)}.pkHead span{margin-left:auto;font:600 13px var(--ui);color:var(--muted)}
.pkBack{display:inline-flex;align-items:center;gap:2px;min-height:38px;padding:0 10px 0 6px;border-radius:10px;background:var(--surface2);font:700 13.5px var(--ui);color:var(--accentText)}
#pickBody .pkNums{grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}
#pickBody .pkNums button{border-radius:50%;aspect-ratio:1;min-height:0}
.pickTabs button{position:relative}
/* sermons */
.wesleyRead p.smHl{background:linear-gradient(transparent 8%,var(--hl) 8%,var(--hl) 94%,transparent 94%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wesleyRead p.smBmk{border-left:3px solid var(--accent);padding-left:10px;margin-left:-13px}
.wesleyRead p{-webkit-touch-callout:none}
.smRow{display:flex;gap:8px;align-items:center}.smRow .listBtn{flex:1}
#smBmList{display:inline-flex;gap:6px;align-items:center}
/* WDWS-branded loading: wordmark with a gentle shimmer */
.loadingText{display:flex;flex-direction:column;align-items:center;gap:10px}
.loadingText::before{content:"WDWS";font:800 26px/1 var(--ui);letter-spacing:6px;background:linear-gradient(100deg,var(--accentText) 30%,var(--goldText,#C9A227) 50%,var(--accentText) 70%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wdShim 1.6s linear infinite}
@keyframes wdShim{from{background-position:100% 0}to{background-position:-150% 0}}
@media (prefers-reduced-motion:reduce){.loadingText::before{animation:none}.glow5{animation-duration:.01s}}
/* no pull-to-refresh reload inside the installed app / TWA */
@media (display-mode:standalone),(display-mode:fullscreen){html,body{overscroll-behavior-y:none}}
.hbSearch{scroll-margin-top:12px}@media (min-width:1024px){.hbSearch{scroll-margin-top:84px}}
#view-comm>*:not(.subBar){max-width:780px;margin-left:auto;margin-right:auto}

/* ===== r27 ===== */
button.plCard{width:100%;text-align:left}
.plToday{margin:14px 0;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--accent);box-shadow:0 0 0 1px var(--accent)}
.plToday small{display:block;font:800 12px var(--ui);letter-spacing:.8px;text-transform:uppercase;color:var(--accentText)}
.plToday b{display:block;font:600 22px/1.25 var(--title);color:var(--ink);margin:4px 0 10px}
.plBehind{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border-radius:14px;background:var(--surface2);font:600 14.5px var(--ui);color:var(--ink)}
.plDay.today .plDayMain b{color:var(--accentText)}
.devosBody{max-width:760px;margin:0 auto;padding-bottom:40px}
.devAv{font:800 15px var(--ui);color:var(--accentText)}
.devItem{display:block;padding:14px 16px;margin:0 0 10px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.devItem small{font:700 12px var(--ui);color:var(--muted)}.devItem b{display:block;font:600 20px/1.25 var(--title);margin:3px 0}.devItem span{font:600 13.5px var(--ui);color:var(--accentText)}
.devSoon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:28px 0;padding:34px 20px;border-radius:22px;border:1.5px dashed var(--line);background:var(--surface)}
.devSoon>svg{width:34px;height:34px;color:var(--goldText,var(--accentText))}.devSoon b{font:600 26px var(--title);color:var(--ink)}.devSoon span{font:500 15px/1.5 var(--ui);color:var(--ink2);max-width:340px}.devSoon .hpBtn{margin-top:8px;text-decoration:none}
.devRead small{font:700 12.5px var(--ui);color:var(--muted)}.devRead h2{font:600 30px/1.2 var(--title);color:var(--ink);margin:4px 0 8px}
.devRefs a{font:700 14px var(--ui);color:var(--accentText)}.devRead audio{width:100%;margin:12px 0}
.devText p,.devText blockquote{font-family:var(--face,var(--scripture));font-size:var(--fs);line-height:var(--lh);color:var(--verseInk)}.devText blockquote{border-left:3px solid var(--accent);margin:0 0 1em;padding-left:14px}.devText h3{font:700 18px var(--ui);color:var(--ink)}
.bpSec{margin-top:26px}
.bpPlayer{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;margin:0 0 8px}.bpPlayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bpCredit{font:500 13px/1.45 var(--ui);color:var(--ink2);margin:6px 2px 12px}.bpCredit a{color:var(--accentText);font-weight:700}
.bpCredit.sm{font-size:12px;margin:4px 4px 0}
.bpItem{margin:0 0 12px}
@media (min-width:1024px){.bpList{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}}
.devBy{font:700 14px var(--ui);color:var(--goldText,var(--accentText));margin:0 0 8px}.devBy.end{margin-top:18px;text-align:center}.devBy a{color:var(--accentText)}
.devPage{position:relative;margin:18px 0;padding:18px 18px 8px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.devPage h3{font:600 25px/1.2 var(--title);color:var(--ink);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.devPgNo{position:absolute;top:14px;right:16px;font:800 12px var(--ui);color:var(--muted)}
.devText .devQuote{margin:0 0 1em;padding:12px 16px;border-left:4px solid var(--gold,#C9A227);border-radius:4px 12px 12px 4px;background:var(--surface2)}
.devQuote p{margin:0;font-family:var(--face,var(--scripture));font-size:calc(var(--fs) * .98);color:var(--verseInk)}
.devQuote cite{display:block;margin-top:4px;font:italic 500 15px var(--scripture);color:var(--ink2)}
.devReflect{margin:14px 0;padding:12px 14px;border-radius:12px;background:var(--surface2)}.devReflect b{font:800 12px var(--ui);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.devReflect p{margin:6px 0 0;font:500 15px/1.7 var(--ui);color:var(--ink)}
.devRef{color:var(--accentText);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.devNav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0}
.devNavA{display:block;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink)}.devNavA.next{text-align:right;grid-column:2}.devNavA small{font:700 12px var(--ui);color:var(--muted)}.devNavA b{display:block;font:700 15px/1.3 var(--ui);color:var(--accentText)}
/* r28: desktop home — 3 feature boxes under VOTD, 4-tile Explore */
.hbFeat{display:none}.hbSide{display:contents}
@media (min-width:1024px){
 #view-home{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
 #view-home .hbHero{grid-row:1}
 #view-home .hbSide{display:flex;flex-direction:column;gap:18px;grid-column:2;grid-row:1;align-self:stretch}
 #view-home .hbSide>*{margin:0!important}
 #view-home .hbFeat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;flex:1}
 #view-home .hbF{min-height:0;padding:16px 14px;gap:4px}
 #view-home .hbF .hbTi{width:42px;height:42px;margin-bottom:8px}#view-home .hbF .hbTi .ic{width:22px;height:22px}
 #view-home .hbF b{font-size:16px;letter-spacing:-.1px;line-height:1.2;hyphens:none;overflow-wrap:normal}
 #view-home .hbF small{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.3;color:var(--ink2,var(--muted))}
 #view-home .hbDup{display:none}
 #view-home .hbGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
 #view-home .hbGrid .hbTile{min-height:140px}
 #view-home .hbTile small{color:var(--ink2,var(--muted))}
}
/* r28: book picker as a clean list (book step only) */
#pickBody .pkList{display:flex;flex-direction:column;margin:0 0 14px}
#pickBody .pkRow{min-height:50px;padding:0 6px;border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:flex-start;text-align:left;color:var(--ink)}
#pickBody .pkRow b{font:500 16px/1.3 var(--scripture);letter-spacing:0;color:inherit}
#pickBody .pkRow:hover{background:var(--tint)}
#pickBody .pkRow.on,#pickBody .pkRow.on:hover{background:var(--tint);color:var(--accentText);box-shadow:inset 3px 0 0 var(--accent)}
#pickBody .pkRow.on b{font-weight:700}
#pickBody .pkRow.first{border-color:var(--line);box-shadow:inset 3px 0 0 var(--accent)}
#pickBody .pkSc{font:700 12px/1.2 var(--ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--goldText,var(--ink2));margin:14px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line2)}
#pickBody .pkSc span{display:none}
/* r29: raised / soft 3D home boxes */
#view-home .hbTile,#view-home .hbVotd{--rs1:rgba(var(--shadowC),.09);--rs2:rgba(var(--shadowC),.13);--rs3:rgba(var(--shadowC),.2);--rhl:rgba(255,255,255,.85);
 background-image:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);
 box-shadow:inset 0 1px 0 var(--rhl),0 1px 2px var(--rs1),0 6px 16px var(--rs2);
 transition:transform .18s ease,box-shadow .18s ease,border-color .2s}
#view-home .hbTile .hbTi{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(var(--shadowC),.12),0 3px 8px rgba(var(--shadowC),.08)}
@media (hover:hover){#view-home .hbTile:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--rhl),0 2px 4px var(--rs1),0 12px 26px var(--rs3)}}
#view-home .hbTile:active{transform:translateY(1px) scale(.985);box-shadow:inset 0 1px 0 var(--rhl),0 1px 2px var(--rs2);transition-duration:.06s}
body[data-theme="dark"] #view-home .hbTile,body[data-theme="dark"] #view-home .hbVotd{--rs1:rgba(0,0,0,.45);--rs2:rgba(0,0,0,.5);--rs3:rgba(0,0,0,.55);--rhl:rgba(255,255,255,.07);background-image:linear-gradient(180deg,#222428 0%,#181A1D 100%)}
body[data-theme="dark"] #view-home .hbTile .hbTi{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.4),0 3px 8px rgba(0,0,0,.3)}
@media (prefers-reduced-motion:reduce){#view-home .hbTile:hover,#view-home .hbTile:active{transform:none}}
/* r30: Greek & Hebrew intro view */
.orSteps{list-style:none;counter-reset:or;margin:6px 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.orSteps li{counter-increment:or;display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding:14px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line2)}
.orSteps li:before{content:counter(or);grid-row:1 / span 2;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--tint);color:var(--accentText);font:700 15px var(--ui)}
.orSteps b{font:700 16px/1.3 var(--ui);color:var(--ink)}.orSteps span{font:500 14.5px/1.4 var(--ui);color:var(--ink2)}
#view-orig .orGo{display:flex;justify-content:center;width:100%;min-height:52px;font-size:16px;margin:0 auto 14px}
#view-orig{padding-bottom:40px}#view-orig>*:not(.subBar){max-width:780px;margin-left:auto;margin-right:auto}
/* r31: Saved page */
#view-saved{padding-bottom:40px}#view-saved>*:not(.subBar){max-width:780px;margin-left:auto;margin-right:auto}
.svTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;margin:6px 0 16px;border-radius:14px;background:var(--surface2);border:1px solid var(--line)}
.svTabs button{min-height:42px;border-radius:10px;font:600 14px/1 var(--ui);color:var(--ink2);white-space:nowrap}
.svTabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(var(--shadowC),.12),0 3px 8px rgba(var(--shadowC),.08)}
#svBody{display:flex;flex-direction:column;gap:12px}
.svCard{display:flex;align-items:flex-start;gap:6px;padding:4px 6px 4px 4px;border-radius:18px;background:var(--surface);background-image:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);border:1.5px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 1px 2px rgba(var(--shadowC),.09),0 6px 16px rgba(var(--shadowC),.13);transition:transform .18s,box-shadow .18s}
@media (hover:hover){.svCard:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 4px rgba(var(--shadowC),.09),0 12px 26px rgba(var(--shadowC),.2)}}
.svCard:active{transform:translateY(1px)}
.svMain{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 12px;text-align:left;color:var(--ink)}
.svMain b{font:700 16.5px/1.25 var(--ui);color:var(--ink)}
.svMeta{display:inline-flex;align-items:center;gap:6px;font:600 12.5px/1.2 var(--ui);color:var(--goldText,var(--ink2))}
.svSw{width:12px;height:12px;border-radius:4px;background:var(--hl);border:1px solid rgba(0,0,0,.15)}
.svNote{font:500 14.5px/1.4 var(--ui);color:var(--ink)}
.svSnip{font:400 15px/1.45 var(--scripture);color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.svSnip:empty{display:none}
.svDel{flex:none;margin-top:8px;color:var(--muted)}.svDel:hover{color:var(--wj)}
.svEmpty{text-align:center;padding:36px 20px;border-radius:20px;background:var(--surface);border:1.5px dashed var(--line2)}
.svEmpty .ic{width:36px;height:36px;color:var(--accentText)}.svEmpty>b{display:block;font:700 18px var(--ui);margin:10px 0 6px;color:var(--ink)}
.svEmpty p{font:500 15px/1.5 var(--ui);color:var(--ink2);margin:0 auto 16px;max-width:420px}.svEmpty .btn{display:inline-flex}
body[data-theme="dark"] .svCard{background-image:linear-gradient(180deg,#222428,#181A1D);border-color:#34383D;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.45),0 6px 16px rgba(0,0,0,.5)}
@media (max-width:420px){.svTabs button{font-size:13px}}
body[data-theme="dark"] .svTabs button.on{background:#2E3136;color:#F2F2F2}
.svEmpty p b{color:var(--ink);font-weight:700}
/* r32: translation guide button + sticky scale */
#trSheet .trGuideBtn{display:flex;align-items:center;gap:12px;width:100%;margin:6px 0 10px;padding:14px 14px;border-radius:18px;text-align:left;color:var(--ink);background:var(--surface);background-image:linear-gradient(180deg,var(--tint),transparent 85%);border:1.5px solid var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(var(--shadowC),.1),0 8px 20px rgba(var(--shadowC),.16);transition:transform .18s,box-shadow .18s}
#trSheet .trGuideBtn .tgIc{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--fill);color:var(--onFill)}
#trSheet .trGuideBtn .tgTx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
#trSheet .trGuideBtn b{font:700 16.5px/1.2 var(--ui);color:var(--ink)}#trSheet .trGuideBtn small{font:500 13px/1.35 var(--ui);color:var(--ink2)}
#trSheet .trGuideBtn .tgGo{flex:none;color:var(--accentText)}
@media (hover:hover){#trSheet .trGuideBtn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 4px rgba(var(--shadowC),.1),0 14px 28px rgba(var(--shadowC),.22)}}
#trSheet .trGuideBtn:active{transform:translateY(1px)}
body[data-theme="dark"] #trSheet .trGuideBtn{background:linear-gradient(180deg,#262A2F,#1B1D21);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.5),0 8px 20px rgba(0,0,0,.5)}
.trgTop{position:sticky;top:-8px;z-index:3;margin:0 -20px 12px;padding:8px 20px 14px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 8px 14px -12px rgba(var(--shadowC),.35)}
@media (min-width:1024px){.trgTop{top:-10px;margin:0 -28px 12px;padding:10px 28px 14px}}
body[data-theme="dark"] .trgTop{background:#1D1F23}
.trgTop .trgScale{margin-bottom:6px}
.trgTrack{position:relative;height:30px;margin:0 8px}
.trgTrack:before{content:"";position:absolute;left:0;right:0;top:7px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--gold,#C9A227))}
.trgDot{position:absolute;top:1px;left:16%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--surface);border:3px solid var(--accent);box-shadow:0 0 0 4px rgba(201,162,39,.25),0 0 12px 2px rgba(201,162,39,.55);transition:left .45s cubic-bezier(.3,.7,.2,1)}
.trgDot em{position:absolute;top:17px;left:50%;transform:translateX(-50%);font:800 11.5px/1 var(--ui);font-style:normal;color:var(--accentText);white-space:nowrap}
.trg{transition:border-color .25s,box-shadow .25s,transform .25s}
.trg.cur{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 18px -2px rgba(201,162,39,.45),0 8px 20px -10px rgba(var(--shadowC),.35);transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.trgDot,.trg{transition:none}.trg.cur{transform:none}}
#listSheet>#listBody{flex-shrink:0}
.trgEnd{height:28vh}
/* r34: preferred-Bible picker + licensed fallback */
.pfBox{margin:2px 0 14px}
.pfBox h4{margin:4px 0 2px;font:700 16.5px/1.25 var(--ui);color:var(--ink)}.pfBox>p{margin:0 0 10px;font:500 13.5px/1.4 var(--ui);color:var(--ink2)}
.pfChips{display:flex;flex-wrap:wrap;gap:8px}
.pfChip{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line2);background:var(--surface);color:var(--ink);font:700 14px var(--ui);box-shadow:0 1px 2px rgba(var(--shadowC),.08)}
.pfChip.on{background:var(--fill);border-color:var(--fill);color:var(--onFill);box-shadow:0 4px 10px rgba(var(--shadowC),.25)}
.pfRes{margin-top:14px;padding:14px;border-radius:20px;background:var(--surface);background-image:linear-gradient(180deg,var(--tint),transparent 60%);border:1.5px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(var(--shadowC),.09),0 6px 16px rgba(var(--shadowC),.13)}
.pfEy{font:800 11px var(--ui);letter-spacing:1.4px;text-transform:uppercase;color:var(--goldText,var(--ink2))}.pfT{font:700 16px/1.3 var(--ui);color:var(--ink);margin:4px 0 4px}
.pfM{display:flex;gap:12px;align-items:flex-start;margin-top:10px;padding:12px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(var(--shadowC),.08),0 4px 10px rgba(var(--shadowC),.08)}
.pfB{flex:none;min-width:44px;height:44px;padding:0 4px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--accentText);font:800 12.5px var(--ui);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(var(--shadowC),.15)}
.pfMt{flex:1;min-width:0}.pfMt b{display:block;font:700 15.5px/1.25 var(--ui);color:var(--ink)}.pfMt span{display:block;font:500 13.5px/1.4 var(--ui);color:var(--ink2);margin:2px 0 8px}
.pfGo{min-height:36px;padding:0 14px;border-radius:10px;background:var(--fill);color:var(--onFill);font:700 13.5px var(--ui)}
.pfNote{margin:10px 2px 0;font:500 12px/1.4 var(--ui);color:var(--muted)}
body[data-theme="dark"] .pfRes,body[data-theme="dark"] .pfM{background:linear-gradient(180deg,#24272B,#1A1C1F);border-color:#34383D;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.45),0 6px 16px rgba(0,0,0,.45)}
body[data-theme="dark"] .pfChip{background:#22252A;border-color:#3A3E44}body[data-theme="dark"] .pfChip.on{background:#E3C56C;border-color:#E3C56C;color:#1A1A1A}
.fbCard{margin:20px auto;max-width:560px;padding:18px;border-radius:20px;background:var(--surface);border:1.5px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(var(--shadowC),.09),0 6px 16px rgba(var(--shadowC),.13);font-family:var(--ui)}
.fbCard>b{display:block;font:700 18px/1.3 var(--ui);color:var(--ink)}.fbCard p{font:500 15px/1.5 var(--ui);color:var(--ink2);margin:6px 0 12px}
.fbGo{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin-top:8px;padding:12px 14px;border-radius:14px;text-align:left;background:var(--surface2);border:1.5px solid var(--line2);color:var(--ink)}
.fbGo b{font:700 16px var(--ui)}.fbGo small{font:500 13px/1.35 var(--ui);color:var(--ink2)}
.fbGo.p{background:var(--fill);border-color:var(--fill);color:var(--onFill)}.fbGo.p small{color:var(--onFill);opacity:.9}
.fbRetry{margin-top:12px;font:700 14px var(--ui);color:var(--accentText);min-height:40px}
body[data-theme="dark"] .fbCard{background:linear-gradient(180deg,#24272B,#1A1C1F);border-color:#34383D}
#listBody .pfBox h4{text-transform:none;letter-spacing:0;font:700 16.5px/1.25 var(--ui);color:var(--ink)}
/* r35: Kids mode */
.kidsBtn{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px 0 7px;border-radius:21px;flex:none;background:linear-gradient(135deg,#FFD84D,#FF8A3D 55%,#FF5FA2);color:#fff;font:900 16px/1 Fredoka,Nunito,var(--ui);text-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 3px 0 rgba(0,0,0,.18),0 0 0 2px rgba(255,255,255,.3);margin-right:8px}
.kidsBtn svg{width:28px;height:28px}.kidsBtn:active{transform:translateY(1px)}
.hbTop .kidsBtn{margin-left:auto}.hbTop .kidsBtn+.hbIconBtn{margin-left:0}
.kidsNav{display:none}
@media (min-width:1024px){.kidsNav{display:inline-flex;margin:0 0 0 12px!important;height:40px}}
body.kidsOn{overflow:hidden}
.kids{position:fixed;inset:0;z-index:90;overflow:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#FFF6E5 0%,#FDEBFF 55%,#E8F4FF 100%);color:#2B2350;font-family:Nunito,"Baloo 2",var(--ui);padding:14px 18px 90px}
.kids[hidden],body.kidsAway .kids{display:none}
.kids>*{max-width:720px;margin-left:auto;margin-right:auto}
.kTop{display:flex;align-items:center;justify-content:space-between;min-height:52px}
.kLogo{font:900 21px Fredoka,Nunito,sans-serif;color:#5B3FD6;letter-spacing:.5px}.kLogo span{color:#E86A1A}
.kBack{display:inline-flex;align-items:center;gap:6px;height:52px;padding:0 20px 0 12px;border-radius:26px;background:#fff;font:900 19px Fredoka,Nunito;color:#5B3FD6;box-shadow:0 4px 0 rgba(0,0,0,.06),0 6px 14px rgba(60,40,140,.14)}.kBack svg{width:24px;height:24px}
.kMute{width:52px;height:52px;border-radius:50%;background:#fff;font-size:24px;box-shadow:0 4px 0 rgba(0,0,0,.06),0 6px 14px rgba(60,40,140,.14)}
.kHi{font:900 36px/1.1 Fredoka,Nunito;margin:10px 0 2px;color:#3A2A8C}.kT{font:900 31px/1.15 Fredoka,Nunito;color:#3A2A8C;margin:10px 0 2px}
.kSub{font:700 18px/1.35 Nunito;color:#5E5299;margin:0 0 16px}.kSmall{font:700 14px Nunito;color:#5E5299;text-align:center;margin:14px 0}
.kH2{font:900 22px Fredoka,Nunito;color:#3A2A8C;margin:22px 0 10px}
.kGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kCard{border-radius:28px;padding:16px 12px 16px;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;border:3px solid #fff;box-shadow:0 6px 0 rgba(0,0,0,.08),0 12px 24px rgba(60,40,140,.16);transition:transform .15s}
.kCard:active{transform:translateY(3px) scale(.98)}@media (hover:hover){.kCard:hover{transform:translateY(-3px) rotate(-.6deg)}}
.kCard b{font:900 27px Fredoka,Nunito;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.2)}.kCard i{font:800 15px Nunito;font-style:normal;color:#fff}
.k1{background:linear-gradient(160deg,#5BB8FF,#2F6BE8)}.k2{background:linear-gradient(160deg,#FFC94D,#F07F1A)}.k3{background:linear-gradient(160deg,#FF8FB8,#E3427F)}.k4{background:linear-gradient(160deg,#6FD898,#22A35B)}
.kIc{width:104px;height:104px;border-radius:50%;background:rgba(255,255,255,.28);display:grid;place-items:center}.kIc svg{width:70px;height:70px}
.kMicCard .kIc{width:116px;height:116px;background:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.35)}
.kGrown{display:block;margin:26px auto 0;padding:10px 16px;font:800 15px Nunito;color:#5E5299}.kGrown span{border-bottom:2px dotted #A99DE0}
.kFg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kFe{border-radius:24px;background:#fff;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:134px;border:3px solid var(--c);box-shadow:0 5px 0 rgba(0,0,0,.06),0 10px 20px rgba(60,40,140,.1);transition:transform .15s}
.kFe:active{transform:translateY(3px)}@media (hover:hover){.kFe:hover{transform:translateY(-3px)}}
.kFe svg{width:64px;height:64px}.kFe b{font:900 22px Fredoka,Nunito;color:#2B2350}.kFe small{font:800 13px Nunito;color:var(--d)}
.kFeelHead{display:flex;align-items:center;gap:12px;margin:4px 0 12px}.kFeelHead svg{width:76px;height:76px;flex:none}
.kVerses{display:flex;flex-direction:column;gap:14px}
.kVerse{display:block;width:100%;text-align:left;background:#fff;border-radius:24px;padding:18px 18px 14px;border:3px solid var(--c,#C9BBFF);box-shadow:0 5px 0 rgba(0,0,0,.05),0 10px 20px rgba(60,40,140,.1)}
.kVerse p{margin:0;font:800 22px/1.45 Nunito;color:#2B2350}.kVerse em{display:block;margin-top:8px;font:900 15px Nunito;font-style:normal;color:var(--d,#C2346D)}
.kList{display:flex;flex-direction:column;gap:14px}
.kRow{display:flex;align-items:center;gap:16px;min-height:100px;padding:14px 18px;border-radius:26px;color:#fff;text-align:left;border:3px solid #fff;box-shadow:0 6px 0 rgba(0,0,0,.08),0 12px 24px rgba(60,40,140,.14)}
.kRow span{font-size:44px;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.3);display:grid;place-items:center;flex:none}
.kRow b{font:900 25px Fredoka,Nunito;text-shadow:0 2px 0 rgba(0,0,0,.18)}.kRow i{display:block;font:800 15px Nunito;font-style:normal}
.r1{background:linear-gradient(160deg,#B48CFF,#7A4FE8)}.r2{background:linear-gradient(160deg,#5BB8FF,#2F6BE8)}.r3{background:linear-gradient(160deg,#FFC94D,#F07F1A)}
.kBigMic{display:grid;place-items:center;width:170px;height:170px;margin:10px auto 6px;border-radius:50%;background:linear-gradient(160deg,#6FD898,#22A35B);border:5px solid #fff;box-shadow:0 8px 0 rgba(0,0,0,.08),0 14px 30px rgba(34,163,91,.35)}
.kBigMic svg{width:96px;height:96px}.kBigMic svg rect{fill:#fff}.kBigMic svg path{stroke:#fff}
.kBigMic.on{animation:kPulse 1.1s ease-in-out infinite}@keyframes kPulse{50%{box-shadow:0 0 0 18px rgba(111,216,152,.35),0 14px 30px rgba(34,163,91,.35)}}
.kHeard{text-align:center;font:800 19px/1.4 Nunito;color:#3A2A8C;margin:8px 0 12px;min-height:27px}
.kAsk{display:flex;gap:8px;margin-bottom:14px}.kAsk input{flex:1;min-width:0;height:56px;border-radius:18px;border:3px solid #D8CCFF;padding:0 16px;font:800 18px Nunito;color:#2B2350;background:#fff}
.kAsk button{height:56px;padding:0 20px;border-radius:18px;background:#5B3FD6;color:#fff;font:900 19px Fredoka,Nunito}
.kRes{display:flex;flex-direction:column;gap:12px}
.kVer{display:inline-flex;gap:4px;padding:4px;border-radius:18px;background:#fff;margin:0 0 14px;box-shadow:0 3px 10px rgba(60,40,140,.1)}
.kVer button{min-height:44px;padding:0 16px;border-radius:14px;font:900 16px Nunito;color:#5E5299}.kVer button.on{background:#5B3FD6;color:#fff}
.kStories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kStory{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:118px;padding:14px;border-radius:22px;background:#fff;text-align:left;border:3px solid #E6DEFF;box-shadow:0 5px 0 rgba(0,0,0,.05),0 8px 18px rgba(60,40,140,.1)}
.kStory span{font-size:34px}.kStory b{font:900 17.5px/1.2 Fredoka,Nunito;color:#2B2350}.kStory i{display:block;font:800 13.5px Nunito;font-style:normal;color:#6A4FE0;margin-top:3px}
.kBooks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kBook{min-height:56px;padding:6px 12px;border-radius:16px;background:#fff;border:2.5px solid #CFE3FF;font:800 17px Nunito;color:#2B2350;text-align:left}.kBook.nt{border-color:#FFD3E4}
.kChaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:10px}
.kChaps button{height:68px;border-radius:20px;background:#fff;border:3px solid #D8CCFF;font:900 24px Fredoka,Nunito;color:#3A2A8C;box-shadow:0 4px 0 rgba(0,0,0,.05)}
.kText{background:#fff;border-radius:24px;padding:18px 20px;box-shadow:0 5px 0 rgba(0,0,0,.05),0 10px 20px rgba(60,40,140,.1)}
.kText p{margin:0 0 14px;font:700 22px/1.6 Nunito;color:#2B2350}.kText sup{font:900 13px Nunito;color:#6A4FE0;margin-right:6px}
.kNav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.kNav button{min-height:58px;padding:0 18px;border-radius:20px;background:#fff;font:900 18px Fredoka,Nunito;color:#5B3FD6;box-shadow:0 4px 0 rgba(0,0,0,.06)}.kNav button.p{background:#5B3FD6;color:#fff}
@media (min-width:900px){.kGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.kCard{min-height:290px}.kFg{grid-template-columns:repeat(4,minmax(0,1fr))}.kStories{grid-template-columns:repeat(3,minmax(0,1fr))}.kBooks{grid-template-columns:repeat(4,minmax(0,1fr))}.kids>*{max-width:1080px}.kText,.kVerses{max-width:760px;margin-left:auto;margin-right:auto}}
body[data-theme="dark"] .kids{background:linear-gradient(180deg,#221B3D 0%,#2A1E3A 55%,#162238 100%);color:#F4F0FF}
body[data-theme="dark"] .kHi,body[data-theme="dark"] .kT,body[data-theme="dark"] .kH2,body[data-theme="dark"] .kHeard{color:#FFFFFF}
body[data-theme="dark"] .kSub,body[data-theme="dark"] .kSmall,body[data-theme="dark"] .kGrown{color:#D9D0FF}
body[data-theme="dark"] .kLogo{color:#C8B8FF}body[data-theme="dark"] .kLogo span{color:#FFB070}
@media (prefers-reduced-motion:reduce){.kCard,.kFe{transition:none}.kCard:hover,.kFe:hover{transform:none}.kBigMic.on{animation:none;outline:6px solid rgba(111,216,152,.6)}}
@media (max-width:520px){.hbTop .kidsBtn{height:36px;padding:0 11px 0 5px;font-size:14.5px;gap:4px;margin-right:6px}.hbTop .kidsBtn svg{width:24px;height:24px}.hbTop .hbIconBtn{width:38px;height:38px}}

/* r37: Kids story audio */
.kStory{position:relative}.kHp{position:absolute;top:10px;right:10px;font:900 12.5px Nunito;font-style:normal;color:#fff;background:#6A4FE0;border-radius:999px;padding:4px 9px;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.kPlayer{background:#fff;border-radius:28px;padding:24px 20px 16px;text-align:center;border:3px solid #E6DEFF;box-shadow:0 6px 0 rgba(0,0,0,.06),0 12px 24px rgba(60,40,140,.12)}
.kPlay{width:132px;height:132px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(160deg,#FF8FB8,#E3427F);border:5px solid #fff;box-shadow:0 7px 0 rgba(0,0,0,.1),0 14px 28px rgba(227,66,127,.35)}
.kPlay svg{width:64px;height:64px}.kPlay .pa{display:none}.kPlay.on .pa{display:inline}.kPlay.on .pl{display:none}
.kPlay.busy{opacity:.7;animation:kPulse 1.1s ease-in-out infinite}.kPlay:active{transform:translateY(3px)}
.kProg{height:16px;border-radius:10px;background:#EEE8FF;margin:22px 4px 8px;overflow:hidden;cursor:pointer}.kProg i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,#FFB84D,#E3427F);transition:width .25s linear}
.kTime{display:flex;justify-content:space-between;font:800 15px Nunito;color:#5E5299;padding:0 6px}
.kReadIt{display:block;width:100%;margin-top:16px;min-height:64px;border-radius:22px;background:#5B3FD6;color:#fff;font:900 20px Fredoka,Nunito;box-shadow:0 6px 0 rgba(0,0,0,.12)}
body[data-theme="dark"] .kPlayer{background:#2A2342;border-color:#463A6E}body[data-theme="dark"] .kTime{color:#D9D0FF}
@media (prefers-reduced-motion:reduce){.kProg i{transition:none}.kPlay.busy{animation:none}}
/* r37: single compact Kids entry (top-right) */
.kidsBtn.kidsNav{height:32px;padding:0 11px 0 4px;gap:4px;font-size:14px;margin-right:0;box-shadow:0 2px 0 rgba(0,0,0,.18),0 0 0 2px rgba(255,255,255,.3)}
.kidsBtn.kidsNav svg{width:24px;height:24px}
@media (max-width:1023px){body.v-home .kidsNav{display:inline-flex;position:fixed;top:calc(10px + env(safe-area-inset-top));right:14px;z-index:40}body.kidsOn .kidsNav{display:none!important}
}
@media (min-width:1024px){.kidsNav{height:32px;margin:0 0 0 12px!important}}

.kidsBtn.kidsNav{height:26px!important;min-height:26px!important;padding:0 10px 0 4px!important;font-size:12px!important;gap:4px!important;box-shadow:0 2px 6px rgba(255,120,80,.25)!important}.kidsBtn.kidsNav>*:first-child{width:18px!important;height:18px!important;font-size:12px!important}

/* r39 Kids polish */
.kLogo{display:block;line-height:0}.kLogo svg{height:40px;width:auto;filter:drop-shadow(0 3px 0 rgba(60,40,140,.12))}
.kTools{display:flex;gap:8px;align-items:center}
.kTool{min-width:48px;height:48px;padding:0 10px;border-radius:24px;background:#fff;color:#5B3FD6;font:900 19px Fredoka,Nunito;box-shadow:0 4px 0 rgba(60,40,140,.12),0 8px 16px rgba(60,40,140,.12)}
.kTool#kAa[data-step="1"]{font-size:21px}.kTool#kAa[data-step="2"]{font-size:23px}.kTool#kAa[data-step="3"]{font-size:25px;background:#5B3FD6;color:#fff}
.kTool[aria-pressed="true"]{background:#5B3FD6;color:#fff}
#kids{--kfs:1}
#kids .kText p{font-size:calc(22px * var(--kfs))}#kids .kVerse p{font-size:calc(22px * var(--kfs))}#kids .kVerse em{font-size:calc(15px * var(--kfs))}
#kids .kStoryBtn b,#kids [data-kstory] b,#kids [data-kchap] b{font-size:calc(1em * var(--kfs))}
#kids [data-ks="story"] .kT{font-size:calc(31px * var(--kfs))}
.kGrid{gap:18px}
.kCard{position:relative;overflow:hidden;isolation:isolate;border:0;padding:22px 14px 20px;box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -6px 0 rgba(0,0,0,.10),0 10px 0 -2px rgba(0,0,0,.08),0 18px 32px -10px rgba(60,40,140,.35)}
.kCard::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.55) 0 6px,transparent 7px),radial-gradient(circle at 84% 22%,rgba(255,255,255,.4) 0 4px,transparent 5px),radial-gradient(circle at 78% 82%,rgba(255,255,255,.35) 0 5px,transparent 6px),radial-gradient(120% 70% at 50% 120%,rgba(255,255,255,.28),transparent 60%),radial-gradient(90% 60% at 50% -10%,rgba(255,255,255,.35),transparent 60%)}
.kCard::after{content:"";position:absolute;width:150%;height:60%;left:-25%;bottom:-38%;z-index:-1;border-radius:50%;background:rgba(255,255,255,.14)}
.kCard .kIc{width:112px;height:112px;background:#fff;box-shadow:0 0 0 9px rgba(255,255,255,.3),0 10px 18px -6px rgba(0,0,0,.25)}
.kCard .kIc svg{width:68px;height:68px}
.kCard b{letter-spacing:.3px;margin-top:14px}.kCard i{opacity:.95}
.kCard:active,.kCard.kBounce{animation:kBounce .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes kBounce{0%{transform:scale(1)}30%{transform:scale(.92)}65%{transform:scale(1.05)}100%{transform:scale(1)}}
.kIn .kHi,.kIn .kSub,.kIn .kCard{animation:kRise .9s cubic-bezier(.2,.8,.2,1) both}
.kIn .kSub{animation-delay:.08s}.kIn .kCard:nth-child(1){animation-delay:.15s}.kIn .kCard:nth-child(2){animation-delay:.27s}.kIn .kCard:nth-child(3){animation-delay:.39s}.kIn .kCard:nth-child(4){animation-delay:.51s}
@keyframes kRise{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.kIn *,.kCard:active,.kCard.kBounce{animation:none!important}}
@media (prefers-color-scheme:dark){.kTool{background:#2E2650;color:#E6DCFF}}
/* TV mode */
body.kTv .kids{padding:28px 64px 60px}
body.kTv .kids>*{max-width:1760px;margin-left:auto;margin-right:auto}
body.kTv .kLogo svg{height:64px}body.kTv .kTool,body.kTv .kMute,body.kTv .kBack{min-width:72px;height:72px;font-size:30px;border-radius:36px}
body.kTv .kHi{font-size:72px}body.kTv .kSub{font-size:32px}body.kTv .kT{font-size:60px}
body.kTv .kGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-top:28px}
body.kTv .kCard{min-height:520px;border-radius:44px}body.kTv .kCard .kIc{width:200px;height:200px}body.kTv .kCard .kIc svg{width:124px;height:124px}
body.kTv .kCard b{font-size:52px}body.kTv .kCard i{font-size:28px}
body.kTv #kids .kText p,body.kTv #kids .kVerse p{font-size:calc(30px * var(--kfs));line-height:1.55}
body.kTv .kText,body.kTv .kVerses{max-width:1400px}
body.kTv #kids button:focus-visible,body.kTv #kids a:focus-visible,body.kTv #kids button:focus,body.kTv #kids a:focus{outline:8px solid #FFD23F;outline-offset:6px;box-shadow:0 0 0 14px rgba(255,210,63,.35);transform:scale(1.04);transition:transform .15s}
body.kTv .kPlay{width:180px;height:180px}body.kTv .kTime{font-size:28px}body.kTv .kReadIt{min-height:84px;font-size:32px}
body.kTv #kids .kGrown,body.kTv #kids [data-kgrown]{font-size:26px}

/* r40 devotional audio */
.devRow{position:relative}.devRow .devItem{padding-right:72px}
.devRow>.devSpk{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.devSpk{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--a,#0E3A4D);color:#fff;box-shadow:0 6px 16px -6px rgba(14,58,77,.55);transition:transform .15s,background .2s}
.devSpk:active{transform:scale(.94)}.devRow>.devSpk:active{transform:translateY(-50%) scale(.94)}
.devSpk svg{width:24px;height:24px;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.devSpk .sw{fill:none}.devSpk .pz{display:none;stroke:none}
.devSpk.on{background:#C98A12}.devSpk.on .sp,.devSpk.on .sw{display:none}.devSpk.on .pz{display:inline}
.devHead{display:flex;align-items:center;gap:14px;justify-content:space-between}.devHead h2{margin:0}
.devBar{margin:14px 0 22px;padding:14px 16px 10px;border-radius:18px;background:var(--t,#EEF4F6);border:1px solid rgba(14,58,77,.08)}
.devLbl{display:block;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--at,#1A6380);margin-bottom:10px}
.devProg{position:relative;height:10px;border-radius:6px;background:rgba(14,58,77,.15);cursor:pointer;touch-action:none}.devProg:focus-visible{outline:3px solid #C98A12;outline-offset:3px}
.devProg::before{content:"";position:absolute;inset:-14px 0}
.devProg i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;background:linear-gradient(90deg,#1A6380,#C98A12)}
.devTime{display:flex;justify-content:space-between;margin-top:6px;font-size:13px;font-weight:700;color:var(--mut,#4F5B61);font-variant-numeric:tabular-nums}
@media (prefers-color-scheme:dark){.devBar{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}.devProg{background:rgba(255,255,255,.15)}}

/* r41 Kids night time */
body.kNight .kids{background:radial-gradient(120% 70% at 50% 0%,#24346B 0%,#141F45 45%,#0A1230 100%);color:#EDE6FF}
body.kNight .kids::before,body.kNight .kids::after{content:"";position:fixed;top:0;left:0;width:2px;height:2px;border-radius:50%;pointer-events:none;z-index:0;background:transparent;will-change:opacity;
 box-shadow:7vw 9vh #fff,18vw 22vh rgba(255,255,255,.8),29vw 6vh #fff,41vw 17vh rgba(255,255,255,.7),53vw 4vh #fff,64vw 25vh rgba(255,255,255,.8),77vw 11vh #fff,89vw 19vh rgba(255,255,255,.7),95vw 5vh #fff,12vw 38vh rgba(255,255,255,.6),35vw 44vh #fff,58vw 36vh rgba(255,255,255,.6),82vw 47vh #fff,4vw 61vh rgba(255,255,255,.7),25vw 72vh #fff,47vw 66vh rgba(255,255,255,.6),70vw 78vh #fff,92vw 69vh rgba(255,255,255,.7),15vw 88vh #fff,61vw 92vh rgba(255,255,255,.6),86vw 90vh #fff}
body.kNight .kids::after{width:3px;height:3px;box-shadow:23vw 13vh #FFF3C4,49vw 28vh #fff,72vw 8vh #FFF3C4,9vw 49vh #fff,38vw 58vh #FFF3C4,66vw 54vh #fff,97vw 33vh #FFF3C4,30vw 84vh #fff,79vw 63vh #FFF3C4,54vw 80vh #fff;animation:kTw 3.2s ease-in-out infinite alternate}
body.kNight .kids::before{animation:kTw 4.6s ease-in-out infinite alternate-reverse}
@keyframes kTw{from{opacity:.35}to{opacity:1}}
body.kNight .kids>*{position:relative;z-index:1}
body.kNight .kids .kHi,body.kNight .kids .kT{color:#FFE7A8;text-shadow:0 0 18px rgba(255,214,120,.35)}body.kNight .kids .kSub{color:#C9C0F0}
body.kNight .kCard{filter:saturate(.7) brightness(.8) sepia(.18);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 0 28px rgba(255,200,120,.12),0 18px 32px -10px rgba(0,0,0,.6)}
body.kNight .kTool,body.kNight .kMute,body.kNight .kBack{background:#22305E;color:#FFE7A8;box-shadow:0 4px 0 rgba(0,0,0,.25)}
body.kNight .kTool[aria-pressed="true"]{background:#FFD978;color:#1A2350}
body.kNight .kText,body.kNight .kVerse,body.kNight .kPlayer,body.kNight .kFe{background:#1B2752;border-color:#33407A;box-shadow:0 8px 20px rgba(0,0,0,.35)}
body.kNight .kText p,body.kNight .kVerse p{color:#F1EAD8}body.kNight .kFe b{color:#F1EAD8}
body.kNight .kLogo svg{filter:drop-shadow(0 0 10px rgba(255,214,120,.25))}
body.kNight .kGrown,body.kNight .kSmall{color:#C9C0F0}
@media (prefers-reduced-motion:reduce){body.kNight .kids::before,body.kNight .kids::after{animation:none}}
@media (max-width:440px){.kTools{gap:5px}.kTools .kTool,.kTools .kMute{min-width:40px;width:40px;height:40px;padding:0;font-size:17px}.kLogo svg{height:32px}.kTool#kAa[data-step]{font-size:16px}}
.kPicBook{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-bottom:12px;background:linear-gradient(135deg,#F46BA0,#8A5CF6)!important;color:#fff}

/* r44 Kids games */
.kGl .kRow{min-height:92px;border:0;box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 8px 0 -2px rgba(0,0,0,.08),0 14px 24px -10px rgba(60,40,140,.4)}
.kGl .kRow span{background:#fff;width:62px;height:62px;font-size:34px}.kGl .kRow b{flex:1;min-width:0}
.r4{background:linear-gradient(160deg,#6FD898,#22A35B)}.r5{background:linear-gradient(160deg,#FF8FB8,#E3427F)}
.kNew{font:900 11px Nunito;font-style:normal;background:#FFD23F;color:#3A2A8C;border-radius:8px;padding:2px 6px;vertical-align:middle;text-shadow:none}
.kStar{flex:none;font:900 15px Nunito;background:rgba(255,255,255,.25);border-radius:14px;padding:4px 8px}.kStar:empty{display:none}
.kHear{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 12px;border-radius:18px;background:#5B3FD6;color:#fff;font:800 14px Nunito;margin-left:6px;vertical-align:middle}
.kGcard{background:#fff;border-radius:28px;padding:16px;box-shadow:0 6px 0 rgba(0,0,0,.05),0 14px 28px rgba(60,40,140,.14);margin-top:12px;max-width:760px;margin-left:auto;margin-right:auto}
.kAbcTop{display:flex;gap:14px;align-items:center}.kTile{flex:none;width:clamp(110px,32vw,150px);aspect-ratio:.88;border-radius:26px;background:linear-gradient(160deg,#FFC94D,#F07F1A);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 72px/1 Fredoka,Nunito;text-shadow:0 3px 0 rgba(0,0,0,.15);box-shadow:inset 0 -6px 0 rgba(0,0,0,.1)}.kTile em{font-size:44px;font-style:normal}
.kGh{font:700 calc(26px * var(--kfs,1))/1.15 Fredoka,Nunito;margin:0;color:#3A2A8C;overflow-wrap:anywhere}.kGp{margin:6px 0 10px;font:700 calc(16px * var(--kfs,1))/1.4 Nunito;color:#6B5FA8}
.kSpeak{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;border-radius:26px;background:#5B3FD6;color:#fff;font:700 18px Fredoka,Nunito;box-shadow:0 5px 0 #3E2A9E}.kSpeak.sm{min-height:44px;min-width:44px;padding:0 10px;font-size:18px;vertical-align:middle;flex:none}
.kSpeak:active{transform:translateY(3px);box-shadow:0 2px 0 #3E2A9E}
.kAbcNav{display:flex;align-items:center;justify-content:space-between;margin:14px 0 4px}.kNavB{min-height:48px;min-width:64px;border-radius:24px;background:#EEE8FF;color:#5B3FD6;font:700 18px Fredoka,Nunito}.kAbcPos{font:900 14px Nunito;color:#8A7FC0}
.kGq{display:flex;gap:10px;align-items:center;justify-content:space-between;font:700 calc(22px * var(--kfs,1))/1.25 Fredoka,Nunito;color:#3A2A8C;margin:12px 0}
.kAns{display:grid;gap:12px}.kAns.pics{grid-template-columns:repeat(3,minmax(0,1fr))}
.kA{min-height:72px;padding:8px 10px;border-radius:22px;border:4px solid #E2DAFF;background:#fff;font:700 calc(21px * var(--kfs,1))/1.2 Fredoka,Nunito;color:#2B2350;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s;overflow-wrap:anywhere}
.kAns.pics .kA{flex-direction:column;font-size:calc(15px * var(--kfs,1));min-height:104px}.kAns.pics .kA span{font-size:42px}
.kA:active{transform:scale(.96)}.kA.ok{border-color:#2FB86A;background:#E6F9EE;box-shadow:0 0 0 6px rgba(47,184,106,.18);animation:kBounce .45s}.kA.ok::after{content:"✓";color:#2FB86A;font-size:22px}
.kA.no{opacity:.45;animation:kShake .35s}@keyframes kShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.kGmsg{min-height:30px;margin:12px 0 0;text-align:center;font:700 22px Fredoka,Nunito;color:#2FB86A}
.kScore{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.kStars{font-size:24px;letter-spacing:1px}.kStars.big{font-size:40px;text-align:center;margin:4px 0}
.kLvlTag{font:900 13px Nunito;background:#E7F2FF;color:#2F6BE8;border-radius:12px;padding:4px 10px}.kLvlTag.medium{background:#FFF1D6;color:#C25E00}
.kLvl{display:flex;gap:8px;margin-top:6px}.kLvl button{min-height:44px;padding:0 18px;border-radius:22px;background:#fff;color:#5B3FD6;font:800 16px Nunito;box-shadow:0 3px 0 rgba(60,40,140,.12)}.kLvl button[aria-pressed="true"]{background:#5B3FD6;color:#fff}
.kEnd{text-align:center}.kBig{font-size:72px}
@media (prefers-reduced-motion:reduce){.kA.ok,.kA.no{animation:none}}
body.kNight .kGcard{background:#1B2752;box-shadow:0 8px 20px rgba(0,0,0,.35)}body.kNight .kGh,body.kNight .kGq{color:#FFE7A8}body.kNight .kGp{color:#C9C0F0}
body.kNight .kA{background:#22305E;border-color:#33407A;color:#F1EAD8}body.kNight .kA.ok{background:#1E4A3A;border-color:#4FD18B}body.kNight .kNavB,body.kNight .kLvl button{background:#22305E;color:#FFE7A8}body.kNight .kLvl button[aria-pressed="true"]{background:#FFD978;color:#1A2350}
body.kNight .kGl .kRow{filter:saturate(.75) brightness(.85) sepia(.15)}body.kNight .kTile{filter:saturate(.8) brightness(.9)}
body.kTv .kGcard{max-width:1400px;padding:32px}body.kTv .kA{min-height:110px;font-size:calc(34px * var(--kfs,1));border-radius:32px}body.kTv .kGq{font-size:calc(40px * var(--kfs,1))}body.kTv .kGh{font-size:calc(48px * var(--kfs,1))}body.kTv .kGp{font-size:28px}
body.kTv .kTile{width:240px;font-size:120px}body.kTv .kTile em{font-size:72px}body.kTv .kAns.pics .kA{min-height:180px;font-size:28px}body.kTv .kAns.pics .kA span{font-size:72px}body.kTv .kSpeak{min-height:72px;font-size:28px}body.kTv .kGl .kRow{min-height:130px}body.kTv .kGl .kRow b{font-size:40px}
body.kTv .kStars{font-size:40px}body.kTv .kLvl button,body.kTv .kNavB{min-height:64px;font-size:26px}

/* r44: KIDS text button in the header (replaces the floating orange pill) */
.kidsNav,body.v-home .kidsNav{position:static!important}
@media (max-width:1023px){.kidsNav,body.v-home .kidsNav{display:none!important}}
.kidsTxt{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:56px;padding:0 12px;border-radius:999px;background:transparent;color:inherit;font:800 13px/1 var(--ui,inherit);letter-spacing:.16em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .25s,color .25s,box-shadow .25s}
.kidsTxt::before{content:"";position:absolute}
.kidsTxt{position:relative;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 45%,transparent)}
.kidsTxt:hover{box-shadow:inset 0 0 0 1.5px currentColor}
.kidsTxt:focus-visible{outline:3px solid color-mix(in srgb,currentColor 70%,transparent);outline-offset:2px}
.kidsTxt.lit{background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 25%,transparent),0 0 18px color-mix(in srgb,currentColor 55%,transparent)}
.kidsTxt.lit>*,.kidsTxt.lit{color:inherit}
.kidsTxt.lit{-webkit-text-fill-color:var(--kidsLitInk,#0E3A4D)}
.hbKids{margin-left:auto;margin-right:6px;min-height:40px}
@media (min-width:1024px){.hbKids{display:none}.kidsNav.kidsTxt{display:inline-flex!important;height:auto!important;min-height:36px!important;margin:0 0 0 12px!important;padding:0 14px!important;font-size:12.5px!important;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 35%,transparent)!important;background:transparent!important;color:var(--ink2,inherit)}
 .kidsNav.kidsTxt.lit{background:currentColor!important}}
[data-theme="dark"] .kidsTxt.lit{-webkit-text-fill-color:#13262F}
@media (prefers-reduced-motion:reduce){.kidsTxt{transition:none}}

/* r44 tap-once-to-hear, tap-again-to-open */
.kTapped{outline:4px solid #FFD84A!important;outline-offset:3px;box-shadow:0 0 0 8px rgba(255,216,74,.3),0 8px 24px rgba(0,0,0,.2)!important}
.kTapHint{position:fixed;z-index:10050;width:160px;text-align:center;padding:8px 10px;border-radius:999px;background:#fff;color:#2b2140;font:800 15px/1.2 system-ui,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.25);pointer-events:none;animation:kHintIn .2s ease-out}
body.kNight .kTapHint{background:#2a3566;color:#fff6d8}
@keyframes kHintIn{from{opacity:0;transform:translateY(6px) scale(.9)}}
@media (prefers-reduced-motion:reduce){.kTapHint{animation:none}}

/* ===== Direction 2 (preview branch dir2) ===== */
/* new theme: Navy & Paper (from the approved mockup) */
body[data-theme="paper"]{--bg:#FBF8F1;--surface:#FFFFFF;--surface2:#F3EEE2;--ink:#13213A;--ink2:#344058;--verseInk:#13213A;--muted:#5C6375;
 --accent:#163566;--accentText:#163566;--fill:#0B1F3F;--onFill:#FFFFFF;--tint:#EEF1F7;--tint2:#DAE1EE;--line:#ECE5D5;--line2:#E0D8C5;
 --bar:rgba(251,248,241,.96);--wj:#C62828;--mark:#F3E7C2;--hl:#FFF1B8;--scrim:rgba(8,26,54,.4);--shadowC:11,31,63;--shadow:rgba(11,31,63,.12);
 --navy:#0B1F3F;--gold:#B8923A;--goldText:#8A6A1E;--votdLine:#B8923A;--tileLine:#E0D8C5;--searchLine:rgba(11,31,63,.3);
 --panelBg:#F3EEE2;--panelLine:#E0D8C5;--kidsBg:#F3EEE2;--darkBar:#0B1F3F;
 --heroBg:linear-gradient(180deg,#081a36 0%,#0f2a55 55%,#1d4278 100%);--heroInk:#FFFFFF;--heroSub:rgba(255,255,255,.82);--heroGold:#E8CF8F;--heroBtn:#E8CF8F;--heroBtnInk:#0B1F3F;--heroLine:rgba(255,255,255,.24);--heroField:rgba(255,255,255,.1);
 background-color:var(--bg)}
html[data-theme="paper"]{background:#FBF8F1}

/* tagline */
.hbTag{margin:5px 0 0;font:600 10px/1.5 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--heroGold);white-space:normal}
.hbTag b,.hbTag span{display:block;white-space:nowrap}.hbTag b{color:var(--heroInk);font-weight:600}
.hbGreet h1{font-size:32px}

/* Read the Bible: the unmistakable main entry */
.hbOpen{min-height:84px;padding:14px 18px 14px 16px;border-radius:20px;box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.35)}
.hbOpen>.ic:first-child{width:46px;height:46px;padding:10px;border-radius:14px;background:rgba(0,0,0,.08)}
.hbOpenT b{font:700 23px/1.1 var(--ui)}
.hbOpenT small{font:600 14.5px/1.2 var(--ui);opacity:.85}

/* Hero search: large field + mic */
.hbSearch{margin-top:16px}
.hbField{height:64px;border-radius:20px;padding:0 8px 0 18px;background:var(--surface);border:0;color:var(--muted);box-shadow:0 14px 32px rgba(0,0,0,.22)}
.hbField input{height:56px;font:italic 500 17.5px/1.2 var(--title);text-overflow:ellipsis;color:var(--ink)}
.hbField input::placeholder{color:var(--muted)}
.hbField input::-webkit-search-cancel-button{filter:none}
.hbField:focus-within{box-shadow:0 0 0 3px var(--heroGold),0 14px 32px rgba(0,0,0,.22)}
.hbMic{width:48px;height:48px;border-radius:15px;background:var(--heroBg);color:#fff}
body[data-theme="dark"] .hbMic{background:#2A2D31}
.hbMic .ic{width:22px;height:22px}
.hbAskGo{width:44px;height:44px;border-radius:14px}
.hbJump{margin-top:14px}
.hbSel{min-height:50px}

/* phones: hero fades into the page instead of a rounded block */
@media (max-width:699px){
 body #view-home .hbHero,body[data-theme] #view-home .hbHero{border-radius:0;border:0;padding-bottom:56px;background:linear-gradient(180deg,transparent 0,transparent calc(100% - 120px),var(--heroFadeTo,var(--bg)) 100%),var(--heroBg)}
 #view-home .hbHero:before{border-radius:0}
 #view-home .hbHero+.hbSide{position:relative;margin-top:-22px!important}
 /* Explore as a quiet list below the fold */
 .hbGrid{grid-template-columns:1fr;gap:0;border:1.5px solid var(--line2);border-radius:18px;overflow:hidden;background:var(--surface)}
 .hbGrid .hbTile{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;min-height:0;padding:13px 16px;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
 .hbGrid .hbTile:first-child{border-top:0}
 .hbGrid .hbTile .hbTi{grid-row:1 / span 2;margin:0}
 .hbGrid .hbTile b{font-size:16px}
}

/* slim Continue bar (phones, Home only, shows once the big card has scrolled away) */
.contSlim{position:fixed;z-index:39;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 6px 0 16px;border-radius:15px;background:var(--darkBar,#0E3A4D);color:#fff;font:600 14px/1.2 var(--ui);box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.contSlim b{color:var(--heroGold,#F1D88A);font-weight:600}
.contSlim .csR{min-height:36px;display:flex;align-items:center;padding:0 12px;border-radius:11px;background:rgba(255,255,255,.14);font-size:13px;white-space:nowrap}
.contSlim.show{opacity:1;transform:none;pointer-events:auto}
body:not(.v-home) .contSlim,body.voiceOn .contSlim{display:none}
@media (min-width:700px){.contSlim{display:none}}

/* Bible tab emphasised (gold, a little larger) */
.tab[data-tab="bible"] .ic{color:var(--gold,#C9A227);transform:scale(1.14)}
.tab[data-tab="bible"] span{font-weight:800;color:var(--goldText)}
.tab[data-tab="bible"].on span{color:var(--ink)}
@media (min-width:1024px){.tab[data-tab="bible"]{box-shadow:inset 0 0 0 1.5px var(--gold,#C9A227);border-radius:12px}.tab[data-tab="bible"] .ic{transform:none}}

/* Voice search: Siri-style listening orb over the dimmed page */
.voiceOv{background:rgba(6,16,30,.58);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.voiceBox{position:relative}
.voiceTop{margin:0 0 8px;font:500 30px/1.2 var(--title);letter-spacing:.02em;color:#fff}
.voiceOv:not([data-state=listen]):not([data-state=speak]) .voiceTop{visibility:hidden}
.voiceOrbWrap{position:absolute;left:50%;top:44px;width:280px;height:280px;margin-left:-140px;pointer-events:none}
.vRing{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(200,222,255,.38);opacity:0}
.vGlow{position:absolute;inset:40px;border-radius:50%;background:radial-gradient(circle,rgba(150,195,255,.8),rgba(110,160,255,.22) 55%,transparent 72%);filter:blur(22px)}
.voiceOrb{position:relative;width:170px;height:170px;margin:55px auto 60px;border:0;color:rgba(255,255,255,.0);
 background:radial-gradient(circle at 35% 30%,#fff 0,rgba(255,255,255,.95) 14%,transparent 42%),radial-gradient(circle at 68% 70%,rgba(120,170,255,.95),transparent 55%),radial-gradient(circle at 30% 75%,rgba(185,220,255,.9),transparent 50%),radial-gradient(circle at 50% 50%,#dbe9ff 0,#8fb6f4 60%,#4f7fd0 100%);
 box-shadow:0 0 50px rgba(160,200,255,.8),0 0 120px rgba(120,170,255,.4),inset 0 0 30px rgba(255,255,255,.7)}
.voiceOrb:after{content:"";position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle at 60% 40%,rgba(255,255,255,.7),transparent 45%);filter:blur(6px)}
.voiceOv[data-state=listen] .voiceOrb,.voiceOv[data-state=busy] .voiceOrb{animation:d2Pulse 2.4s ease-in-out infinite}
.voiceOv[data-state=listen] .vGlow{animation:d2Pulse 2.4s ease-in-out infinite}
.voiceOv[data-state=listen] .vRing{animation:d2Ring 3s ease-out infinite}
.voiceOv[data-state=listen] .vRing:nth-child(2){animation-delay:1s}.voiceOv[data-state=listen] .vRing:nth-child(3){animation-delay:2s}
.voiceOv[data-state=busy] .voiceOrb:after{animation:d2Swirl 1.6s linear infinite}
.voiceOv[data-state=fallback] .voiceOrb{filter:saturate(.35) brightness(.85);transform:scale(.82)}
.voiceOv[data-state=fallback] .vGlow{opacity:.3}
.voiceSay{font:italic 500 21px/1.35 var(--title);color:#E4ECF8}
.voiceLive{color:#F1D88A}
.voiceBtns{flex-wrap:wrap}
.voiceOv[data-state=fallback] #voiceRetry{background:#FBFAF6;color:#0E3A4D}
.voiceOv[data-state=fallback] #voiceRetry:not([hidden])~#voiceType{background:rgba(251,250,246,.12);color:#FBFAF6}
@keyframes d2Pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes d2Ring{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.08);opacity:0}}
@keyframes d2Swirl{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.voiceOv .voiceOrb,.voiceOv .vGlow,.voiceOv .vRing,.voiceOrb:after{animation:none!important}}
.hbDateRow{display:flex;align-items:center;gap:8px}
#view-home .hbTop+.hbOpen,#view-home .hbTop~.hbOpen{margin-top:22px}
body[data-theme="dark"]{--heroFadeTo:#131416}
#greetDate{white-space:nowrap}

/* ===== dir2 v2: header layout, compact KIDS pill, solid pickers ===== */
@media (max-width:1023px){
 #view-home .hbTop{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;grid-template-rows:auto auto auto;column-gap:12px;row-gap:0;align-items:center;padding-top:20px}
 #view-home .hbLogo{grid-column:1;grid-row:1 / span 2;align-self:center}
 #view-home .hbGreet{display:contents}
 #view-home .hbDateRow{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:11px;letter-spacing:.14em}
 #view-home .hbGreet h1{grid-column:2;grid-row:2;align-self:start;margin:3px 0 0;font-size:31px;line-height:1.05}
 #view-home .hbTag{grid-column:1 / -1;grid-row:3;margin:12px 0 0;font-size:10.5px;line-height:1.55;letter-spacing:.13em}
 #view-home .hbKids{grid-column:3;grid-row:1 / span 2;margin:0}
 #view-home .hbTop .hbIconBtn{grid-column:4;grid-row:1 / span 2;width:38px;height:38px}
 #view-home .hbTop+.hbOpen,#view-home .hbTop~.hbOpen{margin-top:18px}
}
/* compact KIDS pill + iOS-style press */
.hbKids.kidsTxt{min-height:30px;height:30px;min-width:0;padding:0 11px;font-size:11px;letter-spacing:.13em;border-radius:999px;
 background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px var(--heroLine);color:var(--heroInk);
 transition:transform .32s cubic-bezier(.34,1.56,.64,1),background-color .18s ease;transform-origin:center;will-change:transform}
.hbKids.kidsTxt::before{inset:-7px -4px}
.hbKids.kidsTxt:active{transform:scale(.92);transition-duration:.08s;background:rgba(255,255,255,.26)}
.hbKids.kidsTxt.lit{background:rgba(255,255,255,.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 3px rgba(255,255,255,.12);-webkit-text-fill-color:currentColor;color:var(--heroInk);animation:d2KidsTap .26s cubic-bezier(.34,1.56,.64,1)}
@keyframes d2KidsTap{0%{transform:scale(.92)}55%{transform:scale(1.04)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hbKids.kidsTxt.lit{animation:none}.hbKids.kidsTxt:active{transform:none}}
/* Book·chapter and Version: solid raised cards */
#view-home .hbSel{background:var(--surface);color:var(--ink);border:1px solid var(--line2);box-shadow:0 8px 22px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.6) inset}
#view-home .hbSel small{color:var(--muted)}
#view-home .hbSel b{color:var(--ink)}
#view-home .hbSel .ic{color:var(--gold,#C9A227)}
body[data-theme="dark"] #view-home .hbSel{background:#202226;border-color:#3A3E44;box-shadow:0 8px 22px rgba(0,0,0,.45)}
@media (hover:hover){#view-home .hbSel:hover{background:var(--surface);border-color:var(--gold,#C9A227)}}


/* dir2 v3: Kids home polish (same style, tighter rhythm) */
body:not(.kTv) #kids [data-ks="home"] .kHi{font-size:34px;line-height:1.05;letter-spacing:-.2px;margin:18px 2px 0}
body:not(.kTv) #kids [data-ks="home"] .kSub{font-size:17px;font-weight:700;margin:6px 2px 20px;opacity:.9}
body:not(.kTv) #kids .kGrid{gap:16px}
body:not(.kTv) #kids .kCard{min-height:226px;padding:22px 14px 18px;justify-content:flex-start;gap:0;border-radius:26px}
body:not(.kTv) #kids .kCard .kIc,body:not(.kTv) #kids .kMicCard .kIc{width:100px;height:100px;box-shadow:0 0 0 8px rgba(255,255,255,.28),0 10px 18px -6px rgba(0,0,0,.22)}
body:not(.kTv) #kids .kCard .kIc svg{width:60px;height:60px}
body:not(.kTv) #kids .kCard b{margin-top:auto;padding-top:16px;font-size:26px;line-height:1}
body:not(.kTv) #kids .kCard i{margin-top:8px;font-size:14.5px;line-height:1.2}
body:not(.kTv) #kids .kGrown{margin-top:26px}
/* Kids Q&A answer card */
.kAnsCard{margin:4px 0 12px;padding:16px 18px;border-radius:22px;background:#fff;box-shadow:0 8px 22px -10px rgba(60,40,140,.35);border:2px solid #E9E3FF}
.kAnsCard p{margin:0;font:800 19px/1.4 Nunito,system-ui,sans-serif;color:#3A2A8C}
.kAnsCard.kAnsSoft{border-color:#FFE2B8;background:#FFFBF3}
body[data-theme="dark"] .kAnsCard,.kNight .kAnsCard{background:#231F45;border-color:#3B3470}
body[data-theme="dark"] .kAnsCard p,.kNight .kAnsCard p{color:#F2EEFF}

/* dir2 v3: rich glass-water orb */
.voiceOv{background:radial-gradient(70% 55% at 50% 40%,rgba(6,14,30,.52),rgba(6,14,30,.30) 70%);-webkit-backdrop-filter:blur(2px) saturate(.72) brightness(.92);backdrop-filter:blur(2px) saturate(.72) brightness(.92)}
.voiceTop,.voiceSay,.voiceLive{text-shadow:0 1px 2px rgba(0,0,0,.45),0 0 18px rgba(6,14,30,.6)}
.voiceOrbWrap{top:24px;width:320px;height:320px;margin-left:-160px;perspective:700px}
#voiceCv{position:absolute;inset:10px;width:300px;height:300px;transform-style:preserve-3d;animation:d2Tilt 7s ease-in-out infinite}
@keyframes d2Tilt{0%,100%{transform:rotateX(6deg) rotateY(-6deg)}50%{transform:rotateX(-5deg) rotateY(7deg)}}
.voiceOrbWrap .vGlow{inset:20px;opacity:calc(.75 + var(--lv,0)*.25);transform:scale(calc(1 + var(--lv,0)*.18));animation:d2Breath 3.2s ease-in-out infinite}
@keyframes d2Breath{0%,100%{filter:blur(22px);opacity:.65}50%{filter:blur(30px);opacity:1}}
.voiceOrb{background:none!important;box-shadow:none!important;animation:none!important}
.voiceOrb:after,.voiceOrb .ic{display:none}
.voiceOv[data-state=fallback] #voiceCv{filter:saturate(.35) brightness(.85)}
@media (prefers-reduced-motion:reduce){#voiceCv,.voiceOrbWrap .vGlow{animation:none!important}}
/* Kids tap-and-talk bubble: glossy, breathing halo, water rings while listening (no extra mic use) */
.kBigMic{position:relative;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.85) 0,rgba(255,255,255,.25) 22%,transparent 42%),radial-gradient(circle at 50% 55%,#7EE2A6 0,#3CC27A 55%,#1F9653 100%);box-shadow:inset 0 -10px 22px rgba(0,60,30,.25),inset 0 6px 14px rgba(255,255,255,.35),0 14px 30px rgba(34,163,91,.35)}
.kBigMic::before,.kBigMic::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid rgba(111,216,152,.55);opacity:0;pointer-events:none}
.kBigMic.on{animation:kMicBreath 2.2s ease-in-out infinite}
.kBigMic.on::before{animation:kMicRing 2s ease-out infinite}.kBigMic.on::after{animation:kMicRing 2s ease-out 1s infinite}
@keyframes kMicBreath{0%,100%{transform:scale(1);box-shadow:inset 0 -10px 22px rgba(0,60,30,.25),inset 0 6px 14px rgba(255,255,255,.35),0 0 0 0 rgba(111,216,152,.45),0 14px 30px rgba(34,163,91,.35)}50%{transform:scale(1.05);box-shadow:inset 0 -10px 22px rgba(0,60,30,.25),inset 0 6px 14px rgba(255,255,255,.35),0 0 0 18px rgba(111,216,152,0),0 18px 40px rgba(34,163,91,.45)}}
@keyframes kMicRing{0%{transform:scale(.95);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.kBigMic.on,.kBigMic.on::before,.kBigMic.on::after{animation:none}}

/* ===== v3 games polish: shared tokens ===== */
#kids{--gR:24px;--gRs:16px;--gSh:0 1px 2px rgba(40,30,90,.06),0 12px 28px -14px rgba(40,30,90,.28);--gInk:#2E2760;--gSub:#6E6797;--gLine:#E7E2F6;--gAcc:#5B47C9}
#kids .kGl .kRow{border-radius:var(--gR);box-shadow:var(--gSh)}
#kids .kGl .kRow.r2{background:linear-gradient(150deg,#5B9BEF,#3E73D6)}#kids .kGl .kRow.r5{background:linear-gradient(150deg,#EE7FA6,#D2547F)}
#kids .kGl .kRow.r1{background:linear-gradient(150deg,#9B83F2,#7257DB)}#kids .kGl .kRow.r4{background:linear-gradient(150deg,#5CC48A,#2E9E63)}#kids .kGl .kRow.r3{background:linear-gradient(150deg,#F5B54A,#E48A23)}
#kids .kGi{flex:none;width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35);display:grid;place-items:center;color:#fff}
#kids .kGi svg{width:30px;height:30px}#kids .kGiT{font:700 25px/1 Fredoka,Nunito;letter-spacing:.5px}
#kids .kGl .kNew{background:rgba(255,255,255,.92);color:#3D2F9A;font-size:10px;letter-spacing:.6px;border-radius:6px}
#kids .kGcard{border-radius:var(--gR);box-shadow:var(--gSh);padding:18px}
#kids .kTile{border-radius:20px;background:linear-gradient(160deg,#FFCB66,#EE9636);box-shadow:inset 0 -4px 0 rgba(0,0,0,.08),0 8px 18px -10px rgba(200,110,20,.6);text-shadow:0 2px 0 rgba(0,0,0,.12)}
#kids .kTile b{font:700 76px/1 Fredoka,Nunito}#kids .kTile em{font:700 15px/1.1 Fredoka,Nunito;margin-top:6px;padding:0 6px;text-align:center;opacity:.95}
#kids .kGh{color:var(--gInk)}#kids .kGp{color:var(--gSub)}
#kids .kSpeak{border-radius:var(--gRs);background:var(--gAcc);box-shadow:0 3px 0 #4434A8;min-height:48px;font-size:17px}#kids .kSpeak:active{box-shadow:0 1px 0 #4434A8;transform:translateY(2px)}
#kids .kSpk{width:20px;height:20px}#kids .kSpeak.sm .kSpk{width:22px;height:22px}
#kids .kNavB{border-radius:var(--gRs);background:#F1EEFB;color:var(--gAcc);min-height:44px}
#kids .kAns{gap:10px}#kids .kA{border-radius:18px;border:2px solid var(--gLine);box-shadow:0 2px 0 var(--gLine);transition:transform .18s ease,border-color .2s,background .2s;overflow-wrap:normal;word-break:normal;hyphens:auto}
#kids .kAns.pics .kA{font-size:calc(14px * var(--kfs,1));line-height:1.15;padding:10px 6px}#kids .kAns.pics .kA span{font-size:38px;margin-bottom:4px}
#kids .kA.ok{border-color:#34B36E;background:#EEFAF3;box-shadow:0 0 0 4px rgba(52,179,110,.14);animation:gPop .32s ease-out}#kids .kA.ok::after{font-size:18px}
#kids .kA.no{opacity:.5;animation:gNudge .3s ease}
@keyframes gPop{50%{transform:scale(1.035)}}@keyframes gNudge{30%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
#kids .kGmsg{font-size:19px;color:#2E9E63}
#kids .kStars{display:inline-flex;gap:6px}#kids .kStars i{width:12px;height:12px;border-radius:50%;background:#E3DEF5}#kids .kStars i.on{background:#F5B23A;box-shadow:0 0 0 3px rgba(245,178,58,.2)}
#kids .kStars.big{justify-content:center;width:100%}#kids .kStars.big i{width:16px;height:16px}
#kids .kLvlTag{border-radius:10px}#kids .kLvl button{border-radius:var(--gRs);box-shadow:0 1px 0 rgba(40,30,90,.08),inset 0 0 0 1.5px var(--gLine)}#kids .kLvl button[aria-pressed="true"]{background:var(--gAcc);box-shadow:none}
#kids .kMedal{width:96px;height:96px;margin:6px auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#C9C1EE,#9C8FDB);color:#fff;font:700 44px/1 Fredoka,Nunito;box-shadow:inset 0 -5px 0 rgba(0,0,0,.1),0 10px 22px -10px rgba(60,40,140,.5)}
#kids .kMedal.gold{background:linear-gradient(160deg,#FFD36E,#E9A23B)}
@media (prefers-reduced-motion:reduce){#kids .kA.ok,#kids .kA.no{animation:none}}

/* ===== v3 adult Bible quiz (same structure as the kids quiz, app theme colours) ===== */
#view-games.aqOn>.gameCard,#view-games.aqOn>.askLead{display:none}
.aQuiz{max-width:720px;margin:0 auto;padding:0 2px 24px}
.aqTop{display:flex;justify-content:space-between;align-items:center;margin:4px 0 6px}
.aqX{min-height:40px;padding:0 14px;border-radius:14px;background:var(--surface);color:var(--goldText,var(--text));font:700 14px var(--ui);box-shadow:0 1px 2px rgba(var(--shadowC),.08)}
.aqBest{font:700 13px var(--ui);color:var(--muted)}
.aqH{font:700 30px/1.1 var(--title);margin:6px 0 2px}
.aQuiz .kLvl button{min-height:42px;padding:0 18px;border-radius:14px;background:var(--surface);color:var(--text);font:700 15px var(--ui);box-shadow:inset 0 0 0 1.5px var(--line2,rgba(0,0,0,.1))}
.aQuiz .kLvl button[aria-pressed="true"]{background:var(--gold);color:#fff;box-shadow:none}
.aQuiz .kGcard{background:var(--surface);color:var(--text);border-radius:24px;padding:18px;box-shadow:0 1px 2px rgba(var(--shadowC),.06),0 14px 30px -18px rgba(var(--shadowC),.35)}
.aqMeta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.aQuiz .kLvlTag{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--goldText,var(--gold));border-radius:10px}
.aqScore{font:700 13px var(--ui);color:var(--muted)}
.aqBar{height:6px;border-radius:3px;background:var(--line2,rgba(0,0,0,.08));margin:12px 0 4px;overflow:hidden}.aqBar i{display:block;height:100%;background:var(--gold);border-radius:3px;transition:width .4s}
.aQuiz .aqQ{font:700 21px/1.35 var(--scripture);color:var(--text);display:block;margin:14px 0 16px}
.aQuiz .kA{min-height:58px;justify-content:flex-start;text-align:left;gap:12px;padding:10px 14px;border-radius:16px;border:1.5px solid var(--line2,rgba(0,0,0,.12));background:var(--bg);color:var(--text);font:600 16.5px/1.3 var(--ui);box-shadow:none;transition:border-color .2s,background .2s,transform .15s}
.aQuiz .kA em{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font:800 13px var(--ui);font-style:normal;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line2,rgba(0,0,0,.12));color:var(--muted)}
.aQuiz .kA:not(:disabled):hover{border-color:var(--gold)}
.aQuiz .kA.ok{border-color:#2E9E63;background:color-mix(in srgb,#2E9E63 12%,var(--bg));box-shadow:none;animation:gPop .32s ease-out}.aQuiz .kA.ok em{background:#2E9E63;color:#fff;box-shadow:none}.aQuiz .kA.ok::after{content:"✓";margin-left:auto;color:#2E9E63;font-size:18px}
.aQuiz .kA.no{opacity:1;animation:gNudge .3s}.aQuiz .kA.no.pick{border-color:#C8553D;background:color-mix(in srgb,#C8553D 10%,var(--bg))}.aQuiz .kA.no.pick em{background:#C8553D;color:#fff;box-shadow:none}
.aQuiz .kA:disabled:not(.ok):not(.pick){opacity:.55}
.aqVerse{margin-top:16px;animation:aqIn .35s ease-out}@keyframes aqIn{from{opacity:0;transform:translateY(6px)}}
.aqRes{font:800 15px var(--ui);margin:0 0 8px}.aqRes.ok{color:#2E9E63}.aqRes.no{color:#C8553D}
.aqVerse blockquote{margin:0;padding:14px 16px;border-radius:16px;background:var(--bg);border-left:3px solid var(--gold);font:500 17px/1.55 var(--scripture)}
.aqVerse blockquote p{margin:0}.aqVerse cite{display:block;margin-top:8px;font:700 13px var(--ui);font-style:normal;color:var(--goldText,var(--gold))}
.aqRow{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.aqRow button{flex:1 1 140px;min-height:48px;border-radius:14px;font:700 15px var(--ui)}
.aqCtx{background:var(--bg);color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line2,rgba(0,0,0,.12))}.aqNext{background:var(--gold);color:#fff}
.aqEnd{text-align:center}.aqRing{--p:0;width:132px;height:132px;margin:8px auto 12px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(closest-side,var(--surface) 82%,transparent 83%),conic-gradient(var(--gold) calc(var(--p)*360deg),var(--line2,rgba(0,0,0,.1)) 0)}
.aqRing b{font:700 42px/1 var(--scripture)}.aqRing small{font:600 13px var(--ui);color:var(--muted)}
.aQuiz .kGh{color:var(--text);font:700 20px/1.3 var(--ui)}.aQuiz .kGp{color:var(--muted);font:600 14px var(--ui)}
@media (prefers-reduced-motion:reduce){.aqVerse,.aQuiz .kA.ok,.aQuiz .kA.no{animation:none}}

/* ===== v3 water orb: small spinning glass ball with water inside ===== */
.voiceOrbWrap{top:40px;width:220px;height:220px;margin-left:-110px;perspective:none}
#voiceCv{inset:20px;width:180px;height:180px;animation:none;pointer-events:none}
.voiceOrbWrap .vGlow{inset:34px;background:radial-gradient(circle,rgba(150,195,255,.75),rgba(110,160,255,.2) 55%,transparent 72%);transition:background .6s}
.voiceOrbWrap.warm .vGlow{background:radial-gradient(circle,rgba(255,206,130,.7),rgba(255,180,90,.18) 55%,transparent 72%)}
.voiceOrb{width:150px;height:150px;margin:68px auto 56px}
.voiceTapEnd{position:absolute;left:50%;top:60px;width:160px;height:160px;margin-left:-80px;border-radius:50%;background:transparent;z-index:2;display:none}
.voiceOv[data-state=listen] .voiceTapEnd{display:block;cursor:pointer}
.voicePrep{position:absolute;left:0;right:0;top:212px;margin:0;text-align:center;font:600 14px var(--ui);color:#DCE8FA;text-shadow:0 1px 2px rgba(0,0,0,.5)}.voicePrep b{color:#F1D88A}
@media (max-width:480px){.voiceOrbWrap{top:36px}}
/* Settings > Voice */
.setVoice{margin-top:14px}.setVoiceH{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}.setVoiceH span{font:500 13px/1.4 var(--ui);color:var(--muted)}
.vwRemove{margin-top:10px;min-height:42px}
/* Kids "Did you mean…?" picture chips */
.kDym{margin-top:6px}.kDymH{font:700 calc(22px * var(--kfs,1))/1.2 Fredoka,Nunito;color:#3A2A8C;margin:4px 0 10px;text-align:center}
.kChips{display:grid;gap:12px}
.kChip{display:flex;align-items:center;gap:14px;min-height:76px;padding:10px 16px;border-radius:22px;background:#fff;border:2px solid #E7E2F6;box-shadow:0 2px 0 #E7E2F6,0 10px 22px -14px rgba(40,30,90,.3);text-align:left;font:700 calc(20px * var(--kfs,1))/1.2 Fredoka,Nunito;color:#2E2760;transition:transform .15s}
.kChip span{flex:none;width:52px;height:52px;border-radius:16px;background:#F3EFFF;display:grid;place-items:center;font-size:30px}.kChip:active{transform:scale(.97)}
.kNight .kChip,body[data-theme="dark"] .kChip{background:#231F45;border-color:#3B3470;color:#F2EEFF;box-shadow:none}.kNight .kDymH{color:#E9E4FF}

/* ===== dir2 v4: "Ocean Core" listening orb (mockup B) — layout and dimming as in the mockup (430x932: title 132, orb stage 185–615, caption 612, buttons 672) ===== */
.voiceOv{--st:min(430px,100vw,calc(100vh - 180px));display:block;padding:0;overflow:hidden auto;background:radial-gradient(circle at 50% 43%,rgba(2,8,20,.55) 0,rgba(2,8,20,.25) 38%,transparent 62%),rgba(6,16,30,.70);-webkit-backdrop-filter:blur(4px) saturate(.9);backdrop-filter:blur(4px) saturate(.9)}
@supports (height:100dvh){.voiceOv{--st:min(430px,100vw,calc(100dvh - 180px))}}
.voiceOv .voiceBox{position:relative;width:100%;max-width:none;margin:max(10px,calc((100vh - var(--st) - 160px)/2 - 39px)) auto 24px;text-align:center;color:#FBFAF6}
@supports (height:100dvh){.voiceOv .voiceBox{margin-top:max(10px,calc((100dvh - var(--st) - 160px)/2 - 39px))}}
.voiceOv .voiceTop{height:36px;margin:0 0 17px;font:500 30px/1.2 var(--title);letter-spacing:.02em;color:#fff;text-shadow:0 2px 18px rgba(80,140,255,.35)}
.voiceOrbWrap.ocean{position:relative;left:auto;top:0;width:var(--st);height:var(--st);margin:0 auto;perspective:none;pointer-events:none}
#voiceStage canvas,.kOcean canvas{position:absolute;inset:0;width:100%;height:100%;animation:none;transform:none;filter:none;pointer-events:none}
:is(#voiceStage,.kOcean) .ocCss{display:none}
/* no WebGL: CSS chrome-blue sphere with rim + core glow under the same canvas waveform lines */
:is(#voiceStage,.kOcean).noGL .ocGl{display:none}
:is(#voiceStage,.kOcean).noGL .ocCss{display:block;position:absolute;left:50%;top:50%;width:46.6%;height:46.6%;margin:-23.3% 0 0 -23.3%;border-radius:50%;
 background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0,rgba(205,228,255,.55) 4%,transparent 11%),radial-gradient(circle at 50% 52%,rgba(120,180,255,calc(.30 + var(--lv,0)*.45)) 0,rgba(20,70,220,calc(.28 + var(--lv,0)*.4)) 28%,transparent 55%),radial-gradient(circle at 50% 50%,#0b2a6e 0,#071b4a 52%,#0a2a66 78%,#3f8de0 94%,#9fd2ff 100%);
 box-shadow:0 0 calc(22px + var(--lv,0)*26px) rgba(64,140,255,calc(.45 + var(--lv,0)*.3)),0 0 60px rgba(40,100,255,.18),inset 0 0 18px rgba(110,190,255,.55),inset -10px -14px 30px rgba(0,8,30,.55);
 transform:scale(calc(1 + var(--lv,0)*.03))}
.voiceOv[data-state=fallback] #voiceStage{filter:saturate(.35) brightness(.85)}
.voiceOv .voiceOrb{display:none}
.voiceOv .voiceSay{margin:-3px 0 0;font:italic 500 21px/1.35 var(--title);color:#E4ECF8;text-shadow:none}
.voiceOv .voiceLive{min-height:24px;margin:4px 0 4px;font:400 18px/1.3 var(--ui);color:#F1D88A}
.voiceOv .voiceBtns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
/* no nested backdrop-filter: inside the blurred overlay it only samples the overlay tint and turns the glass buttons dark */
.voiceOv .voiceBtns .btn{min-width:142px;height:50px;min-height:50px;padding:0 16px;border-radius:14px;font:600 15px var(--ui);-webkit-backdrop-filter:none;backdrop-filter:none}
.voiceOv .voiceTapEnd{top:calc(53px + var(--st)*.22);left:50%;width:calc(var(--st)*.56);height:calc(var(--st)*.56);margin-left:calc(var(--st)*-.28)}
.voiceOv .voicePrep{top:calc(53px + var(--st) - 40px)}
/* Kids tap-and-talk: the same Ocean Core orb (sphere + five waveform lines) appears over the bubble while listening or while the app talks.
   Kids-only: ~84% of the 250px stage it would otherwise have (210px; lines scale with it), and a blue-to-purplish-black sphere.
   The bubble keeps its size and place; a soft deep-sea disc behind the orb keeps the light lines visible on the pastel Kids background. */
.kBigMic .kOcean{position:absolute;left:50%;top:50%;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .35s;
 background:radial-gradient(closest-side,#080A1C 0,#0A0B20 66%,rgba(10,11,32,.85) 74%,rgba(10,11,32,0) 80%)}
#kMic .kOcean.noGL .ocCss{background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95) 0,rgba(205,228,255,.5) 4%,transparent 11%),radial-gradient(circle at 50% 40%,rgba(90,150,255,calc(.22 + var(--lv,0)*.4)) 0,transparent 52%),linear-gradient(180deg,#2F7BFF 0,#1D4FD8 32%,#1A0F2E 72%,#0D0716 100%);
 box-shadow:0 0 calc(18px + var(--lv,0)*22px) rgba(64,120,255,calc(.4 + var(--lv,0)*.3)),0 0 50px rgba(60,70,255,.15),inset 0 0 16px rgba(110,170,255,.45),inset -8px -12px 26px rgba(10,0,25,.6)}
#kMic.kBigMic{margin:18px auto 14px}/* a little room for the orb disc (~170px visible) without moving when it appears */
.kBigMic.orb .kOcean{opacity:1}.kBigMic.orb svg{opacity:0;transition:opacity .3s}
.kBigMic.orb{background:transparent;box-shadow:none;border-color:transparent;outline:none}
.kBigMic.orb.on,.kBigMic.orb.on::before,.kBigMic.orb.on::after{animation:none}
@media (prefers-reduced-motion:reduce){.kBigMic .kOcean,.kBigMic.orb svg{transition:none}}

/* ===== dir2 v5: Kids polish — friendlier spacing, chunkier rounder tiles, bigger labels, soft shadows, springy press,
   pictures that gently float (staggered) and hop on hover/tap; no idle motion with reduced motion ===== */
body:not(.kTv) #kids [data-ks="home"] .kSub{font-size:18px;margin:6px 2px 20px}
body:not(.kTv) #kids .kGrid{gap:18px}
body:not(.kTv) #kids .kCard{min-height:236px;padding:24px 14px 20px;border-radius:34px;
 box-shadow:inset 0 3px 0 rgba(255,255,255,.45),inset 0 -7px 0 rgba(0,0,0,.10),0 4px 8px -2px rgba(60,40,140,.14),0 22px 34px -16px rgba(60,40,140,.42);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
body:not(.kTv) #kids .kCard b{font-size:29px;letter-spacing:.4px;text-shadow:0 2px 0 rgba(0,0,0,.16)}
body:not(.kTv) #kids .kCard i{font-size:15.5px;font-weight:800}
@media (hover:hover){body:not(.kTv) #kids .kCard:hover{transform:translateY(-4px) scale(1.02);box-shadow:inset 0 3px 0 rgba(255,255,255,.45),inset 0 -7px 0 rgba(0,0,0,.10),0 6px 10px -2px rgba(60,40,140,.16),0 28px 40px -16px rgba(60,40,140,.48)}}
#kids .kCard:active,#kids .kCard.kBounce{animation:kBounce2 .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes kBounce2{0%{transform:scale(1)}28%{transform:scale(.9,.88)}58%{transform:scale(1.06,1.07)}80%{transform:scale(.98)}100%{transform:scale(1)}}
#kids [data-ks="home"]{position:relative}
/* living pictures: slow bob + tilt, each tile on its own timing */
#kids .kCard .kIc svg,#kids .kGi svg,#kids .kChip span{animation:kFloat 3.4s ease-in-out infinite;transform-origin:50% 60%}
#kids .kCard:nth-child(2) .kIc svg{animation-duration:3.9s;animation-delay:-1.1s}
#kids .kCard:nth-child(3) .kIc svg{animation-duration:3.1s;animation-delay:-2.2s}
#kids .kCard:nth-child(4) .kIc svg{animation-name:kWiggle;animation-duration:3.6s;animation-delay:-.6s}
#kids .kGi svg{animation-duration:3.7s}#kids .kRow:nth-child(2n) .kGi svg{animation-delay:-1.5s}#kids .kRow:nth-child(3n) .kGi svg{animation-delay:-2.4s}
#kids .kChip:nth-child(2) span{animation-delay:-1.2s;animation-duration:3.8s}#kids .kChip:nth-child(3) span{animation-delay:-2.3s;animation-duration:3.1s}
@keyframes kFloat{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-5px) rotate(-3deg)}65%{transform:translateY(2px) rotate(2.5deg)}}
@keyframes kWiggle{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-4px) rotate(-6deg)}40%{transform:translateY(-4px) rotate(6deg)}60%{transform:translateY(0) rotate(-2deg)}}
/* hop on hover / tap */
#kids .kCard.kBounce .kIc svg,#kids .kChip:active span{animation:kHop .55s cubic-bezier(.3,1.6,.5,1)}
@media (hover:hover){#kids .kCard:hover .kIc svg,#kids .kRow:hover .kGi svg,#kids .kChip:hover span{animation:kHop .55s cubic-bezier(.3,1.6,.5,1)}}
@keyframes kHop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-12px) scale(1.08,.96) rotate(-4deg)}65%{transform:translateY(1px) scale(.96,1.05)}100%{transform:none}}
/* entrance light bloom + stars (layer added for ~1.8 s by kAssemble) */
.kEntFx{position:absolute;left:50%;top:52%;width:0;height:0;pointer-events:none;z-index:3}
.kEntFx .kEntGlow{position:absolute;left:-200px;top:-200px;width:400px;height:400px;border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(255,236,170,.6) 22%,rgba(255,190,220,.25) 45%,rgba(255,255,255,0) 68%)}
.kEntFx b{position:absolute;left:-9px;top:-9px;width:18px;height:18px;opacity:0;background:var(--c);clip-path:polygon(50% 0,61% 37%,100% 38%,69% 61%,80% 100%,50% 76%,20% 100%,31% 61%,0 38%,39% 37%)}
@media (prefers-reduced-motion:reduce){#kids .kCard .kIc svg,#kids .kGi svg,#kids .kChip span,#kids .kCard.kBounce .kIc svg,#kids .kCard:hover .kIc svg,#kids .kRow:hover .kGi svg,#kids .kChip:hover span,#kids .kChip:active span,#kids .kCard:active,#kids .kCard.kBounce{animation:none!important}#kids .kCard{transition:none}.kEntFx{display:none}}

/* ===== dir2 v6: Kids "premium" — calm, refined, still kid-friendly (no cartoon look). Colours, type, icons, surfaces and shadows only;
   sizes/layout, TV mode sizes, motion and behaviour stay as before. #kids#kids raises specificity over the older layered rules. ===== */
#kids#kids{--pInk:#1D2846;--pSub:#5B6479;--pLine:rgba(29,40,70,.09);--pCard:#FFFFFF;--pAcc:#2C4A8C;--pFont:Outfit,Nunito,system-ui,sans-serif;
 background:radial-gradient(120% 55% at 50% -8%,rgba(255,255,255,.95) 0,rgba(255,255,255,0) 62%),linear-gradient(180deg,#F6F4EF 0%,#F1F0F5 52%,#ECF0F5 100%);color:var(--pInk)}
#kids#kids::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;background-image:radial-gradient(rgba(29,40,70,.05) .6px,transparent .7px);background-size:5px 5px}
/* type: Outfit at heavy weight for headings/labels (sizes unchanged), Nunito body */
#kids#kids .kHi,#kids#kids .kT,#kids#kids .kH2,#kids#kids .kCard b,#kids#kids .kRow b,#kids#kids .kFe b,#kids#kids .kBack,#kids#kids .kTool,#kids#kids .kAsk button,#kids#kids .kChip,#kids#kids .kDymH,#kids#kids .kGh,#kids#kids .kGiT,#kids#kids .kTile b,#kids#kids .kTile em,#kids#kids .kMedal{font-family:var(--pFont)}
#kids#kids .kHi,#kids#kids .kT{font-weight:800;letter-spacing:-.4px;color:var(--pInk)}
#kids#kids .kSub,#kids#kids .kSmall,#kids#kids .kGrown{color:var(--pSub)}
#kids#kids .kGrown span{border-bottom:1px solid rgba(91,100,121,.35)}
#kids#kids .kH2,#kids#kids .kHeard,#kids#kids .kDymH,#kids#kids .kGh{color:var(--pInk)}
/* header: real WDWS brand logo + the Kids word mark */
#kids#kids .kLogo{display:flex;align-items:center;gap:8px;line-height:0}
#kids#kids .kLogoImg{display:block;width:44px;height:44px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 1.5px rgba(29,40,70,.18))}
#kids#kids .kLogo svg.kLogoKids{height:34px;width:auto;filter:none}
body.kTv #kids#kids .kLogoImg{width:70px;height:70px}body.kTv #kids#kids .kLogo svg.kLogoKids{height:54px}
@media (max-width:440px){#kids#kids .kLogoImg{width:40px;height:40px}#kids#kids .kLogo svg.kLogoKids{height:30px}}
/* top buttons: quiet white pills with line icons */
#kids#kids .kTool,#kids#kids .kMute,#kids#kids .kBack{background:#fff;color:var(--pAcc);font-weight:700;box-shadow:0 0 0 1px var(--pLine),0 1px 2px rgba(29,40,70,.06),0 6px 14px -8px rgba(29,40,70,.25)}
#kids#kids .kTool[aria-pressed="true"],#kids#kids .kTool#kAa[data-step="3"]{background:var(--pAcc);color:#fff}
#kids#kids .kLi{width:21px;height:21px;display:block}
#kids#kids .kMute{display:inline-grid;place-items:center}
/* home tiles: richer, slightly desaturated gradients + glassy sheen and a fine inner highlight (no dots / bubbles) */
#kids#kids .kCard{border:0;background-clip:padding-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.32),inset 0 0 0 1px rgba(255,255,255,.10),inset 0 -1px 0 rgba(0,0,0,.12),0 1px 2px rgba(20,26,56,.10),0 16px 30px -16px rgba(20,26,56,.55)}
#kids#kids .kCard::before{inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.20) 0,rgba(255,255,255,.06) 38%,rgba(255,255,255,0) 52%),radial-gradient(90% 60% at 20% 0,rgba(255,255,255,.14),transparent 70%)}
#kids#kids .kCard::after{display:none}
#kids#kids .k1{background:linear-gradient(158deg,#4775D3 0%,#2D52A6 55%,#213F86 100%)}
#kids#kids .k2{background:linear-gradient(158deg,#E0A955 0%,#C4832F 55%,#A66A22 100%)}
#kids#kids .k3{background:linear-gradient(158deg,#D88398 0%,#BC5E79 55%,#9D4762 100%)}
#kids#kids .k4{background:linear-gradient(158deg,#57A989 0%,#3A8A6A 55%,#2A6F55 100%)}
#kids#kids .kCard b{font-weight:700;letter-spacing:.1px;text-shadow:0 1px 1px rgba(0,0,0,.18)}
#kids#kids .kCard i{font-weight:600;opacity:.88;font-family:var(--pFont)}
#kids#kids .kCard .kIc,#kids#kids .kMicCard .kIc{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 0 0 1px rgba(255,255,255,.22),0 8px 18px -10px rgba(0,0,0,.45);color:#fff}
#kids#kids .kCard .kIc svg{width:50px;height:50px}
body.kTv #kids#kids .kCard .kIc svg{width:96px;height:96px}
#kids#kids .kCard .kIc svg.kLi{stroke-width:1.6}
/* Talk: idle mic bubble in the emerald tile colour, line mic */
#kids#kids .kBigMic:not(.orb){background:radial-gradient(120% 90% at 30% 15%,rgba(255,255,255,.22),transparent 55%),linear-gradient(158deg,#57A989,#2A6F55);border:0;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.12),0 2px 4px rgba(20,26,56,.10),0 22px 40px -18px rgba(20,60,45,.6)}
#kids#kids .kBigMic svg.kLi{width:76px;height:76px}#kids#kids .kBigMic svg.kLi rect{fill:none}#kids#kids .kBigMic svg.kLi path{stroke:currentColor}
#kids#kids .kBigMic::before,#kids#kids .kBigMic::after{border-color:rgba(87,169,137,.45)}
#kids#kids .kBigMic .kOcean{background:radial-gradient(closest-side,#080A1C 0,#0A0B20 62%,rgba(10,11,32,.82) 70%,rgba(10,11,32,.38) 77%,rgba(10,11,32,.10) 82%,rgba(10,11,32,0) 86%)}
#kids#kids .kAsk input{border:1px solid rgba(29,40,70,.14);background:#fff;color:var(--pInk);font-weight:700;box-shadow:inset 0 1px 2px rgba(29,40,70,.05)}
#kids#kids .kAsk input:focus{outline:none;border-color:var(--pAcc);box-shadow:0 0 0 3px rgba(44,74,140,.15)}
#kids#kids .kAsk button{background:var(--pAcc);font-weight:700;box-shadow:0 8px 16px -10px rgba(44,74,140,.8)}
/* answers, verses, did-you-mean chips: white cards, hairline borders, soft shadows */
#kids#kids .kAnsCard,#kids#kids .kVerse,#kids#kids .kChip,#kids#kids .kText,#kids#kids .kGcard{background:var(--pCard);border:1px solid var(--pLine);box-shadow:0 1px 2px rgba(29,40,70,.05),0 12px 26px -18px rgba(29,40,70,.35)}
#kids#kids .kAnsCard p,#kids#kids .kVerse p{color:var(--pInk);font-weight:700}
#kids#kids .kVerse{border-left:4px solid var(--d,var(--pAcc))}
#kids#kids .kVerse em{color:var(--d,var(--pAcc))}
#kids#kids .kChip{color:var(--pInk);font-weight:600}
#kids#kids .kChip span{background:#F2F4F8;box-shadow:inset 0 0 0 1px var(--pLine)}
/* feelings: soft-filled monochrome faces in each feeling's own refined colour */
#kids#kids .kFe{background:linear-gradient(180deg,color-mix(in srgb,var(--c) 30%,#fff) 0,#fff 62%);border:1px solid var(--pLine);box-shadow:0 1px 2px rgba(29,40,70,.05),0 12px 24px -16px rgba(29,40,70,.35)}
#kids#kids .kFe b{color:var(--pInk);font-weight:700}#kids#kids .kFe small{color:var(--d);font-weight:700}
#kids#kids .kFe svg>circle:first-child{fill:color-mix(in srgb,var(--c) 45%,#fff);stroke:var(--d);stroke-width:2.4}
#kids#kids .kFe svg>:not(:first-child)[fill]:not([fill="none"]){fill:color-mix(in srgb,var(--d) 32%,transparent)}#kids#kids .kFe svg>[fill="#2B2350"]{fill:var(--d)}#kids#kids .kFe svg>[fill="#fff"]{fill:#fff}
#kids#kids .kFe svg>:not(:first-child)[stroke]{stroke:var(--d)}
#kids#kids .kFe svg{animation:kFloat 3.6s ease-in-out infinite}
#kids#kids .kFe:nth-child(2n) svg{animation-delay:-1.3s;animation-duration:3.9s}#kids#kids .kFe:nth-child(3n) svg{animation-delay:-2.4s;animation-duration:3.2s}
/* games list: same refined palette, glass icon tiles */
#kids#kids .kGl .kRow{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.12),0 1px 2px rgba(20,26,56,.10),0 14px 26px -16px rgba(20,26,56,.5);position:relative;overflow:hidden}
#kids#kids .kGl .kRow::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 50%)}
#kids#kids .kGl .kRow.r2{background:linear-gradient(158deg,#4775D3,#2D52A6)}#kids#kids .kGl .kRow.r5{background:linear-gradient(158deg,#D88398,#AE5069)}
#kids#kids .kGl .kRow.r1{background:linear-gradient(158deg,#7C6CC4,#5A4A9E)}#kids#kids .kGl .kRow.r4{background:linear-gradient(158deg,#57A989,#317C5F)}#kids#kids .kGl .kRow.r3{background:linear-gradient(158deg,#E0A955,#B97A2A)}
#kids#kids .kGi{background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.10));box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.2)}
#kids#kids .kGl .kNew{background:rgba(255,255,255,.9);color:#2C3A66;font-family:var(--pFont);font-weight:700}
#kids#kids .kRow b{font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.16)}#kids#kids .kRow i{font-weight:600;opacity:.9}
#kids#kids .kHear{background:var(--pAcc);font-weight:700;box-shadow:0 6px 12px -8px rgba(44,74,140,.8)}
/* night mode keeps its own darker treatment */
body.kNight #kids#kids{background:radial-gradient(120% 70% at 50% 0%,#1F2C55 0%,#121B3C 45%,#0A1129 100%);color:#EDE9F7}
body.kNight #kids#kids .kHi,body.kNight #kids#kids .kT{color:#F3E6C4;text-shadow:none}
body.kNight #kids#kids .kTool,body.kNight #kids#kids .kMute,body.kNight #kids#kids .kBack{background:#1E2A50;color:#F3E6C4}
body.kNight #kids#kids .kFe,body.kNight #kids#kids .kAnsCard,body.kNight #kids#kids .kVerse,body.kNight #kids#kids .kChip,body.kNight #kids#kids .kText{background:#18224A;border-color:#2C3868}
body.kNight #kids#kids .kFe b,body.kNight #kids#kids .kAnsCard p,body.kNight #kids#kids .kVerse p,body.kNight #kids#kids .kChip,body.kNight #kids#kids .kHeard,body.kNight #kids#kids .kH2{color:#EDE9F7}
body[data-theme="dark"] #kids#kids:not(.x){background:linear-gradient(180deg,#171B2E 0%,#1A1A2C 55%,#141C2C 100%);color:#EEF0F7}
body[data-theme="dark"] #kids#kids .kHi,body[data-theme="dark"] #kids#kids .kT,body[data-theme="dark"] #kids#kids .kHeard,body[data-theme="dark"] #kids#kids .kH2{color:#F2F3F8}
body[data-theme="dark"] #kids#kids .kSub,body[data-theme="dark"] #kids#kids .kGrown{color:#B9BFD0}
@media (prefers-reduced-motion:reduce){#kids#kids .kFe svg{animation:none}}

/* ===== dir2 v6: Kids entry switch (main app). Small and quiet: muted 12.5px label + 46x26 pill switch (44px tap height via padding). ===== */
.kSw{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 4px 0 6px;margin:0;background:none;border:0;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;font:600 12.5px/1 var(--ui);letter-spacing:.02em}
.kSw .kSwLab{opacity:.72}
.kSw .kSwTrack{position:relative;flex:none;width:46px;height:26px;border-radius:13px;background:color-mix(in srgb,currentColor 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 26%,transparent);transition:transform .12s ease}
.kSw .kSwTrack::before{content:"";position:absolute;left:0;top:0;bottom:0;width:26px;border-radius:13px;background:var(--gold,#C8A04A);opacity:0;transition:width .32s cubic-bezier(.34,1.56,.64,1),opacity .18s ease}
.kSw .kSwKnob{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25),0 2px 6px rgba(0,0,0,.15);transform:translateX(var(--kx,0px));transition:transform .32s cubic-bezier(.34,1.56,.64,1)}
.kSw:active .kSwTrack{transform:scale(.94)}
.kSw.on .kSwKnob{transform:translateX(20px)}
.kSw.on .kSwTrack::before{width:100%;opacity:1}
.kSw.on .kSwLab{opacity:.95}
.kSw.drag .kSwKnob,.kSw.drag .kSwTrack::before{transition:none}.kSw.drag .kSwTrack::before{opacity:1;width:calc(26px + var(--kx,0px))}
.kSw.noT .kSwKnob,.kSw.noT .kSwTrack::before{transition:none!important}
.kSw:focus-visible{outline:none}.kSw:focus-visible .kSwTrack{outline:2px solid color-mix(in srgb,currentColor 70%,transparent);outline-offset:2px}
.hbKids.kSw{color:var(--heroInk,inherit);min-height:44px;margin-left:auto;margin-right:2px}
#view-home .hbKids.kSw{margin:0}
.kidsNav.kSw{color:var(--ink2,inherit);height:auto!important;padding:0 6px!important;margin:0 0 0 12px!important}
@media (prefers-reduced-motion:reduce){.kSw .kSwKnob,.kSw .kSwTrack::before{transition-timing-function:ease-out;transition-duration:.22s}.kSw:active .kSwTrack{transform:none}}
#kids#kids .kChip,#kids#kids .kChip b{font-weight:600;letter-spacing:-.1px}#kids#kids .kDymH{font-weight:700}

/* ===== dir2 v6: desktop/tablet formatting (>=1024px only; phones unchanged) ===== */
@media (min-width:1024px){
 .hbKids.kSw{display:none}/* desktop uses the top-bar switch */
 body:not(.kTv) #kids#kids{padding-top:22px}
 body:not(.kTv) #kids#kids>*{max-width:1040px;margin-left:auto;margin-right:auto}
 body:not(.kTv) #kids#kids [data-ks="home"]{padding-top:min(4vh,40px)}
 body:not(.kTv) #kids#kids [data-ks="home"] .kHi{font-size:46px;margin-top:6px}
 body:not(.kTv) #kids#kids [data-ks="home"] .kSub{font-size:20px;margin-bottom:28px}
 body:not(.kTv) #kids#kids .kGrid{gap:22px}
 body:not(.kTv) #kids#kids .kCard{min-height:300px;padding-top:34px}
 body:not(.kTv) #kids#kids .kCard .kIc{width:124px;height:124px}
 body:not(.kTv) #kids#kids .kCard .kIc svg{width:58px;height:58px}
 body:not(.kTv) #kids#kids .kCard b{font-size:32px}
 body:not(.kTv) #kids#kids .kCard i{font-size:16px}
 body:not(.kTv) #kids#kids .kT{font-size:40px}
 body:not(.kTv) #kids#kids .kSub{font-size:19px}
 /* Talk: a centred column instead of a full-width input */
 body:not(.kTv) #kids#kids [data-ks="talk"]{max-width:720px}
 body:not(.kTv) #kids#kids [data-ks="talk"] .kT,body:not(.kTv) #kids#kids [data-ks="talk"] .kSub{text-align:center}
 body:not(.kTv) #kids#kids #kMic.kBigMic{margin:34px auto 26px}
 /* Games: two columns of rows */
 body:not(.kTv) #kids#kids .kGl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 body:not(.kTv) #kids#kids .kGl .kRow{min-height:112px}
 /* Feelings: a little taller */
 body:not(.kTv) #kids#kids .kFe{min-height:168px}body:not(.kTv) #kids#kids .kFe svg{width:72px;height:72px}
 body:not(.kTv) #kids#kids .kDym,body:not(.kTv) #kids#kids .kRes{max-width:720px;margin-left:auto;margin-right:auto}
}

/* dir2 v6.1: Kids header icons centred in their circles (layout only; circles, sizes and gaps unchanged). The moon and TV svgs are
   display:block inside an inline-block button, so they sat at the left of the circle; grid-centre them like the sound button,
   and nudge the TV/moon drawings whose ink is off-centre inside their 24x24 viewBox. */
#kids#kids .kTools>#kNightBtn,#kids#kids .kTools>#kTvBtn{display:inline-grid;place-items:center;line-height:1}
#kids#kids #kTvBtn svg.kLi{transform:translateY(-5.2%)}
#kids#kids #kNightBtn svg.kLi{transform:translate(-1.4%,1.4%)}

/* dir2 v6.2: Kids night - light touch only (tiles, colours and layout unchanged). Slightly bluer night-sky backdrop, a sparse layer of
   small dim stars (::before, static) plus a few slow twinklers (::after; none with reduced motion), and the glassy sheen toned down. */
body.kNight #kids#kids{background:radial-gradient(120% 75% at 50% 0%,#22336A 0%,#14214D 46%,#0A1333 100%)}
body.kNight #kids#kids::before{inset:0;width:auto;height:auto;border-radius:0;box-shadow:none;animation:none;opacity:.85;background-color:transparent;
 background-image:radial-gradient(1px 1px at 23px 41px,rgba(235,240,255,.75),transparent 100%),radial-gradient(1px 1px at 151px 113px,rgba(235,240,255,.6),transparent 100%),
  radial-gradient(1.2px 1.2px at 97px 197px,rgba(255,246,220,.6),transparent 100%),radial-gradient(1px 1px at 211px 263px,rgba(235,240,255,.55),transparent 100%),
  radial-gradient(1px 1px at 61px 311px,rgba(235,240,255,.5),transparent 100%),radial-gradient(1.2px 1.2px at 271px 59px,rgba(255,246,220,.55),transparent 100%),
  radial-gradient(1px 1px at 173px 23px,rgba(235,240,255,.45),transparent 100%),radial-gradient(1px 1px at 41px 157px,rgba(235,240,255,.4),transparent 100%);
 background-size:310px 340px,310px 340px,310px 340px,310px 340px,310px 340px,310px 340px,370px 290px,370px 290px;background-repeat:repeat}
body.kNight #kids#kids::after{width:2px;height:2px;opacity:.8;
 box-shadow:23vw 13vh rgba(255,243,196,.8),72vw 8vh rgba(255,255,255,.75),9vw 49vh rgba(255,243,196,.7),88vw 36vh rgba(255,255,255,.7),38vw 86vh rgba(255,243,196,.7),66vw 64vh rgba(255,255,255,.65);
 animation:kTwSoft 7s ease-in-out infinite alternate}
@keyframes kTwSoft{0%{opacity:.3}60%{opacity:.55}100%{opacity:.85}}
body.kNight #kids#kids .kCard::before,body.kNight #kids#kids .kGl .kRow::before{opacity:.6}
body.kNight #kids#kids .kCard{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.06),inset 0 -1px 0 rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.18),0 16px 30px -16px rgba(0,0,0,.6)}
@media (prefers-reduced-motion:reduce){body.kNight #kids#kids::after{animation:none;opacity:.5}}

/* dir2 v6.3: Kids night contrast. The black WDWS mark is shown in warm off-white (~#EDE7DA) on the night sky (and on the Kids dark-theme
   background, which has the same problem), and the home subtitle is raised to a calm #A9B2CC (>=5.6:1 on the night gradient). */
body.kNight #kids#kids .kLogoImg,body[data-theme="dark"] #kids#kids .kLogoImg{filter:invert(1) sepia(.25) brightness(.93) drop-shadow(0 1px 1.5px rgba(0,0,0,.35))}
body.kNight #kids#kids .kSub{color:#A9B2CC;opacity:1}

/* r108: Grown-up mode passcode sheet (Kids premium look; day + night) */
.kPin{position:fixed;inset:0;z-index:130;display:grid;place-items:end center;background:rgba(20,28,52,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:Fredoka,Nunito,system-ui,sans-serif;color:#24345C}
.kPin[hidden]{display:none}
.kPin,.kPin *{-webkit-tap-highlight-color:transparent}.kPin{touch-action:manipulation;-webkit-user-select:none;user-select:none;overscroll-behavior:contain}
.kPinCard{width:min(100%,420px);max-height:100dvh;overflow:auto;box-sizing:border-box;padding:22px 22px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:linear-gradient(180deg,#FFFCF6,#FFF4E6);box-shadow:0 -10px 40px rgba(20,28,52,.25);text-align:center}
.kPin.kPinIn .kPinCard{animation:kPinUp .28s cubic-bezier(.2,.8,.3,1)}/* r108b: slide-in only when the sheet opens, never on a key press */
@media (min-width:700px){.kPin{place-items:center}.kPinCard{border-radius:28px;padding-bottom:22px}}
@keyframes kPinUp{from{transform:translateY(24px);opacity:0}}
.kPinCard h2{margin:2px 0 6px;font-size:24px;font-weight:700;letter-spacing:.01em}
.kPinP{margin:0 auto 12px;max-width:34ch;font-size:16px;line-height:1.4;color:#3A466A}.kPinP.small{font-size:14px;color:#4A5578}
.kPinDots{display:flex;justify-content:center;gap:16px;margin:8px 0 4px}
.kPinDots i{width:16px;height:16px;border-radius:50%;border:2px solid #7C5CFF;background:transparent;transition:background .15s,transform .15s}
.kPinDots{height:20px;align-items:center}.kPinDots i.on{background:#7C5CFF;transform:scale(1.08)}
.kPinAns{font-size:34px;font-weight:700;height:44px;line-height:44px;letter-spacing:.08em;color:#24345C}
.kPinMsg{height:22px;overflow:hidden;line-height:22px;margin:4px 0 6px;font-size:15px;color:#B42318}
.kPinPad{display:grid;grid-template-columns:repeat(3,76px);justify-content:center;gap:12px 22px;margin:6px 0 10px}
.kPinK{width:76px;height:76px;border-radius:50%;border:0;background:#fff;color:#24345C;font:600 30px/1 Fredoka,Nunito,system-ui,sans-serif;box-shadow:inset 0 -3px 0 rgba(36,52,92,.08),0 4px 12px -4px rgba(36,52,92,.25);cursor:pointer;touch-action:manipulation}
.kPinK:active{transform:scale(.94);background:#F3EEFF}.kPinK:disabled{opacity:.4;cursor:default}
.kPinDel{font-size:26px;background:transparent;box-shadow:none}
.kPinK:focus-visible,.kPinB:focus-visible,.kPinL:focus-visible{outline:3px solid #7C5CFF;outline-offset:3px}
.kPinBtns{display:flex;flex-direction:column;gap:10px;margin:8px 0 4px}
.kPinB{min-height:52px;border-radius:26px;border:2px solid #D9D2F5;background:#fff;color:#24345C;font:600 18px Fredoka,Nunito,system-ui,sans-serif;cursor:pointer}
.kPinB.p{background:#7C5CFF;border-color:#7C5CFF;color:#fff}
.kPinLinks{display:flex;justify-content:center;gap:28px}
.kPinL{min-height:44px;padding:0 8px;border:0;background:none;color:#4B3BB5;font:600 16px Fredoka,Nunito,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body.kNight .kPin.inKids{background:rgba(4,8,24,.55)}
body.kNight .kPin.inKids .kPinCard{background:linear-gradient(180deg,#1E2A52,#151E3D);color:#EDE7DA;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
body.kNight .kPin.inKids .kPinCard h2,body.kNight .kPin.inKids .kPinAns{color:#FFE7A8}
body.kNight .kPin.inKids .kPinP{color:#C9CFE3}
body.kNight .kPin.inKids .kPinK{background:#2A3766;color:#EDE7DA;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 12px -4px rgba(0,0,0,.5)}
body.kNight .kPin.inKids .kPinDel{background:transparent;box-shadow:none}
body.kNight .kPin.inKids .kPinDots i{border-color:#B9A8FF}body.kNight .kPin.inKids .kPinDots i.on{background:#B9A8FF}
body.kNight .kPin.inKids .kPinB{background:#2A3766;border-color:#3B4A80;color:#EDE7DA}body.kNight .kPin.inKids .kPinB.p{background:#8B6DFF;border-color:#8B6DFF;color:#fff}
body.kNight .kPin.inKids .kPinL{color:#C9BCFF}body.kNight .kPin.inKids .kPinMsg{color:#FFB4A8}
@media (max-height:640px){.kPinK{width:64px;height:64px;font-size:26px}.kPinPad{grid-template-columns:repeat(3,64px);gap:8px 20px}}
@media (prefers-reduced-motion:reduce){.kPinCard{animation:none}.kPinDots i{transition:none}}
.appVer{margin-top:14px;opacity:.85}
/* r108: voice-search overlay. While the orb listens/speaks the page behind is all but blacked out so the orb is the highlight,
   and the live transcript is a clear UI face in a light cyan-white with the orb's cyan/blue glow (>=15:1 on the scrim). */
.voiceOv{transition:background-color .35s ease-out}
.voiceOv[data-state=listen],.voiceOv[data-state=speak]{background:radial-gradient(circle at 50% 43%,rgba(20,60,120,.28) 0,transparent 58%),rgba(2,6,16,.94);-webkit-backdrop-filter:blur(10px) saturate(.6) brightness(.6);backdrop-filter:blur(10px) saturate(.6) brightness(.6)}
.voiceOv .voiceLive{padding:0 18px;font:600 21px/1.35 "Atkinson Hyperlegible","Plus Jakarta Sans",var(--ui);letter-spacing:.01em;color:#E6FAFF;text-shadow:0 0 1px rgba(170,238,255,.9),0 0 10px rgba(90,200,255,.6),0 0 24px rgba(60,140,255,.45),0 1px 2px rgba(0,0,0,.6)}
@media (min-width:900px){.voiceOv .voiceLive{font-size:22px}}
@media (prefers-reduced-motion:reduce){.voiceOv{transition:none}}
/* r108b: Watch redesign (Direction 2, toned). Featured player per series + a swipeable, snapping row of the rest with the next card peeking. */
.subLogoW{display:grid;place-items:center}.subLogo{width:30px;height:30px;object-fit:contain}
[data-theme="dark"] .subLogo{filter:invert(1)}
@media (min-width:700px){.subLogoW .subLogo{visibility:hidden}}/* rail / top nav already show the logo */
#view-watch .wSer{margin-top:10px}
#view-watch .wHead{display:flex;align-items:baseline;justify-content:space-between;margin:4px 2px 6px}
#view-watch .wHead h2{margin:0}
#view-watch .wFeat .player{margin-top:0;width:100%;aspect-ratio:auto;height:clamp(150px,min(calc((100vw - 36px)*.5625),21.5vh),300px);border-radius:18px}
#view-watch .wFeat .bpPlayer{margin:0;background:#111}
#view-watch .player .play{transition:transform .2s ease}
#view-watch .player .poster:hover .play,#view-watch .player .poster:focus-visible .play{transform:translate(-50%,-50%) scale(1.06)}
#view-watch .nowPlaying{margin:7px 4px 0;min-width:0}
#view-watch .nowPlaying small{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-watch .nowPlaying h2{margin-top:2px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wRow{display:flex!important;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:9px -18px 0;padding:2px 18px 4px;scroll-padding-left:18px;grid-template-columns:none!important}
.wRow::-webkit-scrollbar{display:none}
.wCard{flex:0 0 auto;width:min(41vw,168px);padding:0;border:0!important;background:none;border-radius:12px!important;box-shadow:none!important;scroll-snap-align:start;text-align:left;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.wTh{position:relative;display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#1a2230;box-shadow:0 6px 16px -10px rgba(var(--shadowC),.55)}
.wTh img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.wTh::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,14,28,0) 30%,rgba(6,14,28,.82));pointer-events:none}
.wPl{position:absolute;right:7px;top:7px;z-index:1;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(10,20,36,.62);color:#fff}
.wPl .ic{width:11px;height:11px}
.wCard .wT{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:0 8px 6px;color:#fff}
.wCard{position:relative}
.wT em{display:block;font:700 9.5px/1.2 var(--ui);letter-spacing:.07em;text-transform:uppercase;font-style:normal;color:#E9CF7A}
.wT b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:700 12px/1.22 var(--ui);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.wCard.on .wTh,.wCard[aria-current="true"] .wTh{outline:2.5px solid var(--gold);outline-offset:-2.5px}
.wCard:focus-visible{outline:none}.wCard:focus-visible .wTh{outline:3px solid var(--accent);outline-offset:2px}
@media (hover:hover){.wCard:hover .wTh img{transform:scale(1.04)}}
#view-watch .bpCredit{margin:8px 2px 10px;font-size:11.5px;line-height:1.4}
#view-watch .channelLink{margin-top:6px}
@media (min-width:700px){.wRow{margin:9px 0 0;padding:2px 0 4px;scroll-padding-left:0;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}.wCard{width:186px}}
@media (min-width:1024px){
 #view-watch>*{max-width:1120px}
 #view-watch .wSer{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:26px;margin-top:14px}
 #view-watch .wHead{grid-column:1 / -1}
 #view-watch .wFeat{grid-column:1}
 #view-watch .wFeat .player{height:auto;aspect-ratio:16/9}
 #view-watch .wRow{grid-column:2;grid-row:2;align-self:center;margin:0;padding:4px 0 6px}
 #view-watch .wCard{width:calc((100% - 20px)/2.6)}
 #view-watch .bpCredit{grid-column:1 / -1;margin:8px 2px 4px}
}
@media (prefers-reduced-motion:reduce){.wTh img,#view-watch .player .play{transition:none}}
/* r108b: bottom nav. Home · Bible · Ask (blue orb) · Explore · Saved. Explore opens a sheet with Watch + Games. */
.askIcW{display:grid;place-items:center}
.askOrbIc{position:relative;display:block;width:21px;height:21px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#E2F5FF 0,#8AD3FF 16%,#3B9BF0 42%,#1554B8 74%,#0B2C66 100%);box-shadow:inset 0 -2px 4px rgba(4,20,60,.45),0 1px 5px -1px rgba(30,111,217,.6)}
.askOrbIc::after{content:"";position:absolute;right:-3px;top:-3px;width:9px;height:9px;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 2px rgba(120,200,255,.9))}
.tab[data-tab="ask"].on .askOrbIc{box-shadow:inset 0 -2px 4px rgba(4,20,60,.45),0 0 0 2px rgba(59,155,240,.25),0 2px 8px -1px rgba(30,111,217,.7)}
button.tab{border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.exSheet .sheetTitle h3{margin:0}
.exH{display:flex;align-items:baseline;justify-content:space-between;margin:14px 2px 8px;font:700 12px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.exAll{font:700 13px/1 var(--ui);letter-spacing:0;text-transform:none;color:var(--accentText)}
.exGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.exItem{display:flex;align-items:center;gap:10px;min-height:64px;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--surface2,var(--surface));color:var(--ink);text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.exItem b{display:block;font:700 14px/1.2 var(--ui)}.exItem small{display:block;margin-top:3px;font:500 12px/1.25 var(--ui);color:var(--muted)}
.exTh{width:64px;height:36px;flex:none;border-radius:8px;object-fit:cover;background:#1a2230}
.exIc{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:var(--tint,rgba(14,58,77,.08));color:var(--accentText)}.exIc .ic{width:22px;height:22px}
.exItem:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media (hover:hover){.exItem:hover{border-color:var(--line2)}}
@media (max-width:380px){.exGrid{grid-template-columns:1fr}}
@media (min-width:1024px){
 #exploreSheet{left:var(--exL,50%);right:auto;top:calc(var(--topH) - 6px);bottom:auto;width:460px;max-height:calc(100vh - var(--topH) - 20px);padding:6px 18px 16px;border-radius:20px;border:1px solid var(--line);box-shadow:0 18px 50px -18px rgba(var(--shadowC),.45);transform:translateY(-8px);opacity:0;transition:transform .22s var(--ease),opacity .18s,visibility 0s .22s}
 #exploreSheet.open{transform:none;opacity:1;transition:transform .22s var(--ease),opacity .18s}
 #exploreSheet .handle{display:none}
}
@media (prefers-reduced-motion:reduce){#exploreSheet{transition:none!important}}
