.arcade{--arcade-width:48rem;width:100%;max-width:var(--arcade-width);gap:.75rem;min-width:0;margin-inline:auto;display:grid}.arcade--snake{--arcade-width:36rem}.arcade [hidden]{display:none!important}.arcade button,.arcade select{border:1px solid var(--color-rule);background:var(--color-surface);height:auto;min-height:44px;color:var(--color-ink);font:600 .85rem var(--font-sans,sans-serif);cursor:pointer;box-sizing:border-box;border-radius:.35rem;padding:.55rem .8rem}.arcade select{width:100%;height:44px}.arcade button:disabled,.arcade select:disabled{opacity:.5;cursor:default}.arcade button:not(:disabled):hover{border-color:var(--color-accent)}.arcade .arcade-primary,.arcade [data-arcade-stage-button][aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent,#fff);border-color:var(--color-accent)}.arcade button:focus-visible,.arcade select:focus-visible,.arcade input:focus-visible,.arcade canvas:focus-visible,.arcade summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.arcade-identity{align-items:center;gap:.75rem;display:flex}.arcade-identity svg{flex:none}.arcade-kicker,.arcade-run-label{font:.75rem var(--font-mono,monospace);color:var(--color-muted);margin:0}.arcade-run-label{text-transform:capitalize;color:var(--color-ink);margin-top:.2rem}.arcade-hud{background:var(--color-surface);border:1px solid var(--color-rule);border-radius:.45rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;display:flex}.arcade-stat{gap:.15rem;min-width:3rem;display:grid}.arcade-stat>span:first-child{font:.65rem var(--font-mono,monospace);text-transform:uppercase;color:var(--color-muted)}.arcade-stat strong{font:700 1.15rem var(--font-mono,monospace);font-variant-numeric:tabular-nums;color:var(--color-ink)}.arcade-stage{aspect-ratio:4/3;border:2px solid var(--color-rule);box-sizing:border-box;background:var(--color-surface);width:100%;min-width:0;box-shadow:0 7px 0 color-mix(in srgb, var(--color-rule) 45%, transparent);border-radius:.25rem;position:relative;overflow:hidden}.arcade--snake .arcade-stage{aspect-ratio:1}.arcade--jetpack .arcade-stage{aspect-ratio:3/2}.arcade-stage canvas{width:100%;height:100%;image-rendering:pixelated;touch-action:none;user-select:none;display:block;position:absolute;inset:0}.arcade-overlay{z-index:2;background:color-mix(in srgb, var(--color-bg) 25%, transparent);place-items:center;padding:.75rem;display:grid;position:absolute;inset:0;overflow:auto}.arcade-overlay-card{border:1px solid var(--color-accent);background:color-mix(in srgb, var(--color-surface) 97%, transparent);text-align:center;box-sizing:border-box;width:min(100%,29rem);box-shadow:4px 4px 0 color-mix(in srgb, var(--color-ink) 18%, transparent);border-radius:.35rem;padding:1.1rem}.arcade-overlay-card h2{margin:.25rem 0 .4rem;font-size:clamp(1.1rem,3vw,1.6rem)}.arcade-overlay-card p{margin:.3rem 0 .7rem;font-size:.85rem;line-height:1.45}.arcade-overlay-card .arcade-overlay-eyebrow{color:var(--color-muted);font:.68rem var(--font-mono,monospace);text-transform:uppercase;letter-spacing:.08em;margin:0}.arcade-overlay-actions,.arcade-controls,.arcade-action-row{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.arcade-action-row:empty{display:none}.arcade-action-row>button{min-width:6.5rem;min-height:48px}.arcade-controls button{flex:1;min-width:5rem}.arcade-status,.arcade-instructions{text-align:center;margin:0;font-size:.85rem;line-height:1.55}.arcade-instructions{color:var(--color-muted);font-size:.8rem}.arcade-panel{border:1px solid var(--color-rule);background:var(--color-surface);border-radius:.4rem;min-width:0}.arcade-panel>summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:.75rem;font-size:.9rem;font-weight:650}.arcade-panel-body{padding:0 .8rem .8rem}.arcade-panel-body>p{font-size:.85rem}.arcade-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.75rem;display:grid}.arcade-fields label{min-width:0;color:var(--color-ink);align-content:start;gap:.3rem;font-size:.8rem;display:grid}.arcade-fields input[type=range]{width:100%;min-width:0;height:44px;accent-color:var(--color-accent)}.arcade-fields .arcade-check{align-items:center;gap:.5rem;min-height:44px;display:flex}.arcade-check input{width:22px;height:22px;accent-color:var(--color-accent)}.arcade-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.arcade-map button{text-align:left;align-items:center;gap:.6rem;min-height:66px;padding:.6rem;font-size:.8rem;display:flex}.arcade-stage-number{font:700 1.1rem var(--font-mono,monospace);opacity:.8}.arcade-map small{letter-spacing:.15em;margin-top:.25rem;font-size:.85rem;display:block}.arcade-note{color:var(--color-muted);line-height:1.5;font-size:.78rem!important}.arcade-bindings{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem;display:grid}.arcade-bindings label{text-transform:capitalize;gap:.25rem;font-size:.8rem;display:grid}.arcade-bindings button{font-family:var(--font-mono,monospace)}.arcade-guide{font-size:.9rem;line-height:1.7}.arcade-guide p{margin-block:.6rem}.arcade-credit{color:var(--color-muted);font:.7rem var(--font-mono,monospace);text-align:center;margin:.25rem 0}.arcade-ribbon{background:var(--color-surface);border:1px solid var(--color-rule);font:.85rem var(--font-mono,monospace);overflow-wrap:anywhere;border-radius:.35rem;padding:.5rem .65rem}.arcade-ribbon strong{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.3rem;font-size:.65rem;display:block}.arcade-dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,56px);justify-content:center;gap:5px;display:grid}.arcade-dpad button{touch-action:manipulation;padding:.25rem;font-size:1.2rem}.arcade-dpad [data-snake-dir=up]{grid-column:2}.arcade-dpad [data-snake-dir=left]{grid-area:2/1}.arcade-dpad [data-snake-dir=down]{grid-area:2/2}.arcade-dpad [data-snake-dir=right]{grid-area:2/3}.arcade.game-focus-view{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.arcade.game-focus-view .arcade-identity,.arcade.game-focus-view .arcade-panel,.arcade.game-focus-view .arcade-credit,.arcade.game-focus-view .arcade-ribbon{display:none}.arcade.game-focus-view .arcade-stage{flex:0 auto;width:min(100%,133.3dvh - 313.255px);max-height:calc(100dvh - 235px);margin-inline:auto}.arcade--snake.game-focus-view .arcade-stage{width:min(100%,100dvh - 350px);max-height:calc(100dvh - 350px)}.arcade--jetpack.game-focus-view .arcade-stage{width:min(100%,150dvh - 367.5px);max-height:calc(100dvh - 245px)}.arcade.game-focus-view canvas{max-height:none}.arcade.game-focus-view .arcade-controls,.arcade.game-focus-view .arcade-hud{box-sizing:border-box;width:min(100%,48rem);margin-inline:auto}@media (width<=600px){.arcade{gap:.65rem}.arcade-map{grid-template-columns:repeat(2,minmax(0,1fr))}.arcade-overlay{padding:.4rem}.arcade-overlay-card{padding:.6rem}.arcade-overlay-card p{margin-bottom:.4rem;font-size:.75rem}.arcade-overlay-card .arcade-overlay-eyebrow{display:none}.arcade-overlay-card button{padding-inline:.55rem;font-size:.8rem}.arcade-stat strong{font-size:1rem}.arcade-stat>span:first-child{font-size:.58rem}.arcade-controls{gap:.3rem}.arcade-controls button{min-width:3.5rem;padding-inline:.35rem;font-size:.75rem}.arcade.game-focus-view .game-tools-label,.arcade.game-focus-view .arcade-instructions{display:none}}@media (height<=500px) and (width>=600px){.arcade.game-focus-view{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) 12rem;align-items:start;display:grid}.arcade.game-focus-view .game-tools{grid-column:1/-1;margin:0}.arcade.game-focus-view .arcade-stage{grid-area:2/1/5;width:auto;max-width:100%;height:calc(100dvh - 85px);max-height:none}.arcade.game-focus-view .arcade-hud,.arcade.game-focus-view .arcade-action-row,.arcade.game-focus-view .arcade-controls,.arcade.game-focus-view .arcade-status{grid-column:2}.arcade.game-focus-view .arcade-hud{grid-row:2}.arcade.game-focus-view .arcade-action-row{grid-row:3}.arcade.game-focus-view .arcade-controls{grid-row:4}.arcade.game-focus-view .arcade-status,.arcade.game-focus-view .arcade-instructions{display:none}}@media (prefers-reduced-motion:reduce){.arcade *,.arcade :before,.arcade :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
