/* ===== Overnight polish pass (Oct 13-14) — loaded last ===== */
:root{--ease-out:cubic-bezier(.22,.9,.3,1);--ease-io:cubic-bezier(.65,0,.35,1)}
/* 1. Hero: centered headline block on desktop, smaller location pill */
@media (min-width:821px){
 .v5-hero .wrap{text-align:center}
 .v5-hero .hero-loc{justify-content:center}
 .v5-hero .v5-lead,.v5-hero .assist{margin-left:auto;margin-right:auto}
 .v5-hero .actions{justify-content:center}
 .v5-hero .trust{justify-content:center;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
 .v5-hero .v5-stage{max-width:1040px;margin-left:auto;margin-right:auto}
 .loc-pill{font-size:clamp(.8rem,1.2vw,1rem)!important;padding:.32rem .65rem!important;box-shadow:3px 3px 0 #5a1446!important;border-width:2px!important}
}
.v5-fallback{text-align:center}
/* 2. Player-select login */
.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.4rem;max-width:960px;margin:0 auto}
.ps-card{display:flex;flex-direction:column}.ps-card>p:last-child{margin-top:auto}
.ps-tag{font-family:var(--pixel,"Press Start 2P",monospace);font-size:.68rem;color:#22e6ff;margin:0 0 .4rem;letter-spacing:.04em}
.ps-in{border-color:#ffd23f!important}.ps-new{border-style:dashed!important}
.ps-foot{text-align:center;margin-top:1.6rem;color:var(--muted)}
/* 3. Smooth game-style reveals ("think smooth"): ease-out, 250-500ms, transform/opacity/clip only */
@media (prefers-reduced-motion:no-preference){
 .fx-reveal{opacity:0;transform:translateY(18px);clip-path:inset(0 0 12% 0);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),clip-path .5s var(--ease-out)!important;will-change:transform,opacity}
 .fx-reveal.in{opacity:1;transform:none;clip-path:inset(-40px)}
 .v5-up{transform:translate3d(0,20px,0) scale(.985);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)!important;transition-delay:calc(var(--i,0)*70ms)!important}
 .v5-up.in{transform:none}
 .fx-wipe{transition:transform .3s var(--ease-io)!important}
 .btn,.quest-btn,.card,.px-box{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),background-color .3s ease,color .3s ease,border-color .3s ease}
 .btn:hover,.quest-btn:hover{transform:translate3d(-2px,-3px,0)}.btn:active,.quest-btn:active{transform:translate3d(1px,1px,0);transition-duration:.1s}
 .ps-card{animation:kaPixIn .5s var(--ease-out) both}.ps-new{animation-delay:.1s}
 .page-head h1,.page-head .label{animation:kaDrop .45s var(--ease-out) both}
}
@keyframes kaPixIn{from{clip-path:inset(0 100% 0 0);opacity:.3;transform:translateX(-8px)}to{clip-path:inset(0);opacity:1;transform:none}}
@keyframes kaDrop{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
html.calm .fx-reveal,html.calm .v5-up{clip-path:none!important;opacity:1!important;transform:none!important;transition:none!important}
html.calm .ps-card,html.calm .page-head h1,html.calm .page-head .label{animation:none!important}
@media (prefers-reduced-motion:reduce){.fx-reveal,.v5-up{clip-path:none!important;opacity:1!important;transform:none!important}}
/* 4. Senior readability pass: quest cards, body size, calmer glows */
.quest-grid{display:flex!important;flex-wrap:wrap;justify-content:center;gap:1rem!important}
.quest-grid>li{flex:1 1 260px;max-width:340px}
.quest-btn{height:100%;width:100%}
.quest-btn>span{font-family:"Atkinson Hyperlegible",system-ui,sans-serif!important;font-weight:700!important;font-size:1.25rem!important;line-height:1.25!important;letter-spacing:0!important;color:#fff!important;text-shadow:none!important;text-wrap:balance}
.quest-btn small{display:block;margin-top:.3rem;font-family:"Atkinson Hyperlegible",system-ui,sans-serif!important;font-weight:400;font-size:1.08rem!important;color:#d6e2ff!important;letter-spacing:0!important;text-transform:none!important}
main p,main li,main label{font-size:max(1.125rem,1em)}
.lead,.v5-lead{color:#e6ecff!important}
.label,.tierchip,.ps-tag{font-size:max(.75rem,12px)}
/* no blinking or fast colour cycling */
.fx-glowtext,.px-coin,[class*="blink"]{animation-duration:2.4s!important}
@media (prefers-reduced-motion:no-preference){.comet::before,.comet::after{animation-duration:3.6s!important}}
/* slow down fast blinkers (min ~1s cycle) */
.ka-coin:hover .fx-ic,.ka-coin:focus-visible .fx-ic{animation-duration:1.4s!important}
.proc-txt span{animation-duration:1.2s!important}
.ka-typing::after{animation-duration:1.1s!important}
.arc-1up,.statusbar .tb-blink{animation-duration:1.8s!important}
.arc-scr,.fx-coinroll.go .cr-cab .arc-scr{animation:none!important;opacity:1!important}
html .quest-btn{font-family:"Atkinson Hyperlegible",system-ui,sans-serif!important;font-weight:700!important;font-size:1.3rem!important;line-height:1.25!important}
html .quest-btn .ka-gt,html .quest-btn span{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important;filter:none!important;text-shadow:none!important;font:inherit!important}
html .quest-btn small,html .quest-btn small *{font-size:1.1rem!important;font-weight:400!important;-webkit-text-fill-color:#cfdcff!important;color:#cfdcff!important}
html .quest-btn[aria-pressed="true"] span{-webkit-text-fill-color:#ffd23f!important}
@media (max-width:820px){.quest-grid>li{max-width:none;flex-basis:100%}html .quest-btn{font-size:1.2rem!important}}
/* login page: footer account promo would duplicate the new-player card */
body[data-page="login"] .acct-cta{display:none}
/* Password Power-Up */
.pp-screen{text-align:center;padding:2.2rem 1rem;transition:border-color .35s ease,box-shadow .35s ease}
.pp-screen.pp-bad{border-color:#ff3fb4!important}
.pp-pw{font-family:"Atkinson Hyperlegible",monospace;font-weight:700;font-size:clamp(1.4rem,4vw,2.1rem);color:#ffd23f;margin:0;word-break:break-all}
.pp-btns{justify-content:center}.pp-btns .btn{min-width:9rem;font-size:16px!important}
@media (prefers-reduced-motion:no-preference){.pp-pop{animation:ppPop .38s cubic-bezier(.22,.9,.3,1)}}
@keyframes ppPop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
#pp-lives{font-family:"Atkinson Hyperlegible",sans-serif;font-size:1.2rem;color:#ff3fb4}
/* game side-box titles (Tip / How to play) were invisible: clip-text gradient failed inside boxes */
.tip-box h3{background:none!important;-webkit-text-fill-color:#ffd23f!important;color:#ffd23f!important;font-family:"Press Start 2P",monospace;font-size:1rem!important;line-height:1.5;text-shadow:2px 2px 0 #c0187a!important;margin:0 0 .6rem}
/* How it works */
.how-steps{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.2rem}
.how-steps li{position:relative;padding:1.4rem 1.2rem 1.2rem}
.how-n{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;background:#ffd23f;color:#0b1030;font-family:"Press Start 2P",monospace;font-size:1rem;box-shadow:3px 3px 0 #c0187a;margin-bottom:.6rem}
.how-steps h3{margin:.2rem 0 .4rem}
/* FAQ accordion */
.faq details{border:3px solid #22e6ff;background:#0b1030;margin:0 0 .8rem;box-shadow:4px 4px 0 #ff3fb4;transition:box-shadow .3s ease,border-color .3s ease}
.faq details[open]{border-color:#ffd23f;box-shadow:4px 4px 0 #ffd23f}
.faq summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.1rem;font-weight:700;font-size:1.2rem;color:#fff;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-family:"Press Start 2P",monospace;color:#ffd23f;transition:transform .3s cubic-bezier(.22,.9,.3,1)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{margin:0;padding:0 1.1rem 1.1rem;font-size:1.15rem}
@media (prefers-reduced-motion:no-preference){.faq details[open] p{animation:kaDrop .35s cubic-bezier(.22,.9,.3,1)}}
/* Contact card (home) */
.ct-card{max-width:760px;margin:1.2rem auto 0;padding:1.6rem}
.ct-rows{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.ct-rows li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start;font-size:1.15rem;line-height:1.45}
.ct-rows b{display:block;color:#ffd23f;font-size:1rem;letter-spacing:.02em;margin-bottom:.15rem}
.ct-rows a{font-size:1.3rem;font-weight:700;color:#fff;word-break:break-word}
.ct-rows a.ct-small{display:inline-block;font-size:1.05rem;color:#22e6ff;margin-top:.2rem}
.ct-ic{width:3rem;height:3rem;display:grid;place-items:center;background:#0b1030;border:2px solid #22e6ff;color:#22e6ff;font-size:1.5rem}
.ct-btns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.6rem}
html .ct-btns .btn{font-family:"Atkinson Hyperlegible",system-ui,sans-serif!important;font-weight:700!important;font-size:1.2rem!important;letter-spacing:0!important;padding:1rem;text-align:center;justify-content:center;width:100%;box-sizing:border-box}
html .ct-btns .btn *{-webkit-text-fill-color:currentColor!important;background:none!important;font:inherit!important}
@media (max-width:560px){.ct-btns{grid-template-columns:1fr}.ct-card{padding:1.1rem}.ct-rows li{grid-template-columns:2.5rem 1fr}.ct-ic{width:2.5rem;height:2.5rem}}
html .ct-btns .btn-primary{background:#ffd23f!important;color:#0b1030!important;-webkit-text-fill-color:#0b1030!important;text-shadow:none!important;border-color:#fff!important}
html .ct-btns .btn-navy{color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:none!important}
/* Coin Catcher */
.cc-field{position:relative;height:min(60vh,420px);background:#060a20 repeating-linear-gradient(0deg,transparent 0 31px,rgba(34,230,255,.08) 31px 32px);border:3px solid #22e6ff;box-shadow:6px 6px 0 #ff3fb4;overflow:hidden;touch-action:manipulation}
.cc-coin{position:absolute;border:0;padding:0;background:none;cursor:pointer;transform:translate(-50%,-50%)}
.cc-coin svg{width:100%;height:100%;display:block}
.cc-coin:focus-visible{outline:4px solid #fff;outline-offset:4px}
@media (prefers-reduced-motion:no-preference){.cc-coin{animation:ccIn .3s cubic-bezier(.22,.9,.3,1)}.cc-pop{animation:ccPop .45s ease-out forwards}}
@keyframes ccIn{from{transform:translate(-50%,-50%) scale(.3);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes ccPop{to{transform:translate(-50%,-120%);opacity:0}}
.cc-plus{position:absolute;font-family:"Press Start 2P",monospace;color:#ffd23f;font-size:14px;pointer-events:none;transform:translate(-50%,-50%)}
.ct-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:.55rem 0 .6rem;padding:0}
.ct-chips li{background:#13205a;border:2px solid #22e6ff;color:#fff;padding:.25rem .65rem;font-size:1.05rem;font-weight:700}
.ct-chips li.home{background:#ffd23f;color:#0b1030;border-color:#ffd23f}
.ct-note{display:block;color:#cfdcff;font-size:1.05rem}
.fx-serve.go .sv-towns i:nth-of-type(3){animation:svin .35s ease-out 3s forwards}
.fx-serve.go .sv-towns b:nth-of-type(4){animation:svin .35s ease-out 3.3s forwards}
.ct-chips li{white-space:nowrap}
html .ct-btns .btn-primary,html .ct-btns .btn-primary *{text-shadow:none!important;-webkit-text-fill-color:#0b1030!important;color:#0b1030!important;filter:none!important}
html .ct-btns .btn-navy *{text-shadow:none!important;filter:none!important}
.ct-rows .ct-chips li{display:inline-block!important;width:auto!important;max-width:100%;grid-template-columns:none!important;flex:0 0 auto;line-height:1.3}
/* Boot screen: lines glide in, CRT power-off exit (transform/opacity only) */
#fx-boot{font-size:clamp(12px,1.6vw,16px)}
#fx-boot pre .bt-line{display:block;animation:btIn .32s cubic-bezier(.22,.9,.3,1) both}
#fx-boot pre .bt-line:last-child{color:#ffd23f}
@keyframes btIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
#fx-boot{transition:opacity .5s cubic-bezier(.65,0,.35,1),transform .5s cubic-bezier(.65,0,.35,1)!important;transform-origin:50% 50%}
#fx-boot.off{opacity:0;transform:scaleY(.02) scaleX(.9)}
/* Service-area loading bar: smooth fill + soft glow head, towns fade/slide in */
.fx-serve.go .sv-fill{animation:svfill 2.4s cubic-bezier(.22,.9,.3,1) forwards!important;box-shadow:0 0 12px rgba(34,230,255,.6)}
.fx-serve.go .sv-towns b,.fx-serve.go .sv-towns i{animation-name:svSlide!important;animation-duration:.4s!important;animation-timing-function:cubic-bezier(.22,.9,.3,1)!important}
.sv-towns b,.sv-towns i{display:inline-block}
@keyframes svSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Text Detective */
.td-phone{max-width:360px;margin:0 auto;background:#0b1030;border:4px solid #fff;border-radius:28px;padding:2.2rem 1rem;box-shadow:6px 6px 0 #ff3fb4;min-height:220px;display:flex;align-items:center}
.td-bubble{background:#e9ecf5;color:#111;border-radius:18px 18px 18px 4px;padding:1rem 1.1rem}
.td-bubble p{margin:0;font-family:"Atkinson Hyperlegible",sans-serif;font-size:1.2rem;line-height:1.4;color:#111;-webkit-text-fill-color:#111;text-shadow:none}
.td-hearts{font-family:"Atkinson Hyperlegible",sans-serif;font-size:1.2rem;color:#ff3fb4}
/* Quest icons (32x32 rich 8-bit set), 64px on cards */
.quest-btn .qicon{width:64px;height:64px;flex:none;image-rendering:pixelated;filter:drop-shadow(0 3px 0 rgba(0,0,0,.45));transition:transform .35s cubic-bezier(.22,.9,.3,1),filter .35s ease}
@media (prefers-reduced-motion:no-preference){
 .quest-btn:hover .qicon,.quest-btn:focus-visible .qicon{transform:translateY(-4px) scale(1.06);filter:drop-shadow(0 6px 0 rgba(0,0,0,.4)) drop-shadow(0 0 10px rgba(34,230,255,.55))}
 .quest-btn:hover .qicon{animation:qiBob 1.6s ease-in-out .35s infinite}
}
@keyframes qiBob{0%,100%{transform:translateY(-4px) scale(1.06)}50%{transform:translateY(-7px) scale(1.06)}}
.quest-btn:hover .px-icon{animation:none}
@media (max-width:820px){.quest-btn .qicon{width:56px;height:56px}}
/* Default: glowing arcade tile icons. Preview plain with ?icons=a */
html.qi-b .quest-btn .qicon{background:radial-gradient(circle,#1d2a70 0,#0b1030 70%);border:2px solid #22e6ff;padding:6px;box-sizing:content-box;box-shadow:0 0 14px rgba(34,230,255,.45),inset 0 0 10px rgba(255,63,180,.35);filter:none}
/* QoL: back-to-top, desktop call pill, share */
.qol-top,.qol-call{position:fixed;z-index:60;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.22,.9,.3,1);text-decoration:none;font-weight:700;font-size:1.05rem;border:2px solid #22e6ff;background:#0b1030;color:#fff;padding:.6rem .9rem;box-shadow:3px 3px 0 #ff3fb4}
.qol-top{right:16px;bottom:16px}.qol-call{left:16px;bottom:16px;border-color:#ffd23f;color:#ffd23f}
.qol-top.show,.qol-call.show{opacity:1;transform:none;pointer-events:auto}
.qol-top:hover,.qol-call:hover{background:#13205a}
@media (max-width:820px){.qol-call{display:none}.qol-top{bottom:calc(92px + env(safe-area-inset-bottom,0px));right:12px;padding:.5rem .7rem}}
.qol-share{text-align:center;margin:1.4rem 0 0}.qol-share-st{display:block;margin-top:.5rem;color:#cfdcff}
/* High contrast mode */
html.hc body{background:#000!important}
html.hc #fx-grid,html.hc #fx-field,html.hc .scene,html.hc .fx-flyby,html.hc body::before,html.hc body::after{display:none!important}
html.hc main p,html.hc main li,html.hc .lead,html.hc label{color:#fff!important;text-shadow:none!important}
html.hc main a:not(.btn),html.hc footer a:not(.btn){color:#ffe14d!important;text-decoration-thickness:2px}
html.hc .px-box,html.hc .card,html.hc .quest-btn,html.hc .faq details{background:#000!important;border-color:#fff!important}
html.hc .hero-copy,html.hc main section{background:#000!important}
html.hc *{box-shadow:none!important}
/* Print: guides and pages print as clean black-on-white */
@media print{
 #fx-grid,#fx-field,#fx-boot,.fx-dock,.qol-top,.qol-call,.qol-share,.statusbar,.v5-stage,.scene,.fx-serve,.fx-coinroll,.acct-cta,header,.levelnav,footer nav{display:none!important}
 html.v5-ok .v5-pixh{position:static!important;width:auto!important;height:auto!important;clip:auto!important;white-space:normal!important}
 body,main,section,.px-box,.card{background:#fff!important;color:#000!important;box-shadow:none!important}
 *{color:#000!important;-webkit-text-fill-color:#000!important;text-shadow:none!important;animation:none!important}
 a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em}
}
@media (max-width:820px){html .quest-btn>span,html .quest-btn small{text-align:left!important}}
.btn .nw{margin-left:.45em}

/* === CTA + UI components (Oct 13 late) === */
#account .ka-lead{font-size:1.2rem}
.ka-perks{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem}
.ka-perk{display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;background:#0b1030;border:3px solid #22e6ff;box-shadow:3px 3px 0 #ff3fb4;font-weight:700;font-size:1.15rem;color:#fff}
.ka-perk svg{flex:none;width:32px;height:32px}
.ka-cta{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem;max-width:760px;align-items:stretch}
.ka-cta .btn{display:flex;align-items:center;justify-content:center;min-height:68px;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:0;text-align:center;line-height:1.2;padding:.8rem 1.2rem}
.ka-cta .ka-cta-main{font-size:1.4rem}
.ka-cta-3{margin:1rem 0 0;font-size:1.15rem}
.ka-cta-3 a{color:#22e6ff;font-weight:700}
.acct-cta .btn,.px-box .portal-link.btn-primary{font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-weight:700;font-size:1.25rem;letter-spacing:0;min-height:60px}
@media(max-width:640px){.ka-cta{grid-template-columns:1fr}.ka-perks{grid-template-columns:1fr 1fr}.ka-perk{font-size:1.05rem;padding:.65rem .7rem}}
@media(max-width:380px){.ka-perks{grid-template-columns:1fr}}
.px-divider{border:0;height:8px;margin:2rem auto;max-width:520px;background:repeating-linear-gradient(90deg,#ffd23f 0 8px,transparent 8px 16px,#22e6ff 16px 24px,transparent 24px 32px,#ff3fb4 32px 40px,transparent 40px 48px);image-rendering:pixelated;opacity:.85}
.ka-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;text-align:center}
.ka-stats>div{padding:.9rem .5rem;border:3px solid #2a3570;background:#0b1030}
.ka-stats b{display:block;font-family:"Press Start 2P",monospace;color:#ffd23f;font-size:1.05rem;text-shadow:2px 2px 0 #ff3fb4;margin-bottom:.5rem}
.ka-stats span{font-size:1.1rem;color:#e8ecff}
@media(max-width:640px){.ka-stats{grid-template-columns:1fr 1fr}}
.ka-stepper{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:s}
.ka-stepper li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem;background:#0b1030;border:3px solid #22e6ff;box-shadow:4px 4px 0 #ff3fb4;position:relative}
.ka-stepper li:not(:last-child)::after{content:"";position:absolute;right:-1.2rem;top:50%;width:1.2rem;height:4px;background:repeating-linear-gradient(90deg,#ffd23f 0 4px,transparent 4px 8px)}
.ka-step-n{flex:none;width:48px;height:48px;display:grid;place-items:center;background:#ffd23f;color:#0a0f2c;font-family:"Press Start 2P",monospace;font-size:1.1rem;box-shadow:3px 3px 0 #ff3fb4}
.ka-stepper h3{margin:0 0 .3rem;font-size:1.25rem;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;color:#ffd23f}
.ka-stepper p{margin:0;font-size:1.1rem}
@media(max-width:800px){.ka-stepper{grid-template-columns:1fr}.ka-stepper li:not(:last-child)::after{right:auto;left:2.6rem;top:auto;bottom:-1.2rem;width:4px;height:1.2rem;background:repeating-linear-gradient(180deg,#ffd23f 0 4px,transparent 4px 8px)}}
.ka-tip{text-decoration:underline dotted #22e6ff 2px;text-underline-offset:4px;cursor:help;position:relative;outline-offset:3px}
.ka-tip-pop{position:absolute;z-index:60;max-width:300px;padding:.7rem .9rem;background:#0a0f2c;color:#fff;border:3px solid #ffd23f;box-shadow:4px 4px 0 #ff3fb4;font:400 1.05rem/1.4 "Atkinson Hyperlegible",system-ui,sans-serif;opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.ka-tip-pop.on{opacity:1;transform:none}
.ka-tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin:0 0 1.4rem}
.ka-tab{flex:1 1 220px;text-align:center;padding:.9rem 1rem;border:3px solid #22e6ff;background:#0b1030;color:#fff;font-weight:700;font-size:1.2rem;text-decoration:none;transition:border-color .3s ease,box-shadow .3s ease}
.ka-tab small{display:block;font-size:.95rem;color:#22e6ff;font-weight:400}
.ka-tab.is-on,.ka-tab:hover,.ka-tab:focus-visible{border-color:#ffd23f;box-shadow:4px 4px 0 #ffd23f}
.ka-toast{position:fixed;left:50%;bottom:6.5rem;transform:translate(-50%,20px);z-index:90;padding:.9rem 1.3rem;background:#0a0f2c;color:#fff;border:3px solid #ffd23f;box-shadow:4px 4px 0 #ff3fb4;font:700 1.15rem/1.3 "Atkinson Hyperlegible",system-ui,sans-serif;opacity:0;transition:opacity .35s ease,transform .35s cubic-bezier(.22,.9,.3,1);max-width:90vw}
.ka-toast.on{opacity:1;transform:translate(-50%,0)}
.ka-toast::before{content:"★ ";color:#ffd23f}
/* accordion unified with FAQ */
details.px-box{transition:box-shadow .3s ease,border-color .3s ease}
details.px-box>summary{cursor:pointer;font-weight:700;font-size:1.2rem;list-style:none;position:relative;padding-right:2.5rem}
details.px-box>summary::-webkit-details-marker{display:none}
details.px-box>summary::after{content:"+";position:absolute;right:.4rem;top:50%;transform:translateY(-50%);font-family:"Press Start 2P",monospace;color:#ffd23f;transition:transform .3s cubic-bezier(.22,.9,.3,1)}
details.px-box[open]{border-color:#ffd23f}
details.px-box[open]>summary::after{transform:translateY(-50%) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.ka-toast,.ka-tip-pop,.ka-tab,details.px-box>summary::after{transition:none}}
html .ka-cta .btn,html .acct-cta .btn,html .px-box .portal-link.btn{font-family:"Atkinson Hyperlegible",system-ui,sans-serif!important;font-weight:700!important;font-size:1.3rem!important;letter-spacing:0!important;line-height:1.2!important}
html .ka-cta .btn *,html .acct-cta .btn *{-webkit-text-fill-color:currentColor!important;background:none!important;font:inherit!important}
html .ka-cta .btn-primary,html .acct-cta .btn-primary,html .px-box .portal-link.btn-primary{background:#ffd23f!important;color:#0b1030!important;-webkit-text-fill-color:#0b1030!important;text-shadow:none!important;border-color:#fff!important;box-shadow:4px 4px 0 #ff3fb4}
html .ka-cta .btn-primary:hover,html .acct-cta .btn-primary:hover{background:#ffe066!important}
html .ka-cta .btn-primary *,html .acct-cta .btn-primary *{-webkit-text-fill-color:#0b1030!important;color:#0b1030!important;text-shadow:none!important;filter:none!important}
html .ka-cta .ka-cta-main{font-size:1.45rem!important}
html.hc .ka-cta .btn-primary{background:#ffe14d!important;color:#000!important}
html .ka-tab{font-size:1.25rem!important}html .ka-tab small{font-size:1rem!important;margin-top:.2rem}
