.arcade-page{background-image:radial-gradient(var(--border) .7px,transparent .7px);background-size:12px 12px}.arcade-page main{width:100%;max-width:1160px;margin:auto;padding:42px 24px 64px}.arcade-heading{display:flex;gap:28px;align-items:center;justify-content:space-between;padding:0 0 32px}.arcade-eyebrow{font:700 10px/1.6 'Space Mono',monospace;letter-spacing:.1em;color:var(--ink-dim);margin:0 0 10px}.arcade-heading h1{font:700 clamp(38px,5vw,66px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:0 0 18px}.arcade-heading>div>p:last-child{font-size:14px;color:var(--ink-dim);max-width:450px}.arcade-ticket{display:flex;gap:12px;align-items:center;background:var(--bg-2);padding:22px;border:1px solid var(--ui-edge);border-top:5px solid var(--ui-accent);border-radius:2px 2px 20px 2px;box-shadow:4px 4px 0 var(--ui-depth);max-width:370px}.arcade-ticket img{width:60px;height:60px}.arcade-ticket strong{display:block;font:700 28px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.04em}.arcade-ticket span{display:block;font-size:12px;color:var(--ink-dim);margin:6px 0}.arcade-ticket b{display:block;font-size:11px;color:var(--ink);font-weight:600}.arcade-selector{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);margin-bottom:24px;gap:8px;padding-top:14px}.arcade-selector button{padding:14px 16px;text-align:left;font:700 22px/1.25 'Space Grotesk',sans-serif;border-radius:3px;box-shadow:none}.arcade-selector span,.arcade-selector small{display:block;font:700 9px/1.5 'Space Mono',monospace;letter-spacing:.05em;margin-bottom:5px}.arcade-selector small{font:400 11px/1.5 system-ui;margin:6px 0 0}.arcade-cabinet{border:1px solid var(--ui-edge);border-top:6px solid var(--ui-accent);background:var(--bg-2);border-radius:3px 3px 24px 3px;box-shadow:6px 6px 0 var(--ui-depth);overflow:hidden}.cabinet-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 28px;border-bottom:1px dashed var(--ui-edge)}.cabinet-top h2{font:700 30px/1 'Space Grotesk',sans-serif;letter-spacing:-.04em}.game-score{text-align:right}.game-score span{display:block;font:700 9px/1.5 'Space Mono',monospace;color:var(--ink-dim)}.game-score strong{font:700 26px/1.5 'Space Mono',monospace}.cabinet-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;padding:28px;gap:36px;align-items:start}.game-screen{position:relative;background:#0c151c;border:4px solid #33464c;border-radius:8px;display:flex;justify-content:center;align-items:center;min-width:0;min-height:300px;overflow:hidden;box-shadow:inset 0 0 30px #0007}.game-screen canvas{display:block;max-width:100%;max-height:510px;width:auto;height:auto;touch-action:none;outline-offset:-4px}.game-screen canvas:focus-visible{outline:3px solid #81eed4}.game-screen #screenPrompt{position:absolute;bottom:16px;left:12px;right:12px;text-align:center;background:#101c24e8;color:#f5f4ed;padding:12px;font:700 12px/1.5 'Space Mono',monospace;border:1px solid #81eed455;border-radius:4px;pointer-events:none}.game-goal{font:700 24px/1.25 'Space Grotesk',sans-serif;letter-spacing:-.03em;margin-bottom:18px}.game-sidebar #gameInstructions{font-size:13px;line-height:1.8;color:var(--ink-dim);margin-bottom:22px}.arcade-controls{display:flex;flex-direction:column;gap:12px}.arcade-controls button{min-height:44px;padding:12px;border-radius:5px;font-size:13px}.arcade-controls #startGame,.arcade-controls #finishGame:not(:disabled){background:var(--ui-accent);color:var(--ui-accent-ink);border-color:var(--ui-accent-edge)}#runStatus{font-size:12px;line-height:1.7;margin:22px 0 14px;color:var(--ink)}.arcade-small{font-size:10px;line-height:1.8;color:var(--ink-dim)}.arcade-badges-link{display:inline-block;margin-top:20px;text-decoration:underline;text-underline-offset:4px;font-size:12px}.game-pad{display:flex;gap:10px;align-items:center;justify-content:center;padding:0 20px 24px;flex-wrap:wrap}.game-pad button{min-width:50px;min-height:48px;border-radius:6px;font-size:20px;padding:6px 12px}.game-pad #dropControl{font-size:12px;min-width:80px}.memory-board{width:100%;max-width:480px;padding:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.memory-board[hidden],canvas[hidden],.game-pad[hidden],button[hidden]{display:none}.memory-card{aspect-ratio:1;min-height:44px;min-width:0;background:#213640;border:2px solid #4e7278;border-radius:5px;color:#81eed4;font:700 32px/1 'Space Grotesk',sans-serif;padding:4px;box-shadow:0 3px 0 #060e13}.memory-card.is-open{background:#e9f4e9;color:#142e2a;border-color:#81eed4}.memory-card.is-matched{background:#284b44;border-color:#81eed4;color:#f5f4ed;opacity:1}.memory-card:disabled{opacity:1}.arcade-rules{padding-top:38px;max-width:800px}.arcade-rules h2{font:700 24px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin-bottom:14px}.arcade-rules p{font-size:12px;color:var(--ink-dim);line-height:1.8;margin-bottom:10px}@media(max-width:760px){.arcade-heading{flex-direction:column;align-items:stretch}.arcade-ticket{max-width:none}.arcade-selector{gap:5px}.arcade-selector button{font-size:16px;padding:12px 9px}.arcade-selector span{font-size:8px}.arcade-selector small{font-size:10px}.cabinet-body{grid-template-columns:1fr;padding:18px;gap:24px}.cabinet-top{padding:18px}.cabinet-top h2{font-size:26px}.game-screen canvas{max-height:420px}.game-sidebar{display:grid;grid-template-columns:1fr;gap:0}.arcade-controls{display:grid;grid-template-columns:1fr 1fr}.arcade-controls #finishGame{grid-column:1/-1}.game-goal{font-size:22px}.arcade-page main{padding:28px 16px 50px}.game-pad{padding:0 12px 22px;gap:8px}.game-pad button{min-width:44px}.memory-board{gap:7px;padding:10px}.memory-card{font-size:25px}.game-score strong{font-size:22px}.cabinet-top .arcade-eyebrow{font-size:8px}.game-screen{min-height:260px}}
.arcade-leaderboards{margin-top:38px;border-top:2px solid var(--ink);padding-top:26px}.arcade-leaderboards>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.arcade-leaderboards h2{font:700 30px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.04em}.arcade-leaderboards>p{font-size:12px;color:var(--ink-dim);margin:14px 0}.arcade-leaderboards button{padding:10px 14px;border-radius:5px;font-size:12px;min-height:44px}.board-periods{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}#arcadeScores{padding:0;list-style:none;margin:20px 0}#arcadeScores li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-bottom:1px dashed var(--ui-edge)}.board-place{font:700 16px 'Space Mono',monospace;color:var(--ink-dim)}.board-player{min-width:0}.board-player b{font-size:14px;max-width:100%;overflow-wrap:anywhere}.board-player small{display:block;margin-top:6px;color:var(--ink-dim);font-size:10px}#arcadeScores li>strong{font:700 20px 'Space Mono',monospace}#gameProgress{margin:0 0 18px}#nextMemoryBoard{grid-column:1/-1}#ownBest{font-weight:700!important;color:var(--ink)!important}
/* Game-first cabinet: counters and banking stay together. */
.arcade-heading{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:18px}.arcade-heading h1{font-size:32px;margin:0;margin-right:auto}.arcade-heading>a{font-size:13px;text-decoration:underline}.arcade-heading #rewardState{width:100%;font-size:12px;color:var(--ink-dim)}
.arcade-selector button{font-size:17px;text-align:center;padding:12px 8px}
.cabinet-body{grid-template-columns:minmax(0,1fr);padding:20px;gap:0}.game-stage{max-width:680px;width:100%;margin:auto}
.cabinet-top{flex-wrap:wrap;padding:18px 20px}.cabinet-top h2{font-size:24px}.game-hud{display:flex;align-items:center;gap:24px}.game-hud .game-score{text-align:left}.game-hud #gameProgress{margin:0}.game-hud #finishGame{min-width:90px;min-height:48px;padding:10px 14px;background:var(--ui-accent);color:var(--ui-accent-ink);border-radius:8px;font-weight:700}.arcade-controls{display:flex;flex-direction:row;gap:10px}.arcade-controls button{flex:1}.arcade-controls #nextMemoryBoard{flex:2}
.arcade-cabinet #runStatus{margin:0;padding:0 20px 16px}.arcade-cabinet #runStatus:empty{display:none}
@media(max-width:767px){
 .arcade-heading{padding-bottom:16px!important;gap:8px}.arcade-heading h1{font-size:28px!important}.arcade-selector{grid-template-columns:repeat(3,minmax(0,1fr))!important}.arcade-selector button{display:block!important;font-size:13px!important;padding:12px 4px!important;text-align:center!important}
 .cabinet-top{gap:14px;padding:16px!important}.cabinet-top>div:first-child{width:100%}.game-hud{width:100%;gap:12px;justify-content:space-between}.game-hud .game-score span{font-size:8px}.game-hud .game-score strong{font-size:22px}.game-hud #finishGame{min-width:72px;font-size:13px;padding:10px 8px}.cabinet-body{padding:12px!important}.game-stage .arcade-controls{margin-bottom:10px}
}
.arcade-selector{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.game-screen{border:3px solid #92ead8;box-shadow:0 0 0 2px #142d35,inset 0 0 25px #0007;background:#0c151c}
.game-screen canvas{outline:2px solid #b9ffe7;outline-offset:-2px;transition:filter .22s ease,opacity .22s ease}
.game-screen.is-stopped canvas{filter:blur(5px);opacity:.5}
.game-screen #screenPrompt{z-index:2}
#snakeBoost[aria-pressed=true]{background:#edc467;color:#14242b;border-color:#ffe2a2}
#speedState{align-self:center;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.game-screen canvas{transition:none}}
@media(max-width:767px){.arcade-selector{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
