:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;--lime:#d5f740;--ink:#141912;--muted:#c4c9b8;--edge:#e7ecd72d}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:#20261f;color:#f2f3e9;overscroll-behavior:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:disabled{opacity:.5}button,select{color:inherit}[hidden]{display:none!important}#world,.shade,#speed-effect{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#world{display:block}.shade{background:linear-gradient(90deg,#141813 2%,#141813fa 13%,#141813d9 25%,#14181375 45%,#1b201829 64%,#1b201810 85%),linear-gradient(0deg,#141813b0,transparent 27%);transition:opacity .3s}body[data-screen=garage] .shade{opacity:.37}body[data-screen=race] .shade{opacity:0}body[data-screen=pause] .shade,body[data-screen=results] .shade{opacity:.28}#speed-effect{opacity:0;background:radial-gradient(ellipse at 50% 48%,transparent 48%,#151c1b8f 100%);transition:opacity .2s}.topbar{height:79px;position:fixed;z-index:3;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5.2vw,90px);border-bottom:1px solid #edf6e431;background:#171b143b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-size:22px;font-weight:950;font-style:italic;letter-spacing:-.09em;display:flex;gap:3px;align-items:center;background:none;border:0;padding:8px 0}.brand-mark{display:flex;gap:3px;margin-right:10px;transform:skew(-17deg)}.brand-mark i{width:4px;height:17px;background:var(--lime)}.brand-mark i:first-child{opacity:.45}.brand-mark i:nth-child(2){opacity:.72}.lime{color:var(--lime)}.icon-btn{border:1px solid #e7ecd753;border-radius:5px;background:#1c2118bf;padding:11px 15px;font-size:11px;font-weight:800;letter-spacing:.1em}.icon-btn:hover{border-color:var(--lime);color:var(--lime)}.speaker{font-size:13px;margin-right:7px}.screen{position:relative;z-index:2}.menu{min-height:100dvh;padding:clamp(112px,17vh,186px) clamp(23px,6.1vw,104px) 92px;display:grid;align-content:center}.menu-main{width:min(100%,450px)}.overline,.eyebrow{font-size:10px;font-weight:850;letter-spacing:.17em;color:var(--lime);margin:0}.overline{display:flex;gap:10px;align-items:center;color:#d1d6bf}.status-dot{width:6px;height:6px;border-radius:100%;background:var(--lime);box-shadow:0 0 10px #d7fb548a}.overline-sep{width:14px;height:1px;background:#ffffff52}h1{font-family:Arial,Helvetica,sans-serif;margin:15px 0 13px;font-style:italic;font-weight:1000;letter-spacing:-.105em;line-height:.81;font-size:clamp(75px,10.8vw,168px)}h1 span,h1 em{display:block}h1 em{font-style:inherit;color:var(--lime);font-size:.89em}h2{font-size:clamp(30px,5vw,50px);letter-spacing:-.07em;line-height:.96;margin:12px 0 23px}.menu-description,.quiet,.panel p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.55}.menu-description{max-width:300px;margin:21px 0 25px}.menu-options{width:min(100%,305px);display:grid;gap:7px}.primary,.outline,.menu-option,.choice{border-radius:4px;min-height:45px;padding:0 15px;font-size:12px;letter-spacing:.08em;font-weight:850}.primary{color:var(--ink);background:var(--lime);border:1px solid var(--lime)}.primary:hover{background:#ecff8c;border-color:#ecff8c}.play,.menu-option,.garage-actions .primary{display:flex;align-items:center;justify-content:space-between;text-align:left}.play{min-height:53px;margin-bottom:2px}.play span span,.menu-option b{display:inline-block;width:23px}.menu-option,.outline,.choice{background:#262d226e;border:1px solid var(--edge);color:#f4f5e9}.menu-option:hover,.outline:hover,.choice:hover{border-color:#d5f78799;background:#303928}.menu-option span:last-child{opacity:.57}.menu-footer{position:absolute;bottom:26px;left:clamp(23px,6.1vw,104px);display:flex;gap:20px;color:#ced4bd;font-size:10px;letter-spacing:.04em}.menu-footer b{color:#a4ad95;font-weight:650}.track-card{position:absolute;right:clamp(23px,6.1vw,104px);bottom:31px;display:flex;align-items:center;gap:16px;background:#20251cce;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #edf6d92c;padding:9px 20px 9px 7px;border-radius:5px}.track-card h2{font-size:16px;margin:6px 0 3px;letter-spacing:-.02em}.track-card p:last-child{font-size:11px;color:var(--muted);margin:0}.track-map{width:76px;height:70px}.middot{color:var(--lime);margin:0 4px}.overlay{min-height:100dvh;display:grid;place-items:center;background:#10150fc0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:26px 16px}.panel,.garage-panel{width:min(100%,430px);padding:clamp(22px,5vw,37px);border:1px solid #e1ebc82e;background:#20271df2;border-radius:9px;box-shadow:0 25px 90px #0006}.panel .primary,.panel .outline{width:100%;margin-top:8px}.choice{display:flex;width:100%;margin-bottom:9px;align-items:center;justify-content:space-between;text-align:left;padding:13px 15px}.choice strong{display:block;font-size:15px;letter-spacing:0}.choice small{display:block;color:var(--muted);margin-top:5px;letter-spacing:0;font-weight:500}.field,.check{display:block;margin-bottom:17px;font-size:13px;font-weight:700}.field output{float:right;color:var(--lime)}.field select,.field input:not([type=checkbox]),.garage select{width:100%;display:block;margin-top:7px}.field input,.check input{accent-color:var(--lime)}select{padding:10px;background:#292f25;border:1px solid var(--edge);border-radius:4px}.garage{min-height:100dvh;display:flex;align-items:flex-end;padding:100px clamp(18px,6vw,100px) 32px}.garage-panel{max-width:340px;padding:24px}.garage-panel h2{margin-bottom:17px}.label{font-size:13px;font-weight:800}.label span{font-weight:500;color:var(--muted);margin-left:8px}.swatches{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.swatch{width:32px;height:32px;border-radius:50%;background:var(--paint);border:2px solid #191f18}.swatch[aria-pressed=true]{outline:2px solid var(--lime);outline-offset:2px}.garage-actions{display:flex;gap:8px}.garage-actions .primary{flex:1}.garage-actions .primary span{margin-left:12px}.hud{position:fixed;inset:0;z-index:2;pointer-events:none;padding:24px}.hud-top{display:flex;justify-content:space-between;gap:10px}.timing{display:grid;grid-template-columns:auto auto auto;gap:7px 18px;background:#1c231bdc;border:1px solid var(--edge);padding:11px 15px;border-radius:5px}.timing strong{display:block;font-variant-numeric:tabular-nums;font-size:16px;margin-top:5px}.timing progress{grid-column:1/-1}.race-actions{display:flex;gap:8px;align-items:flex-start;pointer-events:auto}.race-map{position:absolute;right:24px;top:94px;background:#182117ad;border:1px solid var(--edge);border-radius:5px;width:126px;height:126px}.speedometer{position:absolute;bottom:31px;right:29px;width:174px;padding:13px 15px;background:#182117db;border:1px solid var(--edge);border-radius:5px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:7px}.speed-body strong{font-size:44px;line-height:.9;font-style:italic;letter-spacing:-.075em;font-variant-numeric:tabular-nums}.speed-body span{font-size:10px;color:var(--muted);display:block;margin-top:5px}.gear{font-size:16px;font-weight:900;text-align:center;color:var(--lime);border:1px solid var(--edge);padding:6px 3px;border-radius:3px}.speedometer progress{grid-column:1/-1}progress{appearance:none;width:100%;height:3px;border:none;background:#f1f6dc32;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#f1f6dc32}progress::-webkit-progress-value{background:var(--lime)}progress::-moz-progress-bar{background:var(--lime)}.race-help{position:absolute;bottom:31px;left:24px;color:#e4e8d9;background:#182117ad;padding:9px 11px;border-radius:4px;font-size:10px;font-weight:800}.race-help span{margin:0 5px;color:var(--lime)}.race-message{position:fixed;z-index:3;top:44%;left:50%;transform:translate(-50%,-50%);color:var(--lime);font-size:clamp(50px,12vw,133px);font-style:italic;font-weight:950;letter-spacing:-.06em;text-shadow:0 3px 25px #101b0f;pointer-events:none;white-space:nowrap}.touch-controls{display:none}.result-time{display:block;color:var(--lime);font-size:clamp(36px,8vw,57px);font-variant-numeric:tabular-nums;letter-spacing:-.06em}.result-panel dl{margin:16px 0;display:grid;gap:7px}.result-panel dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--edge);padding:3px 0 6px;font-size:13px}.result-panel dt{color:var(--muted)}.result-panel dd{margin:0;font-weight:800}.lap-results{font-size:12px;color:var(--muted);line-height:1.65;max-height:82px;overflow:auto}@media(max-height:760px)and (min-width:760px){.menu{padding-top:109px}h1{font-size:clamp(78px,10vw,125px)}.menu-description{margin:15px 0 17px}.menu-options{gap:5px}.menu-option{min-height:37px}.play{min-height:43px}}@media(max-width:759px){.topbar{height:56px}.brand{font-size:18px}.menu{min-height:100dvh;align-content:end;padding-top:max(236px,33dvh);padding-bottom:33px}.menu-main{width:min(100%,365px)}h1{font-size:clamp(62px,17vw,105px);margin:12px 0 10px}h1 span,h1 em{display:inline}h1 em{margin-left:8px}.menu-description{margin:13px 0 15px}.menu-options{width:100%}.menu-option{min-height:39px}.play{min-height:46px}.menu-footer{display:none}.track-card{position:relative;right:auto;bottom:auto;margin-top:18px;justify-self:start;padding:2px 13px 2px 4px}.track-map{width:57px;height:51px}.track-card h2{font-size:13px}.shade{background:linear-gradient(0deg,#141813 6%,#141813ef 37%,#1418134a 69%,#14181312 96%)}.hud{padding:9px}.timing{padding:8px;gap:5px 8px}.timing strong{font-size:12px}.timing .eyebrow{font-size:8px;letter-spacing:.06em}.race-actions{gap:4px}.race-actions .icon-btn{padding:8px 5px;font-size:8px;min-height:35px}.race-map{right:9px;top:65px;width:77px;height:77px}.garage{padding-bottom:16px}.garage-panel{max-width:285px;padding:17px}.garage-panel h2{font-size:32px}.speedometer{right:11px;bottom:14px}.race-help{display:none}}@media(pointer:coarse),(max-width:759px){.touch-controls{position:absolute;bottom:max(13px,env(safe-area-inset-bottom));left:9px;right:9px;display:flex;justify-content:space-between;gap:7px;pointer-events:auto}.touch-controls>div{display:flex;gap:6px}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;min-width:44px;min-height:52px;padding:0 8px;border-radius:5px;border:1px solid #e8f1d968;background:#202b22e3;font-weight:900;font-size:23px}.touch-controls .hand{font-size:10px}.touch-controls .accelerator{color:var(--ink);background:var(--lime)}.touch-controls .pressed{background:#f2f5da;color:#141912;transform:scale(.94)}.speedometer{bottom:82px}.race-help{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important;animation:none!important}}.arrow-icon{display:inline-block;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;margin-right:3px}.arrow-icon:after{content:"";display:block;width:11px;height:1.5px;background:currentColor;transform:translate(-1px,3px) rotate(-45deg)}.drive-arrow{display:inline-block;width:13px;height:13px;border-top:2px solid currentColor;border-right:2px solid currentColor;vertical-align:middle}.drive-arrow.left{transform:translate(3px) rotate(-135deg)}.drive-arrow.right{transform:translate(-3px) rotate(45deg)}.drive-arrow.up{transform:translateY(4px) rotate(-45deg)}.drive-arrow.down{transform:translateY(-3px) rotate(135deg)}
