:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#f6f8ed;background:#17372d;font-synthesis:none;--lime:#d5f568;--ink:#142d26;--glass:rgba(18,37,32,.82);--muted:#b7c9bc}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button{color:inherit;border:0}button:disabled{cursor:wait;opacity:.5}a{color:inherit;text-decoration:none}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}#world,#art-world{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;outline:0}#art-world{pointer-events:none;overflow:hidden;z-index:2}#art-world *{pointer-events:none!important}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px 32px;background:linear-gradient(#112d3866,transparent)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--lime);color:var(--ink);font-size:28px;font-weight:900;font-style:italic;border-radius:12px}.brand b{display:block;font-size:19px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:#e4eedf}.race-strip{font-size:12px;display:flex;gap:12px;align-items:center;background:var(--glass);padding:11px 17px;border:1px solid #ecf6ca22;border-radius:30px;color:#eaf1e3}.live-dot,.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--lime)}.race-strip i{width:1px;height:12px;background:#e3efcd33}.top-actions{display:flex;gap:5px;background:var(--glass);border-radius:12px;padding:4px}.icon-button{width:34px;height:32px;border-radius:8px;background:transparent;font-size:19px;position:relative}.off-mark{position:absolute;left:13px;top:5px;font-size:20px;color:#a0b8a9}body.playing .topbar{padding-top:18px}.hud{position:fixed;inset:0;z-index:4;pointer-events:none;text-shadow:0 1px 2px #143a3140}.race-status{position:absolute;top:103px;left:32px;display:flex;align-items:center;gap:24px}.place{display:flex;align-items:center;gap:9px}.place>strong{font-size:68px;line-height:.9;font-weight:800;font-style:italic;letter-spacing:-6px;color:var(--lime)}.place>span{font-size:20px;color:#e4eee0}.place small{display:block;font-size:10px;margin-top:7px}.lap{border-left:1px solid #ffffff44;padding-left:24px}.lap small,.clock small{display:block;font-size:10px;letter-spacing:1px;color:#e5efdf}.lap b{font-size:32px;font-weight:700}.lap em{font-size:18px;font-style:normal;margin-left:8px;color:#d5e1d5}.clock{display:flex;flex-direction:column;gap:5px}.clock>b{font-size:22px;font-variant-numeric:tabular-nums;font-weight:500}.clock>span{font-size:9px;color:#dfebda}.standings{position:absolute;left:32px;top:210px;width:179px;background:linear-gradient(90deg,#143027aa,#14302700);padding:15px 12px 15px 0;border-top:1px solid #ffffff33}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#dce7d7}.section-label>span{font-size:8px;letter-spacing:1px;color:var(--lime)}.standings ol{list-style:none;padding:0;margin:11px 0 0}.standings li{display:flex;align-items:center;gap:10px;font-size:12px;height:31px;color:#ecf1e9}.standings li.you{color:var(--lime);font-weight:700}.standings li .rider-dot{width:6px;height:6px;border-radius:2px}.standings li .rank{font-size:10px;color:#bfd1be;width:10px}.standings li .gap{font-size:10px;margin-left:auto;font-variant-numeric:tabular-nums;color:#c4d3c4}.scoreboard{position:absolute;top:112px;right:32px;width:185px;text-align:right}.scoreboard>small{font-size:11px;letter-spacing:2px}.scoreboard>strong{display:block;font-size:44px;font-weight:600;letter-spacing:2px;font-variant-numeric:tabular-nums;margin-top:3px}.scoreboard>#combo{font-size:11px;color:var(--lime);margin-bottom:20px}.health{display:flex;justify-content:space-between;font-size:10px}.health>b{font-size:12px}.health-track{height:5px;background:#203f36aa;margin-top:8px;overflow:hidden;border-radius:4px}.health-track i{display:block;width:100%;height:100%;background:#d7e7bc;transition:width .3s}.minimap{position:absolute;right:32px;top:302px;width:158px}.minimap canvas{display:block;width:158px;height:130px;background:#1a3c3522;border-radius:12px}.minimap>span{display:flex;font-size:9px;justify-content:space-between;margin-top:7px;color:#eaf3e2}.minimap b{font-weight:400;font-variant-numeric:tabular-nums}.speedometer{position:absolute;bottom:68px;left:32px;display:flex;align-items:center;gap:17px}.speed-ring{width:109px;height:109px;border-radius:50%;border:3px solid #d5f568;border-right-color:#ecf8df40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#19352a55}.speed-ring strong{font-size:46px;line-height:1;font-variant-numeric:tabular-nums;font-style:italic}.speed-ring small{font-size:9px;letter-spacing:1px;margin-top:8px;color:#e7f0db}.gear>span{font-size:10px;color:var(--lime);letter-spacing:2px}.gear>b{display:block;font-size:14px;font-weight:500;margin-top:7px}.nitro{position:absolute;bottom:86px;left:50%;transform:translateX(-50%);width:320px}.nitro>div:first-child{display:flex;align-items:center;gap:9px;font-size:11px}.nitro b{color:var(--lime);font-weight:500;font-size:12px;margin-left:auto}.nitro kbd{margin-left:5px}.nitro-track{position:relative;height:9px;background:#1b332c99;border:1px solid #e2efd455;border-radius:3px;margin-top:8px;overflow:hidden}.nitro-track i{display:block;height:100%;background:linear-gradient(90deg,#89e4c7,#d5f568);transition:width .1s}.nitro p{font-size:10px;margin:9px 0 0;color:#e1efd4;text-align:center}.weapon-status{position:absolute;bottom:96px;right:32px;text-align:right}.weapon-status>span{font-size:9px;color:#cad9c9}.weapon-status>b{display:block;font-size:20px;margin:5px 0 10px}.weapon-status>div{font-size:10px}.weapon-status>i{display:block;height:2px;background:var(--lime);margin-top:10px;transform-origin:right}.keyboard-guide{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;white-space:nowrap;gap:20px;background:#17352899;border:1px solid #e2efd419;border-radius:7px;padding:8px 14px;font-size:10px;color:#d6e3cc}kbd{display:inline-block;border:1px solid #edf5de4a;border-radius:3px;padding:1px 4px;min-width:17px;text-align:center;font-size:9px;font-family:inherit;background:#e6efd80a;line-height:15px}#checkpoint{position:absolute;top:104px;left:50%;transform:translateX(-50%);width:min(430px,40vw);background:#132f27e8;border:1px solid #d5f56866;border-radius:12px;padding:15px 20px;box-shadow:0 8px 30px #10281a20}.checkpoint-heading{display:flex;justify-content:space-between;align-items:center;color:var(--lime);font-size:10px;letter-spacing:1px}.checkpoint-heading b{font-weight:400;margin-left:7px}.checkpoint-heading strong{font-size:15px;letter-spacing:0}#checkpoint h2{font-size:18px;font-weight:600;margin:10px 0 6px}#checkpoint p{font-size:11px;color:#b8cbb5;margin:0}.choice-labels{display:flex;justify-content:space-between;margin-top:13px;font-size:10px;color:#dfebd5}.choice-labels kbd{margin:0 5px}.world-art{width:560px;height:378px;background:#f3f7e7;border:9px solid #eaf2d9;border-radius:12px;box-shadow:0 0 30px #d5f56844;overflow:hidden;backface-visibility:hidden}.world-art-label{height:36px;line-height:36px;background:#19382e;color:#f0f6df;font-size:17px;font-weight:600;letter-spacing:2px;text-align:center}.world-art iframe{display:block;border:0;width:100%;height:calc(100% - 36px);background:#eaf4e8}.toast{position:absolute;top:30%;left:50%;transform:translate(-50%,10px);opacity:0;transition:opacity .15s,transform .15s;text-align:center;min-width:300px;background:#153d30e8;border:1px solid #d5f56877;padding:14px 22px;border-radius:9px}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.bad{background:#542a23ec;border-color:#ffb79b88}.toast strong{display:block;font-size:20px;color:var(--lime)}.toast.bad strong{color:#ffb49a}.toast span{display:block;margin-top:7px;font-size:12px}.toast small{display:block;margin-top:8px;font-size:11px;max-width:390px;color:#e0e8d3}.countdown{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:130px;font-weight:900;font-style:italic;text-shadow:0 5px 0 #193d35;color:var(--lime)}.menu-screen{position:fixed;inset:0;z-index:5;display:flex;align-items:center;background:linear-gradient(90deg,#143b32ed 0%,#13392bbc 27%,#143c2933 55%,transparent 80%)}.menu-copy{margin-left:8vw;margin-top:12px;max-width:540px}.eyebrow{font-size:11px;color:#d1e3c0;display:flex;align-items:center;gap:9px;letter-spacing:2px}h1{font-size:clamp(56px,5.7vw,91px);font-weight:800;line-height:1.2;letter-spacing:-4px;margin:23px 0 23px}h1 span{color:var(--lime)}.intro{font-size:15px;color:#d8e6ce;line-height:1.95;margin:0 0 26px}.race-spec{display:flex;gap:34px;margin:0 0 25px}.race-spec>div{display:flex;flex-direction:column;gap:7px}.race-spec b{font-size:22px;font-weight:500;color:#e9f1df}.race-spec span{font-size:10px;color:#a9c3a8}.primary{display:flex;align-items:center;justify-content:space-between;gap:45px;min-width:250px;padding:17px 23px;border-radius:8px;background:var(--lime);color:#193b24;font-size:16px;font-weight:700;box-shadow:0 4px 20px #c4ee8020}.primary span{font-size:24px;font-weight:400;line-height:1}.menu-secondary{display:flex;align-items:center;gap:25px;margin-top:17px}.menu-secondary button{background:transparent;padding:0;font-size:12px;border-bottom:1px solid #e8f0d44d;padding-bottom:3px;color:#dfebd5}.menu-secondary>span{font-size:10px;color:#cee3b8}.local-note{font-size:10px;color:#b1c9a6;margin-top:31px;letter-spacing:.5px}.menu-caption{position:absolute;bottom:55px;right:4vw;text-align:right;text-shadow:0 1px 4px #254a27}.menu-caption span{font-size:10px;letter-spacing:3px;color:#e7eacb}.menu-caption strong{display:block;font-size:23px;font-weight:500;margin-top:8px}.menu-caption p{font-size:11px;color:#e6efd9}.loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#18382e;z-index:30;gap:19px}.loading strong{font-size:17px}.loading p{font-size:12px;color:#b7cdb2;margin:0}.loader{width:36px;height:36px;border-radius:50%;border:2px solid #d5f56833;border-top-color:var(--lime);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#modal{color:#ecf1e4;background:#183a2f;border:1px solid #d9edc13d;border-radius:16px;padding:36px;width:min(660px,calc(100vw - 32px));max-height:88dvh;overflow:auto;box-shadow:0 30px 120px #001c22bb}#modal::backdrop{background:#102a2566;backdrop-filter:blur(8px)}.close-button{position:absolute;right:15px;top:12px;width:30px;height:30px;background:#ffffff0a;border-radius:50%;font-size:23px;color:#d5e4c7}#modal h2{font-size:28px;margin:0 0 13px;letter-spacing:-1px}#modal h3{font-size:15px;font-weight:600;color:var(--lime);margin-top:24px}#modal p{font-size:13px;line-height:1.8;color:#c6d7ba}#modal .subtle{font-size:11px;color:#a3bda1}#modal .primary{margin-top:22px;min-width:180px;width:100%}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.controls-grid>div{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#e0f2ce08;border:1px solid #dfedc512;border-radius:6px;font-size:12px}.controls-grid kbd{font-size:10px;margin-left:4px}.reward-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-row>div{background:#d5f5680b;border-left:2px solid var(--lime);padding:12px 14px;border-radius:0 6px 6px 0;font-size:12px;line-height:1.8}.reward-row>div:last-child{border-color:#ee9776;background:#ef997c08}.reward-row b{display:block;font-size:14px;color:var(--lime)}.reward-row>div:last-child b{color:#f6b39b}.library-pair{border-top:1px solid #d3e8b924;padding-top:13px;margin-top:15px}.library-pair h3{margin:0 0 5px!important}.library-pair small{font-size:10px;color:#b8cca9}.library-frames{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.library-frames iframe{width:100%;height:155px;border:0;border-radius:6px;background:#edf4de}.library-frames label{font-size:10px;display:block;margin:6px 0;color:#c1dca7}.library-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 8px}.secondary{background:#d8f2bd0d;border:1px solid #cde4b531;border-radius:6px;padding:10px 14px;font-size:12px}.status-note{min-height:20px;font-size:12px;color:var(--lime)}.result-eyebrow{font-size:11px;color:var(--lime);letter-spacing:2px;margin-bottom:14px}.result-place{font-size:72px;line-height:1;color:var(--lime);font-weight:700;font-style:italic;margin:23px 0}.result-place small{font-size:24px;color:#c3d8b4;font-weight:400}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid #c1deb12c;padding-top:22px}.result-stats small{display:block;font-size:10px;color:#acc4a3}.result-stats strong{font-size:23px;display:block;margin-top:7px}.result-actions{display:flex;gap:10px;align-items:stretch;margin-top:24px}.result-actions .primary{margin:0!important;width:auto!important;flex:1}.result-actions .secondary{padding:15px}#speed-lines{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .2s;background:repeating-conic-gradient(from 12deg at 50% 47%,transparent 0deg 9deg,#e3ffff3b 9.07deg 9.14deg,transparent 9.21deg 18deg);mask-image:radial-gradient(ellipse,transparent 38%,#000 110%)}#speed-lines.on{opacity:.55}#damage-flash{position:fixed;inset:0;pointer-events:none;z-index:7;box-shadow:inset 0 0 130px #fb7857;opacity:0;transition:opacity .2s}#damage-flash.on{opacity:.65}#touch-controls{position:fixed;left:14px;right:14px;bottom:18px;display:flex;justify-content:space-between;z-index:9;gap:10px;pointer-events:none}#touch-controls>div{display:flex;gap:6px;align-items:flex-end;flex-wrap:wrap;max-width:52%}#touch-controls button{pointer-events:auto;min-width:43px;height:43px;border-radius:10px;background:#173a32cc;border:1px solid #d3e5c34d;font-size:12px;touch-action:none;user-select:none;-webkit-user-select:none}.boost-touch{background:#d5f568dd!important;color:#223b28!important}#touch-controls button.active{background:#68917bcf}body{touch-action:none}dialog{touch-action:pan-y}
@media(max-height:740px){.menu-copy{margin-top:50px}h1{font-size:64px;margin:15px 0}.intro{font-size:13px;margin-bottom:18px}.race-spec{margin-bottom:18px}.local-note{margin-top:19px}.standings{top:195px}.standings li{height:26px}.minimap{top:278px}.speedometer{bottom:57px}.checkpoint{top:90px!important}.toast{top:43%}}
@media(max-width:1000px){.topbar{padding:18px 20px}.race-status{left:20px;gap:15px;top:95px}.clock{display:none}.scoreboard{right:20px;width:145px;top:98px}.standings{left:20px;width:145px;top:186px}.minimap{right:20px}.speedometer{left:20px}.speed-ring{width:87px;height:87px}.speed-ring strong{font-size:37px}.gear{display:none}.weapon-status{right:20px}.nitro{width:260px}#checkpoint{width:350px}.menu-copy{margin-left:6vw}.race-strip{font-size:10px}.brand small{font-size:7px;letter-spacing:1px}.menu-caption{bottom:40px}}
@media(max-width:700px){.topbar{padding:14px}.brand-mark{width:35px;height:35px;font-size:23px;border-radius:9px}.brand b{font-size:16px}.brand small{font-size:6px}.race-strip{display:none}.icon-button{width:28px;height:28px;font-size:17px}.menu-copy{margin-left:7vw;margin-top:40px;max-width:80vw}.eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:60px;letter-spacing:-3px}.intro{font-size:13px}.menu-screen{background:linear-gradient(90deg,#143b32ec,#143b32b0 60%,#143b3222)}.menu-caption{display:none}.race-status{top:79px;left:14px;gap:14px}.place>strong{font-size:46px}.place>span{font-size:14px}.place small{font-size:8px}.lap{padding-left:14px}.lap b{font-size:24px}.lap em{font-size:14px}.lap small{font-size:8px}.scoreboard{top:78px;right:14px;width:112px}.scoreboard>strong{font-size:29px}.scoreboard>small{font-size:9px}.scoreboard>#combo{font-size:8px;margin-bottom:12px}.standings{display:none}.minimap{display:none}#checkpoint{top:180px!important;width:calc(100vw - 28px);padding:11px 14px}#checkpoint h2{font-size:15px;margin-top:7px}.choice-labels{margin-top:8px}.checkpoint-heading{font-size:9px}.checkpoint-heading strong{font-size:12px}.speedometer{left:15px;bottom:88px}.speed-ring{width:69px;height:69px}.speed-ring strong{font-size:30px}.speed-ring small{font-size:7px;margin-top:5px}.nitro{width:175px;left:auto;right:15px;bottom:104px;transform:none}.nitro p{font-size:8px}.nitro>div:first-child{font-size:9px}.weapon-status{display:none}.keyboard-guide{display:none}.toast{top:45%;min-width:250px;max-width:90vw;padding:12px 15px}.toast strong{font-size:17px}.toast span{font-size:10px}.toast small{font-size:9px}.countdown{font-size:96px}#modal{padding:28px 20px}.controls-grid{grid-template-columns:1fr}.reward-row{gap:8px}.reward-row>div{font-size:10px;padding:10px}.library-frames iframe{height:120px}.result-stats strong{font-size:20px}.local-note{font-size:9px}.race-spec{gap:30px}}
@media(pointer:coarse) and (min-width:701px){.keyboard-guide{display:none}.speedometer{bottom:80px}.weapon-status{bottom:86px}.nitro{bottom:90px}}
@media(prefers-reduced-motion:reduce){.toast,#damage-flash,#speed-lines{transition:none}#speed-lines{display:none}.loader{animation-duration:2s}}

@media(max-width:700px){#checkpoint{top:196px!important}.choice-labels{display:none}.nitro{bottom:126px}}
/* The model gallery uses the existing secondary menu-link treatment. */
.menu-secondary .model-link{background:transparent;padding:0 0 3px;font-size:12px;border-bottom:1px solid #e8f0d44d;color:#dfebd5}

/* Keep the two kick recoveries visible independently of the air-trick guide. */
.combat-status{position:absolute;right:32px;bottom:77px;width:238px;padding:13px 14px;text-align:right;background:rgba(18,44,34,.82);border:1px solid #d7ecc52b;border-radius:10px;text-shadow:none}
.combat-status>span{font-size:10px;color:#cfdfc9;letter-spacing:1px}
.kick-status{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:11px}
.kick-status>div>span{display:flex;align-items:center;gap:5px;font-size:11px}
.kick-status b{font-size:9px;font-weight:400;margin-left:auto;color:var(--lime);font-variant-numeric:tabular-nums}
.kick-status i{display:block;height:3px;margin-top:7px;background:#d9edcb33;overflow:hidden;border-radius:2px}
.kick-status em{display:block;height:100%;background:var(--lime);transform-origin:left;transition:transform .08s linear}
#stunt-guide{margin:14px 0 7px;font-size:10px;color:#dbe9ce;line-height:1.9}
#stunt-guide>span{display:block}
#stunt-guide.airborne{color:var(--lime)}
.combat-status>small{font-size:9px;color:#c4d5bd}
.recovery-status{position:absolute;bottom:184px;left:50%;transform:translateX(-50%);width:min(360px,calc(100vw - 32px));padding:12px 17px;border:1px solid #efba9480;border-radius:9px;background:#19382ee8;text-align:center;text-shadow:none}
.recovery-status strong{display:block;font-size:15px;font-weight:650;color:#f6d4ac}
.recovery-status>span{display:block;margin-top:5px;font-size:10px;color:#e1ebd4;line-height:1.6}
.recovery-status>i{display:block;margin-top:9px;height:3px;background:#f6d4ac30;overflow:hidden;border-radius:2px}
.recovery-status em{display:block;height:100%;background:#f6d4ac;transform-origin:left}
#touch-controls{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));gap:10px;align-items:end}
#touch-controls>div{display:grid;grid-template-columns:repeat(3,clamp(40px,10vw,54px));gap:5px;max-width:none}
#touch-controls button{width:100%;min-width:0;height:48px;font-size:11px;background:#15372edf;backdrop-filter:blur(5px);-webkit-tap-highlight-color:transparent}
#touch-controls .recover-touch{grid-column:span 2;color:#c6d8bc}
#touch-controls .throttle-touch{background:var(--lime);color:#173e2b;font-weight:800;border-color:#eeffd0}
#touch-controls .kick-touch{--ready:100%;background:linear-gradient(90deg,#cbe879,#cbe879) 0 100% / var(--ready) 3px no-repeat,#15372edf}
#touch-controls button.active{background-color:#77994b;color:#fff;border-color:#eaffac;box-shadow:inset 0 0 0 1px #eaffac88}
#touch-controls .kick-touch.recovering{color:#b1c9ad}
#touch-controls button.unavailable{opacity:.42;box-shadow:none;filter:saturate(.2)}
@media(max-width:1000px){.combat-status{right:20px;width:224px}.keyboard-guide{gap:12px}}
@media(max-width:700px){.combat-status{display:none}#touch-controls{left:10px;right:10px}.speedometer{bottom:127px}.nitro{bottom:140px}.nitro p{font-size:8px}}
@media(pointer:coarse){.combat-status{display:none}.speedometer{bottom:132px}.nitro{bottom:144px}.standings{display:none}}
@media(max-width:700px),(pointer:coarse){.recovery-status{bottom:217px;width:min(340px,calc(100vw - 32px));padding:10px 13px}.recovery-status strong{font-size:14px}}
@media(pointer:coarse) and (max-height:540px){.recovery-status{bottom:36px;width:240px;padding:9px 12px}.recovery-status>span{font-size:9px}}
@media(pointer:coarse) and (max-height:540px){.topbar,body.playing .topbar{padding:9px 14px}.race-status{top:66px}.scoreboard{top:64px}.race-status .clock,.minimap{display:none}.speed-ring{width:58px;height:58px}.speed-ring strong{font-size:26px}.speed-ring small{font-size:7px;margin-top:3px}.speedometer{bottom:125px}.nitro{bottom:130px;width:175px;left:auto;right:15px;transform:none}.nitro p{display:none}.scoreboard>strong{font-size:28px}.scoreboard>#combo{margin-bottom:8px}#checkpoint{top:62px!important;width:36vw;padding:8px 12px}#checkpoint h2{font-size:12px;margin:5px 0}#checkpoint p{font-size:9px}.choice-labels{display:none}.toast{top:35%;padding:9px 14px}.toast strong{font-size:15px}.toast small{display:none}}
/* Explain the one-off start boost at the point where the rider can use it. */
.start-hint{position:absolute;top:28%;left:50%;transform:translateX(-50%);padding:10px 17px;background:#173b30eb;border:1px solid #d5f56877;border-radius:8px;color:#eff8de;font-size:14px;white-space:nowrap;box-shadow:0 5px 20px #112b2933}
.start-hint.success{color:var(--lime);font-weight:700}
@media(max-width:700px){.start-hint{top:28%;font-size:12px;padding:10px 12px;max-width:calc(100% - 28px);white-space:normal;text-align:center}}
/* Compact course selection keeps the live scenery and the start action visible. */
.menu-screen{padding-top:88px;padding-bottom:30px;overflow-y:auto;align-items:center}
.menu-copy{width:min(470px,calc(100vw - 48px));max-width:none;margin-top:0;flex-shrink:0}
.menu-copy h1{font-size:clamp(58px,5.1vw,78px);line-height:1.06;margin:15px 0 18px}
.menu-copy .intro{font-size:13px;line-height:1.8;margin-bottom:17px}
.map-picker{margin-bottom:18px}
.map-picker-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:11px;letter-spacing:1px;color:#e5eedb}
.map-picker-heading small{font-size:10px;letter-spacing:0;color:#b9cdb0}
.map-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.map-option{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:9px;row-gap:5px;text-align:left;padding:12px 13px;background:#163b31c9;border:1px solid #dbe9d02b;border-radius:7px;transition:background .15s,border-color .15s}
.map-option strong{font-size:13px;font-weight:600}
.map-option>span{align-self:center;font-size:9px;color:#cfdfc2}
.map-option small{grid-column:1/-1;color:#b8cbb1;font-size:9px;line-height:1.4}
.map-option[aria-pressed="true"]{border-color:var(--lime);background:#294a34ee;box-shadow:inset 3px 0 0 var(--map-accent,var(--lime))}
.map-option[aria-pressed="true"] strong{color:var(--lime)}
.map-option:hover{background:#335640e8}
.map-description{min-height:30px;margin:9px 0 0;font-size:10px;line-height:1.5;color:#c5d9b9}
.menu-copy>.primary{width:100%;min-width:0;padding:14px 20px}
.menu-secondary{justify-content:flex-start;gap:25px;margin-top:15px}
.menu-footnote{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 0;font-size:9px;color:#cee3b8;line-height:1.5}
.menu-footnote .local-note{font-size:9px;margin:0;letter-spacing:0;color:#a8c49f}
.menu-caption{max-width:35vw}
.menu-caption>span{letter-spacing:1px}
@media(max-height:800px){.menu-screen{padding-top:78px;padding-bottom:22px}.menu-copy h1{font-size:60px;margin:10px 0 12px}.menu-copy .intro{font-size:12px;margin-bottom:12px}.map-picker{margin-bottom:14px}.map-option{padding:10px 12px}.map-description{min-height:28px;margin-top:7px}.menu-footnote{margin-top:12px}}
@media(max-height:670px) and (min-width:701px){.menu-copy h1{font-size:48px}.menu-copy .intro{margin-bottom:10px}.map-option{padding:8px 11px}.map-description{min-height:0}.menu-secondary{margin-top:12px}.menu-footnote{margin-top:10px}.menu-copy>.primary{padding:11px 18px}}
@media(max-width:700px){.menu-screen{padding:82px 24px 24px;align-items:safe center}.menu-copy{width:100%;margin:0}.menu-copy h1{font-size:57px}.menu-copy .intro{font-size:12px}.map-option{padding:11px 10px;column-gap:6px}.map-option strong{font-size:12px}.map-option small{font-size:9px}.map-description{min-height:30px}.menu-secondary{gap:22px}.menu-footnote{flex-wrap:wrap;gap:3px 12px}.menu-footnote .local-note{font-size:8px}}
@media(max-height:620px){.menu-screen{align-items:flex-start}}
.nitro-stock{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;font-size:10px;color:#e4efd8}
.nitro-stock strong{font-size:11px;color:var(--lime);font-weight:600}
.nitro-stock>span{font-variant-numeric:tabular-nums;color:#d4e5c8}
.nitro p{margin-top:6px}
.menu-secondary{gap:21px;flex-wrap:wrap}
.text-button{background:transparent;padding:5px 0;font-size:12px;color:var(--lime);text-decoration:underline;text-underline-offset:4px}
.score-submit{padding:15px 0;border-top:1px solid #cfe6bd30;border-bottom:1px solid #cfe6bd30;margin:18px 0 12px}
.score-submit label{display:block;margin-bottom:9px;font-size:12px;font-weight:600}
.score-submit label small{font-size:10px;color:#afc8a7;margin-left:7px;font-weight:400}
.score-submit>div{display:flex;gap:9px}
.score-submit input{min-width:0;flex:1;border:1px solid #d3e8bc55;border-radius:6px;background:#102c25;color:#f1f7e5;padding:10px 12px;outline-offset:3px}
.score-submit input::placeholder{color:#97b293}
.score-submit .secondary{margin:0;white-space:nowrap}
#submit-score-status{margin:8px 0 0;font-size:11px;min-height:1.5em;color:#d4e9bf}
.leaderboard-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:20px 0 18px}
.leaderboard-tabs button{font-size:12px;background:#0f2e2580;border:1px solid #bdd8ab33;border-radius:6px;padding:10px 4px;white-space:nowrap}
.leaderboard-tabs [aria-pressed="true"]{border-color:var(--lime);color:var(--lime);background:#335037}
.leaderboard-caption{display:flex;align-items:center;justify-content:space-between}
.leaderboard-caption strong{font-size:15px;font-weight:600}
.leaderboard-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;font-variant-numeric:tabular-nums}
.leaderboard-table th,.leaderboard-table td{text-align:right;padding:11px 7px;border-bottom:1px solid #c5ddb522}
.leaderboard-table thead th{font-size:10px;color:#a9c59d;font-weight:400}
.leaderboard-table th:first-child,.leaderboard-table td:first-child{text-align:left;width:42px;color:#bdd6ae}
.leaderboard-table th:nth-child(2){text-align:left;width:40%;overflow-wrap:anywhere;font-weight:500}
.leaderboard-table th:nth-child(3){width:28%}
.leaderboard-table .your-run{background:#d6f56812;color:var(--lime)}
#leaderboard-entries{max-height:41dvh;overflow:auto}
#leaderboard-status{margin:10px 0;font-size:11px}
@media(max-width:700px){.menu-secondary{gap:18px}.menu-secondary button,.menu-secondary .model-link{font-size:11px}.nitro-stock{gap:4px;font-size:8px;margin-top:5px}.nitro-stock strong{font-size:9px}.score-submit>div{flex-direction:column}.score-submit .secondary{padding:11px}.leaderboard-tabs{gap:5px}.leaderboard-tabs button{font-size:10px;padding:9px 3px}.leaderboard-table{font-size:11px}.leaderboard-table th,.leaderboard-table td{padding:10px 4px}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:30px}.leaderboard-table th:nth-child(2){width:36%}.leaderboard-table th:nth-child(3){width:31%}}
/* A wrong artwork sticks to the camera, leaving a right-side lane and lower
   road visible. It never intercepts steering, touch controls or pause UI. */
.lens-penalty{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:hidden;contain:layout style}
.lens-penalty *{pointer-events:none!important}
.lens-paper{position:absolute;left:4vw;top:8vh;width:82vw;height:74vh;box-sizing:border-box;padding:clamp(8px,1.1vw,18px);background:#f0e1b9;border:2px solid #c7aa72;box-shadow:0 20px 58px #092020aa,0 3px 10px #081d20bb;transform-origin:50% 50%;will-change:transform,opacity;clip-path:polygon(1% 0,98.8% .5%,100% 3%,99.5% 97%,97% 100%,2% 99.5%,0 96%,.3% 3%);display:flex;flex-direction:column;gap:7px}
.lens-art-window{flex:1;min-height:0;overflow:hidden;background:#e9eddc;border:1px solid #ad935c}
#lens-art{display:block;border:0;width:100%;height:100%;background:#e9eddc}
.lens-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0;font-size:clamp(10px,1.1vw,15px);font-weight:700;letter-spacing:.06em;line-height:1.3;color:#6b3524;text-shadow:none}
.lens-caption strong{font-variant-numeric:tabular-nums;font-size:1.15em}
@media(max-width:700px){.lens-paper{padding:8px;gap:5px}.lens-caption{font-size:10px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.lens-paper{will-change:auto}}

/* Live HTML panels sit behind WebGL; their depth surfaces decide occlusion. */
#world{z-index:2}#art-world{z-index:1}
