*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#161c1b;color:#f7ecd8;font-family:Arial,Helvetica,sans-serif}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:700 12px Arial;letter-spacing:.08em;cursor:pointer;color:#f7ecd8;background:#303b35;border:1px solid #647163;padding:13px 18px;border-radius:3px}button:hover{background:#445347}button:focus-visible,a:focus-visible{outline:3px solid #ffd47e;outline-offset:3px}header{height:42px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #354039;font:10px monospace;letter-spacing:.12em;color:#929b8c}a{color:#dacdb3;text-decoration:none}#viewport{position:relative;margin:auto}#cabinet{width:1100px;transform-origin:top left}.mast{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.eyebrow{font:10px monospace;letter-spacing:.2em;color:#c6bda4}h1{font-size:43px;font-style:italic;letter-spacing:-2px;margin:3px 0 0;font-weight:900;line-height:1}h1 span{color:#ef9a4e}h1 i{font:18px monospace;letter-spacing:0;color:#738174}.badge{text-align:right;font:10px/1.9 monospace;letter-spacing:.13em;color:#98a18f}.badge b{color:#e4d9bd}.dashboard{height:74px;border-top:1px solid #475246;background:#212b26;display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.dashboard small{display:block;font:9px monospace;letter-spacing:.15em;color:#a6ac98;margin-bottom:5px}.dashboard strong{font:700 24px monospace}.dashboard strong span{color:#7e8c7e;font-size:15px}#drift{color:#f6b667}#best{font-size:20px}#pause{font-size:18px;padding:10px 16px}.track-wrap{position:relative;width:1100px;height:620px;overflow:hidden;border:1px solid #526047}#track{display:block;width:1100px;height:620px;background:#35473e}#toast{position:absolute;top:17px;left:50%;transform:translateX(-50%);padding:9px 18px;background:#17251ee8;color:#fff1d3;font:700 12px monospace;letter-spacing:.1em;border-radius:3px;pointer-events:none;white-space:nowrap}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#101a176e;display:flex;align-items:center;justify-content:center}.overlay[hidden]{display:none}.panel{background:#192820f5;border:1px solid #7c8761;box-shadow:0 20px 60px #0006;padding:30px 42px;text-align:center;max-width:580px}.panel h2{font-size:44px;line-height:.98;letter-spacing:-1.5px;font-style:italic;margin:16px 0}.panel em{color:#efab5d}.panel p{font-size:14px;color:#c7c8b6;line-height:1.6}.instructions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;font:10px monospace;margin:24px 0}kbd{border:1px solid #65725f;border-bottom-width:3px;border-radius:3px;padding:5px 7px;color:#ffe5bc;font:11px monospace}.primary{display:block;width:100%;margin-top:18px;background:#efa257;color:#202920;border:0;padding:17px 25px}.primary:hover{background:#ffc17f}.panel .hint{font:10px monospace;color:#a0ac97;margin-bottom:0}#result-score{display:block;font:700 30px monospace;color:#f4b467;margin:14px}footer{height:43px;display:flex;justify-content:space-between;align-items:center;font:9px monospace;letter-spacing:.08em;color:#a2aa99}footer button{padding:7px 10px;font:9px monospace}.orange-dot{color:#f59d43}.touch{display:none;position:absolute;bottom:12px;left:18px;right:18px;justify-content:space-between;pointer-events:none}.touch button{pointer-events:auto;touch-action:none;background:#192920dd;min-width:90px;min-height:58px;font-size:15px}.touch button.held{background:#eda357;color:#1b271c}@media(pointer:coarse){.touch{display:flex}}@media(max-width:600px){header{padding:0 10px}header>span{display:none}}
/* Compact race layout: more track, less chrome. */
html,body{background:#10191e;color:#edf0e9}header{height:34px;background:#10191e;border-color:#2c3a41}.mast{height:56px}.mast .eyebrow{font-size:9px;color:#82979e}h1{font-size:30px}.badge{font-size:9px}.dashboard{height:54px;padding:6px 18px;background:#17252c;border-color:#43545b}.dashboard small{font-size:9px;margin-bottom:2px}.dashboard strong{font-size:25px}.dashboard .record{display:none}#position{color:#ffbc72}#pause{padding:6px 14px}.dashboard>div{min-width:175px}.track-wrap{border-color:#44575e}.overlay{z-index:5;background:#0b16216b}.panel{background:#14232cf5;border-color:#5a727c;border-radius:12px;padding:28px 38px}.panel h2{letter-spacing:-1px}.primary{border-radius:6px;color:#14212a}.panel .hint{color:#a9bac0}.eyebrow{color:#b1c0c4}footer{height:27px;color:#a7b8bd}footer button{padding:5px 10px}#toast{top:20px;background:#14232eed;border:1px solid #617078;color:#fff1d3;border-radius:5px;max-width:660px;text-align:center;font-size:15px;padding:12px 22px;z-index:2}#toast[hidden],#race-hud[hidden],#combo[hidden]{display:none}#race-hud{pointer-events:none;position:absolute;inset:0}.standings{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;padding:8px 11px;background:#14232ee8;border:1px solid #50616b;border-radius:5px;min-width:103px;gap:5px}.standings span{font:12px monospace;padding:4px 7px;letter-spacing:.08em}.standings .you{background:#f5ae5728;border-radius:2px;font-weight:bold}.speedometer{position:absolute;bottom:22px;right:24px;width:207px;background:#14232eeb;border:1px solid #50616b;border-radius:7px;padding:12px 16px}.speedometer>div:first-child{display:flex;align-items:baseline;gap:7px}.speedometer strong{font:italic 700 44px Arial;letter-spacing:-1px}.speedometer small{font:9px monospace;color:#b2c0c5}.speedometer b{font:9px monospace;color:#adcdbe;margin-left:auto}.speedometer b.sliding{color:#ffb564}.speed-bar{margin-top:7px;background:#35444b;height:4px;overflow:hidden}.speed-bar i{height:100%;display:block;background:#ffb564;width:0}#combo{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font:italic 900 28px Arial;color:#ffbd72;text-shadow:0 3px 10px #000;background:#14232ed9;padding:10px 20px;border-radius:5px;border-bottom:3px solid #f3aa5e}.touch{z-index:3}button{background:#263a44;border-color:#5c717c}button:hover{background:#39515c}@media(pointer:coarse){.speedometer{bottom:90px}.touch button{min-height:68px;min-width:110px;border-radius:8px}#combo{bottom:96px}}@media(max-width:600px) and (orientation:portrait){.badge{display:none}}
/* Nightfall broadcast trim. */
html,body{background:#09131e}header{background:#09131e;border-color:#233544}.mast{background:linear-gradient(100deg,#0d1c28,#132633);padding:0 14px;border-left:3px solid #efa463}.mast .eyebrow{color:#7fabb9}h1{letter-spacing:-1.2px;text-shadow:0 2px 0 #0006}h1 span{color:#ffb578}.dashboard{background:linear-gradient(#1c303e,#13232f);border-top:1px solid #3c5565;border-bottom:1px solid #07111c}.dashboard small{color:#91acba}.dashboard>div{border-right:1px solid #2c4352;padding-left:10px}.dashboard strong{text-shadow:0 2px 1px #0005}.track-wrap{border:1px solid #425d6b;box-shadow:0 10px 40px #0006}.standings{background:#0c1c2bea;border-color:#526b79;border-left:3px solid #efad6e;box-shadow:0 4px 14px #0004}.speedometer{background:linear-gradient(125deg,#213b4bea,#0b1a29f0);border-color:#547080;border-bottom:3px solid #eeb16e;box-shadow:0 4px 16px #0004}.panel{background:linear-gradient(135deg,#203949f5,#0b1828fa);border-color:#79929c;border-top:3px solid #ffc081;box-shadow:0 25px 80px #0009,inset 0 1px 0 #d8efff18}.panel h2{font-size:48px;text-shadow:0 4px 0 #050b144d}.primary{background:linear-gradient(110deg,#ffc78e,#ee9756);box-shadow:0 3px 0 #8d502e}.primary:hover{background:linear-gradient(110deg,#ffd6aa,#ffb476)}footer{background:#0c1925;padding:0 9px}
/* Arcade run: the next goal and remaining lives are always visible. */
.dashboard>div{min-width:0;flex:1;padding-left:8px}.dashboard>div.record{display:none}.dashboard #pause{margin-left:12px}.dashboard strong{font-size:23px}.dashboard #lives{color:#f7b36c}#time.danger{color:#ff7d74}#qualify{color:#ffcb8d}.stage-panel{max-width:870px;width:870px;padding:25px 32px}.stage-panel h2{font-size:44px;margin:10px 0}.stage-panel p{margin:8px 0}#stage-points{font:700 23px monospace;color:#ffc180}#score-breakdown{font:11px monospace;color:#b5c6cd}#upgrade-title{font:11px monospace;letter-spacing:.14em;margin:24px 0 14px;color:#d7e6e5}#upgrade-choices{display:flex}.upgrade+.upgrade{margin-left:12px}.upgrade{flex:1;text-align:left;min-height:132px;border:1px solid #637f8a;background:linear-gradient(135deg,#274454,#142735);padding:17px;border-radius:8px;letter-spacing:normal}.upgrade:hover{border-color:#ffbe7e;transform:translateY(-2px);background:#355563}.upgrade small{display:block;color:#ffc98d;font:10px monospace;letter-spacing:.1em}.upgrade strong{display:block;font:italic 900 19px Arial;margin:9px 0}.upgrade span{display:block;font:12px/1.4 Arial;color:#c2d5da}.stage-panel #retry{max-width:350px;margin:20px auto 0}.stage-panel [hidden]{display:none!important}#build{font-size:9px;color:#b0c4ce}

#pause:disabled{opacity:.4;cursor:default}

/* A selection stays in the garage until the separate Install button is pressed. */
.upgrade[aria-pressed="true"]{border-color:#ffc786;background:#3c5260;box-shadow:inset 0 0 0 2px #ffc786}.upgrade:disabled{opacity:.65;cursor:default;transform:none}#stage-heading:focus{outline:none}#garage-hint{font:12px monospace;color:#d6dfe2;margin:15px 0 0;min-height:17px}.stage-panel #continue{max-width:560px;margin:12px auto 0}.stage-panel .primary:disabled{background:#3d505d;color:#9aadb8;box-shadow:none;cursor:default}.audio-controls{white-space:nowrap}.audio-controls button+button{margin-left:6px}.stage-panel{padding-top:20px;padding-bottom:20px}.stage-panel h2{font-size:38px}.stage-panel #upgrade-title{margin-top:16px}
