/* King Atlas FX layer — original, vanilla */
#fx-field{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}
body>header,body>main,body>footer{position:relative;z-index:1}
.hero{position:relative}
.fx-frame{position:absolute;inset:12px;pointer-events:none;z-index:0}
.fx-frame i{position:absolute;width:26px;height:26px;border:2px solid #22e6ff;opacity:.6}
.fx-frame i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}
.fx-frame i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.fx-frame i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}
.fx-frame i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}
#hero-title{text-shadow:0 0 18px rgba(34,230,255,.55),0 0 2px #fff}
.fx-ticker{overflow:hidden;border-block:2px solid #22e6ff;background:#0b1530;color:#ffd23f;font:700 1.05rem/2.6 "Atkinson Hyperlegible",sans-serif;white-space:nowrap;position:relative;z-index:1}
.fx-ticker div{display:inline-block;animation:fxMarq 38s linear infinite;padding-left:100%}
.fx-ticker span{margin:0 1.4rem}.fx-ticker span::before{content:"◆ ";color:#ff3fb4}
@keyframes fxMarq{to{transform:translateX(-100%)}}
.fx-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.fx-reveal.in{opacity:1;transform:none}
.fx-tilt{transition:transform .25s ease,box-shadow .25s ease}
.fx-tilt:hover{box-shadow:0 0 0 2px #22e6ff,0 0 24px rgba(255,63,180,.45)}
.fx-glowtext{color:transparent;-webkit-text-stroke:1px rgba(34,230,255,.45);background:linear-gradient(90deg,#fff,#22e6ff) no-repeat;-webkit-background-clip:text;background-clip:text;background-size:var(--p,0%) 100%}
.ka-coin{position:relative;overflow:visible}
.ka-coin .fx-ic{position:absolute;left:50%;top:-1.9em;transform:translateX(-50%);font:12.8px "Press Start 2P",monospace;color:#ffd23f;opacity:0;transition:opacity .2s;white-space:nowrap;pointer-events:none}
.ka-coin:hover .fx-ic,.ka-coin:focus-visible .fx-ic{opacity:1;animation:fxBlink .8s steps(2) infinite}
@keyframes fxBlink{50%{opacity:0}}
.fx-count{font:700 2rem "Press Start 2P",monospace;color:#ffd23f;text-shadow:0 0 12px rgba(255,210,63,.5)}
.fx-stats{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:2rem 1rem;position:relative;z-index:1;text-align:center;color:#e8f6ff}
.fx-stats div{min-width:200px}.fx-stats p{margin:.4rem 0 0;font-size:1.1rem}
#fx-boot{position:fixed;inset:0;z-index:9999;background:#05091a;color:#22e6ff;font:14px/1.9 "Press Start 2P",monospace;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .4s}
#fx-boot::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px);pointer-events:none}
#fx-boot pre{margin:0;white-space:pre-wrap;max-width:90vw}#fx-boot button{margin-top:2rem;font:12px "Press Start 2P",monospace;background:#ff3fb4;color:#fff;border:0;padding:12px 18px;cursor:pointer}
#fx-boot.off{opacity:0;pointer-events:none}
.fx-wipe{position:fixed;inset:0;z-index:9998;background:#0b1530;transform:scaleY(0);transform-origin:bottom;transition:transform .28s ease-in;pointer-events:none}
.fx-wipe.go{transform:scaleY(1)}
.fx-dock{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:none;gap:.5rem;padding:.6rem;background:rgba(11,21,48,.95);border-top:2px solid #22e6ff}
.fx-dock a{flex:1;text-align:center}
@media (max-width:700px){.fx-dock{display:flex}body{padding-bottom:80px}.ka-coin .fx-ic{display:none}}
@media (prefers-reduced-motion:reduce){#fx-field,#fx-boot,.fx-wipe{display:none!important}.fx-reveal{opacity:1;transform:none;transition:none}.fx-ticker div{animation:none;padding-left:1rem;white-space:normal}.fx-glowtext{background-size:100% 100%}*{scroll-behavior:auto!important}}
/* pixel headline */
.hero-copy{position:relative}
.fx-pxh{position:absolute;pointer-events:none;z-index:2}
.fx-pxh-src{color:transparent!important;text-shadow:none!important;position:relative;z-index:1}
.fx-pxh-src::selection{color:#fff;background:#ff3fb4}
.hero-copy>:not(.fx-pxh):not(h1){position:relative;z-index:3}
@media (prefers-reduced-motion:reduce){.fx-pxh{display:none}.fx-pxh-src{color:inherit!important}}
/* reactive tile field v3: strictly behind content */
#fx-grid{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none}
body{background:transparent}
main section,main section.alt,.page-head,.hero{background-color:transparent!important}
main section.alt{background-color:rgba(11,21,48,.45)!important}
.page-head,.hero{box-shadow:inset 0 -3px 0 rgba(34,230,255,.35)}
.fx-strip,.fx-ticker{display:none!important}
/* keep anything bordered/opaque fully covering the tiles */
.px-box,.card,.cabinet,.worldmap,.note,.edit-note,.cta-box,.reward,.pack,.pills li,.price-table,.guide table,.photo-frame,img{position:relative}
.hero-copy{background:var(--surface)}
.callbar,.ref-banner{position:relative;z-index:2}.skip{z-index:10000}
/* v4: soft glow halos instead of dark blocks */
html{scroll-padding-top:20px}
.hero-copy{background:radial-gradient(ellipse at 50% 50%,rgba(7,7,26,.92) 0%,rgba(7,7,26,.8) 55%,rgba(7,7,26,0) 78%)!important;border-color:transparent!important;box-shadow:none!important}
main :is(h1,h2,h3,p,li,.eyebrow,dt,dd,label,figcaption){text-shadow:0 0 6px rgba(7,7,26,.95),0 0 14px rgba(7,7,26,.85),0 0 28px rgba(34,230,255,.18)}
main :is(h1,h2){text-shadow:0 0 8px rgba(7,7,26,.95),0 0 18px rgba(7,7,26,.8),0 0 30px rgba(34,230,255,.35)}
main :is(.card,.px-box:not(.hero-copy),.note,.edit-note,.price-table,form) :is(p,li,h2,h3,label){text-shadow:none}
.fx-reveal{transition:opacity .45s ease,transform .45s ease}
.fx-tilt{will-change:auto}
:focus-visible{outline:3px solid #ffd23f!important;outline-offset:3px;box-shadow:0 0 0 6px rgba(255,63,180,.45)}
@media (max-width:700px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.fx-dock{padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}html{scroll-padding-top:16px;scroll-padding-bottom:120px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fx-tilt{transform:none!important}}
#fx-boot{pointer-events:none}#fx-boot button{pointer-events:auto}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
@media (max-width:700px){.fx-dock .btn{font-size:1rem;padding:.55rem .4rem;min-height:48px;line-height:1.2}}
/* site "Motion: OFF" toggle (html.calm) = same calm version as reduced-motion */
html.calm #fx-grid,html.calm .fx-pxh,html.calm #fx-boot{display:none!important}
html.calm .fx-pxh-src{color:inherit!important}
html.calm .fx-reveal{opacity:1;transform:none;transition:none}
html.calm .fx-tilt{transform:none!important}
html.calm .fx-glowtext{background-size:100% 100%}
html.calm{scroll-behavior:auto}
/* v5: clear headline on a solid backing (replaces the pixel-scatter headline) */
#hero-title,.page-head h1{display:inline-block;background:#0b1030;color:#fff!important;text-shadow:none!important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;font-weight:900;letter-spacing:-.01em;line-height:1.12;padding:.25em .45em;border:3px solid #22e6ff;box-shadow:6px 6px 0 #ff3fb4;border-radius:4px;position:relative;z-index:3}
/* mobile notes: tighten contact top gap; body padding keeps content clear of the fixed button dock */
@media (max-width:820px){
 .fx-dock{padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
 section[aria-label="Contact options"]{padding-top:.75rem!important;margin-top:0!important}
 .page-head{padding-bottom:.25rem!important;margin-bottom:0!important}.page-head .scene{margin-bottom:0!important}
 section[aria-label="Contact options"] .contact-grid{margin-top:0;padding-top:0}
}
.btn-soon{opacity:.75;cursor:not-allowed;border-style:dashed}.btn-soon small{font-size:.85em}
.paid-note{margin-top:1.25rem;padding:1rem 1.1rem}
#fx-boot button{position:fixed;right:16px;top:16px;margin:0}
/* Oct 13 round 3 */
.levels{grid-auto-rows:1fr}.levels li{display:flex}.levels .level{width:100%;height:100%;min-height:150px}
.fx-serve{position:relative;z-index:2;padding:1.5rem 1rem;display:flex;justify-content:center}
.sv-box{background:#0b1030;border:3px solid #22e6ff;box-shadow:6px 6px 0 #ff3fb4;padding:1rem 1.25rem;max-width:760px;width:100%;color:#fff}
.sv-label{font:12.8px/1.6 "Press Start 2P",monospace;color:#ffd23f;margin:0 0 .5rem}
.sv-bar{height:22px;border:3px solid #ffd23f;background:#05091a;overflow:hidden}
.sv-fill{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#22e6ff 0 14px,#0fb8d0 14px 18px)}
.fx-serve.go .sv-fill{animation:svfill 3.2s steps(16) forwards}
@keyframes svfill{to{width:100%}}
.sv-towns{margin:.7rem 0 0;font-size:1.2rem;font-weight:700}.sv-towns span{color:#ffd23f;font-family:"Press Start 2P",monospace;font-size:12.8px}
.sv-towns b,.sv-towns i{opacity:0}.sv-towns i{font-style:normal;color:#22e6ff}
.fx-serve.go .sv-towns b:nth-of-type(1){animation:svin .2s steps(2) .6s forwards}.fx-serve.go .sv-towns i:nth-of-type(1){animation:svin .2s steps(2) 1.2s forwards}
.fx-serve.go .sv-towns b:nth-of-type(2){animation:svin .2s steps(2) 1.6s forwards}.fx-serve.go .sv-towns i:nth-of-type(2){animation:svin .2s steps(2) 2.2s forwards}
.fx-serve.go .sv-towns b:nth-of-type(3){animation:svin .2s steps(2) 2.6s forwards}
@keyframes svin{to{opacity:1}}
html.calm .sv-fill,.fx-serve.static .sv-fill{width:100%;animation:none}html.calm .sv-towns b,html.calm .sv-towns i{opacity:1;animation:none}
@media (prefers-reduced-motion:reduce){.sv-fill{width:100%;animation:none!important}.sv-towns b,.sv-towns i{opacity:1!important;animation:none!important}}
.fx-popbox{display:table;margin:2rem auto;position:relative;z-index:2;background:#ffd23f;color:#0b1030!important;text-shadow:none!important;font:900 clamp(1.8rem,5vw,3.4rem)/1.1 system-ui,-apple-system,"Segoe UI",sans-serif;padding:.35em .7em;border:4px solid #0b1030;box-shadow:8px 8px 0 #ff3fb4,0 0 0 4px #22e6ff;transform:rotate(-1.5deg)}
.btn-soon{opacity:.85}
.checkout-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:start}.checkout-grid>div>.px-box{margin-bottom:1.25rem}
.soon-tag{display:inline-block;background:#ffd23f;color:#0b1030;font:12.8px "Press Start 2P",monospace;padding:.4rem .6rem;margin:0 0 .5rem}
.co-packs{list-style:none;padding:0;display:grid;gap:.75rem}.co-pack{display:grid;grid-template-columns:1fr auto;gap:.2rem 1rem;border:3px solid #3a4690;padding:.8rem 1rem;background:#05091a}
.co-pack strong{font-size:1.2rem}.co-pack span{grid-column:1;color:#e3e8ff}.co-pack b{grid-row:1/3;grid-column:2;align-self:center;font-size:1.5rem;color:#ffd23f}.co-pack em{font-style:normal;color:#22e6ff;font-weight:700}.co-pack.best{border-color:#ffd23f}
.narrow{max-width:720px}
@media (max-width:800px){.checkout-grid{grid-template-columns:1fr}}
/* scroll spaceship (replaces gem + flag) */
.scrollmap .sm-ship{position:absolute;top:6px;left:calc(var(--sp,0) * (100% - 40px));line-height:0;transition:opacity .3s steps(2)}
.scrollmap .sm-gem,.scrollmap .sm-flag{display:none!important}
.fx-flyby{position:fixed;z-index:240;left:-80px;pointer-events:none;line-height:0;animation:flyby 6s linear forwards}
@keyframes flyby{to{transform:translateX(calc(100vw + 160px))}}
html.calm .fx-flyby{display:none}@media (prefers-reduced-motion:reduce){.fx-flyby{display:none}}
/* game gate + coupon */
.ka-gate{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(5,9,26,.94);padding:1rem}
.ka-gate .px-box{max-width:460px;text-align:center;background:#0b1030;color:#fff}
.ka-coupon{position:fixed;left:50%;top:20%;transform:translateX(-50%);z-index:9998;background:#0b1030;color:#fff;border:4px solid #ffd23f;box-shadow:0 0 0 4px #ff3fb4;padding:1.2rem 1.5rem;text-align:center;max-width:92vw}
.ka-coupon code{display:inline-block;background:#ffd23f;color:#0b1030;font:16px "Press Start 2P",monospace;padding:.5rem .7rem;margin:.5rem 0}
.sm-ship svg,.fx-flyby svg{transform:scaleX(-1)}
/* Round 2/3 (Oct 13) */
.fx-proc{overflow:hidden;animation:procOut .75s steps(3) forwards}.proc-txt{font:12.8px "Press Start 2P",monospace;color:#7dffb2;margin:0 0 .4rem}
.proc-txt span{animation:bl 0.3s steps(2) infinite}.proc-txt span:nth-child(2){animation-delay:.1s}.proc-txt span:nth-child(3){animation-delay:.2s}
@keyframes procOut{0%,80%{max-height:40px;opacity:1}100%{max-height:0;opacity:0}}
@keyframes bl{50%{opacity:.2}}
html.calm .fx-proc{display:none}@media (prefers-reduced-motion:reduce){.fx-proc{display:none}}
.quest-cost{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;background:#0b1030;border:3px solid #ffd23f;box-shadow:5px 5px 0 #ff3fb4;padding:.7rem 1rem;margin:1rem 0;color:#fff}
.qc-coin{color:#ffd23f;font-size:1.8rem}.qc-tok{font-size:1.9rem;font-weight:900}.qc-usd{font-size:1.3rem;color:#22e6ff;font-weight:700}
.btn-big{font-size:1.25rem!important;padding:1rem 1.6rem!important}
.diff{display:inline-block;font:12.8px "Press Start 2P",monospace;padding:.35rem .55rem;margin:0 0 .4rem;color:#0b1030}.diff-easy{background:#7dffb2}.diff-med{background:#ffd23f}.diff-hard{background:#ff8fc8}
.soldout{display:inline-block;background:#ff3fb4;color:#fff;font:12.8px "Press Start 2P",monospace;padding:.4rem .6rem;transform:rotate(-3deg)}
.ka-waitlist{margin-top:1rem}.planner{max-width:640px}.plan-out{font-size:1.3rem}.plan-out b{color:#ffd23f}
.optin{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;font-weight:600}.optin input{width:24px;height:24px;flex:none;margin-top:.2rem}
.acct-cta{background:#0b1030!important;border-top:3px solid #ffd23f;padding:1.4rem 0!important;position:relative;z-index:2}.acct-cta .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.acct-cta p{margin:0;color:#fff}
.ka-1up{position:fixed;z-index:9997;transform:translate(-50%,0);font:12.8px "Press Start 2P",monospace;color:#ffd23f;text-shadow:0 2px 0 #000;pointer-events:none;animation:up1 .9s steps(6) forwards}
@keyframes up1{to{transform:translate(-50%,-48px);opacity:0}}
.ka-toast{position:fixed;left:50%;top:30%;transform:translateX(-50%);z-index:9997;background:#0b1030;color:#7dffb2;border:3px solid #7dffb2;font:16px "Press Start 2P",monospace;padding:.8rem 1.1rem;pointer-events:none;animation:toast 1.6s steps(8) forwards}
@keyframes toast{0%{opacity:0}10%,80%{opacity:1}100%{opacity:0}}
.page-head{position:relative}.page-head::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:0;background:repeating-linear-gradient(90deg,#ffd23f 0 10px,transparent 10px 14px);animation:phload 1.1s steps(12) .1s forwards;pointer-events:none}
@keyframes phload{to{width:100%}}html.calm .page-head::after{width:100%;animation:none}@media (prefers-reduced-motion:reduce){.page-head::after{width:100%;animation:none}}
.cb-links a{white-space:nowrap}
.game-card p.diff,p.diff,.card p.diff{color:#0b1030 !important;opacity:1}
.soldout{background:#c0187a}
.ka-waitlist input{min-height:48px;width:100%;box-sizing:border-box}

/* ---- v5 preview additions ---- */
header.site{background-color:rgba(7,7,26,.28)!important}
.scrollmap,.sc-runner{display:none!important}
.fx-tilt:hover{box-shadow:0 0 0 2px #22e6ff,0 0 14px rgba(255,63,180,.3)}
.ka-typing::after{content:"█";color:#22e6ff;margin-left:.15em;animation:kaCaret .6s steps(1) infinite}
@keyframes kaCaret{50%{opacity:0}}
.scene-arcade{height:170px}
.scene-arcade .sc-ground{position:absolute;left:0;right:0;bottom:0;height:14px;background:repeating-linear-gradient(90deg,#22e6ff 0 12px,#ff3fb4 12px 24px);opacity:.55}
.arc-wrap{position:absolute;right:8%;bottom:14px;width:96px;height:136px}
.arc-cab{display:block;image-rendering:pixelated;filter:drop-shadow(0 0 10px rgba(34,230,255,.45))}
.arc-coin{position:absolute;left:36px;top:-30px;animation:arcDrop 3.2s cubic-bezier(.55,0,1,.45) infinite}
@keyframes arcDrop{0%{transform:translateY(-40px) rotate(0);opacity:0}10%{opacity:1}55%{transform:translateY(122px) rotate(0);opacity:1}62%,100%{transform:translateY(128px);opacity:0}}
.arc-scr{animation:arcFlash 3.2s steps(1) infinite}
@keyframes arcFlash{0%,58%{opacity:.25}60%,64%{opacity:1;fill:#fff}66%,100%{opacity:1}}
.arc-1up,.arc-pop{position:absolute;left:50%;transform:translateX(-50%);font:12.8px "Press Start 2P",monospace;white-space:nowrap}
.arc-1up{top:-46px;color:#22e6ff;animation:kaCaret 1s steps(1) infinite}
.arc-pop{top:-18px;color:#ffd23f;opacity:0;animation:arcPop 3.2s ease-out infinite}
@keyframes arcPop{0%,58%{opacity:0;transform:translate(-50%,0)}64%{opacity:1}100%{opacity:0;transform:translate(-50%,-30px)}}
@media (max-width:700px){.scene-arcade{height:150px}.arc-wrap{right:6%;transform:scale(.85);transform-origin:bottom right}}
html.calm .arc-coin,html.calm .arc-scr,html.calm .arc-1up,html.calm .arc-pop{animation:none}html.calm .arc-coin{opacity:0}
@media (prefers-reduced-motion:reduce){.arc-coin,.arc-scr,.arc-1up,.arc-pop{animation:none}.arc-coin{opacity:0}}
@media (max-width:560px){.callbar{display:flex;flex-wrap:wrap;justify-content:center;column-gap:1.1rem}.cb-dot{display:none}}

/* merged top bar: navy with magenta underlay, cyan/gold accents */
.callbar.statusbar{background:#0b1030;color:#fff;border-bottom:3px solid #22e6ff;box-shadow:0 4px 0 #ff3fb4;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem 1.4rem;padding:.3rem 1rem;margin-bottom:4px;text-align:center}
.statusbar .tb-item{font:12.8px/1.6 "Press Start 2P",monospace;letter-spacing:.03em;white-space:nowrap;display:inline-flex;align-items:center;gap:.5rem}
.statusbar .tb-p1{color:#22e6ff}.statusbar .tb-blink{color:#ff3fb4;animation:kaCaret 1s steps(1) infinite}
.statusbar .tb-date{color:#fff}.statusbar .tb-hi{color:#c9c9ff}.statusbar .tb-hi b,.statusbar .tb-tok b{color:#ffd23f;font-weight:400}
.statusbar .tb-tok{color:#fff}
.statusbar a{color:#0b1030;background:#ffd23f;font:12.8px/1 "Press Start 2P",monospace;padding:.55rem .6rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;box-shadow:3px 3px 0 #ff3fb4}
.statusbar a.tb-ref{background:#22e6ff}
.statusbar a:hover,.statusbar a:focus-visible{background:#fff;outline:3px solid #ff3fb4;outline-offset:2px}
@media (max-width:560px){.callbar.statusbar{gap:.3rem .9rem;padding:.4rem .6rem}.statusbar .tb-p1{display:none}}
html.calm .statusbar .tb-blink{animation:none}@media (prefers-reduced-motion:reduce){.statusbar .tb-blink{animation:none}}

/* coin rolls across and pops into the top of the arcade machine (replaces the yellow banner box) */
.fx-coinroll{position:relative;height:190px;max-width:1100px;margin:1rem auto 0;overflow:hidden}
.fx-coinroll .cr-track{position:absolute;left:0;right:0;bottom:10px;height:6px;background:repeating-linear-gradient(90deg,#ffd23f 0 14px,transparent 14px 24px);opacity:.8}
.fx-coinroll .cr-cab{position:absolute;right:24px;bottom:16px;width:96px;height:136px}
.fx-coinroll .cr-cab svg{display:block;filter:drop-shadow(0 0 10px rgba(34,230,255,.45))}
.fx-coinroll .cr-coin{position:absolute;left:calc(100% - 86px);bottom:150px;width:28px;height:28px;filter:drop-shadow(0 0 6px rgba(255,210,63,.8))}
.fx-coinroll .cr-pop{position:absolute;right:20px;top:0;font:12.8px "Press Start 2P",monospace;color:#ffd23f;opacity:0}
.fx-coinroll.go .cr-coin{animation:crRoll 4.8s linear infinite}
.fx-coinroll.go .cr-coin svg{animation:crSpin 4.8s linear infinite}
.fx-coinroll.go .cr-pop{animation:crPop 4.8s ease-out infinite}
.fx-coinroll.go .cr-cab .arc-scr{animation:arcFlash2 4.8s steps(1) infinite}
@keyframes crRoll{0%{left:-40px;bottom:16px;opacity:1;animation-timing-function:linear}62%{left:calc(100% - 200px);bottom:16px;animation-timing-function:cubic-bezier(.2,.8,.4,1)}
 74%{left:calc(100% - 120px);bottom:178px;animation-timing-function:cubic-bezier(.6,0,.9,.4)}82%{left:calc(100% - 86px);bottom:146px;opacity:1;transform:scale(1)}86%{bottom:134px;opacity:0;transform:scale(.6)}100%{left:calc(100% - 86px);bottom:134px;opacity:0}}
@keyframes crSpin{0%{transform:rotate(0)}62%{transform:rotate(1440deg)}100%{transform:rotate(1440deg)}}
@keyframes crPop{0%,84%{opacity:0;transform:translateY(10px)}88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-14px)}}
@keyframes arcFlash2{0%,84%{opacity:1}86%,90%{opacity:.2}92%,100%{opacity:1}}
html.calm .fx-coinroll .cr-coin,html.calm .fx-coinroll .cr-coin svg,html.calm .fx-coinroll .cr-pop,html.calm .fx-coinroll .arc-scr{animation:none!important}
@media (prefers-reduced-motion:reduce){.fx-coinroll .cr-coin,.fx-coinroll .cr-coin svg,.fx-coinroll .cr-pop,.fx-coinroll .arc-scr{animation:none!important}}
@media (max-width:560px){.fx-coinroll{height:170px}.fx-coinroll .cr-cab{transform:scale(.85);transform-origin:bottom right}}
.quest-cost .qc-rate{display:block;width:100%;font-size:1rem;color:#c9c9ff;margin-top:.3rem}
.price-table .tier-row th{background:#1b1f5c;color:#ffd23f;font-family:var(--pixel);font-size:12.8px;line-height:1.8;text-align:left;padding:.7rem .8rem}
.tok-tiers{font-size:1.05rem}

/* token menu cards */
.tm-rate{font-size:1.2rem;margin:.2rem 0 1rem}.tm-rate b{color:#ffd23f}
.tm-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.tm-f{font:12.8px "Press Start 2P",monospace;min-height:44px;padding:.5rem .8rem;background:#0b1030;color:#fff;border:3px solid #22e6ff;cursor:pointer}
.tm-f[aria-pressed="true"]{background:#ffd23f;color:#0b1030;border-color:#ffd23f;box-shadow:3px 3px 0 #ff3fb4}
.tm-tier{margin:0 0 1.6rem}.tm-head{font-size:1.15rem;display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:0 0 .8rem;color:#fff}
.tm-chip{font:12.8px "Press Start 2P",monospace;background:#ffd23f;color:#0b1030;padding:.45rem .6rem;box-shadow:3px 3px 0 #ff3fb4}
.tm-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.tm-card{display:flex;flex-direction:column;gap:.4rem;height:100%;padding:1rem;background:#12164a;border:3px solid #fff;box-shadow:5px 5px 0 #ff3fb4;color:#fff;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.tm-card:hover,.tm-card:focus-visible{transform:translateY(-3px);border-color:#22e6ff;box-shadow:5px 8px 0 #ff3fb4,0 0 18px rgba(34,230,255,.35)}
.tm-ic svg{width:48px;height:48px}.tm-name{font-weight:700;font-size:1.2rem}.tm-desc{color:#d8dcff;font-size:1rem;flex:1}
.tm-cost{display:flex;align-items:baseline;gap:.6rem;margin-top:.3rem;padding-top:.5rem;border-top:2px dashed #22e6ff}
.tm-cost b{font:15px "Press Start 2P",monospace;color:#ffd23f}.tm-cost small{font-size:1.15rem;font-weight:700;color:#fff}
html.calm .tm-card{transition:none}
/* mobile: 4-button dock, compact */
@media (max-width:700px){.fx-dock{display:grid!important;grid-template-columns:repeat(4,1fr);gap:.35rem;padding:.45rem .4rem}
 .fx-dock .btn{font-size:1rem!important;padding:.35rem .15rem!important;min-height:54px;line-height:1.15;white-space:normal;text-align:center}
 .fx-dock .btn-gold{background:#ffd23f;color:#0b1030}
 /* center the top section on phones only */
 header.site .topbar{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;padding:.6rem .75rem}
 header.site .topbar .logo{font-size:.8rem;line-height:1.5;gap:.4rem;min-width:0}
 header.site .topbar .logo svg,header.site .topbar .logo img{width:28px;height:28px;flex:none}
 header.site .top-tools{flex-wrap:nowrap;gap:.4rem;width:auto}
 header.site .set-toggle{padding:.25rem .55rem;min-width:48px}
 header.site .set-toggle .set-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 html.big header.site .topbar{flex-wrap:wrap;justify-content:center}}

/* business pricing (dollars) */
.biz-note{font-size:1.15rem;color:#ffd23f;font-weight:700}
.biz-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1rem 0}
.biz-box h4{font-family:var(--pixel);font-size:12.8px;line-height:1.8;color:#22e6ff;margin:0 0 .7rem}
.biz-list{list-style:none;margin:0;padding:0}.biz-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:2px dashed rgba(34,230,255,.35);font-size:1.05rem}
.biz-list b{color:#ffd23f;white-space:nowrap}.biz-small{font-size:1rem;color:#d8dcff;margin:.7rem 0 0}
.biz-box{padding:1.1rem 1.2rem!important;background:#12164a}

/* ===== round-next ===== */
/* balanced top bar: INSERT TOKEN left, status center, Refer a friend right, matching buttons */
.callbar.statusbar{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem 1rem;padding:.4rem 1rem}
.statusbar .tb-mid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem 1.2rem}
.statusbar a.tb-btn{justify-self:start;font:12.8px/1 "Press Start 2P",monospace;color:#0b1030;background:#ffd23f;border:3px solid #0b1030;outline:2px solid #ffd23f;box-shadow:4px 4px 0 #ff3fb4;
  min-height:44px;min-width:200px;padding:.6rem .9rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .08s,box-shadow .08s}
.statusbar a.tb-ref{justify-self:end}
.statusbar a.tb-btn:hover,.statusbar a.tb-btn:focus-visible{background:#fff;transform:translate(-1px,-1px);box-shadow:5px 5px 0 #ff3fb4}
.statusbar a.tb-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #ff3fb4}
@media (max-width:900px){.callbar.statusbar{grid-template-columns:1fr 1fr}.statusbar .tb-mid{grid-column:1/-1;order:-1}
 .statusbar a.tb-btn{min-width:0;width:100%;justify-self:stretch}.statusbar .tb-p1{display:none}}
/* site-wide button polish: one size system, pixel border, crisp hover/press */
.btn{min-height:52px;padding:.75rem 1.3rem;border-width:3px;letter-spacing:.01em;border-radius:0;transition:transform .08s ease,box-shadow .08s ease,background-color .12s ease,color .12s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--border)}
.btn-primary:hover,.btn-navy:hover,.btn-gold:hover{box-shadow:6px 6px 0 #ff3fb4}
.btn:active{transform:translate(3px,3px)!important;box-shadow:1px 1px 0 var(--border)!important}
.btn:focus-visible{outline:3px solid #22e6ff;outline-offset:3px}
.actions{gap:.9rem 1rem}
html.calm .btn:hover{transform:none}
/* VIP on top */
.vip-top{padding-top:1.5rem}
.vip-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.vip-feature{position:relative;border:4px solid #ffd23f!important;box-shadow:8px 8px 0 #ff3fb4,0 0 40px rgba(255,210,63,.25)!important;background:linear-gradient(160deg,#1b1f5c,#0b1030 60%)!important}
.vip-feature .soldout{position:absolute;top:1rem;right:1rem;margin:0}
.vip-pitch{font-size:1.25rem;line-height:1.55;color:#fff;margin:.2rem 0 .8rem}
.vip-feature .price{font-size:2rem}
.vip-perks{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem}.vip-perks li{font-weight:700}
.vip-next{background:#0b1030;border:2px dashed #ffd23f;padding:.6rem .8rem;color:#ffd23f}
@media (max-width:820px){.vip-hero{grid-template-columns:1fr}.vip-perks{grid-template-columns:1fr}}
/* token menu as an arcade prize counter */
.token-menu{position:relative;background:#0b1030;border:4px solid #22e6ff;box-shadow:8px 8px 0 #ff3fb4;padding:1.2rem 1.2rem .4rem}
.tm-sign{font:clamp(14px,2.2vw,22px)/1.4 "Press Start 2P",monospace;text-align:center;color:#ffd23f;margin:-.2rem 0 1rem;text-shadow:0 0 10px rgba(255,210,63,.7),3px 3px 0 #ff3fb4}
.tm-rate{text-align:center}.tm-filter{justify-content:center}
.tm-tier{background:linear-gradient(#141a55,#0e1240);border:3px solid #2a2f7a;padding:.9rem .9rem 1.1rem;margin:0 0 1.2rem;position:relative}
.tm-tier::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:8px;background:repeating-linear-gradient(90deg,#ffd23f 0 16px,#b8860b 16px 20px)}
.tm-head{justify-content:space-between}.tm-chip{font-size:14px;padding:.55rem .75rem}.tm-shelf{font-weight:700;color:#d8dcff;font-size:1.05rem}
.tm-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.tm-card{align-items:center;text-align:center;background:#0b1030;border:3px solid #fff;box-shadow:4px 4px 0 #22e6ff;padding:1rem .9rem .9rem}
.tm-card:hover,.tm-card:focus-visible{transform:translateY(-3px);border-color:#ffd23f;box-shadow:4px 7px 0 #ff3fb4,0 0 18px rgba(255,210,63,.35)}
.tm-ic{display:grid;place-items:center;width:84px;height:84px;background:radial-gradient(circle,#2a2f7a,#12164a 70%);border:3px solid #22e6ff;box-shadow:inset 0 0 12px rgba(34,230,255,.4)}
.tm-ic svg{width:56px;height:56px}
.tm-name{font-size:1.2rem}.tm-desc{font-size:1rem}
.tm-ticket{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:.5rem;padding:.55rem 1.4rem;background:#ffd23f;color:#0b1030;
  -webkit-mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 9px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.tm-ticket b{font:16px "Press Start 2P",monospace;color:#0b1030}.tm-ticket small{font-size:1.2rem;font-weight:700;color:#0b1030}

/* navigator tile replaces the old Call or text tile */
.level-nav{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#0b1030;border:3px solid #ffd23f;box-shadow:4px 4px 0 #ff3fb4;padding:.8rem;height:100%}
.level-nav>span{font-family:var(--pixel);font-size:12.8px;color:#ffd23f}
.lv-links{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;width:100%}
.lv-links a{display:flex;align-items:center;justify-content:center;min-height:44px;background:#1b1f5c;border:2px solid #22e6ff;color:#fff;font-weight:700;font-size:1rem;text-decoration:none}
.lv-links a:hover,.lv-links a:focus-visible{background:#ffd23f;color:#0b1030}

/* VIP: one full-width featured rectangle */
.vip-hero{grid-template-columns:1fr!important}
.vip-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:.6rem 2rem;padding:1.6rem 1.8rem!important}
.vip-feature>*{grid-column:1}.vip-feature form{grid-column:2;grid-row:2/span 5;align-self:start}
.vip-feature .vip-next{grid-column:2;grid-row:1}
.vip-stamp{grid-column:1/-1!important;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0 0 .4rem;padding:.7rem 1rem;background:#c0187a;border:4px solid #fff;box-shadow:5px 5px 0 #0b1030;transform:rotate(-1deg)}
.vip-stamp span{font:clamp(18px,3.2vw,30px)/1.2 "Press Start 2P",monospace;color:#fff;letter-spacing:.06em}
.vip-stamp small{font:12.8px/1.6 "Press Start 2P",monospace;color:#fff}
@media (max-width:820px){.vip-feature{grid-template-columns:1fr}.vip-feature form,.vip-feature .vip-next{grid-column:1;grid-row:auto}}
/* Group classes at the bottom: big section heading, info + form side by side */
.classes-card{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem;padding:1.4rem 1.6rem}
.classes-card .price{font-size:1.6rem}
@media (max-width:820px){.classes-card{grid-template-columns:1fr}}

.vip-feature{display:block!important}
.vip-top-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-bottom:1rem}
.vip-top-row .vip-stamp{margin:0;flex:1 1 320px}
.vip-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.2rem 2.2rem;align-items:start}
.vip-right .vip-next{margin-top:0}
@media (max-width:820px){.vip-cols{grid-template-columns:1fr}}

/* self-hosted Press Start 2P (SIL OFL, see assets/fonts/OFL-PressStart2P.txt): headings + pixel canvas lettering */
@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/press-start-2p-latin.woff2) format("woff2")}

.co-pack .co-uses{grid-column:1/-1;list-style:none;margin:.5rem 0 0;padding:.55rem 0 0;border-top:2px dashed #3a4690;display:grid;gap:.3rem;font-size:1rem;line-height:1.45;color:#e3e8ff}.co-pack .co-uses li{padding-left:1.3rem;position:relative}.co-pack .co-uses li:not(.co-uses-h)::before{content:"\25B8";position:absolute;left:.2rem;color:#22e6ff}.co-pack .co-uses .co-uses-h{padding:0;font-weight:700;color:#ffd23f}.co-perks{margin:.8rem 0 1.2rem;font-weight:700;color:#7dffb0;line-height:1.7}
.co-perks{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}
.hero-loc{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem}
.loc-pill{display:inline-flex;align-items:center;gap:.55rem;font-size:clamp(.95rem,2.2vw,1.45rem);max-width:100%;box-sizing:border-box;line-height:1.3;color:#fff;background:#c0187a;border:3px solid #fff;box-shadow:4px 4px 0 #5a1446;padding:.4rem .75rem}
.loc-pill::before{content:"";width:12px;height:16px;flex:none;background:#ffd23f;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}

/* ---------- Settings: gear button + small panel of retro on/off switches ---------- */
.set-wrap{position:relative}
.set-toggle{display:inline-flex;align-items:center;gap:.45rem}
.set-toggle[aria-expanded="true"]{background:#ffd23f;color:#0b1030;border-color:#ffd23f}
.set-gear{width:18px;height:18px;flex:none;background:currentColor;clip-path:polygon(38% 0,62% 0,62% 14%,76% 20%,86% 10%,100% 24%,90% 34%,96% 38%,100% 38%,100% 62%,86% 62%,80% 76%,90% 86%,76% 100%,66% 90%,62% 86%,62% 100%,38% 100%,38% 86%,24% 80%,14% 90%,0 76%,10% 66%,14% 62%,0 62%,0 38%,14% 38%,20% 24%,10% 14%,24% 0,34% 10%,38% 14%);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 4px,#000 5px);mask:radial-gradient(circle at 50% 50%,transparent 4px,#000 5px)}
.set-panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:60;width:min(300px,calc(100vw - 1.5rem));background:#0b1030;border:3px solid #22e6ff;box-shadow:5px 5px 0 #ff3fb4;padding:.7rem;display:grid;gap:.45rem}
.set-panel[hidden]{display:none}
.set-title{margin:0 0 .2rem;font:12.8px/1.6 "Press Start 2P",monospace;color:#ffd23f}
.set-sw{display:grid;grid-template-columns:1fr auto 3.2em;align-items:center;gap:.6rem;width:100%;min-height:48px;padding:.3rem .55rem;font:inherit;font-weight:700;font-size:1rem;color:#fff;background:#05091a;border:2px solid #3a4690;cursor:pointer;text-align:left}
.set-sw:hover{border-color:#22e6ff}
.set-sw:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}
.set-sw .sw{position:relative;width:44px;height:22px;background:#2a2f5a;border:3px solid #8f9bd6;box-sizing:content-box}
.set-sw .sw i{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#8f9bd6;transition:left .12s steps(3)}
.set-sw[aria-checked="true"] .sw{background:#c0187a;border-color:#ff3fb4}
.set-sw[aria-checked="true"] .sw i{left:24px;background:#ffd23f}
.set-sw .sw-state{font:12.8px/1 "Press Start 2P",monospace;color:#c8cff5;text-align:right}
.set-sw[aria-checked="true"] .sw-state{color:#ffd23f}
html.calm .set-sw .sw i{transition:none}
header.site{overflow:visible;z-index:500}
header.site>canvas,header.site .hdr-fx{overflow:hidden}
