@font-face{font-family:Chakra;src:url('../fonts/chakra-petch-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#0d1c29;--panel:rgba(12,29,42,.96);--paper:#f4f0e6;--muted:#aab9c1;--line:rgba(224,235,232,.20);--accent:#f06b4d;--gold:#e9b863;font-family:system-ui,-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--paper);background:#172432}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#world{position:fixed;inset:0;background:#88aeba}#world canvas{display:block;width:100%;height:100%}#loading{position:fixed;z-index:30;inset:0;display:grid;place-items:center;background:var(--ink);font:700 17px Chakra,system-ui;letter-spacing:.17em}
.overlay{position:fixed;inset:0;z-index:3}.setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(355px,420px);grid-template-rows:auto 1fr;background:linear-gradient(90deg,rgba(5,23,35,.70),transparent 55%)}.site-nav{grid-column:1;grid-row:1;display:flex;align-items:center;gap:25px;padding:26px clamp(24px,4vw,62px);height:88px}.backlink,.language{font:700 12px Chakra,system-ui;letter-spacing:.07em}.backlink{border-bottom:1px solid rgba(255,255,255,.35);padding:9px 0}.backlink:hover,.garage-foot a:hover{color:var(--gold)}.brand{font:700 15px Chakra,system-ui;letter-spacing:.11em;margin-left:auto}.brand i{font-style:normal;color:var(--accent);padding:0 4px}.language{border:1px solid var(--line);padding:9px 12px}.hero-copy{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px clamp(24px,4vw,62px) 42px;max-width:840px;min-height:0}.eyebrow{font:700 11px Chakra,system-ui;letter-spacing:.15em;color:var(--gold)}.hero-copy h1{font:700 clamp(57px,6.1vw,90px)/.91 Chakra,system-ui;letter-spacing:-.045em;text-transform:uppercase;margin:14px 0 22px;max-width:700px;text-shadow:0 8px 30px rgba(0,0,0,.26)}html[data-lang=zh] .hero-copy h1{font-size:clamp(54px,6.6vw,100px);letter-spacing:.02em}.hero-rule{display:block;width:80px;height:5px;background:var(--accent)}.hero-copy h2{font:700 clamp(21px,2.25vw,31px)/1.3 Chakra,system-ui;margin:24px 0 5px}.hero-copy p{font-size:14px;line-height:1.7;color:#e2e9e7;margin:0;max-width:470px}.hero-road{display:flex;align-items:center;gap:15px;margin-top:32px;padding-top:15px;border-top:1px solid rgba(255,255,255,.4);min-width:270px}.road-index{font:700 47px/.9 Chakra;color:var(--accent)}.hero-road b{display:block;font:700 15px Chakra,system-ui;text-transform:uppercase}.hero-road small{display:block;font-size:11px;color:#d6e4e4;line-height:1.5;margin-top:4px}.hero-copy .desktop-controls{font:700 10px Chakra,system-ui;letter-spacing:.04em;margin-top:30px;color:#d1d8d8}
.garage{grid-column:2;grid-row:1/3;background:var(--panel);border-left:4px solid var(--accent);padding:29px 25px max(22px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--accent) #112534;box-shadow:-16px 0 50px rgba(2,12,20,.19)}.garage-head,.choice-title,.spec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.garage-head{margin-bottom:14px}.garage-head strong{font:700 12px Chakra}.garage-head i{font-style:normal;color:var(--muted)}.bike-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bike-choice{position:relative;display:grid;grid-template-columns:8px 1fr;grid-template-rows:auto auto;column-gap:9px;text-align:left;min-height:61px;padding:9px 10px;border:1px solid var(--line);background:rgba(255,255,255,.04);overflow:hidden}.bike-choice:before{content:'';grid-row:1/3;background:var(--bike-color);width:5px;height:100%}.bike-choice .bike-number{position:absolute;right:9px;top:8px;font:700 9px Chakra;color:#94a3ac}.bike-choice strong{grid-column:2;font:700 12px/1.1 Chakra,system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.bike-choice small{grid-column:2;font-size:9px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:5px}.bike-choice:hover,.road-choice:hover{border-color:rgba(255,255,255,.7)}.bike-choice[aria-pressed=true]{border-color:var(--accent);background:rgba(240,107,77,.15)}.bike-choice[aria-pressed=true] .bike-number{color:var(--accent)}.choice-title{margin:24px 0 12px}.choice-title>span:last-child{font:700 10px Chakra;color:var(--muted)}.road-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.road-choice{min-height:64px;padding:9px 8px;border:1px solid var(--line);background:rgba(255,255,255,.04);text-align:left}.road-choice small{display:block;font:700 10px Chakra;color:var(--accent);margin-bottom:8px}.road-choice strong{display:block;font-size:11px;line-height:1.2}.road-choice[aria-pressed=true]{background:rgba(233,184,99,.16);border-color:var(--gold)}.spec-head{margin:24px 0 10px}.spec-head strong{font:700 12px Chakra,system-ui}.spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.spec-grid div{padding-left:9px;border-left:1px solid var(--line)}.spec-grid div:first-child{border-left:0;padding-left:0}.spec-grid span{display:block;font:700 8px Chakra,system-ui;color:var(--muted);letter-spacing:.05em;min-height:22px}.spec-grid b{font:700 17px Chakra;font-variant-numeric:tabular-nums}.primary{background:var(--accent);color:#081925;border:0;font:700 15px Chakra,system-ui;letter-spacing:.05em;min-height:55px;padding:14px 18px}.primary:hover{background:#ff8669}.garage>.primary{margin-top:16px;width:100%;display:flex;align-items:center;justify-content:space-between}.garage>.primary span:last-child{font-size:24px}.garage-foot{display:flex;align-items:center;gap:15px;margin-top:14px;font-size:11px;color:var(--muted)}.garage-foot a{border-bottom:1px solid var(--line);padding-bottom:3px;white-space:nowrap}.garage-foot button{border:1px solid var(--line);background:none;min-width:34px;min-height:30px}.garage-foot>span{margin-left:auto;text-align:right;font-size:10px;line-height:1.3}
.game-hud{position:fixed;inset:0;pointer-events:none;z-index:4;font-family:Chakra,system-ui}.hud-score{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));padding:11px 17px;background:rgba(9,26,39,.83);border-left:4px solid var(--accent);min-width:150px}.hud-score>span,.hud-distance>span,.hud-combo>span{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted)}.hud-score strong{display:block;font-size:37px;line-height:1.1}.hud-score small{font-size:10px;color:var(--muted)}.hud-score small b{color:var(--paper);font-size:13px}.hud-combo{position:absolute;top:20px;left:50%;transform:translateX(-50%);padding:8px 18px;background:rgba(240,107,77,.87);text-align:center}.hud-combo>span{color:#183042}.hud-combo strong{display:block;font-size:29px;color:#102633}.hud-actions{position:absolute;top:max(20px,env(safe-area-inset-top));right:max(23px,env(safe-area-inset-right));display:flex;gap:6px;pointer-events:auto}.hud-actions button{width:43px;height:43px;border:1px solid rgba(255,255,255,.47);background:rgba(9,26,39,.80);font:700 17px Chakra}.hud-actions button:hover{background:var(--accent);color:var(--ink)}.hud-distance{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:max(25px,env(safe-area-inset-left));padding:12px 15px;background:rgba(9,26,39,.80)}.hud-distance strong{font-size:29px}.hud-distance small{font-size:11px;padding-left:4px;color:var(--muted)}.hud-speed{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));right:max(24px,env(safe-area-inset-right));display:flex;align-items:baseline;gap:8px;padding:10px 15px;background:rgba(9,26,39,.80);border-bottom:4px solid var(--accent)}.hud-speed strong{font-size:61px;line-height:1;font-variant-numeric:tabular-nums}.hud-speed span{font-size:11px;color:var(--muted)}#notice{position:absolute;top:20%;left:50%;transform:translate(-50%,-8px);opacity:0;background:rgba(9,26,39,.9);padding:10px 18px;color:var(--gold);font:700 14px Chakra,system-ui;text-align:center;white-space:nowrap;transition:opacity .2s,transform .2s}#notice.visible{opacity:1;transform:translate(-50%,0)}
.touch-controls{position:fixed;z-index:5;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:none;justify-content:space-between;pointer-events:none}.touch-steer,.touch-pedals{display:flex;gap:11px;align-items:flex-end;pointer-events:auto}.touch-controls button{width:72px;height:65px;border:1px solid rgba(255,255,255,.6);background:rgba(8,29,42,.7);border-radius:7px;backdrop-filter:blur(5px);touch-action:none;user-select:none;font:700 15px Chakra,system-ui}.touch-steer button{font-size:45px;line-height:1}.touch-pedals button[data-drive=gas]{height:82px;background:rgba(199,78,48,.82)}.touch-controls button.held{background:var(--paper);color:var(--ink)}
.modal{position:fixed;inset:0;z-index:8;background:rgba(5,17,27,.73);display:grid;place-items:center;padding:20px}.modal-card{width:min(440px,100%);background:#112939;border:1px solid var(--line);border-top:5px solid var(--accent);padding:32px;display:flex;flex-direction:column;gap:17px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.modal-card h2{font:700 32px/1.15 Chakra,system-ui;margin:0}.modal-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.modal-card>button:not(.primary){border:1px solid var(--line);background:none;min-height:43px;font-size:12px;font-weight:700}.modal-card>button:not(.primary):hover{border-color:var(--paper)}.modal-card .primary{width:100%}.result-card{width:min(490px,100%)}.result-card h2{font-size:21px;color:var(--muted)}.result-score{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.result-score>span{font:700 10px Chakra;color:var(--muted)}.result-score strong{font:700 55px Chakra}.result-score b{color:var(--gold);font-size:10px;margin-left:auto}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-grid div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px}.result-grid span{font-size:10px;color:var(--muted)}.result-grid b{font:700 16px Chakra}.noscript{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:var(--ink);padding:30px}
@media(max-height:800px) and (min-width:721px){.garage{padding-top:20px}.hero-copy{padding-bottom:24px}.hero-copy h1{font-size:clamp(50px,5.8vw,82px)}.hero-road{margin-top:22px}.garage-head{margin-bottom:9px}.bike-choice{min-height:54px}.choice-title,.spec-head{margin-top:16px}.spec-grid{padding:9px 0}.garage>.primary{min-height:50px}}
@media(max-width:850px){.setup{grid-template-columns:minmax(0,1fr) minmax(330px,390px)}.site-nav{padding-inline:23px}.hero-copy{padding-inline:24px}.hero-copy h1{font-size:clamp(51px,7vw,75px)}.hero-copy p{font-size:12px}.brand{font-size:11px}.garage{padding-inline:17px}}
@media(max-width:720px){html,body{overflow:hidden}.setup{display:block;overflow-y:auto;background:linear-gradient(180deg,rgba(5,23,35,.55),rgba(5,23,35,.26) 25%,rgba(5,23,35,.85) 53%)}.site-nav{height:70px;padding:15px 20px}.brand{margin-left:auto}.hero-copy{min-height:42vh;padding:18px 20px 24px;justify-content:flex-end}.hero-copy h1{font-size:clamp(51px,12vw,82px);margin:10px 0 15px}.hero-copy h2{font-size:20px;margin:15px 0 6px}.hero-copy p{font-size:12px}.hero-road,.desktop-controls{display:none!important}.garage{height:auto;overflow:visible;border-left:0;border-top:4px solid var(--accent);box-shadow:none;padding:22px 20px 35px;background:rgba(12,29,42,.97)}.garage-foot>span{display:none}.game-hud .hud-score{left:11px;top:11px;min-width:116px;padding:7px 10px}.hud-score strong{font-size:29px}.hud-actions{right:11px;top:11px}.hud-actions button{width:36px;height:36px;font-size:14px}.hud-combo{top:58px}.hud-distance{left:12px;bottom:110px;padding:8px 10px}.hud-distance strong{font-size:23px}.hud-speed{right:12px;bottom:116px;padding:6px 10px}.hud-speed strong{font-size:42px}.hud-speed span{font-size:9px}.touch-controls{display:flex;bottom:13px;left:12px;right:12px}.touch-controls button{width:58px;height:58px}.touch-pedals button[data-drive=gas]{height:73px}#notice{top:25%;font-size:11px;max-width:90%;white-space:normal}}
@media(pointer:coarse) and (min-width:721px),(max-width:900px) and (max-height:550px){.touch-controls{display:flex}.hud-distance,.hud-speed{bottom:115px}}
@media(max-height:550px) and (min-width:721px){.hero-copy h1{font-size:52px}.hero-copy h2,.hero-copy>p,.hero-road,.desktop-controls{display:none!important}.site-nav{height:64px;padding-block:10px}.hero-copy{padding-bottom:22px}.garage{padding-top:12px}.bike-choice{min-height:49px;padding:7px}.choice-title,.spec-head{margin-top:10px}.road-choice{min-height:49px}.spec-grid{padding:5px 0}.garage>.primary{min-height:42px;margin-top:8px}.garage-foot{margin-top:6px}.hud-distance,.hud-speed{bottom:100px}}
@media(prefers-reduced-motion:reduce){#notice{transition:none}.primary,.bike-choice,.road-choice{scroll-behavior:auto}}
.hero-copy{position:relative}.preview-rotate{position:absolute;top:76px;right:32px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.7);background:rgba(8,25,38,.68);color:#fff;font:700 11px Chakra,system-ui;letter-spacing:.08em;cursor:pointer}.preview-rotate span:first-child{font-size:21px;line-height:1}.preview-rotate:hover,.preview-rotate:focus-visible{background:#e77859;color:#0c1824}@media(max-width:720px){.preview-rotate{top:20px;right:20px}}@media(max-height:550px) and (min-width:721px){.preview-rotate{top:12px;right:16px}}
@media(max-width:720px){.hero-copy>p:not(.desktop-controls){max-width:240px}}
@media(max-width:720px){.setup{background:linear-gradient(180deg,rgba(5,23,35,.43),rgba(5,23,35,.13) 26%,rgba(5,23,35,.39) 53%)}.hero-copy h1,.hero-copy h2,.hero-copy p{text-shadow:0 2px 9px rgba(2,12,20,.85)}}
#vehicleStatus{margin:14px 0 0;padding-left:10px;border-left:3px solid var(--line);font:700 11px/1.45 Chakra,system-ui;color:var(--muted)}
#retryVehicles{margin-top:8px;border:1px solid var(--line);background:none;color:var(--paper);font:700 12px Chakra,system-ui;padding:11px 14px}
#retryVehicles:hover{border-color:var(--paper)}
.garage>.primary:disabled{opacity:.55;cursor:not-allowed}
