@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
:root{font-family:'Press Start 2P','Courier New',monospace;color:#fff;background:#000;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #ffff66;outline-offset:5px}#game{width:100%;height:100svh;min-height:400px;position:relative;overflow:hidden;background:#000}#viewport{position:absolute;inset:0;touch-action:none}canvas{display:block;width:100%;height:100%}header{position:absolute;top:22px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{color:#76adff;text-decoration:none;font-size:12px;line-height:1.7;text-shadow:2px 2px #171755;display:flex;flex-direction:column;pointer-events:auto}.brand-ball,.edition{display:none}.header-right{display:flex;gap:10px;pointer-events:auto;position:fixed;bottom:17px;right:20px;z-index:4}button{border:1px solid #656565;border-radius:0;background:#000c;padding:10px 12px;font-size:10px}button:hover{border-color:#fff;background:#282828}#sound span{color:#fffa69}#pause{min-width:38px}.level-info{position:absolute;left:26px;top:88px;pointer-events:none}.level-info .eyebrow{color:#ff7571;font-size:10px;line-height:1.8}.level-info h1,.level-info p,.level-number{display:none}.eyebrow{font-size:10px;line-height:1.6}.hud{position:absolute;top:19px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:3px 3px #000}.hud .eyebrow{display:block;color:#fffb85}#time{display:block;font-size:40px;font-weight:400;line-height:1.5;margin-top:1px;font-variant-numeric:tabular-nums}#time span{font-size:14px;color:#b7b7c5}.time-track{display:none}.hud-bottom{position:fixed;left:calc(50vw - 207px);top:0;display:flex;gap:26px;text-align:right;width:180px;justify-content:flex-end}.hud-bottom .eyebrow{font-size:9px;color:#8fa8ff}.hud-bottom b{display:block;font-size:16px;margin-top:12px;font-weight:400}.panel{position:absolute;bottom:17%;left:50%;transform:translateX(-50%);width:410px;max-width:calc(100% - 40px);text-align:center;background:#000e;border:2px solid #b7b7b7;padding:24px 23px;box-shadow:6px 6px #000;line-height:1.7}.panel .eyebrow{color:#ffff79;font-size:10px}.panel h2{font:inherit;font-size:21px;line-height:1.7;color:#fff;margin:17px 0}.panel p{font-family:'Courier New',monospace;font-weight:bold;font-size:16px;line-height:1.5;color:#c6c6d5;margin:10px 0 20px}.primary{width:100%;background:#28285d;color:#fff;border:2px solid #7c88ee;padding:14px 12px;font-size:12px;text-align:center;line-height:1.8}.primary:hover{background:#3e3e8c}.primary span{margin-left:10px;color:#ffff79}.panel-note{font:13px/1.5 'Courier New',monospace;color:#aaa;margin-top:17px}.route-label,.bottom-credit{display:none}footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:25px;background:#000e;padding:16px 220px 16px 24px;min-height:66px}.instructions{display:flex;align-items:center;gap:16px;color:#c5c5cf;font:12px/1.5 'Courier New',monospace}.instructions p{margin:0}.instructions b{color:#fff}.instructions p>span{display:block;font-size:11px;color:#999}.control-icon,.divider{display:none}kbd{font:bold 11px 'Courier New',monospace;padding:3px 5px;border:1px solid #555;margin-right:4px;color:#ffff91}#restart{font:12px 'Courier New',monospace;padding:7px 10px;white-space:nowrap}#restart kbd{margin-left:7px}#toast{position:absolute;left:50%;top:108px;transform:translateX(-50%);padding:10px 14px;background:#000d;color:#ffff79;font:14px/1.5 'Courier New',monospace;opacity:0;transition:opacity .15s;pointer-events:none;text-align:center}.playing .panel{display:none}.playing #viewport{cursor:default}.playing #viewport:active{cursor:grabbing}.low #time{color:#ff6666}
@media(max-width:700px){header{left:14px;top:16px}.brand{font-size:9px}.level-info{left:14px;top:63px}.level-info .eyebrow{font-size:8px}.hud{top:12px}.hud .eyebrow{font-size:8px}#time{font-size:30px}#time span{font-size:10px}.hud-bottom{left:calc(50vw - 132px);width:110px;gap:12px}.hud-bottom .eyebrow{font-size:7px}.hud-bottom b{font-size:12px;margin-top:8px}.hud-bottom>div:last-child{display:none}.header-right{right:10px;bottom:13px;gap:6px}#sound{font-size:0}#sound span{font-size:15px}#pause{min-width:32px}button{padding:8px}.panel{bottom:15%;padding:20px 16px}.panel h2{font-size:18px}.panel .eyebrow{font-size:9px}.panel p{font-size:14px}.primary{font-size:11px}footer{padding:12px 105px 12px 12px;gap:12px;min-height:61px}.instructions{font-size:11px;gap:8px}.instructions p:last-child{display:none}.instructions p>span{font-size:10px}#restart{font-size:11px;padding:5px}#restart kbd{display:none}#toast{top:94px;width:max-content;max-width:90%;font-size:12px}}
@media(max-width:420px){.instructions p:nth-child(3){display:none}.hud-bottom{left:calc(50vw - 120px)}.brand{font-size:8px}.level-info .eyebrow{font-size:7px}.panel h2{font-size:16px}}

.secondary{margin-top:12px;width:100%;font:12px/1.5 'Courier New',monospace;color:#ffdf75;border-color:#786435;background:#181309}#machine-caption{position:absolute;bottom:85px;left:50%;transform:translateX(-50%);background:#111524ee;border:1px solid #f1c450;color:#ffdf75;padding:14px 20px;font:12px/1.8 'Press Start 2P',monospace;text-align:center;max-width:90%;white-space:nowrap;pointer-events:none}#machine-caption[hidden]{display:none}@media(max-width:700px){#machine-caption{font-size:9px;bottom:76px;padding:12px}.panel{bottom:12%}}
/* Keep the active race and machine tour free of text and interface chrome. */
#game.playing > :not(#viewport):not(#steering):not(#course-section):not(#view-status){display:none!important}

.level-select{display:flex;align-items:center;gap:12px;margin:18px 0;color:#96d8cd;font-size:9px}.level-select select{flex:1;min-width:0;background:#17202b;color:#fff;border:1px solid #526676;padding:10px;font:13px monospace}.panel{max-height:76svh;overflow:auto}#game.playing .level-select{display:none}

#steering{position:absolute;pointer-events:none;z-index:5;transform:translate(-50%,-50%);border:1px solid #c7f9f980;border-radius:50%;background:#173e4f25;box-shadow:0 0 0 1px #0003}#steering[hidden]{display:none}#steering i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border:1px solid #e2ffff90;border-radius:50%}#steering-knob{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;border:2px solid #d7ffffb0;border-radius:50%;background:#a1e9e93a}.touch-help{display:none}@media(pointer:coarse){.panel .touch-help{display:block;font:12px/1.7 monospace;color:#b4e1dc;margin:12px 0 0}.instructions{display:none}}

#course-section{position:absolute;left:50%;top:22px;transform:translateX(-50%);padding:9px 16px;background:#122839e8;border:1px solid #75dcc47a;border-radius:6px;color:#baf9e5;font:12px/1.5 monospace;letter-spacing:.04em;pointer-events:none;max-width:94vw;text-align:center}#view-status{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);max-width:90vw;padding:8px 14px;background:#122839e8;border-radius:6px;color:#baf9e5;font:11px/1.5 monospace;text-align:center;pointer-events:none}.marble-pov .level-info,.marble-pov .route-label{display:none}@media(max-width:700px){#course-section{top:16px;font-size:10px;width:90vw}#view-status{bottom:24px;width:90vw}}

#course-section[hidden],#view-status[hidden]{display:none}
