:root{color-scheme:dark;font:12px ui-monospace,monospace;background:#000;color:#c3c4d9}*{box-sizing:border-box}body{margin:0;background:#000}button,select{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}a{color:#a9b6ff}[hidden]{display:none!important}
.arcade-shell{max-width:1140px;margin:auto;padding:10px 16px}.cabinet-screen{position:relative;width:min(100%,calc((100dvh - 110px)*368/232));margin:0 auto;background:#000;aspect-ratio:368/232;overflow:hidden}.cabinet-screen canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}
.rally-hitboxes{position:absolute;inset:0;pointer-events:none}.rally-hitboxes button{position:absolute;border:0;background:transparent;pointer-events:auto}.rally-hitboxes button:focus{outline:none}
.accessible{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.cabinet-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 0;font-size:11px}.cabinet-controls button,.cabinet-controls select{background:#15151e;color:#e2e3ff;border:1px solid #525274;padding:9px 12px;border-radius:2px;min-height:36px}.cabinet-controls button:disabled{opacity:.4;cursor:default}.cabinet-controls button:focus-visible,.cabinet-controls select:focus-visible,summary:focus-visible{outline:2px solid #dce967;outline-offset:3px}.cabinet-controls output{color:#b9bcff}.cabinet-controls kbd{color:#c9d76a;margin-left:8px}.cabinet-controls details{position:relative}.cabinet-controls summary{padding:10px}.cabinet-options{position:absolute;bottom:100%;right:0;width:300px;max-width:90vw;background:#13131f;border:1px solid #555575;padding:16px;z-index:5;line-height:1.6}.cabinet-options select{display:block;width:100%;margin:6px 0 12px}.cabinet-note{text-align:center;line-height:1.6;font-size:10px;margin:0 0 8px;color:#85859e}
/* Supporting DOM text remains accessible beside the pixel display. */
body.cabinet-game .drive-shell{max-width:1140px;margin:auto;padding:10px 16px}body.cabinet-game .drive-layout{display:block;margin:0}body.cabinet-game .game-column{width:100%}body.cabinet-game .game-frame{position:relative;width:min(100%,calc((100dvh - 230px)*368/232));margin:auto;aspect-ratio:368/232;overflow:hidden;border:0;box-shadow:none;border-radius:0;background:#000}
body.cabinet-game #drive-canvas{position:static!important;display:block;width:100%!important;height:100%!important;aspect-ratio:368/232;object-fit:fill!important;image-rendering:pixelated}
body.cabinet-game .top-bar,body.cabinet-game .stage-panel,body.cabinet-game .hud,body.cabinet-game .drive-overlay,body.cabinet-game .stage-banner,body.cabinet-game .route-progress,body.cabinet-game .run-results,body.cabinet-game .control-guide,body.cabinet-game .cruise-note,body.cabinet-game footer{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
body.cabinet-game .cabinet-bar{display:none}body.cabinet-game .drive-status{justify-content:center;gap:12px;max-width:900px;margin:auto;padding:6px;font-size:10px}body.cabinet-game .sound-controls{justify-content:center;margin:8px 0;font-size:10px}body.cabinet-game .sound-controls span{margin-left:0}body.cabinet-game .auto-throttle{justify-content:center;margin:6px 0;font-size:10px}body.cabinet-game .auto-throttle span{margin-left:8px}body.cabinet-game .sound-status{text-align:center}body.cabinet-game .touch-controls{max-width:600px;margin:6px auto;gap:12px}body.cabinet-game .touch-controls button{min-height:38px}
@media (pointer: fine) and (hover: hover) { body.cabinet-game .touch-controls { display: none; } }
@media (any-pointer: coarse) { body.cabinet-game .touch-controls { display: flex; } }
.cabinet-controls #coin kbd, .cabinet-controls #cabinet-start kbd { display:inline-block; min-width:20px; text-align:center; font:10px ui-monospace,monospace; border:1px solid #465347; border-radius:3px; padding:3px 4px; background:#1b241d; }
@media(max-width:600px){.arcade-shell,body.cabinet-game .drive-shell{padding:6px}.cabinet-screen{width:100%}.cabinet-controls{gap:6px;padding:8px 0}.cabinet-controls button{padding:8px}.cabinet-controls>span{display:none}.cabinet-controls output{font-size:10px}.cabinet-options{right:-20px}body.cabinet-game .game-frame{width:100%}body.cabinet-game .drive-status{font-size:9px}}
