@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Silkscreen:wght@400;700&display=swap');
:root{--bg:#171b1b;--panel:#202525;--line:#3c4240;--ink:#f1efde;--muted:#9fa69d;--lime:#d7ff75;--pixel:'Silkscreen',monospace;--mono:'Space Mono',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:700 12px var(--mono);color:var(--ink);border:1px solid var(--line);background:transparent;cursor:pointer;padding:10px 13px;transition:background .15s,color .15s}button:hover{background:var(--ink);color:var(--bg)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.45}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3.4%}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:14px;font:700 28px var(--pixel);letter-spacing:-1px}.brand-icon{color:var(--lime);font:36px/14px var(--pixel);transform:rotate(-12deg)}.edition{font:12px var(--mono);color:var(--muted);letter-spacing:0;margin-left:12px;border-left:1px solid var(--line);padding-left:22px}.top-right{display:flex;gap:12px;align-items:center}.local{font-size:10px;color:var(--muted);margin-right:15px}main{max-width:1640px;margin:0 auto;padding:34px 3.4% 26px;display:grid;grid-template-columns:230px minmax(380px,800px) 230px;gap:32px;align-items:start}.eyebrow{color:var(--muted);font-size:11px;letter-spacing:1.5px;font-weight:bold}h1{font:26px/1.3 var(--pixel);margin:15px 0 24px;letter-spacing:-1px}h1 span,.intel h2 span{color:var(--lime)}.campaign-progress{font-size:11px;color:var(--muted);margin-bottom:22px}.campaign-progress>div{height:4px;background:#343a37;margin-top:12px}.campaign-progress i{display:block;background:var(--lime);height:100%;width:0}nav{display:flex;flex-direction:column;gap:6px}.level-btn{text-align:left;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid transparent;width:100%;min-height:43px}.level-btn .num{font-family:var(--pixel);color:var(--muted)}.level-btn .title{font-size:10px;flex:1}.level-btn .status{font-size:12px;color:var(--muted)}.level-btn.active{background:var(--lime);color:var(--bg);box-shadow:3px 3px 0 #0a0f0c}.level-btn.active .num,.level-btn.active .status{color:#384127}.level-btn.done .status{color:var(--lime)}.campaign-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:9px;color:var(--muted);line-height:1.8}.tiny-ball{display:inline-block;width:6px;height:6px;background:var(--lime);margin-right:6px}.machine{border:1px solid #58604f;box-shadow:6px 6px 0 #101414;background:#202625}.stage-top{padding:20px 22px;display:flex;justify-content:space-between;align-items:center}h2{font:20px var(--pixel);margin:7px 0 0}.difficulty{font:16px var(--mono);letter-spacing:2px;color:var(--lime);text-align:right}.difficulty small{display:block;letter-spacing:1px;font-size:9px;color:var(--muted);margin-top:6px}.hud{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;background:#1a201e;padding:13px 22px}.hud>div{display:flex;flex-direction:column;gap:4px}.hud>div+div{padding-left:22px;border-left:1px solid var(--line)}.hud span{font-size:10px;letter-spacing:1px;color:var(--muted)}.hud strong{font:25px var(--pixel);letter-spacing:1px}.lime{color:var(--lime)}.canvas-wrap{position:relative;background:#101815;margin:12px;border:1px solid #333f35;overflow:hidden;aspect-ratio:800/720}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#10181591;backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.dialog{width:85%;max-width:410px;text-align:center;background:#1d2621;border:1px solid #7f916a;padding:28px 25px;box-shadow:7px 7px 0 #070f09}.dialog .eyebrow{color:var(--lime)}h3{font:30px/1.15 var(--pixel);margin:16px 0}.dialog p{font-size:13px;line-height:1.8;color:#b4bcac;margin:0 0 22px}.primary{background:var(--lime);color:#182019;border:0;box-shadow:4px 4px 0 #0c140e;padding:15px 20px;font-family:var(--pixel);font-size:14px}.primary:hover{background:#e8ffb5;transform:translateY(-1px)}.primary span{margin-left:20px}#overlaySecondary{margin-top:17px}#overlaySecondary button{border:0;font-size:11px}.machine-bottom{padding:4px 12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:8px}.machine-bottom>div{display:flex;gap:6px}.machine-bottom button{font-size:9px;padding:8px}.machine-bottom b{margin:0 5px}kbd{font-family:var(--mono);border:1px solid #475041;padding:2px 3px;font-size:9px}.intel{padding-top:4px}.intel h2{font:23px/1.35 var(--pixel);margin:15px 0}.intel>p{color:var(--muted);font-size:12px;line-height:1.9}.power-feature{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:22px 0}.capsule{font:26px var(--pixel);padding:7px;background:var(--lime);color:#1b2219;box-shadow:4px 4px 0 #41552c;transform:rotate(-7deg)}.power-feature strong{font-size:10px;color:var(--lime)}.power-feature p{font-size:9px;line-height:1.8;color:var(--muted);margin:8px 0 0}.power-list{display:flex;flex-direction:column;gap:18px}.power-list>div{display:flex;gap:13px;align-items:center}.power-list i{font:18px var(--pixel);font-style:normal;width:36px;text-align:center;border:1px solid currentColor;padding:3px}.green{color:var(--lime)}.blue{color:#8de6ff}.orange{color:#ffac70}.purple{color:#c2a3ff}.power-list span{font-size:10px}.power-list small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.steel-note{display:flex;gap:13px;align-items:center;margin-top:25px;border-top:1px solid var(--line);padding-top:14px}.steel-note>span{font-size:35px;color:#828d86}.steel-note p{font-size:9px;line-height:1.9;color:var(--muted)}.steel-note b{color:var(--ink)}.run-stat{margin-top:22px;padding:17px;background:#202724;border:1px dashed #485343}.run-stat>span{font-size:10px;color:var(--muted)}.run-stat strong{display:block;font:30px var(--pixel);margin-top:6px;color:var(--lime)}.run-stat small{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:19px 3.4%;display:flex;justify-content:space-between;color:#8f988b;font-size:9px}footer b{color:var(--lime);margin:0 9px}#toast{position:absolute;top:55%;left:50%;transform:translateX(-50%);color:var(--lime);font:18px var(--pixel);white-space:nowrap;text-shadow:3px 3px #000;pointer-events:none;opacity:0;transition:opacity .15s}#toast.show{opacity:1}#effectBar{position:absolute;bottom:4px;left:10px;display:flex;gap:5px;pointer-events:none}#effectBar span{font-size:9px;padding:3px;background:#1d2923;color:var(--lime)}dialog{max-width:520px;width:90%;background:#202824;color:var(--ink);border:1px solid #7f916a;padding:34px;box-shadow:8px 8px #090e0a;font-family:var(--mono)}dialog::backdrop{background:#080d0bba;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin:20px 0}dialog p{font-size:13px;line-height:1.8;color:#bdc6b7}.close{position:absolute;right:12px;top:12px;border:0;font-size:20px}
@media(min-width:1450px){main{grid-template-columns:240px minmax(380px,760px) 250px;gap:42px}.canvas-wrap{max-height:calc(100vh - 340px);min-height:390px;margin:12px auto;width:calc((100vh - 340px)*800/720);max-width:calc(100% - 24px)}}@media(max-width:1180px){main{grid-template-columns:175px minmax(350px,1fr);gap:22px}.intel{display:none}.local{display:none}.level-btn .title{font-size:9px}h1{font-size:22px}.canvas-wrap{max-height:calc(100vh - 330px);min-height:320px;margin:12px auto;max-width:calc(100% - 24px);width:calc((100vh - 330px)*800/720)}}@media(max-width:720px){header{height:65px;padding:0 17px}.brand{font-size:22px;gap:9px}.edition,.top-right span{display:none}.top-right{gap:6px}.top-right button{font-size:9px;padding:8px}.top-right #help{font-size:13px}main{padding:18px 12px;display:flex;flex-direction:column;gap:16px}.campaign{width:100%}.campaign>.eyebrow,.campaign h1,.campaign-foot,.campaign-progress{display:none}nav{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}.level-btn{padding:6px 0;justify-content:center;min-height:34px;border:1px solid var(--line)}.level-btn .title,.level-btn .status{display:none}.level-btn .num{font-size:11px}.machine{width:100%}.stage-top{padding:14px}.stage-top h2{font-size:16px}.difficulty{font-size:12px}.hud{padding:10px 14px}.hud strong{font-size:23px}.hud span{font-size:8px}.canvas-wrap{max-height:none;min-height:0;width:calc(100% - 16px);margin:8px;max-width:none}.machine-bottom>span{font-size:0}.machine-bottom kbd{font-size:8px}.machine-bottom button{font-size:10px}.dialog{padding:23px 15px}h3{font-size:25px}.dialog p{font-size:12px}footer{padding:15px;font-size:8px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep the cabinet visible on shorter desktop displays. */
@media(min-width:721px){.canvas-wrap{width:min(calc(100% - 24px),calc((100dvh - 330px)*800/720));min-height:0;max-height:none}nav{max-height:calc(100dvh - 355px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5e7047 transparent}.level-btn .title{font-size:12px}.level-btn{flex-shrink:0;min-height:43px}.intel>p{font-size:14px}.power-list span,.power-list small,.steel-note p,.power-feature p,.power-feature strong{font-size:12px}.power-list{gap:14px}.intel{max-height:calc(100dvh - 170px);overflow:auto;scrollbar-width:thin}.machine-bottom>span{font-size:9px}}
.eyebrow,.hud span,.campaign-progress,.run-stat>span{font-size:12px}.dialog p,dialog p{font-size:14px}.local,footer{font-size:12px}.dialog{max-height:95%;overflow-y:auto}.level-btn:disabled{opacity:.65}
@media(max-width:720px){footer{font-size:9px}.hud span{font-size:9px}.dialog p{font-size:12px}.dialog h3{font-size:23px}.dialog{padding:17px 12px}.dialog .eyebrow{font-size:10px}.dialog p{margin-bottom:14px}.dialog #overlaySecondary{margin-top:10px}}
/* Campaign 02: edge-to-edge cabinet and live global standings. */
body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{height:58px;flex-shrink:0;padding:0 18px}.brand{font-size:24px}.top-right{gap:8px}.edition{padding-left:15px;margin-left:5px}main{max-width:none;width:100%;margin:0;flex:1;min-height:0;padding:12px;grid-template-columns:180px minmax(0,1fr) 260px;gap:14px;align-items:stretch}.campaign{display:flex;flex-direction:column;min-height:0;padding:8px 0 0 3px}.campaign h1{font-size:22px;margin:10px 0 15px}.campaign-progress{margin-bottom:12px}nav{flex:1;min-height:0;max-height:none;overflow:auto;gap:4px}.level-btn{min-height:39px;padding:9px 7px;gap:8px;flex-shrink:0}.level-btn .title{font-size:12px;line-height:1.35}.campaign-foot{padding-top:10px;margin-top:12px;font-size:10px}.machine{min-height:0;display:flex;flex-direction:column;box-shadow:3px 3px #101414}.stage-top{height:51px;flex-shrink:0;padding:8px 16px}.stage-top>div:first-child{display:flex;align-items:center;gap:16px}.stage-top h2{margin:0;font-size:19px}.difficulty small{display:none}.hud{flex-shrink:0;display:flex;justify-content:space-between;padding:8px 16px;gap:12px}.hud>div{display:flex;flex-direction:row;align-items:center;gap:12px}.hud>div+div{padding:0;border:0}.hud strong{font-size:23px}.hud span{font-size:12px}.canvas-wrap{flex:1;min-height:0;max-height:none;width:auto;max-width:none;aspect-ratio:auto;margin:8px}.machine-bottom{height:40px;flex-shrink:0;padding:0 8px 8px}.machine-bottom>span{font-size:10px}.machine-bottom button{font-size:12px;padding:6px 9px}footer{height:32px;flex-shrink:0;padding:0 16px;align-items:center;font-size:10px;gap:16px}.footer-powers{white-space:nowrap}.footer-powers b{color:var(--lime);margin:0 4px}#syncStatus{color:var(--lime);font-size:11px}.leaderboard{display:flex;flex-direction:column;min-height:0;padding:8px 3px 0}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.board-heading h2{font-size:20px;margin:8px 0 0}.board-heading .eyebrow{font-size:11px}.board-caption{font-size:14px;line-height:1.7;color:var(--muted);margin:14px 0}.personal-score{background:#222b22;border:1px solid #465840;padding:14px}.personal-score>span{font-size:12px;color:var(--muted)}.personal-score strong{display:block;font:32px var(--pixel);color:var(--lime);margin:7px 0 12px}.personal-score>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid #42533c;padding-top:10px}.personal-score b{color:var(--lime)}#account{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 19px;flex-wrap:wrap;font-size:12px}#account a{color:var(--lime);text-decoration:none;font-size:12px}#account .signin{padding:11px 8px;border:1px solid var(--lime);text-align:center;width:100%}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.board-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#leaderboardRows{min-height:80px;flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#5e7047 transparent}.board-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding:12px 2px;border-bottom:1px solid #303934;font-size:12px;align-items:center}.board-row>span:first-child{color:var(--muted)}.board-row>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-row strong{color:var(--lime)}.board-row.is-you{background:#293429}.board-empty{font-size:14px;line-height:1.8;color:var(--muted);padding:12px 0}.board-note{font-size:10px;color:var(--muted);margin-top:12px}.board-details{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0}.run-stat{border:0;border-top:1px solid var(--line);background:none;margin:0;padding:10px 0 2px;display:flex;align-items:center;justify-content:space-between;gap:8px}.run-stat strong{font-size:24px;margin:0}.run-stat>span{font-size:12px}#effectBar span{font-size:12px}dialog{max-height:90dvh;overflow:auto}#overlaySecondary:empty{display:none}.focus-mode main{grid-template-columns:1fr}.focus-mode .campaign,.focus-mode .leaderboard{display:none}
@media(max-width:1250px){main{grid-template-columns:145px minmax(0,1fr) 225px;gap:9px;padding:9px}.level-btn .title{font-size:11px}.campaign h1{font-size:18px}.stage-top h2{font-size:16px}.hud>div{gap:8px}.hud span{font-size:10px}.hud strong{font-size:20px}.machine-bottom>span{font-size:0}.machine-bottom kbd{font-size:10px}.footer-powers{display:none}.board-heading h2{font-size:17px}.board-details{display:none}}
@media(max-width:950px){main{grid-template-columns:65px minmax(0,1fr) 200px}.campaign h1,.campaign-foot,.campaign>.eyebrow{display:none}.level-btn .title{display:none}.level-btn{justify-content:space-between;padding:9px 4px}.campaign-progress{font-size:9px}.leaderboard{padding-left:0}.board-heading h2{font-size:15px}.board-heading .eyebrow{font-size:9px}.board-caption{font-size:12px}.stage-top>div:first-child{gap:8px}.difficulty{display:none}}
@media(max-width:720px){body{height:auto;min-height:100dvh;overflow:auto}header{height:55px;padding:0 12px}.brand{font-size:21px;gap:8px}.top-right{gap:4px}.top-right button{font-size:10px;padding:7px}main{display:flex;flex-direction:column;padding:8px;gap:10px;flex:1}.campaign{padding:0;display:block;flex:none}.campaign-progress{display:none}nav{display:flex;flex-direction:row;overflow-x:auto;gap:5px}.level-btn{width:34px;min-width:34px;padding:8px 4px;min-height:32px;justify-content:center}.level-btn .status{display:none}.level-btn .num{font-size:12px}.machine{width:100%;height:calc(100dvh - 150px);min-height:485px;flex:none}.stage-top{padding:8px 10px;height:42px}.stage-top h2{font-size:14px}.stage-top .eyebrow{font-size:10px}.hud{padding:7px 10px;gap:7px}.hud>div{display:block}.hud span{font-size:9px;display:block;margin-bottom:4px}.hud strong{font-size:21px}.canvas-wrap{min-height:325px;margin:5px;width:auto}.dialog{padding:20px 15px;width:90%}.dialog h3{font-size:24px}.dialog p{font-size:12px}.dialog .eyebrow{font-size:11px}.machine-bottom{height:39px}.leaderboard{border-top:1px solid var(--line);padding:20px 8px 10px}.board-heading h2{font-size:23px}.board-heading .eyebrow{font-size:12px}.board-caption{font-size:14px;margin:12px 0}.board-caption br{display:none}#leaderboardRows{max-height:320px;min-height:80px;flex:auto}.board-row{font-size:14px}.board-details{display:block}.personal-score{margin-top:3px}.run-stat{margin-top:10px}footer{height:auto;min-height:44px;padding:10px;flex-wrap:wrap;font-size:9px;gap:5px}#syncStatus{font-size:10px}.focus-mode .machine{height:calc(100dvh - 119px)}.focus-mode .canvas-wrap{min-height:0}.focus-mode .campaign{display:none}}
@media(max-height:650px) and (min-width:721px){.campaign h1,.board-caption,.board-details,.run-stat{display:none}.personal-score{padding:9px;margin-top:12px}.personal-score strong{font-size:24px;margin:4px 0}.dialog{padding:16px}.dialog h3{font-size:24px}.dialog p{margin-bottom:12px}.board-note{font-size:9px}}
.side-tabs{display:flex;gap:5px;margin-bottom:14px}.side-tabs button{flex:1;font-size:12px;padding:9px 5px}.side-tabs [aria-selected=true]{background:var(--lime);color:var(--bg);border-color:var(--lime)}#rankPanel{display:flex;flex:1;min-height:0;flex-direction:column}#powerPanel{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5e7047 transparent}#rankPanel[hidden],#powerPanel[hidden]{display:none}.board-heading{margin-bottom:14px}.power-intro{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 16px}.power-entry{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.power-entry i{font:19px var(--pixel);border:1px solid currentColor;min-width:35px;text-align:center;padding:4px;line-height:1.2}.power-entry strong{font-size:12px;line-height:1.5}.power-entry p,.material-note p{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0 0}.material-note{padding:16px 0;border-top:1px solid var(--line)}.material-note b{font-size:12px}.creator-credit{font-size:12px;color:var(--ink)}.campaign h1{font-size:23px}.dialog h3{font-size:25px}.leaderboard{padding-bottom:4px}@media(max-width:720px){#powerPanel{max-height:none;overflow:visible}.creator-credit{font-size:11px}.side-tabs{margin-top:0}}@media(max-height:650px) and (min-width:721px){.side-tabs{margin-bottom:9px}.side-tabs button{padding:7px 4px}.board-heading{margin-bottom:8px}}
/* Preserve the physics arena's 1100:720 proportions at every viewport size. */
.canvas-wrap{container-type:size}.canvas-wrap canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,calc(100cqh * 55 / 36));height:min(100cqh,calc(100cqw * 36 / 55));max-width:none;max-height:none}

.signin-info{margin:-8px 0 14px;color:var(--muted);font-size:12px;line-height:1.65;flex-shrink:0}.signin-info p{margin:0 0 7px}.signin-info summary{cursor:pointer;color:var(--lime);padding:3px 0}.signin-info details[open]{max-height:200px;overflow-y:auto;scrollbar-width:thin}.signin-info details p{margin:8px 0}#rankPanel{overflow-y:auto;scrollbar-width:thin}
/* Account-bound collection and the arcade prize cabinet. */
.collection-dialog,.jackpot-dialog{width:min(900px,94vw);max-width:900px;padding:28px;background:#17221c;border:2px solid #8d9f6b;box-shadow:8px 8px 0 #07100d;color:var(--ink)}
.collection-dialog h2,.jackpot-dialog h2{font:26px var(--pixel);margin:12px 0 16px;line-height:1.35}
#collectionStatus,.collection-explainer,.prize-footnote{font-size:13px;line-height:1.7;color:var(--muted)}
#collectionStatus{color:var(--lime)}.collection-dialog .signin{color:var(--lime);font-size:14px}.collection-dialog h3{font:16px var(--pixel);margin:25px 0 12px}.skin-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.skin-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:9px;background:#202e26;border:1px solid #465441;gap:8px;color:#eff5dc}.skin-card canvas{width:100%;max-width:160px;aspect-ratio:2;image-rendering:pixelated}.skin-card strong{font:12px var(--pixel);line-height:1.6;text-align:center}.skin-card>span{font-size:11px;color:var(--muted)}.skin-card.locked{opacity:.65;cursor:default}.skin-card.equipped{border-color:var(--lime);box-shadow:inset 0 -3px var(--lime)}.skin-card.equipped>span{color:var(--lime)}#pendingPrizes{display:flex;gap:8px;flex-wrap:wrap}#pendingPrizes button{color:var(--lime)}.jackpot-levels{font-size:12px;color:#c2b987;line-height:1.8;border-top:1px solid var(--line);padding-top:15px}.jackpot-marquee{display:flex;align-items:center;gap:22px;margin-bottom:20px;padding-right:20px}.jackpot-marquee canvas{width:96px;height:60px;image-rendering:pixelated;flex-shrink:0}.jackpot-marquee h2{color:#ffe09a;margin-bottom:0}.jackpot-marquee .eyebrow{color:#e6bd72;font-size:12px}.reel-shell{border:4px solid #ce9d51;padding:10px;background:#382b26;box-shadow:inset 0 0 0 2px #ffe0a0}.reel-shell:focus-within{border-color:#ffe0a0}#reelWindow{position:relative;overflow:hidden;height:160px;background:#0b1410;border:2px solid #090e0c}#prizeReel{display:flex;position:relative;gap:8px;padding:10px 0;will-change:transform;width:max-content;height:100%}#prizeReel .skin-card{width:132px;flex:0 0 132px;background:#223025}#prizeReel .skin-card canvas{height:72px;width:144px}.reel-marker{position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:#ffe09a;box-shadow:0 0 12px #ffda75;pointer-events:none}.reel-pointer{position:absolute;top:0;left:-8px;width:18px;height:14px;background:#ffe09a;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;will-change:transform}.revealed{box-shadow:0 0 20px #d7ff7550}.lever{display:block;min-height:48px;width:100%;font:16px var(--pixel);background:#aa3d59;border:2px solid #f68d9b;border-bottom:5px solid #642a3c;color:#fff2d8;margin-top:12px}.lever:hover:enabled{background:#c34c6b}.lever:active:enabled{transform:translateY(2px);border-bottom-width:3px}.lever:disabled{opacity:.6}#jackpotStatus{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1.6;text-align:center;color:var(--lime)}.prize-caption{font:12px var(--pixel);line-height:1.5;color:#dfc585}#prizeCatalog{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}#prizeCatalog .skin-card{padding:3px;gap:0}#prizeCatalog .skin-card strong{font-size:10px}#prizeCatalog .prize-owned{opacity:.35}.prize-footnote{margin-bottom:0;font-size:12px}.close:disabled{opacity:.3;cursor:default}
@media(max-width:720px){.collection-dialog,.jackpot-dialog{padding:20px 14px}.skin-group{grid-template-columns:repeat(2,minmax(0,1fr))}.jackpot-marquee{gap:12px}.jackpot-marquee canvas{width:64px;height:40px}.jackpot-marquee h2{font-size:19px}.jackpot-marquee .eyebrow{font-size:10px}#prizeCatalog{grid-template-columns:repeat(3,minmax(0,1fr))}.top-right button span{display:none}.collection-dialog h2{font-size:22px}}
.reel-shell{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:10px}.lever{position:relative;align-self:stretch;margin:0;padding:96px 5px 8px;background:#312930;border:2px solid #796253;font-size:11px;line-height:1.5;min-height:160px}.lever:before{content:'';position:absolute;width:12px;height:64px;top:20px;left:calc(50% - 6px);background:#a7b6b5;box-shadow:4px 0 #62787c}.lever:after{content:'';position:absolute;width:34px;height:26px;top:13px;left:calc(50% - 17px);background:#ec6e85;border-top:5px solid #ffb0b5;border-bottom:5px solid #933e58;box-shadow:4px 4px #171719}.lever:hover:enabled{background:#49343d}.lever:active:enabled:after{top:44px}.lever:active:enabled:before{top:50px;height:34px}
@media(max-width:480px){.reel-shell{grid-template-columns:minmax(0,1fr) 66px;gap:6px;padding:6px}.lever{font-size:10px}}
/* A cabinet with a clear wind-up, moving selection gate and a deliberate reveal. */
.jackpot-dialog{isolation:isolate;overflow-x:hidden}.jackpot-dialog .reel-shell{position:relative;transition:box-shadow 220ms ease-out,border-color 220ms ease-out}.jackpot-dialog .reel-shell:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 36px #ffc95b;opacity:0;transition:opacity 200ms ease-out}.priming .reel-shell:after{opacity:.24}.spinning .reel-shell{box-shadow:0 0 18px #e7aa4530,inset 0 0 0 2px #ffe0a0}.spinning[data-phase=settling] .reel-shell:after{opacity:.18}.spinning .lever:after,.priming .lever:after{transform:translateY(30px)}.lever:after{transition:transform 140ms ease-out}.spinning .lever:before,.priming .lever:before{transform:scaleY(.6);transform-origin:bottom}.reel-marker{transform-origin:50% 0}.skin-card.winning-card{border-color:#fff0ab;box-shadow:inset 0 0 18px #f6c34b33}.result-win .reel-shell,.result-bonus .reel-shell{box-shadow:0 0 28px #f9c35250}.result-prismatic .reel-shell{border-color:#f7ddff;box-shadow:-10px 0 28px #ff65b64a,10px 0 28px #6cf9ff4a}.result-prismatic #jackpotTitle{color:#fff2ff;text-shadow:2px 0 #e465ba,-2px 0 #5ad4ef}.result-bonus #jackpotTitle{color:#ffe3a3}.result-lose .reel-shell{border-color:#788d99;box-shadow:0 0 12px #84a5bd25}.result-lose #jackpotTitle,.result-lose #jackpotStatus{color:#bacbd5}.result-error #jackpotStatus{color:#ffd293}.lose-card{background:#283039!important;border-color:#6d7d8e}.lose-symbol{font:64px var(--pixel);height:80px;line-height:80px;color:#a9bbc8}.lose-card strong{color:#c4d1da}#prizeCatalog .lose-symbol{font-size:38px;height:50px;line-height:50px}#spinParticles{position:absolute;left:50%;top:42%;width:0;height:0;pointer-events:none;z-index:5}#spinParticles i{position:absolute;width:5px;height:5px}.skip-spin{display:block;margin:10px auto 0;font-size:11px;padding:6px 12px}.skip-spin[hidden]{display:none}.odds-details{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 16px}.odds-details summary{cursor:pointer;color:#e8d19b;padding:4px 0}.odds-details p{margin:8px 0}.result-win .reel-shell:after,.result-bonus .reel-shell:after,.result-prismatic .reel-shell:after{animation:reward-flash 420ms ease-out}.result-lose .winning-card{border-color:#b5c7cf;box-shadow:none}@keyframes reward-flash{from{opacity:.25}to{opacity:0}}@media(prefers-reduced-motion:reduce){.jackpot-dialog *, .jackpot-dialog *:before,.jackpot-dialog *:after{animation:none!important;transition:none!important}.spinning .lever:after,.priming .lever:after{transform:none}}
.skin-card .lose-symbol{font:64px var(--pixel);height:80px;line-height:80px;color:#a9bbc8}#prizeCatalog .skin-card .lose-symbol{font-size:38px;height:50px;line-height:50px}

.skin-card .skin-features{display:block;min-height:36px;font-size:12px;line-height:18px;color:#b9dba7;text-align:center}.skin-features>span{display:block}.skin-card .skin-features.no-features{color:#a4aea1}.skin-group .skin-card{justify-content:flex-start}.skin-group .skin-card>span:last-child{margin-top:auto}

.nickname-dialog{width:min(520px,calc(100vw - 32px));padding:28px}.nickname-dialog h2{font-size:23px;line-height:1.5}.nickname-dialog label{display:block;margin:18px 0 8px;color:var(--lime)}.nickname-dialog input{width:100%;box-sizing:border-box;border:2px solid #6c815d;background:#111b16;color:#eff5dc;padding:12px;font:18px monospace}.nickname-dialog input:focus{outline:2px solid var(--lime);outline-offset:2px}.nickname-dialog p{line-height:1.6}.nickname-dialog #nicknameHint{font-size:12px;color:#b7c2ae}.nickname-dialog #nicknamePermanent{color:#f3cc84;font-size:13px}.nickname-dialog #nicknameError{color:#ff9bb2;min-height:22px}.nickname-dialog button{width:100%;font-size:13px}.nickname-dialog>a{display:block;margin-top:20px;text-align:center;color:#b7c2ae;font-size:12px}

#mechanicCoach{position:fixed;top:auto;bottom:3vh;margin:auto;width:min(520px,calc(100vw - 32px));max-height:35vh;overflow:auto;padding:18px;border:2px solid #d7ff75;background:#17241e;color:#eef7df;box-shadow:0 8px 40px #0009}#mechanicCoach::backdrop{background:#07100b22}#mechanicCoach h2{font-size:19px;margin:10px 0}#mechanicCoach p{font-size:14px;line-height:1.6;margin:10px 0 18px}#mechanicCoach button{width:100%}
#mechanicCoach::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
/* Game menu: every destination has a visible name, with the current guide highlighted. */
header{gap:18px}
header .brand{flex:0 0 auto}
.top-right{min-width:0;flex:0 1 auto;flex-direction:row;align-items:center;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}
.top-right::-webkit-scrollbar{display:none}
.top-right button{white-space:nowrap;min-height:38px;font-size:11px;letter-spacing:.02em}
.top-right #openSkins{border-color:#d7b875;color:#ffe0a0}
.top-right #openSkins:hover{background:#ffe0a0;color:#17211b}
.top-right [aria-current=page]{border-color:var(--lime);background:#34422b;color:var(--lime)}
.top-right #focusMode,.top-right #sound{color:var(--muted)}
#trainingPrompt{position:absolute;z-index:2;left:50%;bottom:16%;transform:translateX(-50%);width:min(490px,calc(100% - 34px));padding:14px 20px;background:#17251ff0;border:2px solid var(--lime);box-shadow:5px 5px 0 #050b08;text-align:center;pointer-events:none;color:var(--ink)}
#trainingPrompt[hidden]{display:none}
#trainingPrompt small{display:block;font:11px var(--pixel);color:var(--lime);margin-bottom:7px}
#trainingPrompt strong{display:block;font:18px var(--pixel);line-height:1.5}
#trainingPrompt span{display:block;font:14px/1.5 var(--mono);margin-top:5px}
#helpDialog{width:min(620px,calc(100vw - 24px));max-width:620px;padding:28px}
#helpDialog h2{font-size:24px;line-height:1.5;margin:10px 28px 18px 0}
.help-steps{list-style:none;counter-reset:guide;padding:0;margin:0 0 17px;display:grid;gap:8px}
.help-steps li{counter-increment:guide;position:relative;padding:11px 12px 11px 52px;border:1px solid #50634c;background:#1a2a21}
.help-steps li:before{content:counter(guide,decimal-leading-zero);position:absolute;left:12px;top:11px;color:var(--lime);font:15px var(--pixel)}
.help-steps strong,.help-steps span{display:block}
.help-steps strong{font:14px var(--pixel);line-height:1.5;color:var(--lime)}
.help-steps span{font:14px/1.6 var(--mono);margin-top:3px}
.help-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.help-links button{min-height:44px;border-color:#8da875;font-size:13px}
.help-more{font-size:14px;line-height:1.65;margin:14px 0}
.help-more summary{cursor:pointer;color:var(--lime);padding:7px 0}
.help-more p{margin:12px 0}
#helpDialog #gotIt{width:100%}
#overlaySecondary{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:1200px){.top-right{flex:1}.top-right button{padding:8px 10px;font-size:10px}}
@media(max-width:720px){header{height:auto;min-height:105px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;padding:8px 10px}.brand{font-size:20px}.edition{font-size:10px}.top-right{flex:0 0 auto;justify-content:flex-start;width:100%;padding-bottom:3px;gap:5px}.top-right button{flex:0 0 auto;padding:8px 10px;font-size:11px;min-height:36px}.machine{height:calc(100dvh - 200px)}#trainingPrompt{bottom:14%;padding:10px 12px}#trainingPrompt strong{font-size:14px}#trainingPrompt span{font-size:12px}#helpDialog{padding:20px 14px}.help-steps li{padding-left:44px}.help-steps li:before{left:8px}.help-steps span{font-size:12px}.help-links button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.top-right button{transition:none}}
