@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,800;1,900&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap');
:root{--orange:#ff713d;--dim:#858589;--line:#303033;--bg:#111113;--white:#f2f0ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:'Noto Sans SC',sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}[hidden]{display:none!important}.header{height:90px;border-bottom:1px solid #29292b;display:flex;justify-content:space-between;align-items:center;padding:0 4.5%}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px}.logo{background:var(--orange);color:#111;font-size:38px;width:39px;height:39px;display:grid;place-items:center;font-weight:900;line-height:1;transform:skew(-7deg)}.brand strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;letter-spacing:1.5px}.brand-dot{font:10px Arial;vertical-align:top;margin-left:3px}.brand-caption{font-size:11px;color:#939396;border-left:1px solid #414144;padding-left:20px;margin-left:16px;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:27px}.online{font:10px monospace;letter-spacing:1px;color:#929497;display:flex;gap:8px;align-items:center}.online i,.live-dot{width:5px;height:5px;background:#b3ce94;border-radius:50%;box-shadow:0 0 9px #b3ce9455}.icon-button{color:#d7d5cf;background:none;border:0;display:flex;align-items:center;gap:9px;font:19px monospace}.icon-button span{font:11px 'Noto Sans SC',sans-serif;color:#aaa}.icon-button:hover{color:var(--orange)}main{padding:0 4.5%;max-width:1800px;margin:auto}.section-line{height:59px;display:flex;align-items:center;justify-content:space-between;font:10px monospace;letter-spacing:1.5px;color:#8d8d91}.section-line>span:first-child{display:flex;gap:9px;align-items:center}.tiny-square{display:inline-block;width:5px;height:5px;background:var(--orange)}.section-line b{color:var(--orange);padding:0 9px}.arena{height:min(660px,66vw);min-height:530px;position:relative;background:#0b1018;border:1px solid #3a3533;overflow:hidden;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#0c0e13ec 0%,#0c0e1366 29%,transparent 60%),linear-gradient(0deg,#080b11e6,transparent 25%,transparent 85%,#090d1677)}.arena.playing .vignette{background:linear-gradient(0deg,#080b11cf,transparent 25%,transparent 85%,#090d1666)}.hud{position:absolute;inset:29px 32px auto;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.mission{display:flex;gap:10px;align-items:center}.live-dot{background:var(--orange);box-shadow:0 0 8px #ff713d77}.mission small{font:9px monospace;letter-spacing:1px;color:#979ba5}.mission strong{display:block;font-size:14px;font-weight:500;margin-top:5px}.mission strong span{font:10px monospace;color:#929397;margin-left:12px}.hud-right{display:flex;align-items:center;gap:24px}.score-box{text-align:right}.score-box small{font-size:9px;color:#9c9ca4;letter-spacing:2px}.score-box strong{display:block;font:38px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;margin-top:6px}.square-button{width:36px;height:36px;color:#fff;border:1px solid #686b7055;background:#181b2399;font-size:16px;pointer-events:auto}.intro{position:absolute;left:5.4%;top:19%;max-width:380px}.eyebrow{font:9px monospace;letter-spacing:2px;color:var(--orange);display:flex;align-items:center;gap:9px}.eyebrow>span{width:22px;height:1px;background:var(--orange)}h1{font:italic 900 clamp(78px,7.5vw,116px)/.76 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;margin:24px 0 20px;position:relative;width:max-content}h1 em{color:var(--orange);font-style:italic;display:inline-block;margin-left:-5px;margin-top:6px}.title-arrow{position:absolute;font:normal 500 45px/1 sans-serif;right:-50px;top:4px;color:var(--orange)}.intro h2{font-size:20px;letter-spacing:2px;margin:21px 0 12px}.intro p{font-size:11px;color:#a2a5ad;line-height:1.9;letter-spacing:.5px;margin-bottom:23px}.start-button{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border:0;background:var(--orange);color:#1a100c;font-weight:700;font-size:13px;min-width:216px;letter-spacing:1px;transition:background .15s,transform .15s}.start-button:hover{background:#ff905c;transform:translateY(-2px)}.start-button span{font:24px/1 Arial;margin-left:30px}.start-hint{display:flex;align-items:center;gap:7px;font:8px monospace;letter-spacing:1px;color:#757981;margin-top:12px}.key{border:1px solid #56565a;padding:0 3px;font-size:11px}.divider{height:8px;border-right:1px solid #4b4d54;margin:0 3px}.best{margin-top:30px;border-top:1px solid #61636a44;padding-top:15px;font-size:9px;color:#828690;display:flex;align-items:center;gap:14px}.best b{color:#d7d5ce;font:18px 'Barlow Condensed',monospace;letter-spacing:2px}.best>span{font:7px monospace;letter-spacing:1px;margin-left:auto}.car-label{position:absolute;right:10%;top:39%;display:flex;gap:13px;align-items:center;pointer-events:none}.label-line{width:46px;height:26px;border-top:1px solid #899ca380;border-left:1px solid #899ca380;transform:skewY(-25deg);align-self:flex-end;margin-bottom:-5px}.car-label small{font:8px monospace;letter-spacing:1px;color:#8c9aa7}.car-label strong{display:block;font-size:12px;font-weight:500;margin:7px 0}.car-label div>span{font-size:9px;color:#7c8b99}.bottom-hud{position:absolute;bottom:31px;left:33px;right:33px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.fuel{width:180px}.fuel-title{display:flex;justify-content:space-between;align-items:baseline;font-size:10px}.fuel-title>span{color:#bfc4ce;letter-spacing:1px}.fuel-title b{font:19px 'Barlow Condensed',monospace;font-weight:500}.fuel-title b span{font:10px monospace;color:#7f8896;margin-left:2px}.fuel-track{height:4px;background:#65748233;margin:9px 0}.fuel-track div{height:100%;width:100%;background:#b4e7f3;box-shadow:0 0 8px #7dd5f03a;transition:width .1s}.fuel small{font:7px monospace;letter-spacing:1px;color:#7d8c9b}.speed{display:flex;gap:9px;align-items:center}.speed>strong{font:italic 600 52px/.85 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px}.speed>div{font:9px monospace;color:#9da6af}.speed span{display:block;margin-top:8px;font-size:8px;color:#616e7e}.health{margin-right:auto;margin-left:35px;align-self:center}.health span{font-size:8px;color:#7f8998;display:block;margin-bottom:6px}.health b{color:var(--orange);letter-spacing:3px}.corner-mark{position:absolute;right:32px;bottom:10px;font:6px monospace;letter-spacing:1px;color:#657181}.corner-mark span{color:var(--orange);margin:0 6px}.control-strip{min-height:125px;display:grid;grid-template-columns:1.2fr 1.1fr 1.35fr .95fr;gap:24px;align-items:center;border-bottom:1px solid #2b2b2d}.control-intro{font-size:10px;color:#828287;line-height:2;position:relative;padding-left:17px}.control-intro .tiny-square{position:absolute;left:0;top:7px}.control-intro strong{color:#dbd9d4;font-size:13px;font-weight:500}.control-item{display:flex;align-items:center;gap:15px}.control-item strong{font-size:11px;font-weight:500;display:block;letter-spacing:.5px}.control-item span{display:block;font-size:9px;color:#7c7c82;margin-top:7px}kbd{display:inline-flex;width:32px;height:34px;align-items:center;justify-content:center;border:1px solid #4a4848;border-bottom:3px solid #4a4848;border-radius:4px;background:#1b1b1e;font:15px 'Barlow Condensed',monospace;color:#d4d3d0}.key-group{display:flex;gap:5px}footer{display:flex;align-items:center;justify-content:space-between;font:8px monospace;letter-spacing:1px;color:#606065;min-height:64px}footer>span:nth-child(2){font:9px 'Noto Sans SC',sans-serif;letter-spacing:0}footer i{font-style:normal;color:#7c533e;margin:0 8px}.footer-right b{color:var(--orange);font-size:17px;margin-left:20px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#080b14bc;backdrop-filter:blur(8px);z-index:8}.modal{width:min(430px,90%);padding:34px;background:#171a22;border:1px solid #494348;box-shadow:0 30px 100px #0008}.modal h2{font-size:27px;margin:17px 0}.modal p{font-size:12px;color:#a5adb9;line-height:1.9}.modal .start-button{margin-top:25px;width:100%}.text-button{display:block;background:none;border:0;color:#939eae;font-size:11px;margin:17px auto 0}.manual-row{display:flex;align-items:center;gap:18px;margin:17px 0;font-size:12px;color:#c2c7d1}.manual-row span{font-size:10px;color:#7b8999;display:block;margin-top:4px}.result-grid{display:flex;gap:38px;margin:22px 0}.result-grid small{display:block;color:#858f9e;font-size:10px}.result-grid strong{font:42px 'Barlow Condensed',monospace;color:var(--orange)}.toast{position:absolute;top:25%;left:50%;transform:translateX(-50%);font:600 16px 'Noto Sans SC',sans-serif;color:#c0f9ff;text-shadow:0 0 15px #0ff6;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;white-space:nowrap}.toast.show{opacity:1}.warning{position:absolute;left:50%;bottom:25%;transform:translateX(-50%);background:#ff713d20;border:1px solid #ff713d70;padding:10px 18px;color:#ffb18f;font-size:11px;white-space:nowrap;animation:warn .6s infinite alternate}@keyframes warn{to{opacity:.5}}.play-controls{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);display:flex;gap:8px;z-index:3}.play-controls button{height:38px;min-width:40px;border:1px solid #d5e1ec30;background:#182331a6;color:#e7edf5;font:20px monospace;touch-action:none;border-radius:3px}.play-controls .jet-control{color:#ff925e;border-color:#ff713d66;padding:0 16px}.jet-control span{font:11px 'Noto Sans SC'}.arena.playing .intro,.arena.playing .car-label{display:none}.arena.playing .corner-mark{display:none}
@media(min-width:1600px){.arena{height:720px}.intro{top:20%}h1{font-size:130px}.intro p{font-size:13px}.start-button{padding:19px 25px}}
@media(max-width:1100px){.header{padding:0 3%;height:76px}main{padding:0 3%}.brand-caption{display:none}.control-strip{gap:15px;grid-template-columns:1fr 1fr 1.3fr}.pause-tip{display:none}.intro{top:20%}h1{font-size:85px}.intro h2{font-size:17px}.car-label{right:6%;top:35%}.control-item{gap:10px}footer .footer-right{display:none}.arena{min-height:590px}.best{margin-top:20px}.hud{inset:24px 25px auto}.play-controls{bottom:95px}}
@media(max-width:650px){body{font-size:12px}.header{height:66px;padding:0 5%}.brand strong{font-size:22px}.logo{width:30px;height:31px;font-size:30px}.header-right{gap:13px}.online{display:none}.icon-button{font-size:17px}.icon-button span{font-size:10px}main{padding:0 4%}.section-line{height:42px;font-size:7px;letter-spacing:.6px}.section-line>span:last-child{font-size:6px}.arena{height:calc(100svh - 160px);min-height:610px;max-height:790px}.intro{left:7%;top:19%}.eyebrow{font-size:8px}h1{font-size:96px;margin-top:25px}.intro h2{font-size:18px;letter-spacing:1px}.intro p{font-size:10px}.start-button{min-width:205px;padding:15px 20px}.best{margin-top:24px;max-width:240px}.hud{inset:20px 18px auto}.mission small{font-size:6px;letter-spacing:.5px}.mission strong{font-size:12px}.score-box strong{font-size:30px}.score-box small{font-size:8px}.hud-right{gap:13px}.car-label{right:5%;top:auto;bottom:25%}.car-label small{font-size:6px}.car-label strong{font-size:9px}.car-label div>span{font-size:7px}.label-line{width:25px}.bottom-hud{left:20px;right:20px;bottom:24px}.fuel{width:133px}.fuel-title{font-size:9px}.fuel small{font-size:6px}.speed>strong{font-size:43px}.speed>div{font-size:7px}.health{position:absolute;bottom:89px;left:0;margin:0}.health b{font-size:11px}.health span{font-size:7px}.control-strip{grid-template-columns:1fr 1fr;gap:25px 12px;padding:27px 3%;min-height:170px}.control-intro{font-size:9px}.control-intro strong{font-size:11px}.control-item strong{font-size:10px}.control-item span{font-size:8px}kbd{width:28px;height:30px;font-size:14px}.key-group{gap:3px}footer{display:block;padding:20px 0;line-height:2.5;font-size:7px}footer span{display:block}footer>span:nth-child(2){font-size:8px}.play-controls{bottom:110px;width:100%;justify-content:center;gap:9px}.play-controls button{height:45px;min-width:46px}.play-controls .jet-control{padding:0 18px}.arena.playing .vignette{background:linear-gradient(0deg,#080b11e6,transparent 35%,transparent 85%,#090d1666)}.arena:not(.playing) .vignette{background:linear-gradient(90deg,#0c0e13e8,#0c0e1330),linear-gradient(0deg,#080b11ed,transparent 28%)}.toast{top:19%;font-size:13px}.warning{bottom:36%;font-size:10px;padding:9px}.modal{padding:26px}.modal h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.warning{animation:none}*{scroll-behavior:auto}}
@media(min-width:651px){.arena:not(.playing) .fuel{visibility:hidden}}
@media(max-width:650px){.arena:not(.playing) .car-label{display:none}}
@media(max-width:650px){.health{bottom:172px}}
/* Highway edition */
.charge-slots{display:flex;gap:5px;margin-top:9px}.charge-slots i{font:18px/21px monospace;font-style:normal;flex:1;text-align:center;color:#52606b;background:#92bde713;border:1px solid #68798944;transform:skew(-9deg)}.charge-slots .filled{color:#c7f6ff;background:#78d3eb24;border-color:#91dcee9c;box-shadow:0 0 12px #6cd6f018}.fuel-track{height:3px;margin:7px 0}.health b{font:10px monospace;letter-spacing:2px}.play-controls .empty{opacity:.48}.modal{max-height:90%;overflow:auto;scrollbar-width:thin;scrollbar-color:#775143 #171a22}.modal h2{line-height:1.45;font-size:24px}.score-form{margin-top:20px;border-top:1px solid #40414a;padding-top:18px}.score-form label{font-size:11px;color:#c9c9c7;display:block;margin-bottom:10px}.submit-row{display:flex;gap:7px}.submit-row input{min-width:0;flex:1;width:100%;border:1px solid #525764;background:#10151e;color:#eee;padding:11px;font:12px 'Noto Sans SC',sans-serif;border-radius:0}.submit-row input:focus{outline:1px solid var(--orange)}.submit-row button{color:#151515;background:var(--orange);border:0;padding:0 15px;font-size:11px;white-space:nowrap}.submit-row button:disabled{opacity:.6;cursor:default}.score-form small{display:block;color:#969eac;font-size:10px;line-height:1.8;margin-top:9px}.inline-link{padding:9px 0;color:#b9e4ef;font-size:11px;background:none;border:0;text-align:left}.board-status{font-size:11px;line-height:1.7;color:#919dab}.board-list{padding:0;margin:17px 0;list-style:none;max-height:240px;overflow:auto;scrollbar-width:thin}.board-list li{display:flex;align-items:center;gap:14px;border-bottom:1px solid #323640;padding:11px 2px;font-size:12px}.board-list b{font:18px 'Barlow Condensed',monospace;color:#7c8998;min-width:24px}.board-list li:nth-child(-n+3) b{color:var(--orange)}.board-list span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.board-list strong{font:22px 'Barlow Condensed',monospace}.my-rank{padding:13px;background:#8ba2b40d;border:1px solid #7585982b;color:#c2dce5;font-size:11px;line-height:1.7}.modal .result-grid{margin:12px 0}.icon-button:hover span{color:var(--orange)}
@media(min-width:651px){.arena:not(.playing) .fuel{visibility:visible;position:absolute;left:35%;width:145px}.arena:not(.playing) .fuel .charge-slots{display:none}.arena:not(.playing) .fuel .fuel-track{display:none}.arena:not(.playing) .fuel small{display:none}}
@media(max-width:650px){.header-right{gap:10px}.header .brand{gap:8px}.brand strong{font-size:20px;letter-spacing:1px}.icon-button{gap:5px}.header{padding:0 4%}.fuel{width:150px}.bottom-hud{bottom:22px}.health{bottom:185px}.play-controls{bottom:125px}.modal{padding:24px;max-height:92%}.modal h2{font-size:21px}.manual-row{margin:13px 0}.modal p{font-size:11px}.board-list{max-height:210px}.toast{max-width:88%;white-space:normal;width:max-content;line-height:1.8}.intro .best{margin-top:20px}.arena:not(.playing) .fuel{visibility:visible}}
.speed{margin-left:auto}.arena:not(.playing) .fuel{visibility:hidden!important}

/* Keep gameplay swipes in the arena; menus and ranking lists retain native scrolling. */
.arena.gesture-active{touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.game-scroll-locked{overflow:hidden;overscroll-behavior:none}
.game-scroll-locked body{position:fixed;top:var(--game-scroll-top,0px);left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
.modal,.board-list{touch-action:pan-y;overscroll-behavior:contain}

@media(any-pointer:coarse){.arena.gesture-active{height:calc(100svh - 24px);min-height:0;max-height:none}}

kbd.space-key{width:auto;min-width:60px;padding:0 9px;font-size:12px;white-space:nowrap}

.toast.alert{color:#ffd1a4;text-shadow:0 1px 8px #34180c}

.chinese-title{font-family:'Noto Sans SC',sans-serif;font-style:normal;font-size:clamp(64px,6vw,91px);font-weight:900;line-height:.98;letter-spacing:-4px;margin:22px 0 18px}
.chinese-title em{font-style:normal;margin-top:0;letter-spacing:1px}
.chinese-title .title-arrow{font-size:35px;right:-42px}
@media(max-width:650px){.chinese-title{font-size:68px;letter-spacing:-3px}.header .brand strong{font-family:'Noto Sans SC',sans-serif;font-size:16px;letter-spacing:0}.header .brand{gap:7px}}

/* Continuous departure camera: the lobby copy clears as the same car touches down. */
.intro,.car-label{transition:opacity .8s ease,transform 1.4s ease}
.arena.entering .intro,.arena.entering .car-label{opacity:0;transform:translateY(-18px);pointer-events:none}
.arena.entering .fuel{visibility:hidden!important}
.arena.playing .bottom-hud{bottom:max(14px,env(safe-area-inset-bottom))}
@media(max-width:700px){.arena.playing .play-controls{bottom:88px}.arena.playing .health{bottom:146px}}

/* Blend the lobby shade without fading the world to black. */
.arena .vignette{background:linear-gradient(0deg,#080b11b3,transparent 25%,transparent 85%,#090d1655)!important}
.arena .vignette::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c0e13d9,transparent 65%);opacity:var(--lobby-shade,1);pointer-events:none}

.speed-controls{position:absolute;right:25px;top:48%;display:flex;flex-direction:column;gap:10px;z-index:4;touch-action:none}
.speed-controls button{width:52px;height:57px;background:#172333d9;border:1px solid #7a9bac77;border-radius:4px;color:#dfedf6;font:23px monospace;touch-action:none;user-select:none;-webkit-user-select:none}
.speed-controls button span{display:block;font:10px sans-serif;margin-top:3px;color:#9cb4c5}
.speed-controls button.held{background:#59331ee6;border-color:#ff935d;color:#ffad70}
@media(max-width:650px){.speed-controls{right:14px;top:auto;bottom:190px;gap:9px}.speed-controls button{width:48px;height:54px}}

.result-standing{min-height:76px;padding:13px 16px;margin:14px 0;border:1px solid #c7834544;background:linear-gradient(120deg,#ff713d16,#8fceeb0b);font-size:12px;color:#b8c6d1;text-align:center}
.result-standing small{display:block;font-size:10px;letter-spacing:2px;color:#9dabb7}
.result-standing p{margin:3px 0!important;font-size:13px!important;line-height:1.4!important;color:#deded8!important}
.result-standing strong{font:700 36px 'Barlow Condensed',Impact,sans-serif;color:#ff9c68;vertical-align:-3px;margin:0 3px}
