/* GOD MODE private QA — throne-room-first layout + cinematic light layer + waitlist page.
 * Additive: loads after styles.css, touches nothing that styles.css / the lab blocks style for the storm stage.
 * Every rule is scoped to body.cine (throne room) or body.wl (waitlist page). Nothing here loads a font, image or any other file. */

:root{--c-gold:#f0c75a;--c-gold2:#ffe9a8;--c-ink:#fff3d1;--c-ink2:#d9c590;--c-line:rgba(240,199,90,.5);--c-blue:#8ec1ff;--c-red:#ff9a8c;--c-glass:rgba(9,6,2,.8)}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nw{white-space:nowrap}

/* ===================================================== throne room (index.html) ===================================================== */
body.cine{height:100vh;height:100dvh;overflow:hidden;background:#0a0703;color:var(--c-ink)}
.cine-skip{position:fixed;left:8px;top:-60px;z-index:200;padding:10px 14px;border-radius:10px;background:#fff3d1;color:#241906;font-weight:800;text-decoration:none}
.cine-skip:focus{top:8px}
.cine-shell{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}
.cine-shell>*{pointer-events:auto}
.cine-main{flex:1 1 auto;min-height:0;pointer-events:none}

.cine-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 10px;background:linear-gradient(180deg,rgba(6,4,1,.82) 0%,rgba(6,4,1,.5) 60%,rgba(6,4,1,0) 100%)}
.cine-brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--c-ink);text-decoration:none}
.cine-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#2a1c06;font-weight:900;font-size:1.1rem;background:linear-gradient(145deg,#ffe9a0,#c98a10);box-shadow:0 4px 14px rgba(0,0,0,.55),0 0 0 1px rgba(255,226,140,.5),inset 0 1px 0 rgba(255,255,255,.6)}
.cine-word{font-weight:900;letter-spacing:.14em;font-size:.95rem;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.cine-word em{font-style:normal;color:var(--c-gold)}
.cine-actions{display:flex;align-items:center;gap:8px}
.cine-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-glass);color:var(--c-gold2);font-weight:800;letter-spacing:.06em;font-size:.82rem;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,236,170,.12),0 4px 14px rgba(0,0,0,.45);cursor:pointer}
.cine-chip:hover{border-color:var(--c-gold)}
.cine-icon{padding:0;font-size:1.15rem}

