:root{font-family:Inter,Arial,PingFang SC,Microsoft YaHei,sans-serif;color:#f4f6f7;background:#11191d;font-synthesis:none;--orange:#ff713a;--cyan:#75e7f3;--muted:#a1aeb4;--line:#ffffff24}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #8de8f2;outline-offset:5px}button:disabled{cursor:wait;opacity:.6}button{color:inherit}button,select{border:0}button{background:none}select{color:#f1f4f6;color-scheme:dark}button:hover{filter:brightness(1.13)}[hidden]{display:none!important}#world,.vignette,#damage-flash{position:fixed;inset:0;width:100%;height:100%;height:100dvh}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(8,16,21,.91),rgba(8,16,21,.45) 35%,transparent 68%),linear-gradient(0deg,#080f166b,transparent 35%);transition:opacity .6s}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;padding:25px 38px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:800;letter-spacing:2px}.wordmark small{display:block;font-size:8px;color:#ced7d9;letter-spacing:2.5px;margin-top:5px;font-weight:400}.brand-symbol{display:grid;place-items:center;width:30px;height:34px;border:1px solid #ffffff80;font-size:21px;transform:skew(-7deg);color:var(--orange)}.top-actions{display:flex;gap:11px;align-items:center}.icon-button,.exit-link{font-size:11px;padding:10px 13px;border:1px solid #ffffff35;background:#10222c60;backdrop-filter:blur(8px)}.icon-button span{margin-left:8px;color:var(--orange)}.exit-link{background:none;border-color:transparent;color:#e7eef1}.garage{position:fixed;inset:0;overflow:auto;scrollbar-width:thin}.garage-content{width:440px;margin:115px 0 90px max(6vw,40px);position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;color:#c4d1d7;display:flex;align-items:center;gap:10px}.eyebrow>span{height:5px;width:5px;background:var(--orange);box-shadow:0 0 16px var(--orange)}h1{font-size:73px;letter-spacing:-3px;line-height:1.04;margin:24px 0 8px;font-style:italic;font-weight:950}h1>span{display:block;font-size:37px;letter-spacing:11px;margin-top:13px;font-style:normal;font-weight:600;color:#e4ebed}.english-title{font-size:16px;letter-spacing:9px;font-weight:800;color:#fff9;margin:19px 0 20px}.english-title em{color:var(--orange);font-style:normal}.intro{font-size:13px;line-height:1.9;color:#c5d0d6;margin-bottom:28px}.choice-group{border:0;padding:0;margin:0 0 18px;min-width:0}.choice-group legend{display:flex;align-items:center;gap:10px;font-size:11px;margin:0 0 13px;padding:0;width:100%}.choice-group legend>b,.garage-settings label{color:var(--orange);font-size:10px}.choice-group legend>span{margin-left:auto;font-size:8px;letter-spacing:1.5px;color:#91a0a9}.tracks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.track{border:1px solid #ffffff29;text-align:left;padding:0 0 9px;background:#13263299;overflow:hidden;transition:border-color .2s,background .2s}.track.active{border-color:var(--orange);background:#693e259c;box-shadow:inset 0 -2px var(--orange)}.track strong,.track small{display:block;padding:0 10px}.track strong{font-size:12px;margin:8px 0 5px}.track small{font-size:7px;letter-spacing:2px;color:#d1d9de88}.track-art{height:47px;display:block;position:relative;overflow:hidden}.coast{background:linear-gradient(#81aec2,#fdb782 55%,#366675 56%,#153a4f)}.night{background:linear-gradient(150deg,#0e163f,#443266 55%,#061b35 56%,#091622)}.desert{background:linear-gradient(#baa277,#ecc18d 55%,#8a5942 56%,#ae7047)}.track-art:before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:#ffd59d;top:8px;right:18px;box-shadow:0 0 30px #ffe8a28c}.night:before{width:14px;height:14px;background:#c6d1ff;top:7px}.track-art i{display:block;background:#283540;position:absolute;bottom:-14px;width:35%;height:39px;left:32%;transform:perspective(35px) rotateX(45deg) rotate(-18deg);border-right:2px solid #dedeea99;border-left:2px solid #dedeea99}.track-art i:after{content:"";display:block;position:absolute;left:48%;width:1px;height:100%;background:repeating-linear-gradient(0deg,#fff 0 5px,transparent 5px 11px)}.garage-settings{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0 22px}.garage-settings label>span{color:#bdcbd3;margin-left:8px}.garage-settings select{display:block;background:#1426309e;border:1px solid #ffffff29;margin-top:9px;padding:12px 9px;width:100%;font-size:11px;cursor:pointer}.start-button{width:100%;padding:17px 20px;background:var(--orange);color:#152026;font-size:17px;font-weight:900;display:flex;align-items:center;justify-content:space-between;box-shadow:0 8px 45px #fd59101d;letter-spacing:2px;clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%)}.start-button b{font-size:29px;line-height:1}.garage-foot{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#b2c0c7;margin-top:15px;gap:10px}.garage-foot>span{display:flex;gap:6px;align-items:center}.garage-foot i{width:4px;height:4px;background:#8cf1bb;border-radius:50%}.garage-foot button{font-size:10px}.garage-foot b{border:1px solid #ffffff40;padding:1px 4px;margin-left:6px}.showroom-label{position:fixed;right:7vw;bottom:100px;width:300px;text-shadow:0 2px 20px #0006}.showroom-label>span{font-size:9px;letter-spacing:5px}.showroom-label strong{display:block;font-size:29px;font-style:italic;letter-spacing:-1px;margin:12px 0 15px}.showroom-label div{display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:1.5px}.showroom-label i{flex:1;height:1px;background:#ffffff50}.garage-bottom{position:fixed;bottom:20px;left:38px;right:38px;display:flex;gap:25px;align-items:center;font-size:9px;color:#d9e3e8a8;letter-spacing:1px}.garage-bottom label{margin-left:auto}.garage-bottom select{background:#13232b90;padding:7px 12px;margin-left:10px;font-size:10px}.hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 2px 10px #06111999}.race-top{position:absolute;top:26px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:flex-start}.position-panel>span{font-size:9px;letter-spacing:2px;color:#e1ebed}.position-panel div{display:flex;align-items:baseline;gap:9px}.position-panel strong{font-size:64px;line-height:1.15;font-style:italic;letter-spacing:-4px;font-weight:900}.position-panel b{font-size:16px;color:#dce3e795;font-weight:400}.race-info{position:absolute;left:50%;transform:translate(-50%);text-align:center}.race-info>span{font-size:10px;letter-spacing:4px}.race-info strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:2px;margin:8px 0}.race-info small{font-size:9px;letter-spacing:2px}.race-info b{color:#ffe2bb;margin-left:4px}.pause-button{pointer-events:auto;background:#14232b77;border:1px solid #fff5;width:40px;height:40px;font-weight:800;font-size:17px;backdrop-filter:blur(10px)}.race-progress{position:absolute;top:136px;left:36px;width:205px}.race-progress>div:first-child{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:#dfebf4b0}.progress-line{position:relative;height:2px;background:#ffffff40;margin-top:9px}.progress-line i{display:block;background:var(--orange);height:100%;width:0}.progress-line b{position:absolute;left:0;top:-7px;font-size:11px;color:var(--orange)}.map-panel{position:absolute;left:24px;top:179px;background:linear-gradient(140deg,#0c19245c,#0c192410);border:1px solid #fff2;width:190px;padding-bottom:10px;backdrop-filter:blur(3px)}.map-panel canvas{width:100%;height:auto;display:block}.map-panel>div{font-size:8px;color:#d6dfe4a9;text-align:center}.map-panel i{display:inline-block;width:5px;height:5px;border-radius:50%;margin:0 5px 1px 12px}.player-dot{background:var(--orange)}.rival-dot{background:#b0dae7}.bike-status{position:absolute;left:36px;bottom:46px;width:235px}.stat-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin-bottom:9px}.stat-label b{font-size:10px;color:#d7e4e8}.meter{height:6px;background:#09192480;overflow:hidden;border-radius:1px;box-shadow:0 0 0 1px #ffffff24}.meter i{height:100%;display:block;transition:width .1s;transform-origin:left}.health i{background:#bdf6b5}.nitro i{background:var(--cyan);box-shadow:0 0 15px #69e2fb}.nitro-label{margin-top:19px}.stat-label kbd{font-size:7px;padding:2px 4px;margin-left:6px;color:#d3e5ed8f}.takedowns{margin-top:18px;font-size:10px}.takedowns strong{color:var(--orange);font-size:16px;margin:0 10px}.takedowns>span{font-size:8px;color:#d4e0e0aa}.speed-panel{position:absolute;bottom:40px;right:38px;width:245px;text-align:right}.speed-panel>span{color:#e2d5c2;font-size:8px;letter-spacing:3px}.speed-panel>div{display:flex;align-items:baseline;justify-content:flex-end;gap:10px}.speed-panel strong{font-size:82px;letter-spacing:-5px;font-style:italic;line-height:1.15;font-variant-numeric:tabular-nums}.speed-panel b{font-size:10px;color:#e7eef1c0;letter-spacing:1px}.speed-panel small{font-size:8px;letter-spacing:2px;color:#dee6eb8c;display:block;margin-top:10px}.speed-panel small b{font-size:8px;color:#cef1cb;margin-left:6px}.speed-panel .speed-lines{gap:5px;justify-content:stretch;margin-top:6px;transform:skew(-20deg)}.speed-lines i{height:5px;background:#ffffff2b;flex:1}.speed-lines i.lit{background:#f1f5f7}.speed-lines i.hot{background:var(--orange)}.combat-hint{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;font-size:9px;white-space:nowrap}.combat-hint span{color:#d4e1e9}.combat-hint kbd{margin:0 4px}.combat-hint i{font-style:normal;font-size:8px;color:var(--orange);min-width:50px;text-align:center}kbd{font:10px system-ui;border:1px solid #fff4;border-radius:2px;padding:3px 6px;background:#16263155}.race-message{position:absolute;top:27%;left:50%;transform:translate(-50%);font-size:23px;font-style:italic;font-weight:800;color:#ffd294;letter-spacing:2px;text-align:center;text-shadow:0 2px 20px #000;white-space:nowrap;opacity:0;transition:opacity .2s}.race-message.visible{opacity:1}.countdown{position:fixed;z-index:20;top:33%;left:50%;transform:translate(-50%,-10%);text-align:center;pointer-events:none;text-shadow:0 2px 30px #152b3a55}.countdown span,.countdown small{display:block;font-size:11px;letter-spacing:4px;color:#f4e9dc}.countdown strong{font-size:150px;line-height:1.1;font-style:italic;color:#fff;font-weight:950;letter-spacing:-10px}.countdown small{font-size:9px;letter-spacing:1px}.modal-layer{position:fixed;inset:0;background:#030d17a8;backdrop-filter:blur(10px);z-index:40;display:grid;place-items:center;padding:25px;overflow:auto}.dialog{width:min(100%,420px);background:linear-gradient(140deg,#1e303e,#101d29);border:1px solid #e0ecff27;padding:36px;box-shadow:0 20px 100px #0005;position:relative;max-height:calc(100dvh - 40px);overflow:auto}.dialog:before{content:"";height:3px;width:45px;background:var(--orange);position:absolute;top:0;left:36px}.dialog h2{font-size:31px;letter-spacing:-1px;margin:21px 0 12px}.dialog p{font-size:12px;color:#aabecb;line-height:1.8;margin-bottom:25px}.primary,.secondary{display:block;width:100%;padding:15px;font-size:13px;font-weight:700;margin:10px 0;letter-spacing:1px}.primary{background:var(--orange);color:#12212d}.secondary{border:1px solid #ffffff35;background:#182c3b}.text-button{display:block;font-size:11px;color:#b9c8d0;text-align:center;padding:12px;width:100%}.help-dialog{width:min(100%,530px)}.instructions{margin:25px 0}.instructions>div+div{border-top:1px solid #ffffff15;padding-top:13px}.instructions b{font-size:13px}.instructions p{font-size:11px;margin:7px 0 17px}.instructions kbd{font-size:9px}.results-dialog{text-align:center;width:440px}.results-dialog .eyebrow{justify-content:center}.result-rank{font-size:100px;font-weight:900;line-height:1;margin-top:22px;color:var(--orange);font-style:italic}.result-rank span{font-size:35px}.result-rank strong{letter-spacing:-8px}.results-dialog h2{font-size:28px;margin:12px 0}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-block:1px solid #fff2;padding:16px 0}.result-stats span{display:block;font-size:9px;color:#aebfca}.result-stats b{display:block;font-size:15px;margin-top:9px;font-variant-numeric:tabular-nums}.standings{list-style:none;text-align:left;padding:0;max-height:150px;overflow:auto;font-size:11px}.standings li{display:flex;justify-content:space-between;padding:7px 8px;border-bottom:1px solid #fff1}.standings li.you{color:var(--orange);background:#ff713a0c}.standings b{font-weight:400}.no-script{position:fixed;inset:40%;background:#152630;padding:25px;z-index:100}.touch-controls{position:fixed;z-index:25;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;display:none;justify-content:space-between;gap:10px;pointer-events:none}.touch-controls>div{display:flex;align-items:center;gap:8px}.touch-controls button{pointer-events:auto;user-select:none;touch-action:none;background:#1123329c;border:1px solid #e6f4ff55;backdrop-filter:blur(8px);width:55px;height:55px;font-size:18px;border-radius:10px}.touch-controls button.pressed{background:#dc7041c4;border-color:#ffa877}.touch-controls .touch-brake{font-size:10px;width:43px;height:45px}.touch-combat button{font-size:11px;width:48px;height:48px}.touch-combat .touch-boost{width:62px;height:62px;color:#aff4ff;border-color:#75e7f3a1;background:#155066a1}#damage-flash{pointer-events:none;box-shadow:inset 0 0 110px 30px #ff371865;z-index:21;opacity:0;transition:opacity .15s}body:not([data-phase=ready]) .topbar{display:none}body:not([data-phase=ready]) .vignette{background:linear-gradient(0deg,#081521af,transparent 27%,transparent 75%,#0815214d)}body[data-boost=true] .vignette{box-shadow:inset 0 0 70px #36c6ed35}.fatal .topbar{display:none}@media (min-width:1400px) and (min-height:880px){.garage-content{margin-top:145px;width:470px}h1{font-size:82px}.track-art{height:60px}.intro{margin-bottom:35px}.garage-settings{margin:24px 0}}@media (max-height:780px) and (min-width:801px){.topbar{padding-block:18px}.garage-content{margin-top:83px;margin-bottom:65px;width:390px}h1{font-size:57px;margin-top:17px}h1>span{font-size:27px;letter-spacing:12px}.english-title{margin-block:11px;font-size:12px}.intro{font-size:11px;margin-bottom:18px}.track-art{height:36px}.choice-group{margin-bottom:10px}.garage-settings{margin-block:12px 16px}.garage-settings select{padding:9px}.start-button{padding:13px 18px}.garage-bottom{bottom:14px}}@media (max-width:800px){.topbar{padding:20px}.wordmark{font-size:10px;letter-spacing:1px}.wordmark small{font-size:7px}.brand-symbol{width:25px;height:29px;font-size:17px}.top-actions{gap:4px}.icon-button{font-size:9px;padding:8px}.exit-link{display:none}.garage-content{margin:102px 24px 92px;width:min(430px,calc(100% - 48px))}.vignette{background:linear-gradient(90deg,#08111ce0,#08111c80),linear-gradient(0deg,#08111c8c,transparent)}h1{font-size:65px}h1>span{font-size:29px;letter-spacing:10px}.intro{font-size:12px}.showroom-label{display:none}.garage-bottom{left:24px;right:24px;bottom:18px;gap:15px;font-size:8px}.garage-bottom>span{display:none}.garage-bottom label{margin-left:auto}.race-top{left:18px;right:18px;top:21px}.position-panel strong{font-size:46px}.position-panel>span{font-size:7px;letter-spacing:1px}.position-panel b{font-size:12px}.race-info strong{font-size:19px}.race-info>span{font-size:9px;letter-spacing:2px}.pause-button{width:33px;height:33px;font-size:14px}.race-progress{left:20px;top:102px;width:135px}.race-progress>div:first-child{font-size:6px}.map-panel{left:17px;top:133px;width:110px}.map-panel>div{font-size:6px}.race-message{top:32%;font-size:19px}.bike-status{left:22px;width:145px;bottom:114px}.speed-panel{right:22px;width:155px;bottom:114px}.speed-panel strong{font-size:58px}.speed-panel b{font-size:8px}.speed-panel>span{font-size:7px;letter-spacing:1px}.speed-panel small{display:none}.takedowns{margin-top:12px}.takedowns>span{display:none}.stat-label{font-size:8px;margin-bottom:7px}.stat-label kbd{display:none}.nitro-label{margin-top:11px}.combat-hint{display:none}.touch-controls{display:flex;left:16px;right:16px}.touch-controls>div{gap:5px}.touch-controls button{width:43px;height:50px;font-size:15px}.touch-controls .touch-brake{width:35px;height:41px;font-size:9px}.touch-combat button{width:37px;height:43px;font-size:10px}.touch-combat .touch-boost{width:49px;height:56px;font-size:10px}.dialog{padding:27px}.dialog h2{font-size:28px}.countdown strong{font-size:120px}}@media (pointer:coarse){.touch-controls:not([hidden]){display:flex}.bike-status,.speed-panel{bottom:110px}.combat-hint{display:none}}@media (max-width:800px) and (max-height:700px){.garage-content{margin-top:80px;margin-bottom:72px}h1{font-size:50px;margin-top:17px}h1>span{font-size:24px;margin-top:8px}.english-title{font-size:11px;margin:11px 0}.intro{font-size:11px;margin:0 0 18px}.track-art{height:30px}.choice-group{margin-bottom:12px}.garage-settings{margin:12px 0 17px}.garage-settings select{padding:10px 5px;font-size:10px}.start-button{padding:13px 16px}.garage-foot{font-size:7px}.garage-bottom{position:fixed;bottom:12px}.map-panel{display:none}}@media (orientation:landscape) and (max-height:520px){.garage-content{margin:75px 0 60px 35px;width:355px}.garage{overflow:auto}.showroom-label{display:block;right:25px;bottom:60px;width:210px}.showroom-label strong{font-size:22px}.garage-bottom{background:#13222de6;padding:7px;bottom:0;left:0;right:0}.garage-bottom>span{display:block}.race-top{top:14px}.race-info strong{font-size:18px;margin:4px 0}.position-panel strong{font-size:40px}.race-progress{top:84px;width:140px}.map-panel{display:none}.bike-status{bottom:80px;left:22px;width:150px}.speed-panel{bottom:80px;right:22px;width:150px}.speed-panel strong{font-size:48px}.touch-controls{bottom:12px}.race-message{top:25%;font-size:17px}.countdown{top:15%}.countdown strong{font-size:100px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.vignette,.race-message,.meter i,#damage-flash{transition:none}}.bike-trait{font-size:10px;color:#b6c6cc;line-height:1.65;margin:-10px 0 17px}.results-dialog{max-width:100%}
