@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--cream:#fff2d6;--gold:#ffc35d;--mint:#8edbc2;--muted:#a3b9ad}*{box-sizing:border-box}body{margin:0;background:#0a1719;color:var(--cream);font-family:'DM Sans',sans-serif;background-image:radial-gradient(ellipse at 50% 0,#304741,transparent 70%);min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:700 .78rem 'DM Sans',sans-serif;cursor:pointer;color:var(--cream);border:1px solid #637666;background:#203833;border-radius:6px;padding:10px 14px;letter-spacing:.05em}button:hover{background:#375348}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.6}.cabinet{max-width:1160px;margin:auto;padding:18px 26px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.brand{text-decoration:none;color:var(--cream);font:900 2rem 'Barlow Condensed',Impact,sans-serif}.brand>span{font:italic 1.25rem Georgia;color:var(--gold);margin:0 5px}.brand small{display:block;font:600 .6rem 'DM Sans',sans-serif;letter-spacing:.22em;color:var(--muted);margin-top:2px}.actions{display:flex;gap:8px}.arena{position:relative;border:1px solid #65765a;border-radius:14px;overflow:hidden;aspect-ratio:1100/740;background:#101c19;isolation:isolate}canvas{width:100%;height:100%;display:block}.top-hud{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;padding:22px 26px;background:linear-gradient(#081814d9,transparent);pointer-events:none;z-index:3}.label{display:block;font-size:.65rem;letter-spacing:.18em;color:var(--muted);font-weight:700}.rival{display:flex;flex-direction:column}.rival b{font:800 1.8rem 'Barlow Condensed',Impact,sans-serif;color:var(--gold)}.rival>span:last-child{font-size:.6rem;letter-spacing:.1em}.clock{text-align:center}.clock strong{font:700 2.7rem 'Barlow Condensed',Impact,sans-serif;font-variant-numeric:tabular-nums}.lives{text-align:right}.lives strong{font:700 1.4rem sans-serif;letter-spacing:.05em;color:#f8a084;line-height:2}.scorebox{position:absolute;bottom:18px;right:24px;text-align:right;z-index:6;pointer-events:none;text-shadow:0 2px 15px #06100d}.scorebox strong{display:block;font:800 clamp(2rem,4vw,3.7rem)/1.05 'Barlow Condensed',Impact,sans-serif;letter-spacing:.05em;color:var(--gold);font-variant-numeric:tabular-nums}.scorebox>span:last-child{font-size:.6rem;letter-spacing:.08em;color:var(--mint)}.scorebox.draining strong,.scorebox.draining>span:last-child{color:#ff9d85}.visionstatus{position:absolute;bottom:22px;left:24px;display:flex;flex-direction:column;gap:5px;pointer-events:none;font-size:.6rem;letter-spacing:.14em;color:var(--muted);z-index:3}.visionstatus>span:first-child{color:var(--mint);font-weight:700}#moleControls{position:absolute;inset:0;pointer-events:none;z-index:3}.mole-key{position:absolute;width:8.4%;height:9.2%;min-width:36px;min-height:38px;transform:translate(-50%,-50%);border:1px solid #7d8b6f;border-bottom:4px solid #52654c;border-radius:50%;background:radial-gradient(ellipse,#263b2f,#11211c)!important;box-shadow:0 7px 15px #03100a70;padding:0;pointer-events:auto;touch-action:manipulation;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1!important}.mole-key .key{font:800 1.3rem 'Barlow Condensed',sans-serif;color:#c4c8a9}.mole-key .rate{font-size:.55rem;color:#8ca78d;line-height:1.4}.mole-key[aria-pressed=true]{border-color:#f9d480;box-shadow:0 0 22px #ffc35d3d,0 5px 14px #03100a80;background:radial-gradient(ellipse,#726331,#2f3a24)!important}.mole-key[aria-pressed=true] .key{color:#fff0b3}.mole-key[aria-pressed=true] .rate{color:var(--mint)}.mole-key.recovering{border-color:#da8d79}.mole-key.left-hand:after{content:'LEFT';position:absolute;bottom:-18px;font-size:.5rem;letter-spacing:.1em;color:#728670}.mole-key.right-hand:after{content:'RIGHT';position:absolute;bottom:-18px;font-size:.5rem;letter-spacing:.1em;color:#728670}.underground{position:absolute;top:35%;left:0;right:0;text-align:center;pointer-events:none;color:#7b9683}.underground span{display:block;letter-spacing:.2em;font-size:.7rem}.underground b{display:block;font:700 2rem 'Barlow Condensed',sans-serif;margin-top:10px}.veil{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#0b201af7 0%,#0b201aeb 42%,#0b201a12 100%);display:flex;align-items:center;padding:5% 6% 9%}.veil.hidden{display:none}.intro{max-width:620px}.eyebrow{font-size:.67rem;letter-spacing:.16em;color:var(--mint);font-weight:700}h1{font:900 clamp(3.5rem,7.8vw,7rem)/.89 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.02em;margin:24px 0}h1 em{font-style:normal;color:var(--gold)}.intro>p{font-size:1rem;color:#d2ddc6}.rules{display:flex;gap:30px;margin:26px 0}.rules>div{display:flex;gap:11px;align-items:center;font-size:.8rem;line-height:1.6}.rules b{font:700 2rem 'Barlow Condensed',sans-serif;color:var(--gold)}.primary{background:var(--gold);color:#1b2c22;border:0;border-bottom:4px solid #ac772e;font-size:1rem;padding:16px 28px;min-width:210px}.primary:hover{background:#ffd790}.startnote{display:block;font-size:.7rem;line-height:1.8;margin-top:14px;color:#aebda4}.toast{position:absolute;top:18%;left:50%;transform:translateX(-50%);font:800 1.8rem 'Barlow Condensed',sans-serif;color:#ffe4a0;pointer-events:none;z-index:4;text-shadow:0 2px 12px #06150f;text-align:center;white-space:nowrap}.toast.hit{color:#ffab93}.resultstats{display:flex;gap:30px;margin:24px 0}.resultstats b{display:block;font:800 2.8rem 'Barlow Condensed',sans-serif;color:var(--gold)}.resultstats span{font-size:.65rem;letter-spacing:.1em;color:var(--muted)}.breakbar{height:5px;background:#42554a;max-width:360px;margin:24px 0}.breakbar i{height:100%;display:block;background:var(--mint)}footer{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--muted);margin-top:12px}footer button{border:0;background:transparent;padding:6px;font-size:.65rem}.record{white-space:nowrap;letter-spacing:.06em;font-size:.6rem}.record b{font-size:1rem;color:var(--cream);margin-left:6px}.help-panel{position:absolute;z-index:10;inset:12% 15% auto;background:#1b342c;border:1px solid #819678;border-radius:12px;padding:28px;box-shadow:0 0 0 100vmax #03110dd9;font-size:1rem;line-height:1.5;max-height:80vh;overflow:auto}.help-panel h2{font:800 2rem 'Barlow Condensed',sans-serif;color:var(--gold);margin-top:0}.close{float:right;font-size:1.5rem;padding:0 10px}.low{color:#ffa084!important}@media(max-width:700px){.cabinet{padding:12px 8px}.brand{font-size:1.55rem}.brand small{font-size:.5rem}.actions button{font-size:.58rem;padding:9px}.arena{aspect-ratio:1100/1050}.top-hud{padding:13px 12px}.rival b{font-size:1.3rem}.label{font-size:.55rem}.clock strong{font-size:2.1rem}.lives strong{font-size:.9rem}.rival>span:last-child{font-size:.5rem}.scorebox{right:12px;bottom:15px}.scorebox strong{font-size:2.3rem}.scorebox>span:last-child{font-size:.5rem}.visionstatus{left:12px;bottom:18px;font-size:.48rem;max-width:44%}.mole-key .key{font-size:1.05rem}.mole-key .rate{font-size:.45rem}.mole-key.left-hand:after,.mole-key.right-hand:after{font-size:.4rem;bottom:-13px}.veil{padding:7% 7% 22%;background:linear-gradient(90deg,#0b201aee,#0b201aad)}.eyebrow{font-size:.54rem}h1{font-size:4.2rem;margin:20px 0}.intro>p{font-size:.85rem}.rules{gap:18px;margin:22px 0}.rules>div{font-size:.67rem}.primary{font-size:.85rem;min-width:190px;padding:13px 22px}.startnote{font-size:.6rem}.toast{font-size:1.3rem;top:22%}.underground b{font-size:1.6rem}.underground span{font-size:.55rem}footer{flex-wrap:wrap;gap:5px}footer>span:first-child{flex:1;min-width:60%;font-size:.64rem}.help-panel{inset:12% 3% auto;padding:20px;font-size:.88rem}.resultstats{gap:22px}.resultstats b{font-size:2rem}}@media(max-height:600px) and (orientation:landscape){.cabinet{max-width:900px;padding-top:8px}header{margin-bottom:8px}.arena{max-height:80vh;width:auto;aspect-ratio:1100/740;margin:auto}.brand small{display:none}}
#cycleSpeed{color:var(--mint);margin-top:5px;font-size:.64rem;letter-spacing:.1em}
#hitFeedback{position:absolute;inset:0;z-index:8;pointer-events:none}
.damage-popup{position:absolute;transform:translate(-50%,-70%);text-align:center;white-space:nowrap;background:#271f17eb;border:2px solid #ffb38b;border-radius:8px;padding:9px 15px;box-shadow:0 6px 26px #0008}
.damage-popup b{display:block;font:900 2rem 'Barlow Condensed',Impact,sans-serif;color:#ffab83}
.damage-popup span{display:block;font:800 1.25rem 'Barlow Condensed',Impact,sans-serif;color:#fff0d5}
.damage-popup em{display:block;font-style:normal;font-size:.65rem;color:#ffc35d;margin-top:4px}
.mole-key.sealed{border-color:#ae7770!important;background:#271c21!important;box-shadow:none}
.mole-key.sealed .key{text-decoration:line-through;color:#b97c76}
.mole-key.sealed .rate{color:#d49a8d}
@media(max-width:700px){.damage-popup{padding:6px 9px}.damage-popup b{font-size:1.4rem}.damage-popup span{font-size:.95rem}.damage-popup em{font-size:.5rem}#cycleSpeed{font-size:.5rem}.rival>span:not(.label){max-width:110px;font-size:.45rem}}
.rotate-tip{display:none}
@media(pointer:coarse) and (orientation:portrait){.rotate-tip{display:block;color:var(--gold);font-size:.7rem;flex-basis:100%}}
/* Landscape phones use the available viewport; all overlays share the same arena coordinates. */
@media(orientation:landscape) and (max-height:600px){
 body{min-height:100dvh;overflow:hidden}
 .cabinet{width:100%;max-width:none;height:100dvh;padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:4px}
 header{flex:0 0 30px;height:30px;margin:0}
 .brand{font-size:1.35rem}.brand small{display:none}
 .actions button{padding:5px 11px;font-size:.65rem;min-height:28px}
 .arena{flex:1;min-height:0;width:100%;height:auto;max-height:none;aspect-ratio:auto;margin:0;border-radius:8px}
 footer{display:none}
 .top-hud{padding:7px 14px}.label{font-size:.55rem}.rival b{font-size:1.3rem}.rival>span:not(.label){font-size:.5rem;max-width:none}.clock strong{font-size:1.8rem;line-height:1}.lives strong{font-size:1rem;line-height:1.4}#cycleSpeed{font-size:.5rem;margin-top:2px}
 .scorebox{bottom:7px;right:13px}.scorebox strong{font-size:2rem}.scorebox>span:last-child{font-size:.5rem}
 .visionstatus{left:14px;bottom:8px;font-size:.48rem;gap:2px}
 .mole-key{width:7%;height:15%;min-width:44px;min-height:44px}.mole-key .key{font-size:1.1rem}.mole-key .rate{font-size:.5rem}.mole-key.left-hand:after,.mole-key.right-hand:after{display:none}
 .veil{padding:12px 5% 42px;overflow:auto;align-items:center}
 .intro{max-width:72%;}.eyebrow{font-size:.56rem}h1{font-size:2.7rem;margin:8px 0;line-height:.94}h1 br{display:none}h1 em{margin-left:.15em}
 .intro>p{font-size:.78rem;margin:7px 0}.rules{gap:20px;margin:9px 0}.rules>div{font-size:.63rem;line-height:1.35}.rules b{font-size:1.2rem}
 .primary{font-size:.8rem;padding:9px 18px;min-width:180px}.startnote{font-size:.55rem;margin-top:6px;line-height:1.5}
 .resultstats{margin:9px 0;gap:25px}.resultstats b{font-size:1.8rem}.resultstats span{font-size:.55rem}
 .breakbar{margin:10px 0}.toast{top:22%;font-size:1.3rem}.underground{top:28%}.underground b{font-size:1.4rem}
 .help-panel{inset:8px 12%;max-height:calc(100dvh - 16px);padding:16px;font-size:.85rem}
 .damage-popup{padding:5px 10px}.damage-popup b{font-size:1.3rem}.damage-popup span{font-size:1rem}.damage-popup em{font-size:.55rem}
}

#landscapeHelp{display:none}
@media(orientation:landscape) and (max-height:600px){#landscapeHelp{display:block;min-width:30px}}

.mole-key .value{position:absolute;right:-7px;top:-10px;background:#ffc35d;color:#102121;border:2px solid #102121;border-radius:12px;padding:2px 6px;font:bold 12px sans-serif}.tracker-link{color:#ffc35d;font:600 12px sans-serif;text-decoration:none}.tracker-link:hover{text-decoration:underline}

.tracking-status{font-size:12px;color:#b6c8b9;max-width:190px;line-height:1.3}@media(max-width:800px){.tracking-status{display:none}}
/* Neon noir cabinet */
:root{--cream:#f3f1ff;--gold:#ffe269;--mint:#50edee;--muted:#a7aed0}
body{background:#070a1b;background-image:radial-gradient(ellipse at 20% 0,#252357,transparent 65%),radial-gradient(ellipse at 90% 70%,#271132,transparent 60%)}
.arena{background:#080b20;border:1px solid #46768f;box-shadow:0 0 0 3px #0d142c,0 0 35px #17c6e51f;}
#scene{position:absolute;inset:0}#vision{position:absolute;inset:0;pointer-events:none}
.brand{color:#f6f3ff;text-shadow:2px 2px #e73895}.brand span{color:#52e6ef}.brand small{font-size:12px;letter-spacing:.15em}
button{border-color:#575a90;background:#1b2140}button:hover{background:#30375e}.primary{background:#ffe269;color:#16122a;border-bottom-color:#ca7b35;box-shadow:0 0 24px #ffd83b25}
.top-hud{background:linear-gradient(#080b21ee,transparent)}.veil{background:linear-gradient(90deg,#0b0e27f7,#0b0e27e8 42%,#0b0e2722)}
.mole-key{border-color:#567893;border-bottom-color:#304766;background:radial-gradient(ellipse,#262d4c,#11182c)!important}.mole-key[aria-pressed=true]{background:radial-gradient(ellipse,#146477,#14223f)!important;border-color:#4aeef4;box-shadow:0 0 20px #27e2f84f,0 5px 14px #02071c}.mole-key .key{color:#e0dfff}.mole-key .value{background:#ffdd72;border-color:#1b2040}.mole-key:nth-child(3) .value,.mole-key:nth-child(6) .value{background:#ff71c4}.mole-key .rate{color:#c1c6e0;font-size:12px}
.mode-picker{display:flex;gap:8px;margin:16px 0 0}.mode-picker button{min-width:120px;font-size:14px}.mode-picker button[aria-pressed=true]{border-color:#53e9ed;background:#153e55;color:#75fbff;box-shadow:inset 0 -2px #43dbe9}
#modeDescription{font-size:14px;color:#b7bddc;margin:8px 0 16px}#runMode{font-size:12px;letter-spacing:.1em;color:#fc76c2;margin-top:4px}.scorebox strong{color:#ffdf66;text-shadow:0 0 20px #ffd9503b}.scorebox .label{color:#d4cff2}
.heart{display:inline-block;position:relative;margin-left:3px;color:#ff729e;font-size:23px}.heart.empty{color:#3d3854}.heart.half{color:#3d3854}.heart.half:before{content:'♥';position:absolute;left:0;top:0;width:50%;overflow:hidden;color:#ff729e}
#scoreBurst{position:absolute;right:0;top:-26px;color:#6dfae0;font-weight:900;font-size:25px;opacity:0}#scoreBurst.pop{animation:scorePop 1.1s ease-out forwards}@keyframes scorePop{0%{opacity:0;transform:translateY(12px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1.1)}75%{opacity:1}100%{opacity:0;transform:translateY(-24px)}}
.help-panel{background:#181c3b;border-color:#657bab}.damage-popup{background:#25172feF;border-color:#ff83b7}.damage-popup b{color:#ff94c5}.underground{color:#8990b4}.visionstatus{color:#aab2d0}
@media(prefers-reduced-motion:reduce){#scoreBurst.pop{animation:none}.arena{box-shadow:none}}
@media(max-height:600px) and (orientation:landscape){.mode-picker{margin:5px 0;gap:6px}.mode-picker button{padding:5px 12px;font-size:12px;min-width:95px}#modeDescription{font-size:12px;margin:4px 0 7px}.intro .rules{display:none}.intro h1{font-size:2.5rem}.heart{font-size:18px}#runMode{font-size:10px}.mole-key .rate{font-size:10px}.mole-key .value{font-size:10px;padding:1px 5px}}
/* Quiet set and costumes; brief arcade feedback carries the saturated color. */
:root{--cream:#e3e1e9;--gold:#c5b898;--mint:#a0b8bd;--muted:#979dac}
body{background:#090d17;background-image:radial-gradient(ellipse at 50% 0,#1c2332,transparent 68%)}
.arena{border-color:#39424f;box-shadow:0 0 0 3px #0e121d}
.brand{text-shadow:none;color:#d9dce4}.brand span{color:#97aab5}.brand small{color:#8b93a5}
.primary{background:#cbbb91;box-shadow:none;border-bottom-color:#827461}.primary:hover{background:#e1d1a8}
button{background:#202736;border-color:#46505f}button:hover{background:#313b4a}
.mole-key[aria-pressed=true]{background:radial-gradient(ellipse,#2d454f,#172331)!important;border-color:#82acb3;box-shadow:0 5px 14px #02071c}
.mole-key .value{background:#bdb493}.mole-key:nth-child(3) .value,.mole-key:nth-child(6) .value{background:#ba91ae}
.scorebox strong{color:#ffe76e;text-shadow:0 0 12px #ffdb4b24}#scoreBurst{color:#51ffdc;text-shadow:0 0 15px #33ffd699}
.damage-popup{background:#25112eeb;border-color:#ff51bb;box-shadow:0 0 22px #ff2d983f}.damage-popup b{color:#ff75cc;text-shadow:0 0 12px #ff369377}
.mode-picker button[aria-pressed=true]{border-color:#879baa;background:#2a3949;color:#e0e8ed;box-shadow:inset 0 -2px #819cac}

/* Fill is the toggle state: gray below ground, solid hand color above ground. */
.mole-key.left-hand{--arc:#8bb9c5}
.mole-key.right-hand{--arc:#b5a2ce}
.mole-key.left-hand,.mole-key.right-hand{border-color:var(--arc);border-bottom-color:var(--arc);background:#343434!important}
.mole-key[aria-pressed=false] .key{color:#e2e2e2}
.mole-key[aria-pressed=false] .rate{color:#c0c0c0}
.mole-key.left-hand:after{content:'LEFT';color:#9399a6}
.mole-key.right-hand:after{content:'RIGHT';color:#9399a6}
.mole-key[aria-pressed=true]{background:var(--arc)!important;box-shadow:0 0 13px #bbc7e038,0 5px 14px #02071c}
.mole-key[aria-pressed=true] .key,.mole-key[aria-pressed=true] .rate{color:#111921}
.left-color{color:#8bb9c5}.right-color{color:#b5a2ce}
.mole-key .mole-bonus{display:none;position:absolute;left:-8px;top:-10px;font:bold 10px sans-serif;letter-spacing:0;background:#19192b;color:#fff4b2;border:1px solid #dbc483;border-radius:10px;padding:2px 4px}
.mole-key.rainbow{border:2px solid transparent;border-bottom-width:4px;background:linear-gradient(var(--arc),var(--arc)) padding-box,conic-gradient(from 0deg,#ff83af,#ffd777,#96efb6,#78d9ff,#baa2ff,#ff83af) border-box!important;box-shadow:0 0 15px #bda2ff50;animation:rainbowGlow 2s ease-in-out infinite}
.mole-key.rainbow .mole-bonus{display:block}
.mole-key.rainbow .rate{color:#111921}
.mole-key.idle-warning{animation:idlePulse 1.1s ease-in-out infinite}
.mole-key.idle-warning .rate{color:#ff9aaa;font-weight:800}
.mole-key.idle-draining{background:#343434!important}
.mole-key.sealed{border-color:var(--arc)!important;background:#292929!important;box-shadow:none;animation:none}
.mole-key.sealed .key{color:#858585}
.mole-key.sealed .rate{color:#aaa}
.arena.clocks-stopped .mole-key{animation-play-state:paused}
.arena.clocks-stopped #scoreBurst{animation-play-state:paused}
#scoreRate{display:block;font-size:11px;letter-spacing:.04em;color:#c5d9d9}
#scoreDetail{display:block;font-size:10px;letter-spacing:.02em;color:#ee9baa;min-height:12px}
.scorebox.draining #scoreRate{color:#ff9aaa}
#rainbowBonus{font-size:12px;font-weight:800;letter-spacing:.06em;color:#eed8ff;text-shadow:0 0 12px #be83ff75}
#rainbowBonus[hidden]{display:none}
@keyframes idlePulse{0%,100%{box-shadow:0 0 0 1px #ef667424,0 4px 12px #0007}50%{box-shadow:0 0 16px #ef667467,0 0 0 2px #ef667437}}
@keyframes rainbowGlow{0%,100%{box-shadow:0 0 11px #89d5ff44}50%{box-shadow:0 0 21px #e99afc77}}
@media(max-width:700px){#rainbowBonus{font-size:10px}.mole-key .rate{font-size:10px}.mole-key .mole-bonus{font-size:8px;left:50%;top:auto;bottom:-9px;transform:translateX(-50%);padding:1px 4px}.mole-key.rainbow:after{visibility:hidden}.mole-key .value{font-size:10px;padding:2px 4px}#scoreRate{font-size:10px}#scoreDetail{font-size:8px}}
@media(orientation:landscape) and (max-height:600px){.mole-key .mole-bonus{font-size:8px;left:50%;top:auto;bottom:-7px;transform:translateX(-50%);padding:1px 4px}#rainbowBonus{font-size:10px}.scorebox{bottom:3px}.visionstatus{bottom:9px}#scoreRate{font-size:10px}#scoreDetail{font-size:8px;min-height:9px}}
@media(prefers-reduced-motion:reduce){.mole-key.idle-warning,.mole-key.rainbow{animation:none}.mole-key.idle-warning{box-shadow:0 0 0 2px #ef667459}}
@media(max-width:700px),(orientation:landscape) and (max-height:600px){.mole-key .value{left:50%;right:auto;transform:translateX(-50%)}}
@media(max-width:700px) and (orientation:portrait){#moleControls{bottom:64px}.mole-key .key{line-height:1}.mole-key .rate{font-size:9px}.mole-key .value{font-size:9px;top:-14px;padding:1px 4px}.mole-key.rainbow .mole-bonus{display:none}#rainbowBonus{font-size:9px}}

/* Rewards stay in the arena, close to the dodge or the life counter. */
#lifeProgress{display:block;color:#bdd5c8;font-size:10px;letter-spacing:.05em;white-space:nowrap}
.reward-popup{position:absolute;transform:translate(-50%,-65%);text-align:center;white-space:nowrap;padding:8px 13px;border:1px solid #6bffe3;border-radius:8px;background:#082825eb;box-shadow:0 0 20px #34ffd442;pointer-events:none}
.reward-popup b{display:block;color:#8fffe8;font:800 clamp(15px,2vw,24px) 'Barlow Condensed',Impact,sans-serif;letter-spacing:.04em}
.reward-popup span{display:block;color:#fff4ad;font:bold 12px 'DM Sans',sans-serif;margin-top:3px}
.reward-popup.life-reward{left:50%;top:25%;border-color:#ffdf7e;background:#2d2010ed;box-shadow:0 0 24px #ffce4155}
.reward-popup.life-reward b{color:#ffdf7e}
/* Fit the whole desktop cabinet to the viewport, including the bottom score. */
@media(min-width:701px) and (min-height:601px){
 body{height:100dvh;min-height:0;overflow:hidden}
 .cabinet{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:10px 18px}
 header{margin:0}.arena{height:100%;max-height:none;width:100%;aspect-ratio:auto}
 footer{margin:0;gap:6px 12px;flex-wrap:wrap;font-size:10px}
 footer>span:first-child{flex:1;min-width:230px}.tracking-status{font-size:10px;max-width:155px}.tracker-link{font-size:10px}
 .intro{max-width:620px}.intro h1{font-size:clamp(2.7rem,6.5vh,5.2rem);margin:12px 0}
 .intro>p{font-size:14px;margin:8px 0}.rules{margin:12px 0}.rules>div{font-size:12px}
 .mode-picker{margin:10px 0 0}.mode-picker button{padding:8px 12px}
 .primary{padding:12px 24px}.startnote{font-size:10px;line-height:1.5;margin-top:10px}
}
@media(min-width:701px) and (min-height:601px) and (max-height:720px){.intro .rules{display:none}.veil{padding-top:3%;padding-bottom:4%}.intro h1{font-size:3rem}.top-hud{padding:14px 20px}.clock strong{font-size:2.2rem}.rival b{font-size:1.4rem}}
@media(max-width:700px),(orientation:landscape) and (max-height:600px){#lifeProgress{font-size:8px}.reward-popup{padding:5px 8px}.reward-popup span{font-size:10px}}

.music-credit{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:12;color:#b3b7ca;font-size:12px;line-height:16px;pointer-events:none;user-select:none;opacity:.8}.music-license{overflow-wrap:anywhere;user-select:text;font-size:13px!important;color:#b3b7ca}.music-credit:empty{display:none}
/* Shared arcade board lives inside the start/end overlays. */
.veil.with-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);gap:26px;align-items:center;align-content:center;padding:24px 6%;overflow-y:auto}.with-board>.intro{min-width:0;width:100%}.leaderboard{background:#11152bea;border:1px solid #5b617b;border-radius:12px;padding:16px;text-align:left;width:100%;align-self:center}.leaderboard h2{font:800 28px 'Barlow Condensed',sans-serif;color:#ffe18b;letter-spacing:.12em;margin:0 0 12px;text-align:center}.score-list{margin:0;padding-left:26px;font-size:14px;line-height:1.4}.score-list li{padding:5px 0;border-bottom:1px solid #333950;position:relative}.score-list li::marker{color:#a6acc2}.score-name{display:inline-block;max-width:62%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.score-list b{float:right;font-variant-numeric:tabular-nums;color:#83e7df}.board-status{font-size:13px!important;line-height:1.4!important;color:#bcc6dd;margin:10px 0!important}.score-entry{margin-top:14px}.score-entry label{display:block;color:#ffe18b;font-size:13px}.score-entry input{display:block;width:100%;margin:7px 0;padding:9px;color:#fff;background:#080d1f;border:1px solid #7c849e;border-radius:5px;font:16px 'DM Sans',sans-serif}.score-entry button{width:100%;color:#111528;background:#ffe18b}.score-entry button:disabled{opacity:.65}
@media(max-width:600px) and (orientation:portrait){.veil.with-board{grid-template-columns:1fr;align-content:start;gap:18px;padding:20px 8% 40px}.leaderboard{max-width:340px;justify-self:center}}
@media(orientation:landscape) and (max-height:600px){.veil.with-board{grid-template-columns:minmax(0,1fr) minmax(210px,260px);padding:12px 5% 28px;align-content:start;gap:18px}.leaderboard{padding:10px}.leaderboard h2{font-size:23px;margin-bottom:5px}.score-list{font-size:13px}.score-list li{padding:2px 0}}

/* The branded film plays once on entry and yields directly to the menu. */
.brand-intro{position:fixed;inset:0;z-index:100;background:#080b12;display:grid;place-items:center}
.brand-intro[hidden]{display:none}
.brand-intro video{width:100%;height:100%;object-fit:contain}
.skip-intro{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));z-index:1;padding:12px 18px;border:1px solid #c8ac72;background:#111b27e6;color:#fff2d6;box-shadow:0 0 18px #0009;font-size:.875rem}
.skip-intro:hover{background:#314452}
.menu-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:16px}
.menu-actions .primary{min-width:210px}
.menu-actions #openInstructions{font-size:.875rem;padding:14px 20px;border-color:#acbcab;background:#162824e8}
.menu-actions #openInstructions:hover{background:#31463d}
.help-panel{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(800px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:24px 28px;z-index:15}
.help-panel h2{margin:0 46px 8px 0}
.help-panel .help-lead{margin:0 0 18px;color:#deeadc;font-size:1rem;line-height:1.5}
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.help-grid section{padding:14px 16px;border:1px solid #607968;border-radius:8px;background:#12261f}
.help-grid section:last-child{grid-column:1/-1}
.help-grid h3{font:800 1.25rem 'Barlow Condensed',Impact,sans-serif;color:#ffc35d;margin:0 0 7px}
.help-grid p{font-size:.94rem;line-height:1.5;margin:0;color:#e4eadd}
.help-more{margin-top:14px;border-top:1px solid #607968;padding-top:12px;color:#d2ddc6}
.help-more summary{cursor:pointer;color:#ffc35d;font-weight:700}
.help-more p{font-size:.9rem;line-height:1.5}
@media(max-width:700px){.help-panel{padding:16px;max-height:calc(100vh - 16px)}.help-grid{grid-template-columns:1fr}.help-grid section:last-child{grid-column:auto}.menu-actions .primary{min-width:0}.menu-actions #openInstructions{font-size:.8rem}}
@media(max-height:420px) and (orientation:landscape){.help-panel{padding:14px 20px;max-height:calc(100vh - 10px)}.help-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-grid section:last-child{grid-column:1/-1}.help-grid section{padding:10px 12px}}
