:root{--bg:#fbf8f2;--fg:#222;--mut:#6b6b6b;--card:#fff;--acc:#1f3a5f;--line:#e6e0d4;--cur:#b7791f;--sim:#2f855a;--th:#6b46c1;--fs:19px}
.dark{--bg:#14171c;--fg:#e8e4dc;--mut:#9aa0a6;--card:#1d2128;--acc:#8fb4e6;--line:#2c313a;--cur:#f6ad55;--sim:#68d391;--th:#b794f4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--acc);color:#fff}
.dark header{background:#0d1b2e}header a,header button{color:#fff;text-decoration:none;background:none;border:0;font-size:17px;margin-left:10px;cursor:pointer}.brand{font-weight:700;margin:0}
main{max-width:780px;margin:0 auto;padding:16px 16px 80px}a{color:var(--acc)}h1{font-size:1.6em;margin:.3em 0}h2{font-size:1.2em;margin:1.4em 0 .4em;border-bottom:1px solid var(--line);padding-bottom:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.chgrid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--fg)}.card:hover{border-color:var(--acc)}.card small{color:var(--mut);display:block}
.chgrid .card{text-align:center;padding:10px 0}
.text{font-family:Georgia,'Iowan Old Style',serif;font-size:var(--fs);line-height:1.75}.text p{margin:0 0 .7em}.vn{color:var(--mut);font-size:.65em;vertical-align:super;margin-right:4px;font-family:system-ui}
.hl{background:rgba(214,158,46,.22);border-radius:4px}.key{border-left:3px solid var(--cur);padding-left:8px}
.pill{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;border:1px solid var(--line);color:var(--mut);margin:2px 4px 2px 0}
.tag-cur{color:var(--cur);border-color:var(--cur)}.tag-sim{color:var(--sim);border-color:var(--sim)}.tag-th{color:var(--th);border-color:var(--th)}
.conn{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}.conn a{font-weight:600}.conn div{color:var(--mut);font-size:14px}
.box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}.mut{color:var(--mut);font-size:14px}
.pager{display:flex;justify-content:space-between;margin:24px 0}.btn{display:inline-block;padding:8px 14px;border-radius:10px;background:var(--acc);color:#fff;text-decoration:none;border:0;font-size:15px}.dark .btn{color:#111}
details summary{cursor:pointer;font-weight:600}input[type=search]{width:100%;font-size:17px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
.tl{border-left:3px solid var(--line);margin-left:8px;padding-left:16px}.tl .st{position:relative;margin:12px 0}.tl .st:before{content:'';position:absolute;left:-24px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--mut)}
.st.made:before{background:#3182ce}.st.reaffirmed:before{background:#d69e2e}.st.fulfilled:before{background:#38a169}.st.quoted:before{background:#805ad5}.stage{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.tree ul{list-style:none;margin:0;padding-left:18px;border-left:2px solid var(--line)}.tree>ul{border:0;padding:0}.tree li{margin:6px 0}
.node{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 10px;cursor:pointer}.node.unc{border-style:dashed}.node b{color:var(--acc)}.node small{color:var(--mut);margin-left:6px}
.pd{display:none;margin:6px 0 4px;font-size:14px}.open>.pd{display:block}
.res{margin:8px 0;padding-bottom:8px;border-bottom:1px solid var(--line)}
/* reels */
body.reels{overflow:hidden}body.reels main{max-width:none;padding:0}
#rl{position:fixed;top:46px;left:0;right:0;bottom:0;overflow-y:scroll;scroll-snap-type:y mandatory;overscroll-behavior:contain;background:#0e1116}
.rc{height:calc(100dvh - 46px);scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;padding:58px 18px 70px;color:#eee;position:relative;max-width:640px;margin:0 auto;overflow:hidden}
.rc .ty{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9fb3c8;margin-bottom:8px}.rc h3{font-size:1.45em;margin:.2em 0 .4em;color:#fff}
.rc .vt{font-family:Georgia,serif;font-size:16px;line-height:1.55;background:rgba(255,255,255,.06);border-radius:12px;padding:10px 12px;margin:6px 0;max-height:30vh;overflow:auto}
.rc .vt a{color:#ffd58a;font-family:system-ui;font-weight:600;font-size:14px;display:block;margin-bottom:4px}.rc .how{color:#cfd8e3;font-size:15px;margin:8px 0}
.rc a{color:#ffd58a}.rc .acts{position:absolute;right:10px;bottom:80px;display:flex;flex-direction:column;gap:14px}.rc .acts button{background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:50%;width:46px;height:46px;font-size:20px;cursor:pointer}
.rc .acts .on{background:#e53e3e}.rc .kd{display:inline-block;font-size:11px;padding:1px 8px;border-radius:99px;margin-left:6px;border:1px solid #ffd58a;color:#ffd58a}
.side{display:grid;grid-template-columns:1fr;gap:6px}@media(min-width:760px){.side{grid-template-columns:1fr 1fr}.rc{max-width:900px}}
.hs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:0 18px}.hs>div{flex:0 0 100%;scroll-snap-align:start}
.dots{color:#9fb3c8;font-size:13px;margin-top:6px}
#chips{position:fixed;top:46px;left:0;right:0;z-index:4;display:flex;gap:6px;overflow-x:auto;padding:8px 10px;background:linear-gradient(#0e1116ee,#0e111600)}
#chips button{flex:0 0 auto;border:1px solid #445;background:#1b2230;color:#cfd8e3;border-radius:99px;padding:4px 11px;font-size:13px;cursor:pointer}#chips button.on{background:#ffd58a;color:#111;border-color:#ffd58a}
#streak{position:fixed;bottom:12px;left:12px;z-index:4;color:#cfd8e3;font-size:13px;background:#1b2230cc;border-radius:99px;padding:4px 10px}
.opt{display:block;width:100%;text-align:left;margin:6px 0;padding:9px 12px;border-radius:10px;border:1px solid #445;background:#1b2230;color:#eee;font-size:15px;cursor:pointer}.opt.ok{background:#276749}.opt.no{background:#9b2c2c}
.reveal{background:#ffd58a;color:#111;border:0;border-radius:10px;padding:8px 14px;font-size:15px;cursor:pointer;margin-top:8px}
.blank{border-bottom:2px solid #ffd58a;padding:0 30px}
/* timeline */
.tlw{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--card);height:70vh;position:relative}
.tli{position:relative}.lane{position:absolute;font-weight:700;font-size:12px;color:var(--mut)}
.ev{position:absolute;border-radius:6px;font-size:12px;padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:#fff}
.ev.deb{outline:2px dashed #fff8}.tick{position:absolute;font-size:11px;color:var(--mut);border-left:1px solid var(--line)}
header{height:46px;white-space:nowrap}header nav{display:flex;align-items:center}header nav a,header nav button{margin-left:12px}
@media(max-width:600px){.brand span{display:none}}
body.wide main{max-width:1400px}
.k-fulfillment{border-color:#38a169!important}.k-echo{border-color:#3182ce!important}.k-explanation{border-color:#d69e2e!important}
details.bl{margin:8px 0}details.bl summary{cursor:pointer}
.tsec{margin:8px 0}
.ej{font-size:17px;padding:8px;margin:6px 0 10px;width:100%;max-width:420px;border-radius:8px}
.era{margin:0 0 18px}.eh{position:sticky;top:46px;z-index:5;background:var(--bg,#faf7f0);margin:0;padding:10px 4px;border-bottom:2px solid #c9a227;font-size:20px}
.ecols{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ecol{border-radius:10px;padding:10px;cursor:pointer;font-size:16px;line-height:1.4;border:1px solid #8884}
.ecol.sc{background:#3182ce14}.ecol.wo{background:#80808014}
.elab{font-weight:700;margin-bottom:6px;font-size:15px}.elab small{font-weight:400;opacity:.75}
.tev{margin:0 0 8px}.more{font-size:14px;opacity:.7}
.ep{position:fixed;left:0;right:0;bottom:0;max-height:78vh;overflow:auto;background:var(--bg,#fff);z-index:50;padding:16px 18px 30px;border-top:3px solid #c9a227;box-shadow:0 -6px 24px #0005;font-size:17px}
.epx{float:right;font-size:20px;background:none;border:0;cursor:pointer;color:inherit}
.rl{padding:6px 0;border-bottom:1px solid #8883}
@media(max-width:600px){.ecol{font-size:14.5px;padding:8px}.eh{font-size:18px}}
.fnl{font-size:12px;opacity:.55;text-decoration:none;margin-left:2px}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0 8px;clear:both}
.qgrid .btn{display:flex;align-items:center;justify-content:center;margin:0!important;padding:12px 14px;text-align:center;min-height:48px}
.grid{gap:12px}
/* reels phone ergonomics v2 */
#chips{background:#0e1116;height:44px;align-items:center;padding:0 10px}
#rl{top:90px;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}
.rc{height:calc(100dvh - 90px);min-height:calc(100dvh - 90px);scroll-snap-align:start;scroll-snap-stop:always;padding:14px 92px 56px 14px;justify-content:center;box-sizing:border-box}
.rc .vt{direction:rtl;max-height:32dvh;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#ffd58a55 transparent;padding:10px 12px 10px 10px}
.rc .vt>.vx{direction:ltr;text-align:left;unicode-bidi:isolate}
.rc .vt::-webkit-scrollbar{width:5px}.rc .vt::-webkit-scrollbar-thumb{background:#ffd58a66;border-radius:3px}
.rc .acts{right:16px;bottom:72px}
.rc::after{content:"";position:absolute;top:0;right:0;width:84px;height:100%;pointer-events:none}
.hs{margin:0;padding:0}
@media(min-width:760px){.rc{padding:20px 110px 56px 24px}}
.rc{overflow:hidden}
.hs{overflow-y:hidden;scrollbar-width:none}.hs::-webkit-scrollbar{display:none}
.hs>div{max-height:calc(100dvh - 190px);overflow-y:auto;direction:rtl;scrollbar-width:thin;scrollbar-color:#ffd58a55 transparent}
.hs>div>*{direction:ltr;text-align:left}
.hs .vt{max-height:22dvh}
#chips{scrollbar-width:none}#chips::-webkit-scrollbar{display:none}
/* reels carousel v3 */
.rc{padding:0!important;display:block;position:relative}
.hc{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}
.hc::-webkit-scrollbar{display:none}
.sl{flex:0 0 100%;width:100%;height:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;padding:14px 92px 64px 14px;display:flex;flex-direction:column;justify-content:safe center;gap:8px}
@media(min-width:760px){.sl{padding:20px 110px 64px 24px}}
.sl .sc{direction:rtl;overflow-y:auto;max-height:calc(100dvh - 200px);scrollbar-width:thin;scrollbar-color:#ffd58a55 transparent;padding-left:10px}
.sl .sc>*{direction:ltr;text-align:left}
.sl .sc::-webkit-scrollbar{width:5px}.sl .sc::-webkit-scrollbar-thumb{background:#ffd58a66;border-radius:3px}
.ctx p{margin:.35em 0;font-size:.9em;line-height:1.45;opacity:.75}.ctx p.hl{opacity:1;background:#ffd58a1f;border-left:3px solid #ffd58a;padding-left:6px}
.art{margin:0}.art img{width:100%;height:auto;max-height:52dvh;object-fit:contain;border-radius:8px;background:#0003}
.art figcaption{font-size:12px;opacity:.8;margin-top:6px;line-height:1.4}
.cdots{position:absolute;left:0;right:0;bottom:26px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.cdots i{width:6px;height:6px;border-radius:50%;background:#fff5}.cdots i.on{background:#ffd58a;width:16px;border-radius:3px}
.hint{position:absolute;right:96px;bottom:40px;font-size:12px;opacity:.6;animation:hn 1.6s ease-in-out 3}
.rc.one .hint,.rc.swiped .hint{display:none}
@keyframes hn{50%{transform:translateX(6px)}}
.sl:first-child{position:relative}
.sl .sc .vt{max-height:none;overflow:visible;direction:ltr}
.cdots{bottom:52px}.hint{bottom:46px}
#rl{scrollbar-width:none}#rl::-webkit-scrollbar{display:none}
.hint{bottom:26px;right:18px}
/* genealogy explorer */
.gtree ul{list-style:none;margin:0;padding-left:16px;border-left:1px dashed #8886}
.gtree>ul{padding-left:0;border:0}
.gtree li{padding:3px 0}
.gt{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #8885;border-radius:8px;background:none;color:inherit;font-size:15px;margin-right:6px;vertical-align:middle;cursor:pointer}
.gt0{border-color:transparent;opacity:.5;cursor:default}
.gn{font-weight:600;cursor:pointer;vertical-align:middle}.gn.leaf{font-weight:400;cursor:default}
.gf{text-decoration:none;font-size:18px;padding:4px 8px;vertical-align:middle}
.gm{font-size:13px;opacity:.75;margin:0 0 2px 40px}
.crumb{font-size:14px;overflow-x:auto;white-space:nowrap;padding:6px 0;scrollbar-width:none}
/* back button */
#back{margin:0 8px 0 -6px;padding:0 12px;min-height:38px;min-width:44px;border-radius:19px;background:#ffffff26!important;font-size:15px;font-weight:600}
#back[hidden]{display:none}
@media(max-width:520px){body.hasback .brand span,body.hasback .brand{font-size:0}body.hasback .brand::before{content:"📖";font-size:18px}header nav a,header nav button{margin-left:9px}}
.gf{font-size:12px!important;padding:3px 8px!important;border:1px solid #8886;border-radius:12px;opacity:.85;margin-left:4px}
/* prayer reminder */
.rem{display:flex;gap:12px;align-items:flex-start;margin:14px 0 18px;padding:14px 16px;border-radius:14px;background:#f4ead2;border:1px solid #e3d3a8;color:#4a3b17;font-size:15px;line-height:1.5}
.rem>span{font-size:22px;line-height:1}.dark .rem{background:#2a2414;border-color:#4a3f22;color:#eadcb5}
.remv{margin-top:6px;font-style:italic;font-size:14px;opacity:.9}
.rem1{text-align:center;font-size:13px;opacity:.7;margin:26px 8px 10px;line-height:1.4}
.rc .rem1{text-align:left;margin:0 0 6px;font-size:12px}
#welcome{position:fixed;inset:0;z-index:50;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}
.wbox{max-width:420px;background:#fbf7ee;color:#2b2414;border-radius:18px;padding:24px 22px;text-align:center;line-height:1.55;box-shadow:0 10px 40px #0006}
.dark .wbox{background:#1d1a12;color:#eadcb5}.wic{font-size:34px}.wbox h2{margin:.2em 0 .4em;border:0}.wbox .btn{margin-top:16px;min-width:140px;min-height:44px;font-size:16px}
/* ===== Twelve Tribes & Disobedience */
.tnav{display:flex;gap:6px;overflow-x:auto;padding:6px 0 10px;scrollbar-width:none}.tnav a{flex:0 0 auto;padding:6px 11px;border-radius:999px;background:var(--card,#f4efe6);font-size:.82rem;text-decoration:none;white-space:nowrap;border:1px solid rgba(0,0,0,.08)}
.tstep,.sin{position:relative;margin:18px 0;padding:16px 14px 12px;border-radius:14px;background:var(--card,#fbf8f2);border:1px solid rgba(0,0,0,.07);scroll-margin-top:60px}
.tstep h2,.sin h2{margin:.1em 0 .4em;font-size:1.15rem}.sn{position:absolute;top:-12px;left:12px;width:28px;height:28px;border-radius:50%;background:#c96b3b;color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.simple{font-size:1.02rem;line-height:1.55}.deep summary,.sin summary{cursor:pointer;font-weight:600;color:#c96b3b;padding:6px 0}.deep p{line-height:1.55}
.pv{margin:4px 0}.pv summary{cursor:pointer;font-size:.88rem}.pv .vx{font-size:.9rem;line-height:1.5;padding:6px 10px;border-left:3px solid #c9a227;margin:4px 0 8px;opacity:.92}
.sons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.son{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:12px;background:color-mix(in srgb,var(--m) 16%,transparent);border:2px solid var(--m);text-decoration:none;color:inherit}.son .bo{font-size:.7rem;opacity:.7}.son b{font-size:.88rem}.son small{font-size:.68rem;opacity:.75}
.leg{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem}.leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.t13{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.t13>div:first-child{display:flex;flex-direction:column;gap:3px}.t13 span{font-size:.85rem;padding:2px 6px;border-radius:6px}.t13 .lv{background:#8a63c933}.t13 .jo{background:#c9a22740}.t13n p{font-size:.85rem;margin:.3em 0 .7em}
.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.tgrid .card{margin:0}
.camp,.dmap{width:100%;max-width:420px;display:block;margin:10px auto;color:#b23a2a}.cbg{fill:#f3ead8}.camp text{font-size:12px;fill:#fff;font-weight:600;pointer-events:none}.camp .cdir{fill:#7a6a55;font-size:10px;letter-spacing:1px}.camp .ct{cursor:pointer}.camp .ct:focus rect,.camp .ct:hover rect{stroke:#222;stroke-width:2}.lev{fill:#e3d3b4;stroke:#a88f62}.camp .ls{fill:#5a4630;font-size:9px;font-weight:500}.tab{fill:#fff8e8;stroke:#a88f62}
.dmap .nk{fill:#9cc3e6aa;stroke:#4f7fae}.dmap .sk{fill:#e8c98aaa;stroke:#b08a3c}.dmap .sea{fill:none;stroke:#6aa0d0;stroke-width:5}.dmap .riv{fill:none;stroke:#4f8fd0;stroke-width:2}.dmap .lake{fill:#6aa0d0}.dmap .city{fill:#222}.dmap .lbl{font-size:10px;fill:#222}.dmap .lbl2{font-size:11px;font-weight:700;fill:#8a2a1a}.dmap .kn{font-size:16px;font-weight:800;fill:#24466b;letter-spacing:2px}.dmap .ks{font-size:8.5px;fill:#444}.dmap .arr{fill:none;stroke:currentColor;stroke-width:2.2;stroke-dasharray:6 3}.dmap .a3{color:#2f7d4f}.dmap .a4{color:#7a5cc0}
@media (prefers-color-scheme:dark){.cbg{fill:#2a2620}.dmap .lbl,.dmap .ks{fill:#ddd}.dmap .city{fill:#eee}.dmap .kn{fill:#bcd6f2}}
.dtl{display:flex;flex-direction:column;gap:6px;margin:8px 0;border-left:3px solid #c96b3b;padding-left:10px}.dtl div{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:.88rem}.dtl span{opacity:.75}.dtl small{margin-left:auto;font-size:.75rem;opacity:.7}
.tblw{overflow-x:auto}.ttbl{border-collapse:collapse;font-size:.78rem;min-width:620px}.ttbl th,.ttbl td{padding:5px 6px;border-bottom:1px solid rgba(0,0,0,.1);text-align:left}.ttbl th{position:sticky;top:0;background:var(--card,#f4efe6)}
.bars div{display:grid;grid-template-columns:44px 1fr 40px;align-items:center;gap:6px;font-size:.8rem;margin:3px 0}.bars i{display:block;height:10px;border-radius:5px;background:#c96b3b}
.sera{font-size:.75rem;opacity:.75}.idl span{display:inline-block;margin:2px 4px;padding:2px 8px;border-radius:999px;background:#b23a2a22;font-size:.8rem}.irefs{font-size:.85rem;line-height:1.8}#idols{scroll-margin-top:60px}
.qgrid{gap:10px}
/* reels day history */
#rl .rc{content-visibility:auto;contain-intrinsic-size:auto 100vh}
#rpos{position:fixed;right:8px;top:102px;z-index:30;display:flex;gap:6px;align-items:center;background:rgba(20,22,28,.78);color:#fff;border-radius:999px;padding:3px 4px;font-size:.74rem;backdrop-filter:blur(6px);white-space:nowrap}
#rpos b{font-weight:600;padding:0 4px}#rpos button{background:#c9a227;color:#111;border:0;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700;cursor:pointer}#rpos #ryest{background:rgba(255,255,255,.18);color:#fff}
/* Revelation */
.seals{width:100%;max-width:460px;display:block;margin:8px auto}.seals .sg{cursor:pointer}.seals .sg:hover rect,.seals .sg:focus rect{stroke:#c96b3b;stroke-width:3}.sn1{font-size:20px;font-weight:800}.sn2{font-size:9px}.sn3{font-size:8px;fill:currentColor;opacity:.8}
.rch,.rsig{border-bottom:1px solid rgba(0,0,0,.08);padding:4px 0;scroll-margin-top:60px}.rch>summary,.rsig>summary{cursor:pointer;display:flex;gap:8px;align-items:center;padding:8px 2px;flex-wrap:wrap}.rn{width:26px;height:26px;border-radius:50%;background:#7a5cc0;color:#fff;display:inline-grid;place-items:center;font-size:.8rem;font-weight:700;flex:0 0 auto}.rbody h4{margin:.9em 0 .3em;font-size:.9rem}
.rst{color:#fff;font-size:.68rem;padding:2px 8px;border-radius:999px}.rsig>summary small{opacity:.6;font-size:.72rem;margin-left:auto}
.rfil{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.rfil button{border:1px solid rgba(0,0,0,.15);background:transparent;border-radius:999px;padding:4px 10px;font-size:.78rem;color:inherit}.rfil button.on{background:#c96b3b;color:#fff;border-color:#c96b3b}
#seals,#chapters,#signs,#prep,#lib{scroll-margin-top:60px}
