@font-face{font-family:Cabinet;src:url(/fonts/cabinet-grotesk-800.woff2)}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-400.woff2);font-weight:400}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-700.woff2);font-weight:700}*{box-sizing:border-box}body{color:#eeedda;background:#13231e;margin:0;font:16px Satoshi,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}button:focus-visible{outline-offset:5px;outline:3px solid #9bd8ed}button:hover{filter:brightness(1.12)}#world{z-index:-1;position:fixed;inset:0}#app{min-height:100svh}.garage{background:linear-gradient(90deg,#10221cf7 0%,#10221ca6 40%,#10221c15 100%);min-height:100svh;padding:32px 5vw 24px}header{justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:1.8px;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.brandmark{color:#f5c466;letter-spacing:-8px;border:1px solid #f5c46670;width:54px;padding:0 7px;font:900 36px Cabinet}.brandmark span{font-size:25px}.brand small{letter-spacing:1.2px;color:#a3af9e;margin-top:5px;font-size:8px;display:block}.edition,.eyebrow,.section-label{letter-spacing:2px;color:#b7bca5;font-size:11px;font-weight:700}.edition{border:1px solid #b7bca54d;padding:9px 12px}.intro{padding:48px 0 30px}.intro .eyebrow{color:#f5c466}h1{letter-spacing:-4px;margin:20px 0;font:800 clamp(76px,9vw,134px)/.82 Cabinet}.intro h1 span{color:#f5c466}.intro p{color:#c4c9b6;margin:22px 0 0;line-height:1.6}.selection{max-width:1120px}.section-label{justify-content:space-between;margin-bottom:12px;font-size:10px;display:flex}.fleet{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.vehicle{text-align:left;background:#162920eb;border:1px solid #64725b66;min-width:0;padding:10px 18px 16px;position:relative}.vehicle.selected{background:#34402bef;border-color:#f5c466;box-shadow:inset 0 3px #f5c466}.vehicle-number{color:#9ca78f;font:11px monospace;position:absolute;top:12px;left:14px}.vehicle img{object-fit:contain;width:100%;height:100px;display:block}.vehicle strong{font:800 25px Cabinet;display:block}.vehicle>span:not(.vehicle-number){color:#b4bca6;font-size:12px}.stats{gap:16px;margin-top:15px;display:flex}.stats label{letter-spacing:1px;color:#b4bca6;flex:1;font:9px monospace}.stats i{background:linear-gradient(90deg,#e7c779 var(--stat),#73806750 var(--stat));height:3px;margin-top:6px;display:block}.launch{border-bottom:1px solid #74816a55;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.launch strong{font:800 22px Cabinet}.launch div>span{color:#b7bca5;margin-top:5px;font-size:12px;display:block}.primary{color:#1b2a21;letter-spacing:1px;background:#f5c466;justify-content:space-between;align-items:center;gap:38px;padding:17px 25px;font-size:12px;font-weight:700;display:inline-flex}.primary span{font-size:23px}.instructions{color:#b7bca5;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;display:flex}.instructions button{letter-spacing:1px;color:#f5c466;font-size:10px;font-weight:700}kbd{background:#a3b08e22;padding:3px 5px;font:10px monospace}.note{color:#9fab93;font-size:11px;line-height:1.6}.race-ui{pointer-events:none;height:100svh;overflow:hidden}.race-ui button{pointer-events:auto}.race-header{background:linear-gradient(#101d19ee,#101d1900);padding:24px 30px}.race-title{color:#f5c466;font:800 25px Cabinet}.race-title>span{letter-spacing:2px;color:#c3c5b0;margin-top:5px;font:9px Satoshi;display:block}.race-stats{gap:38px;display:flex}.race-stats small,.result-metrics small{letter-spacing:1.8px;color:#bbc2ab;font-size:9px;display:block}.race-stats strong{font:700 32px Cabinet}.race-stats strong span,.result-metrics strong span{color:#a1ac97;margin-left:4px;font-size:18px}.icon-button{background:#162920;border:1px solid #b7bca570;width:42px;height:42px}.race-footer{text-shadow:0 2px 8px #102019;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:25px;left:30px;right:220px}.speed{font:800 70px/1.2 Cabinet}.speed small{color:#c4cab5;margin-left:8px;font:11px Satoshi}#wear{color:#c4cab5;font-size:11px}.race-hints{color:#d9dcc6;text-align:right;font-size:10px;line-height:2.5}.race-hints button{border-bottom:1px solid #b5bd9a66;font-size:10px}.countdown{color:#f5c466;text-shadow:0 5px 40px #142019;font:800 150px Cabinet;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}#toast{letter-spacing:1px;color:#ffe1a0;text-align:center;background:#12251be8;padding:12px 18px;font-size:12px;position:absolute;top:120px;left:50%;transform:translate(-50%)}#toast:empty{display:none}#active-parts{width:185px;position:absolute;top:140px;left:30px}#active-parts>div{color:var(--part);background:#10231eea;justify-content:space-between;margin-bottom:8px;padding:11px;font-size:11px;display:flex;position:relative}#active-parts i{background:var(--part);height:2px;position:absolute;bottom:0;left:0}.touch-controls{display:none}.pause-overlay{pointer-events:auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b191bc7;place-items:center;display:grid;position:fixed;inset:0}.pause-card{background:#1b3026;gap:20px;padding:40px;display:grid}.pause-card h2,dialog h2{margin:10px 0;font:800 36px Cabinet}.result{background:#11261def;min-height:100svh;padding:9vh max(6vw,50vw - 475px)}.result h1{color:#f5c466;font-size:clamp(55px,8vw,100px);line-height:.95}.result>p{color:#b8c1ac}.result-metrics{gap:50px;margin:32px 0;display:flex}.result-metrics strong{font:800 46px Cabinet}.leaderboard{border-top:1px solid #64735b}.leaderboard>div{border-bottom:1px solid #64735b55;gap:24px;padding:14px 0;display:flex}.leaderboard b{flex:1}.leaderboard span{color:#b8c1ac;font-size:13px}.leaderboard em{color:#f5c466;margin-left:8px;font-size:9px;font-style:normal}#garage{margin-left:15px;font-size:12px}dialog{color:#eeedda;background:#1b3026;border:1px solid #74826a;width:calc(100% - 32px);max-width:800px;padding:32px}dialog::backdrop{background:#091712d9}dialog>p{color:#bcc4af;font-size:13px;line-height:1.6}.guide-grid{grid-template-columns:1fr 1fr;gap:22px;margin:25px 0;display:grid}.guide-grid p{font-size:13px;line-height:1.5}.guide-grid small{color:#a7b49c;font-size:9px}@media (width<=700px){.garage{background:#10221cbf;padding:20px}.edition{display:none}.intro{padding:32px 0 22px}.intro h1{font-size:83px}.intro p{font-size:14px}.fleet{grid-template-columns:repeat(2,1fr)}.vehicle{padding:8px 12px 12px}.vehicle img{height:73px}.vehicle strong{font-size:23px}.vehicle>span:not(.vehicle-number){font-size:10px}.stats{margin-top:10px}.launch{gap:15px}.launch strong{font-size:18px}.launch div>span{max-width:130px;font-size:10px}.primary{gap:12px;padding:16px;font-size:10px}.instructions{gap:14px;line-height:1.8}.instructions>span{max-width:190px}.brand{font-size:11px}.brand small{font-size:7px}.race-header{padding:16px}.race-title{font-size:21px}.race-stats{gap:16px}.race-stats strong{font-size:25px}.race-stats small{font-size:7px}.race-stats strong span{font-size:13px}.race-title>span{font-size:7px}.icon-button{width:32px;height:34px}.race-footer{bottom:138px;left:18px;right:18px}.race-hints{max-width:120px;font-size:0}.race-hints button{background:#10231eea;padding:8px;font-size:10px}.speed{font-size:52px}#terrain{font-size:9px}.touch-controls{bottom:max(22px,env(safe-area-inset-bottom));justify-content:space-between;display:flex;position:absolute;left:16px;right:16px}.touch-controls>div{gap:9px;display:flex}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;background:#172b23ee;border:1px solid #b0b78a66;width:64px;height:72px;font-size:17px}.touch-controls .gas{color:#172b23;background:#f5c466;font-weight:700}.touch-controls button[data-key=\ ]{font-size:11px}#active-parts{width:145px;top:100px;left:16px}#active-parts>div{padding:9px;font-size:10px}#toast{width:80%;font-size:10px;top:80px}.result{padding:8vh 24px}.result-metrics{gap:22px}.result-metrics strong{font-size:33px}.result-metrics small{font-size:8px}.guide-grid{gap:15px}dialog{padding:22px}}@media (pointer:coarse) and (width>=701px){.touch-controls{justify-content:space-between;display:flex;position:absolute;bottom:20px;left:25%;right:25%}.touch-controls button{touch-action:none;background:#162920dd;border:1px solid #aaa;width:64px;height:65px}.race-hints{display:none}}@media (width<=700px){.race-hints{text-align:left;max-width:none;position:absolute;bottom:-30px;left:0}.race-hints button{padding:5px 8px}}