/* the one always-visible early-access / payments warning. Short, one or two lines, never over the throne itself. */
.cine-strip{display:flex;align-items:center;gap:8px;margin:0 12px;padding:4px 4px 4px 12px;border-radius:12px;background:rgba(8,5,1,.82);border:1px solid var(--c-line);color:var(--c-gold2);font-size:.7rem;line-height:1.3;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.45)}
.cine-strip .lamp{flex:none;width:8px;height:8px;border-radius:50%;background:#ffb020;box-shadow:0 0 10px #ffb020;animation:csLamp 2.6s ease-in-out infinite}
.cine-strip .cs-text{flex:1 1 auto;min-width:0}
.cine-strip b{color:#fff3d1;font-weight:900}
.cs-i{display:none}
.cs-more{flex:none;min-height:36px;padding:0 12px;border-radius:9px;border:1px solid rgba(240,199,90,.5);background:rgba(240,199,90,.12);color:var(--c-gold2);font-weight:800;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
@keyframes csLamp{0%,100%{opacity:1}50%{opacity:.45}}

.cine-dock{position:relative;padding:22px 12px calc(10px + env(safe-area-inset-bottom));display:grid;gap:8px;background:linear-gradient(0deg,rgba(6,4,1,.9) 0%,rgba(6,4,1,.72) 55%,rgba(6,4,1,0) 100%)}
.cine-primary{display:grid;gap:1px;justify-items:center;width:100%;min-height:54px;padding:8px 14px;border-radius:16px;border:1px solid #fff0b0;background:linear-gradient(180deg,#ffe9a0,#d9a521);color:#241906;box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 24px rgba(240,199,90,.3),inset 0 1px 0 rgba(255,255,255,.65);cursor:pointer;animation:cpGlow 3.6s ease-in-out infinite}
.cp-main{font-weight:900;letter-spacing:.1em;font-size:1rem}
.cp-sub{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4d3406}
@keyframes cpGlow{0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 18px rgba(240,199,90,.22),inset 0 1px 0 rgba(255,255,255,.65)}50%{box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 34px rgba(240,199,90,.5),inset 0 1px 0 rgba(255,255,255,.65)}}
.cine-row{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap}
.cine-join{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--c-gold);background:rgba(20,14,6,.9);color:var(--c-gold2);font-weight:900;letter-spacing:.06em;font-size:.84rem;text-decoration:none}
.cine-join:hover{background:rgba(60,42,10,.95)}
.cine-link{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;border:0;background:none;color:var(--c-ink2);font-weight:700;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cine-link:hover{color:var(--c-gold2)}
.cine-link[hidden],.cine-join[hidden]{display:none}
.cine-row .cine-link:last-child{margin-left:auto}

/* ---- bottom sheets (tiers, settings, notice, last storm) ---- */
.sheet{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.58)}
.sheet[hidden]{display:none}
.sheet-card{width:min(34rem,100%);max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#1d150a,#0a0702);border:1px solid var(--c-line);border-bottom:0;color:var(--c-ink);padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -16px 50px rgba(0,0,0,.7);animation:sheetUp .28s cubic-bezier(.2,.9,.2,1) both}
@keyframes sheetUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:700px){.sheet{align-items:center}.sheet-card{border-radius:22px;border-bottom:1px solid var(--c-line)}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.sheet-head h2{margin:0;font-size:1.15rem;font-weight:900;letter-spacing:.06em;color:var(--c-gold)}
.sheet-head h2 small{font-size:.62rem;letter-spacing:.14em;color:#fff3d1;opacity:.8;margin-left:6px}
.sheet-x{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line);background:rgba(20,14,6,.9);color:var(--c-gold2);font-size:1rem;cursor:pointer}
.sheet .fine,.sheet .credit,.sheet .hint{color:var(--c-ink2)}
.sheet .credit{font-size:.7rem;line-height:1.45;margin:.8rem 0 0}
.sheet .ea-facts{color:var(--c-ink);font-size:.9rem}
.sheet .sheet-cta{display:inline-block;text-decoration:none;margin-right:10px}
.demo-warn{margin:0 0 10px;padding:8px 10px;border-radius:10px;background:rgba(240,199,90,.12);border:1px solid rgba(240,199,90,.5);color:#ffe9b0;font-size:.8rem;line-height:1.4}
.demo-warn strong{color:#fff3d1;letter-spacing:.06em}
.sheet .tiers{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;margin:0 0 10px}
.sheet .tier{padding:10px 10px 9px;gap:2px;color:#2a1c06} /* cream tiles in the Original look; the dark gold theme sets its own, more specific, colours */
.sheet-foot .hint{background:rgba(12,8,3,.8);border:1px solid rgba(240,199,90,.2);color:var(--c-ink2)}
.quote-d .ledger,.quote-d .ledger .row{color:var(--c-ink)}
.quote-d .ledger .row dt{color:var(--c-ink)}
.quote-d .ledger .row.gold dd,.quote-d .ledger .row.big dd{color:var(--c-gold2)}
#lastStorm,#lastStorm .ls-head,#lastStorm .ls-meta{color:var(--c-ink)}
#lastStorm .ls-card{background:linear-gradient(180deg,#201709,#120c04);border:1px solid rgba(230,185,60,.3);color:var(--c-ink)}
#lastStorm .ls-card span{color:var(--c-blue)}
#lastStorm .ls-card small,#lastStorm .totals small{color:#e8c46a}
#lastStorm .totals div{background:linear-gradient(180deg,#201709,#120c04);border:1px solid rgba(230,185,60,.3);color:var(--c-ink)}
#lastStorm .ls-head{color:var(--c-red)}
.sheet .tier-amt{font-size:1.45rem;line-height:1.1}
.sheet .tier-per{font-size:.58rem}
.sheet .tier-net,.sheet .tier-total{font-size:.74rem}
.sheet .tier-odds{font-size:.64rem;line-height:1.25}
.sheet .tier-name{font-size:.82rem}
.quote-d{margin:0 0 12px;border:1px solid rgba(240,199,90,.3);border-radius:12px;background:rgba(255,255,255,.03);padding:0 12px}
.quote-d summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;font-size:.85rem;color:var(--c-gold2)}
.quote-d summary small{font-weight:600;color:var(--c-ink2);letter-spacing:.06em}
.quote-d .ledger{margin:4px 0 8px}
.sheet .unleash-btn{width:100%}
/* the hold button stays in view while the tiers scroll (small phones) */
.sheet-foot{position:sticky;bottom:0;margin:0 -16px -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(10,7,2,0),#0a0702 22%);z-index:2}
.sheet-foot .hint{margin:8px 0 0;padding:6px 8px;font-size:.74rem}
@media (max-width:359px){.sheet-foot{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}}
#lastStorm{margin:0;padding:0;background:none;border:0;box-shadow:none}
#lastStorm .proof{display:none} /* the "server-signed proof" belongs to the real platform; this page has no server, so it is not shown */
.set-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.set-controls .chip{min-height:48px;justify-content:center;font-size:.9rem}
.set-controls .vibe-row,.set-controls #vibeTestBtn{align-self:stretch}
.set-fine{margin:12px 0 0;font-size:.78rem;line-height:1.45}
body.sheet-open{overflow:hidden}

/* ---- cinematic light layer (everything is pointer-events:none, additive, and sits between the painting and the UI) ---- */
.cine-fx{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;--tx:50%;--tw:130px;--ty:46%;--tb:84%;--orb-y:34%;--orb-d:100px}
.cine-fx>div{position:absolute;pointer-events:none}
/* top and bottom darkening: frames the room and gives the status strip and the dock a quiet ground (the throne itself is untouched) */
.cx-vig{inset:0;background:radial-gradient(130% 90% at 50% 52%,rgba(0,0,0,0) 55%,rgba(8,5,1,.5) 100%),linear-gradient(180deg,rgba(6,4,1,.55) 0,rgba(6,4,1,0) 22%)}
/* warm bloom around the globe + a cool beam falling from it onto the throne */
.cx-halo{left:calc(var(--tx) - var(--orb-d)*1.5);top:calc(var(--orb-y) - var(--orb-d)*1.5);width:calc(var(--orb-d)*3);height:calc(var(--orb-d)*3);border-radius:50%;mix-blend-mode:screen;opacity:.9;background:radial-gradient(closest-side,rgba(150,200,255,.5) 0,rgba(255,225,150,.28) 38%,rgba(255,200,90,.1) 62%,rgba(255,200,90,0) 100%);animation:cxBreathe 7s ease-in-out infinite alternate}
.cx-cone{left:calc(var(--tx) - var(--tw)*.58);top:calc(var(--orb-y) + var(--orb-d)*.3);width:calc(var(--tw)*1.16);height:calc(var(--ty) - var(--orb-y) - var(--orb-d)*.3 + var(--tw)*.9);mix-blend-mode:screen;background:linear-gradient(180deg,rgba(170,210,255,.34) 0,rgba(255,230,160,.2) 55%,rgba(255,220,130,0) 100%);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);filter:blur(7px);opacity:.8;animation:cxBreathe 9s ease-in-out infinite alternate-reverse}
/* soft light pool on the marble in front of the dais, tinted by the globe, plus a contact shadow under the dais (bounded 2.5D, not ray tracing) */
.cx-pool{left:calc(var(--tx) - var(--tw)*1.15);top:calc(var(--tb) - var(--tw)*.08);width:calc(var(--tw)*2.3);height:calc(var(--tw)*.8);border-radius:50%;mix-blend-mode:screen;background:radial-gradient(closest-side,rgba(140,190,255,.34) 0,rgba(255,215,130,.2) 46%,rgba(255,200,90,0) 100%);filter:blur(6px);animation:cxBreathe 8s ease-in-out infinite alternate}
.cx-shadow{left:calc(var(--tx) - var(--tw)*1.05);top:calc(var(--tb) - var(--tw)*.16);width:calc(var(--tw)*2.1);height:calc(var(--tw)*.38);border-radius:50%;mix-blend-mode:multiply;background:radial-gradient(closest-side,rgba(18,10,0,.55) 0,rgba(18,10,0,0) 100%);filter:blur(4px)}
@keyframes cxBreathe{from{opacity:.62}to{opacity:1}}

/* the globe floating above the throne: a second, small instance of the existing globe renderer. Its canvas is opaque black outside the planet, so the
   WRAPPER is blended with "screen" (black adds nothing, atmosphere + planet add light); a separate dark disc under it keeps the night side dark. */
.orb-disc,.orb-wrap,.orb-hit{position:fixed;left:0;top:0;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.orb-disc[hidden],.orb-wrap[hidden],.orb-hit[hidden]{display:none}
.orb-disc.on,.orb-wrap.on,.orb-hit.on{opacity:1}
.orb-disc{z-index:3;width:var(--orb-d,100px);height:var(--orb-d,100px);border-radius:50%;background:radial-gradient(circle at 34% 30%,#13203f 0,#050a18 62%,#02040a 100%);box-shadow:0 0 26px rgba(120,180,255,.5),0 0 64px rgba(255,210,120,.3)}
.orb-wrap{z-index:4;width:var(--orb-s,140px);height:var(--orb-s,140px);mix-blend-mode:screen}
#orbCanvas{display:block;width:100%;height:100%}
.orb-hit{z-index:5;width:var(--orb-d,100px);height:var(--orb-d,100px);border-radius:50%;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;pointer-events:auto}
.orb-hit:focus-visible{outline:3px solid var(--c-gold);outline-offset:3px}
.orb-bob .orb-disc,.orb-bob .orb-wrap,.orb-bob .orb-hit{animation:orbBob 6.5s ease-in-out infinite}
@keyframes orbBob{0%,100%{translate:0 0}50%{translate:0 -5px}}

/* the storm stage (z-index 50) sits above everything above; hide the room chrome while it plays so nothing leaks through */
body.storm .cine-shell,body.storm .cine-fx{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
body.storm .orb-disc,body.storm .orb-wrap,body.storm .orb-hit{opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}

html.reduced .cx-halo,html.reduced .cx-cone,html.reduced .cx-pool,html.reduced .cine-primary,html.reduced .cine-strip .lamp,html.reduced.orb-bob .orb-disc,html.reduced.orb-bob .orb-wrap,html.reduced.orb-bob .orb-hit,html.reduced .sheet-card{animation:none}
@media (prefers-reduced-motion:reduce){.cx-halo,.cx-cone,.cx-pool,.cine-primary,.cine-strip .lamp,.orb-bob .orb-disc,.orb-bob .orb-wrap,.orb-bob .orb-hit,.sheet-card{animation:none}}

/* very short screens (phones in landscape): compact chrome, primary + join side by side */
@media (max-height:480px){
  .cine-top{padding-bottom:4px}
  .cine-dock{padding-top:14px;grid-template-columns:1fr auto;align-items:center}
  .cine-primary{min-height:46px}.cp-sub{display:none}
  .cine-row .cine-link:last-child{margin-left:0}
  .sheet{align-items:flex-end}.sheet-card{max-height:92vh;max-height:92dvh}
}
/* short phones (iPhone SE class): tighter sheet so both tile rows and the hold button fit without scrolling */
@media (max-height:720px){
  .sheet-card{padding-top:10px}.sheet-head{margin-bottom:4px}.sheet-head h2{font-size:1.02rem}.sheet-x{width:40px;height:40px}
  .demo-warn{padding:5px 8px;margin-bottom:6px;font-size:.72rem;line-height:1.3}
  .sheet .tiers{gap:6px;margin-bottom:6px}.sheet .tier{padding:7px 9px 6px;gap:1px}.sheet .tier-per{display:none}.sheet .tier-amt{font-size:1.25rem}
  .sheet .tier-net,.sheet .tier-total{font-size:.7rem}.sheet .tier-odds{font-size:.6rem}
  .quote-d{margin-bottom:6px}.quote-d summary{min-height:40px}
  .sheet-foot{padding-top:6px}.sheet-foot .hint{display:none}
  .sheet .unleash-btn{min-height:0;padding:9px 12px}.sheet .unleash-btn .label{font-size:.88rem;letter-spacing:.06em}.sheet .unleash-btn small{font-size:.66rem}
}
/* 320px */
@media (max-width:359px){
  .cine-word{font-size:.85rem;letter-spacing:.1em}.cine-chip{padding:0 10px;font-size:.76rem}
  .cine-strip{font-size:.64rem;margin:0 8px;padding-left:10px}.cs-more{min-width:44px;padding:0}.cs-t{display:none}.cs-i{display:inline;font-size:1.05rem}.cine-top{padding-left:8px;padding-right:8px}.cine-dock{padding-left:8px;padding-right:8px}
  .cp-main{font-size:.92rem}.sheet-card{padding-left:12px;padding-right:12px}
  .sheet .tier-amt{font-size:1.25rem}
}
/* desktop: the dock becomes a centred column so buttons are not stretched across the room */
@media (min-width:900px){
  .cine-top{padding:12px 28px}.cine-strip{margin:0 auto;width:min(40rem,calc(100% - 56px))}
  .cine-dock{width:min(26rem,100%);margin:0 auto;padding-top:26px;background:none}
  .cine-dock::before{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:100vw;height:100%;z-index:-1;background:linear-gradient(0deg,rgba(6,4,1,.82) 0%,rgba(6,4,1,.55) 55%,rgba(6,4,1,0) 100%)}
}

/* ===================================================== waitlist page (waitlist.html) ===================================================== */
body.wl{min-height:100vh;min-height:100dvh;background:#0a0703;color:var(--c-ink);overflow-x:hidden}
body.wl .scene{filter:blur(2px) brightness(.5) saturate(.85)}
.wl-shell{position:relative;z-index:10;width:min(34rem,100%);margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 14px calc(26px + env(safe-area-inset-bottom))}
.wl-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.wl-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 10px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-glass);color:var(--c-gold2);font-weight:800;font-size:.85rem;text-decoration:none}
.wl-back:hover{border-color:var(--c-gold)}
.wl-mode{font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c-gold);text-align:right;line-height:1.3}
.wl-warn{margin:0 0 12px;padding:8px 12px;border-radius:12px;background:rgba(8,5,1,.86);border:1px solid var(--c-line);color:var(--c-gold2);font-size:.7rem;line-height:1.35;letter-spacing:.05em;text-transform:uppercase}
.wl-warn b{color:#fff3d1}
.wl-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border-radius:14px;background:rgba(8,5,1,.82);border:1px solid rgba(240,199,90,.3)}
.wl-tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;color:var(--c-ink2);font-weight:800;font-size:.86rem;letter-spacing:.04em;text-decoration:none}
.wl-tabs a.on{background:linear-gradient(180deg,#4a350e,#2b1e07);color:#fff3d1;box-shadow:inset 0 0 0 1px #f0c75a}
body.wl .panel{margin:0 0 14px;padding:16px;border-radius:18px;color:var(--c-ink);background:linear-gradient(180deg,rgba(29,21,10,.94),rgba(10,7,2,.96));border:1px solid var(--c-line);box-shadow:0 18px 44px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,236,170,.14)}
body.wl .section-head{display:flex;align-items:center;gap:10px;margin:0 0 10px}
body.wl .section-head h2{margin:0;font-size:1.15rem;color:var(--c-gold);letter-spacing:.04em}
body.wl .section-head h2 small{display:block;font-size:.66rem;letter-spacing:.12em;color:var(--c-ink2);font-weight:700;text-transform:uppercase}
body.wl .step{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#2a1c06;font-weight:900;background:linear-gradient(145deg,#ffe48a,#c98a10)}
body.wl .warnline{background:rgba(240,199,90,.12);border:1px solid rgba(240,199,90,.45);color:#ffe9b0;border-radius:10px;padding:8px 10px;font-size:.84rem;line-height:1.45;margin:0 0 10px}
body.wl .okline{color:#8ee0a6;font-weight:700}
body.wl .err{color:var(--c-red);min-height:1.2em;margin:.4rem 0 0;font-weight:700}
body.wl .fine,body.wl .legal li,body.wl .legal p{color:var(--c-ink2)}
body.wl a{color:#9cc8ff}
body.wl .form{display:grid;gap:12px}
body.wl .form label{display:grid;gap:5px;font-size:.84rem;font-weight:800;color:var(--c-gold2)}
body.wl .form label small{font-weight:600;color:var(--c-ink2);font-size:.74rem}
body.wl .form input:not([type=checkbox]){font:inherit;font-size:1rem;min-height:48px;padding:.6rem .75rem;border-radius:12px;border:1px solid rgba(240,199,90,.55);background:#0f0a04;color:var(--c-ink);width:100%}
body.wl .form input::placeholder{color:#a89a74}
body.wl .form input:focus-visible{outline:3px solid var(--c-gold);outline-offset:2px}
/* ---- checkbox rows: ONE flex item for the text (so the privacy link can never become its own item and wrap away from its full stop), top-aligned box ---- */
body.wl .form label.check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:.88rem;font-weight:600;line-height:1.45;color:var(--c-ink);min-height:44px;padding:4px 0}
body.wl .form label.check input[type=checkbox]{flex:none;width:24px;height:24px;margin:1px 0 0;padding:0;accent-color:#e6b93c;border-radius:6px}
body.wl .form label.check .ck-text{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
body.wl .form label.check a{display:inline;text-decoration:underline;text-underline-offset:2px}
body.wl .gold-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:14px;border:1px solid #fff0b0;background:linear-gradient(180deg,#ffe9a0,#d9a521);color:#241906;font-weight:900;letter-spacing:.08em;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 18px rgba(240,199,90,.25),inset 0 1px 0 rgba(255,255,255,.6)}
body.wl .gold-btn:disabled{opacity:.6;cursor:wait}
body.wl .chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--c-line);background:rgba(20,14,6,.92);color:var(--c-gold2);font-weight:800;text-decoration:none}
body.wl .ea-cta{display:flex;flex-wrap:wrap;gap:10px}
body.wl .kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 10px}
body.wl .kv dt{color:var(--c-ink2);font-weight:700}body.wl .kv dd{margin:0;overflow-wrap:anywhere}
body.wl .pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid}
body.wl .pill.ok{color:#8ee0a6;background:rgba(60,170,100,.16);border-color:rgba(110,210,150,.55)}
body.wl .pill.wait{color:#ffd76a;background:rgba(240,199,90,.14);border-color:rgba(240,199,90,.5)}
body.wl .pill.off{color:#cfc5a8;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22)}
body.wl .devbox{margin:10px 0;padding:10px;border-radius:10px;background:#0d1424;border:1px solid var(--c-blue);color:var(--c-ink);overflow-wrap:anywhere;font-size:.8rem}
body.wl .ts-box{min-height:0}
body.wl .legal h3{color:var(--c-gold);margin:1rem 0 .3rem;font-size:.95rem}
body.wl .legal ul{padding-left:1.1rem;line-height:1.5}
.wl-foot{margin:16px 0 0;font-size:.74rem;line-height:1.5;color:var(--c-ink2)}
.wl-foot a{color:#9cc8ff}
.wl-foot .credit{margin:.6rem 0 0;font-size:.68rem;opacity:.9}
body.wl .ui-toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;max-width:calc(100vw - 24px);padding:10px 16px;border-radius:12px;background:#1b130a;color:#ffe9b0;border:1px solid var(--c-line);box-shadow:0 8px 24px rgba(0,0,0,.6)}
body.wl .ui-toast.bad{background:#5a0f0f;color:#fff}
body.wl .ui-toast[hidden]{display:none}
body.wl .view[hidden]{display:none}
@media (min-width:900px){.wl-shell{padding-top:24px}}

/* live counters (launch-prep 2026-11-07): compact, in-flow strip in the dock below the controls.
   Never positioned over the throne or globe; wraps on narrow screens. */
.live-stats{display:flex;flex-wrap:wrap;gap:4px 20px;justify-content:center;align-items:baseline;padding:10px 12px 2px;font-size:.78rem;color:var(--c-ink2);letter-spacing:.02em}
.live-stat{display:inline-flex;gap:6px;align-items:baseline;white-space:nowrap}
.live-num{font-weight:900;color:var(--c-gold2);font-variant-numeric:tabular-nums}
.live-label{opacity:.85}
.live-note{opacity:.7;font-style:italic}
@media (max-width:380px){.live-stats{font-size:.72rem;gap:2px 14px}}
