@font-face{font-family:Barlow;src:url(../fonts/Barlow-Regular.woff2) format("woff2");font-weight:400 600;font-display:swap}@font-face{font-family:Barlow;src:url(../fonts/Barlow-Bold.woff2) format("woff2");font-weight:700 900;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(../fonts/BarlowCondensed-SemiBold.woff2) format("woff2");font-weight:400 600;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(../fonts/BarlowCondensed-ExtraBold.woff2) format("woff2");font-weight:700 900;font-display:swap}:root{color-scheme:dark;font-family:Barlow,PingFang SC,Microsoft YaHei,sans-serif;color:#f2f2e9;background:#213a46;font-synthesis:none;--accent: #ff5a32;--paper: #f2f2e9;--muted: #b2bec0;--line: #ffffff24;--mono: ui-monospace, SFMono-Regular, Consolas, monospace;--display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif}*{box-sizing:border-box}body{margin:0;overflow-x:clip;overflow-y:auto}body.racing{overflow:hidden}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#16262c75;color:var(--paper);min-height:44px;transition:background .18s,color .18s,border-color .18s}button:hover{background:#eef0e61f;border-color:#ffffff90}button:active{background:#ffffff30}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #94ebff;outline-offset:4px}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}.screen-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0a1d28b0,#142a3505 53%,#0c20286b),linear-gradient(0deg,#06181df0 0%,transparent 34%,transparent 80%,#0b1d2866 100%)}#header{position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:25px 3.4%;z-index:4}body:not(.racing) #header{position:absolute}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--paper)}.brand svg{width:41px;height:30px;fill:var(--accent)}.brand>span{font-size:24px;line-height:1;font-weight:900;letter-spacing:1px;font-style:italic}.brand small{display:block;font:8px var(--mono);letter-spacing:2.3px;margin-top:7px;font-style:normal}.brand i{font:600 11px var(--mono);letter-spacing:2px;border-left:1px solid #ffffff50;padding-left:16px;margin-left:6px}.header-actions{display:flex;align-items:center;gap:9px}.header-actions>span{font:9px var(--mono);letter-spacing:1.3px;color:#e5ebe6;margin-right:19px}.header-actions>span:before{content:"";display:inline-block;width:5px;height:5px;background:#b3e3cf;border-radius:50%;margin-right:9px}.header-actions button{padding:0 14px;font-size:11px;background:#172b3355;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-actions b{font:10px var(--mono);margin-left:8px}.header-actions button>span{margin-left:10px}#menu{position:relative;height:100svh;min-height:740px;padding:115px 3.4% 0;display:grid;grid-template-columns:1fr 288px;grid-template-rows:1fr 142px 58px;column-gap:40px}.hero-copy{align-self:center;margin-top:-24px;pointer-events:none}.eyebrow{font:10px var(--mono);letter-spacing:2px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:10px;border-radius:50%}h1{font:800 clamp(68px,7.6vw,118px) / .84 var(--display);letter-spacing:-2.5px;margin:30px 0 23px;font-stretch:condensed}h1 em{font-style:italic;color:#ff7248}.hero-cn{font-size:19px;letter-spacing:2px;margin:0 0 13px;font-weight:600}.hero-description{font-size:12px;color:#c6d0d0;margin:0;line-height:1.8}.track-caption{margin-top:42px;border-left:2px solid var(--accent);padding-left:14px;display:flex;flex-direction:column;gap:5px}.track-caption>span:first-child{font:9px var(--mono);letter-spacing:2px;color:#cbd5d5}.track-caption strong{font:600 26px var(--display);letter-spacing:2px}.track-caption>span:last-child{font-size:10px;color:#c2cece}.setup{background:#10252adb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #d0dfdc32;align-self:center;border-radius:2px;padding:20px 20px 10px;margin-bottom:26px}.setup-heading{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:1.2px;color:#bac8c9;border-bottom:1px solid var(--line);padding-bottom:16px}.setup-heading>span:last-child{font:11px Barlow,PingFang SC,sans-serif;letter-spacing:0}.setup-section{padding-top:18px}.section-label{display:flex;align-items:center;gap:9px;margin-bottom:12px}.section-label>span{font:9px var(--mono);color:#c7c9c1}.section-label h2{font-size:12px;letter-spacing:1px;margin:0;font-weight:500}.tracks{display:flex;flex-direction:column;gap:6px}.track-choice{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:8px 12px;min-height:56px;border-color:#ffffff16;background:transparent}.track-choice .track-outline{width:57px;height:34px;margin-right:12px;fill:none;stroke:currentColor;stroke-width:2}.track-choice>div{flex:1}.track-choice strong{display:block;font-size:12px;font-weight:500}.track-choice small{font:8px var(--mono);color:var(--muted);display:block;letter-spacing:.7px;margin-top:4px}.track-choice>span{font:10px var(--mono);opacity:.6}.track-choice.active{border-color:var(--accent);background:linear-gradient(90deg,#ff5a3229,transparent);box-shadow:inset 2px 0 var(--accent)}.track-choice.active .track-outline{color:var(--accent)}.track-choice.active>span{opacity:1;color:var(--accent)}.segmented{display:flex;border:1px solid var(--line)}.segmented button{flex:1;padding:0 4px;min-height:37px;border:0;background:transparent;font-size:11px}.segmented button.active{background:var(--paper);color:#16313a}.hint{font-size:10px;line-height:1.65;color:#bdc9c8;min-height:32px;margin:9px 0 0}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid #ffffff13;font-size:11px}.settings-row label{color:#c4cfcd}.settings-row select{max-width:155px;background:#132a32;color:#ecede5;border:1px solid #ffffff22;padding:7px 5px;font-size:11px;cursor:pointer;border-radius:0;min-height:35px}.garage{grid-column:1/-1;align-self:end;display:grid;grid-template-columns:270px 1fr 265px;gap:30px;align-items:center;position:relative;border-top:1px solid #e8eee342;padding:22px 0 17px;background:linear-gradient(0deg,#0a1c21aa,transparent)}.garage-title>span{font:9px var(--mono);letter-spacing:2px;color:var(--muted)}.garage-title h2{font:600 36px/.95 var(--display);margin:10px 0 7px;letter-spacing:1px}.garage-title h2 i{font-style:normal;color:var(--accent);margin-left:13px;font-size:27px}.garage-title p{font-size:11px;color:var(--muted);margin:0}.garage-center{max-width:430px}.ship-choices{display:flex;gap:8px}.ship-choices button{flex:1;font:600 15px var(--display);letter-spacing:1px;min-height:38px}.ship-choices button span{font:9px var(--mono);opacity:.6;margin-left:6px}.ship-choices button.active{border-color:#e4eade;background:#e4eade;color:#172e35}#ship-stats{display:flex;gap:16px;margin-top:15px}#ship-stats>span{flex:1;font-size:9px;color:#b6c6c5;display:flex;flex-direction:column;gap:6px}#ship-stats i{height:3px;background:#ffffff20;display:block}#ship-stats b{display:block;height:3px;background:#d0d8d0}.launch .primary{width:100%;height:55px}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--accent);border:1px solid var(--accent);color:#fff;font-size:15px;font-weight:600;padding:0 22px;min-height:51px}.primary:hover{background:#ff744f;border-color:#ff8b6c}.primary>span{font-size:25px;font-weight:400}.launch p{font:9px var(--mono);text-align:center;color:#b7c7c5;letter-spacing:.2px;margin:10px 0 0}.controls-legend{grid-column:1/-1;display:flex;align-items:center;gap:24px;color:#b4c5c6;font-size:10px;border-top:1px solid #ffffff16}.controls-legend>span{display:flex;align-items:center;gap:5px}kbd{font:9px var(--mono);border:1px solid #ffffff37;padding:3px 5px;color:#ebeee8;min-width:20px;text-align:center;box-shadow:0 1px #fff2}body.racing .screen-shade{background:linear-gradient(0deg,#061920b8,transparent 31%),linear-gradient(180deg,#0e263178,transparent 27%)}body.racing #header{padding-top:20px}.racing .brand>span{font-size:19px}.racing .brand small{display:none}.racing .brand svg{width:32px;height:24px}.racing .brand i{font-size:9px}#hud{position:fixed;inset:0;pointer-events:none}.race-top{position:absolute;inset:98px 3.5% auto;display:flex;justify-content:space-between}.position-block>.eyebrow{color:#e5eadd;font-size:9px;letter-spacing:2.5px}.position-block>div{display:flex;align-items:baseline;gap:9px}.position-block b{font:700 90px/.95 var(--display);letter-spacing:-2px;text-shadow:0 2px 15px #17303755}.position-block>div>span{font:14px var(--mono);color:#d4dfd9}.timing-block{text-align:right;min-width:160px}.timing-block>div:first-child{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-bottom:12px}.timing-block>div:first-child>span{font:11px var(--mono);letter-spacing:2px}.timing-block b{font:600 40px/1 var(--display)}.timing-block small{font-size:24px;color:#bdceca}.time-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:7px 0}.time-row span{font:9px var(--mono);letter-spacing:1px}.time-row strong{font:500 22px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:1px}.time-row.muted{color:#c2d0cb}.time-row.muted strong{font-size:18px}#notice{position:absolute;top:16%;left:50%;transform:translate(-50%);max-width:65vw;white-space:nowrap;padding:10px 16px;font-size:12px;letter-spacing:1px;background:#132b38c9;border-left:2px solid #ff7947;transition:opacity .2s}#notice:empty{opacity:0}#countdown{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font:800 140px var(--display);font-style:italic;text-shadow:0 0 40px #18333a77;color:#f7f5e3}#target{position:absolute;left:0;top:0;will-change:transform;width:55px;height:42px;transform:translate(-50%,-50%);color:#ffd78b}#target>span{position:absolute;inset:0;border:1px solid #ffc167b0;clip-path:polygon(0 0,25% 0,25% 8%,8% 8%,8% 35%,0 35%,0 0,100% 0,100% 35%,92% 35%,92% 8%,75% 8%,75% 0,100% 0,100% 100%,75% 100%,75% 92%,92% 92%,92% 65%,100% 65%,100% 100%,0 100%,0 65%,8% 65%,8% 92%,25% 92%,25% 100%,0 100%)}#target small{position:absolute;top:47px;width:120px;left:-32px;font:9px var(--mono);text-align:center;text-shadow:0 1px 5px #000}#corner-guide{position:absolute;top:31%;right:3.5%;display:flex;align-items:center;gap:12px;opacity:.95;background:#15323c77;padding:12px 15px;border-right:2px solid #f3edcc}#corner-guide svg{width:30px;height:30px;fill:none;stroke:#f3edcc;stroke-width:2.5}#corner-guide strong{display:block;font-size:11px;font-weight:500}#corner-guide small{display:block;font:8px var(--mono);margin-top:5px;color:#c4d2cf;letter-spacing:1px}#drive-hint{position:absolute;left:50%;top:26%;transform:translate(-50%);text-align:center;font-size:12px;text-shadow:0 1px 10px #0a202b}#drive-hint b{font-weight:500}#drive-hint span{display:block;font-size:10px;color:#e4eadf;margin-top:6px}.race-bottom{position:absolute;inset:auto 3.5% 35px;display:flex;justify-content:space-between;align-items:flex-end}.map-panel{width:230px;display:flex;align-items:center;flex-direction:column;gap:5px}.map-panel canvas{width:195px;height:152px;filter:drop-shadow(0 2px 5px #0b1d25)}.map-panel>span{font:500 15px var(--display);letter-spacing:3px}.map-panel small{font:8px var(--mono);color:#bad0d0;letter-spacing:1px}.speedometer{width:270px;position:absolute;left:50%;bottom:0;transform:translate(-50%);text-align:center}.speed-number{display:flex;align-items:baseline;justify-content:center;gap:12px}.speed-number b{font:600 112px/.96 var(--display);font-style:italic;letter-spacing:-3px;font-variant-numeric:tabular-nums;text-shadow:0 2px 12px #14303d55}.speed-number>span{font:10px var(--mono);color:#dfede7}.speed-scale{height:3px;background:#ffffff38;margin:10px 0 15px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.speed-scale i{display:block;height:100%;background:var(--paper);width:100%;transform:scaleX(0);transform-origin:left}.boost-status{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:7px;letter-spacing:1px}.boost-status strong{font:10px var(--mono)}meter{appearance:none;width:100%;height:4px;display:block;border:0;background:#ffffff26;border-radius:0}meter::-webkit-meter-bar{background:#ffffff26;border:0;border-radius:0}meter::-webkit-meter-optimum-value{background:#8bdfee;border-radius:0}meter::-moz-meter-bar{background:#8bdfee}#health::-webkit-meter-optimum-value{background:#f3ede0}#health::-moz-meter-bar{background:#f3ede0}.steering-scale{height:1px;width:80px;position:relative;margin:14px auto 0;background:#ffffff30}.steering-scale:before{content:"";position:absolute;left:50%;height:7px;top:-3px;width:1px;background:#ffffff60}.steering-scale span{position:absolute;width:10px;height:3px;background:var(--accent);left:calc(50% - 5px);top:-1px}.combat-panel{width:230px;padding-bottom:10px}.shield-label{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:1px;margin-bottom:10px}.shield-label strong{font:12px var(--mono)}.weapon{display:flex;align-items:center;gap:12px;margin-top:23px}.weapon svg{width:26px;height:26px;fill:none;stroke:#ffc894;stroke-width:1.1}.weapon>strong{font:500 44px/1 var(--display);color:#ffcb9c}.weapon>div span{display:block;font:9px var(--mono);letter-spacing:.6px}.weapon>div small{display:block;font-size:9px;color:#b9cdca;margin-top:7px}#impact-flash{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 90px 30px #ff4c3155;opacity:0;z-index:3}#boost-vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #67d6ff36;opacity:0;transition:opacity .25s;mix-blend-mode:screen}#overlay{background:#10252a;color:var(--paper);border:1px solid #b4c9c448;border-top:3px solid var(--accent);padding:30px;width:min(460px,92vw);max-height:90svh;box-shadow:0 30px 120px #0008}#overlay::backdrop{background:#07151bbd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-top{display:flex;justify-content:space-between;font:9px var(--mono);color:#a5b9bb;letter-spacing:2px}#overlay h2{font-size:32px;line-height:1.2;margin:32px 0 14px;font-weight:600}#overlay-description{font-size:13px;line-height:1.9;color:#c1cfcc;white-space:pre-line}.modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.modal-actions>button:not(.primary){font-size:12px;background:#ffffff06}.modal-note{font-size:10px;color:#94adaf;text-align:center;margin:20px 0 0}#result-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}#result-stats span{font-size:10px;color:#a4bdbd;display:flex;flex-direction:column;gap:7px}#result-stats strong{font:500 32px var(--display);color:var(--paper)}#touch{display:none;position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:3%;right:3%;justify-content:space-between;pointer-events:auto;touch-action:none}#touch>div{display:flex;gap:9px}#touch button{min-width:52px;min-height:52px;font-size:12px;background:#0f2b36bf;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#touch .touch-boost{border-color:#8bdfee;color:#b9eafa}#touch button.pressed{background:var(--accent);color:#fff}#error{width:min(460px,92vw);max-height:90svh;background:#11252af5;color:var(--paper);padding:30px;line-height:1.8;border:1px solid #ff7248}#error::backdrop{background:#07151bdd}#error h2{font-size:22px}#error .primary{width:100%;margin-top:20px}#threat{position:absolute;top:25%;left:50%;transform:translate(-50%);width:min(320px,82vw);padding:12px 16px;border:1px solid #ffb48c;background:#48231ded;color:#ffe2ca;text-align:center}#threat strong{display:block;font-size:14px}#threat span{display:block;font-size:12px;margin-top:4px}#threat>i{display:block;height:3px;margin-top:10px;background:#ffffff24}#threat-progress{display:block;height:100%;background:currentColor;transform-origin:left}#threat[data-safe=true]{background:#12372ded;color:#bff6d8;border-color:#7bd5b3}@media(min-width:1800px){#menu{grid-template-columns:1fr 320px;grid-template-rows:1fr 155px 68px;padding-top:140px}.setup{padding:25px}.setup-section{padding-top:22px}.track-choice{min-height:64px}.hero-copy{margin-left:2%}}@media(max-height:820px)and (min-width:951px){#menu{min-height:660px;padding-top:100px;grid-template-rows:1fr 125px 48px}.setup{padding:13px 16px 6px;margin-bottom:12px}.setup-heading{padding-bottom:10px}.setup-section{padding-top:10px}.section-label{margin-bottom:8px}.track-choice{min-height:45px;padding:5px 10px}.track-choice .track-outline{height:27px}.hint{min-height:24px;margin:5px 0}.settings-row{padding:5px 0}.hero-copy{margin-top:0}.hero-copy h1{font-size:86px;margin-top:22px}.track-caption{margin-top:26px}.garage{padding:16px 0}.garage-title h2{font-size:30px}}@media(max-width:1100px){#menu{grid-template-columns:1fr 270px;column-gap:20px}.garage{grid-template-columns:200px 1fr 225px;gap:22px}.controls-legend{gap:15px;font-size:9px}.header-actions>span{display:none}.hero-copy h1{font-size:82px}.hero-description{font-size:11px}.hero-cn{font-size:16px}.combat-panel{width:195px}.map-panel{width:185px}.speedometer{width:240px}}@media(max-width:950px){body{overflow:auto}#menu{height:auto;min-height:100svh;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;padding-top:125px;row-gap:24px;padding-inline:5%}.hero-copy{min-height:340px;align-self:start;margin:0;pointer-events:auto}.hero-copy h1{font-size:88px}.track-caption{margin-top:28px}.setup{width:100%;max-width:none;display:grid;grid-template-columns:1.3fr 1fr;gap:12px 24px;padding:20px;margin-bottom:0;background:#10252aea}.setup-heading{grid-column:1/-1}.setup-section{padding:0}.setup-section:nth-child(2){grid-row:2/4}.setup-section:nth-child(4){grid-column:2}.garage{grid-template-columns:1fr 1.4fr;row-gap:22px}.launch{grid-column:1/-1}.launch .primary{height:54px}.controls-legend{padding:15px 0 25px;flex-wrap:wrap;gap:14px}.legend-extra{display:none!important}.screen-shade{background:linear-gradient(90deg,#0a1d2877,transparent),linear-gradient(0deg,#06181de0,transparent 65%)}body.racing{overflow:hidden}.race-top{top:90px}.map-panel{display:none}.speedometer{position:static;transform:none;width:240px;text-align:left}.race-bottom{gap:20px}.combat-panel{width:190px}.speed-number{justify-content:flex-start}.speed-number b{font-size:88px}.race-top .position-block b{font-size:70px}.timing-block b{font-size:34px}#corner-guide{top:32%;padding:10px}#notice{font-size:10px;max-width:70vw;white-space:normal;text-align:center;top:21%}.racing .header-actions button{padding:0 10px}.racing .brand i{display:none}#drive-hint{top:29%;width:70%;font-size:11px}#drive-hint span{font-size:9px}.header-actions button{font-size:10px;padding:0 10px}.header-actions{gap:6px}#header{padding:24px 5%}.brand>span{font-size:19px}.brand svg{width:30px}.brand i{font-size:9px;padding-left:10px;margin-left:0}}@media(max-width:520px){#header{padding:20px 5%}.brand{gap:9px}.brand small{font-size:6px;letter-spacing:1.5px}.brand i{display:none}.hero-copy{min-height:350px}.hero-copy h1{font-size:79px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.2px}.setup{grid-template-columns:1fr;gap:20px;padding:18px}.setup-section:nth-child(2){grid-row:auto}.setup-section:nth-child(4){grid-column:auto}.setup-heading{margin-bottom:-3px}.setup .track-choice{min-height:60px}.garage{grid-template-columns:1fr;padding-top:24px}.garage-center{max-width:none}.garage-title h2{font-size:37px}.launch{grid-column:auto}.header-actions{gap:5px}.header-actions button{min-height:44px;padding:0 9px}.header-actions b{margin-left:3px}.header-actions button>span{margin-left:3px}.racing #header{padding:17px 4%}.racing .brand>span{font-size:15px}.racing .brand svg{width:23px}.racing #fullscreen{display:none}.race-top{inset:82px 5% auto}.position-block>.eyebrow{font-size:8px}.race-top .position-block b{font-size:65px}.position-block>div>span{font-size:10px}.timing-block{min-width:130px}.time-row{gap:20px}.time-row strong{font-size:20px}.time-row span{font-size:8px}.race-bottom{left:5%;right:5%;bottom:24px;align-items:flex-end;gap:18px}.speedometer{width:46%;flex-shrink:0}.speed-number{gap:6px}.speed-number b{font-size:73px}.speed-number>span{font-size:8px}.boost-status{font-size:9px;letter-spacing:0}.speed-scale{margin:8px 0 12px}.combat-panel{width:47%;padding-bottom:19px}.shield-label{font-size:8px;letter-spacing:0}.shield-label strong{font-size:10px}.weapon{margin-top:17px;gap:7px}.weapon>strong{font-size:33px}.weapon svg{width:20px}.weapon>div span{font-size:7px;letter-spacing:0}.weapon>div small{font-size:8px}.steering-scale{margin-top:12px}#corner-guide{top:38%;right:5%;padding:8px;gap:8px}#corner-guide svg{width:22px;height:22px}#corner-guide strong{font-size:10px}#corner-guide small{font-size:7px}#drive-hint{top:28%;width:85%}#countdown{font-size:115px}#touch>div{gap:5px}#touch button{min-width:46px;min-height:50px;font-size:10px}#error{padding:24px}}@media(any-pointer:coarse){#touch{display:flex}.race-bottom{bottom:max(85px,calc(env(safe-area-inset-bottom) + 77px))}}@media(max-height:550px)and (orientation:landscape){#threat{top:34%;width:250px;padding:8px 12px}#menu{padding-top:95px}.racing .race-top{top:65px}.racing .position-block b{font-size:52px}.racing .timing-block b{font-size:28px}.race-bottom{bottom:16px}.map-panel{display:none}.speedometer{width:190px;left:50%;position:absolute;transform:translate(-50%)}.speed-number b{font-size:68px}.combat-panel{margin-left:auto;width:175px}.time-row.muted{display:none}#corner-guide{top:40%;right:4%}#drive-hint{top:21%}#touch~*{display:none}.racing #header{padding-top:10px}.race-bottom:has(~#touch){bottom:80px}.boost-status{font-size:9px}.weapon{margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media(max-height:550px)and (orientation:landscape){.speedometer{position:static;transform:none;width:180px;text-align:left}.speed-number{justify-content:flex-start}.speed-number b{font-size:54px}.race-bottom{align-items:flex-end}#drive-hint{display:none}#notice{top:18%;font-size:10px;padding:6px 10px}#corner-guide{top:40%;padding:7px}}:root{--panel-solid: #10252a;--panel-race: #10252ae8;--readable: #e2ebe7}.hero-copy{pointer-events:auto}.hero-copy h1{font-size:clamp(64px,6.7vw,100px)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px;max-width:420px}.hero-actions button{min-height:48px;padding:0 22px;font-size:14px}.hero-actions .primary{flex:1}.hero-actions p{flex-basis:100%;margin:2px 0 0;font-size:12px;color:var(--readable)}.hero-copy .track-caption{margin-top:24px}.hint,.settings-row,.track-choice strong,.ship-choices button{font-size:13px}.hint{line-height:1.65;color:var(--readable)}.track-choice small,.ship-choices button span,#record{font-size:11px}.ship-choices button span{display:block;margin:5px 0 0;font-weight:400}.controls-legend{gap:16px;flex-wrap:wrap;font-size:12px}.menu-footer{grid-column:1 / -1;display:flex;align-items:center;gap:16px;border-top:1px solid #ffffff16}.menu-footer .controls-legend{flex:1;min-width:0;border-top:0}.controls-legend kbd{font-size:11px;min-width:24px;padding:4px 6px}#practice-menu{margin-left:auto;flex-shrink:0;min-height:44px;padding:8px 10px;border-color:transparent;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}#practice-menu:hover{color:var(--paper);text-decoration:underline;text-underline-offset:4px}#ship-stats>span{font-size:11px}#header button{font-size:12px}.racing #help-open{display:none}.race-top{align-items:flex-start}.position-block,.timing-block{background:var(--panel-race);border:1px solid #d4e3df30;padding:14px 18px;border-radius:4px}.position-block>.eyebrow{font-size:12px;letter-spacing:1px;color:var(--readable)}.position-block b{font-size:70px;line-height:1.1}.timing-block>div:first-child{margin-bottom:0;gap:14px}.timing-block>div:first-child>span,.time-row span{font-size:12px;letter-spacing:0}.time-row.muted{margin-bottom:0}.race-top .time-row strong{font-size:22px}body[data-mode=practice] .timing-block{display:none}body[data-mode=survival] .position-block b{color:#b9f0d1}#notice{top:76px;font-size:13px;letter-spacing:0;background:var(--panel-solid);max-width:50vw;padding:10px 16px}#threat{top:76px;width:min(440px,48vw);padding:10px 14px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:4px}#threat strong{flex-shrink:0;font-size:14px}#threat span{font-size:13px;margin:0}#threat>i{position:absolute;bottom:0;left:0;right:0;margin:0}#hud:has(#threat:not([hidden])) #notice{visibility:hidden}#corner-guide{top:35%;background:var(--panel-race);opacity:1!important;padding:10px 14px;border-radius:4px}#corner-guide strong{font-size:14px}#corner-guide small{font-size:11px;color:var(--readable)}#drive-hint{top:24%;padding:12px 18px;width:max-content;max-width:44vw;background:var(--panel-race);border-radius:4px}#drive-hint b{font-size:14px}#drive-hint span{display:block;font-size:12px;margin-top:5px;color:var(--readable)}.boost-status,.shield-label{font-size:12px;letter-spacing:0}.weapon>div small,.weapon>div span{font-size:11px;color:var(--readable)}#target-label{font-size:12px;background:#10252ad9;padding:3px 6px;white-space:nowrap}#target{color:#ffe0a5}#training{position:absolute;top:78px;left:50%;transform:translate(-50%);width:min(500px,52vw);display:flex;align-items:center;gap:16px;padding:14px 18px 18px;background:#10252af5;border:1px solid #7fd6dc80;border-radius:4px;pointer-events:auto}#training-count{font-size:11px;color:#8cdbde;display:block;margin-bottom:4px}#training-title{font-size:19px}#training-copy{font-size:13px;line-height:1.5;margin:6px 0 0}#training-skip{flex:0 0 80px;font-size:12px;padding:6px}#training-progress{position:absolute;left:0;bottom:0;width:100%;height:4px;border:0;accent-color:#8cdbde}body[data-mode=practice] #corner-guide,body[data-mode=practice] #notice{display:none}#touch{gap:24px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}#touch>div{display:grid;gap:8px;grid-template-columns:repeat(3,56px);align-items:stretch}#touch>div:last-child{grid-template-columns:repeat(2,64px)}#touch button{min-width:0;min-height:48px;font-size:12px;font-weight:600;border:1px solid #bfdbda80;background:#10252aea;border-radius:5px}#touch button[data-key=KeyQ]{grid-column:1;grid-row:1}#touch button[data-key=KeyE]{grid-column:3;grid-row:1}#touch button[data-key=KeyA]{grid-column:1;grid-row:2}#touch button[data-key=KeyS]{grid-column:2;grid-row:2}#touch button[data-key=KeyD]{grid-column:3;grid-row:2}#touch button[data-key=ArrowUp]{background:#694326ed;border-color:#f0b976}#touch button.pressed{background:#e35c35;box-shadow:0 0 0 2px #f8b098 inset}#overlay,#help{background:var(--panel-solid);color:var(--paper);border:1px solid #abc8c34d;border-top:3px solid var(--accent);border-radius:6px;box-shadow:0 24px 100px #0008;max-height:90svh;padding:28px;overflow:auto}#overlay{width:min(500px,94vw)}#help{width:min(660px,94vw)}#help::backdrop{background:#06151bc9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#overlay h2,#help h2{font-size:clamp(24px,4vw,32px);margin:22px 0 14px}#help p,#overlay-description,#result-advice{font-size:14px;line-height:1.75;color:var(--readable)}.help-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.help-heading h2{margin:8px 0!important}.help-heading .eyebrow{margin:0;font-size:11px!important}#help-close{min-width:88px;font-size:13px}.help-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.help-controls p{display:flex;align-items:center;gap:10px;padding:10px 0;margin:0;border-bottom:1px solid var(--line)}.help-controls kbd{color:#ffe0b7;min-width:64px;font:600 13px Barlow,sans-serif}.help-controls span{font-size:13px}#help h3{font-size:16px;margin:24px 0 12px}.supply-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.supply-guide p{background:#ffffff07;padding:10px;border-radius:4px;margin:0}.supply-guide b,.supply-guide span{display:block;font-size:12px}.supply-guide p:nth-child(1) b{color:#ffc693}.supply-guide p:nth-child(2) b{color:#ade8c3}.supply-guide p:nth-child(3) b{color:#a7e8f0}#pause-tools{border-block:1px solid var(--line);margin-top:18px;padding:6px 0 12px}#pause-tools p{font-size:12px;line-height:1.6;color:#c2d0cb;margin:10px 0 0}#pause-help{width:100%;margin-top:10px;font-size:13px}#pause-tools select{min-height:44px;font-size:13px;max-width:58%}.comfort-control{display:flex;align-items:center;min-height:44px;gap:10px;font-size:13px}.comfort-control input{width:18px;height:18px;accent-color:#fe855d}#result-advice{border-left:2px solid #9bd6d1;padding:12px 16px;background:#ffffff06}#result-record{padding:10px;font-size:13px;line-height:1.5;color:#b5efd4;background:#88dfc215}#result-stats span,.modal-note{font-size:12px}.modal-actions>button:not(.primary){font-size:14px}.modal-actions .primary{font-size:15px}@media(min-width:951px)and (max-height:820px){#menu{min-height:760px}.hero-copy h1{font-size:76px;margin-top:20px}.hero-copy{margin-top:0}}@media(max-width:950px){#menu{padding-top:105px}.hero-copy{min-height:0}.hero-copy h1{font-size:76px}.hero-copy .track-caption{display:none}.hero-actions{margin-bottom:12px}.race-top{top:80px}.position-block,.timing-block{padding:10px 12px}.race-top .position-block b{font-size:56px}#notice,#threat{top:20px;max-width:48vw;width:auto}#drive-hint{top:23%;max-width:58vw}#training{top:74px}}@media(max-width:520px){#header{padding:16px 5%}#header .brand>span{font-size:17px}#header .brand svg{width:25px}#header .brand small,#header #fullscreen{display:none}#header #help-open{font-size:11px}#menu{padding:90px 5% 115px;row-gap:22px}.hero-copy{min-height:0}.hero-copy h1{font-size:58px;margin:18px 0}.hero-copy .eyebrow{font-size:10px;letter-spacing:1px}.hero-cn{font-size:18px}.hero-description{font-size:13px}.hero-actions{gap:8px;margin-top:18px}.hero-actions button{padding:0 16px}.hero-actions p{font-size:12px}.setup{padding:16px;gap:18px}.setup .track-choice{min-height:58px}.garage{gap:16px}.launch{position:fixed;bottom:0;left:0;right:0;z-index:5;padding:12px max(18px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));background:#10252af5;border-top:1px solid #bfd3cf40}.launch .primary{height:48px}.launch p{display:none}.race-top{top:76px;left:4%;right:4%}.position-block,.timing-block{padding:8px 10px}.position-block>.eyebrow{font-size:12px}.race-top .position-block b{font-size:42px}.timing-block{min-width:122px}.timing-block>div:first-child{flex-direction:column;gap:5px;align-items:flex-end}.timing-block b{font-size:30px}.race-top .time-row{gap:12px}.race-top .time-row strong{font-size:18px}.race-top .time-row span{font-size:11px}#threat,#notice{top:185px;width:92%;max-width:92%;padding:9px 12px}#threat span,#notice{font-size:12px}#corner-guide{top:auto;bottom:36%;right:4%;padding:8px 10px}#corner-guide strong{font-size:12px}#corner-guide small{font-size:11px}#corner-guide svg{width:18px}#drive-hint{top:200px;max-width:90%;width:90%;padding:10px 14px}#drive-hint span{font-size:12px}.race-bottom{bottom:24px;gap:12px;left:4%;right:4%}.speed-number b{font-size:55px}.speed-number>span{font-size:11px}.boost-status,.shield-label,.shield-label strong{font-size:12px}.combat-panel{padding-bottom:15px}.weapon>div span{display:none}.weapon>div small{font-size:12px;margin:0;line-height:1.4}.weapon>strong{font-size:30px}.weapon svg{display:none}#touch{left:12px;right:12px;gap:16px}#touch>div{grid-template-columns:repeat(3,46px);gap:8px}#touch>div:last-child{grid-template-columns:repeat(2,52px)}#touch button{font-size:12px}#training{top:165px;width:92%;max-width:none;gap:12px;padding:10px 12px 14px}#training-title{font-size:16px}#training-copy{font-size:12px;margin-top:4px}#training-skip{flex-basis:58px}body[data-mode=practice] .position-block{padding:6px 10px}body[data-mode=practice] .position-block>div{display:none}#overlay,#help{padding:20px;max-height:92svh}.help-controls,.supply-guide{grid-template-columns:1fr}.supply-guide p{display:flex;justify-content:space-between;gap:8px}}@media(any-pointer:coarse){.race-bottom{bottom:max(130px,calc(env(safe-area-inset-bottom) + 122px))}}@media(max-height:550px)and (orientation:landscape){.racing #header{padding:8px 3%}.racing .brand>span{font-size:16px}.racing .brand svg,.racing .brand i,.racing #input-device{display:none}.race-top{top:58px;left:3%;right:3%}.position-block,.timing-block{padding:6px 10px}.race-top .position-block b{font-size:34px}.timing-block b{font-size:26px}.timing-block{min-width:130px}.race-top .time-row{display:none}#notice,#threat{top:10px;width:max-content;max-width:42vw;min-height:40px;padding:8px 12px}#threat span,#notice,#threat strong{font-size:12px}#corner-guide{top:120px;right:3%;bottom:auto;padding:7px 10px}#corner-guide strong{font-size:12px}#corner-guide small,#drive-hint{display:none}.race-bottom,.race-bottom:has(~#touch){bottom:120px;left:3%;right:3%}.speedometer{width:165px}.speed-number b{font-size:40px}.speed-scale{margin:3px 0}.boost-status,.shield-label{font-size:11px}.steering-scale{display:none}.combat-panel{width:155px;padding:0}.weapon{margin-top:6px;gap:8px}.weapon>strong{font-size:27px}.weapon>div span,.weapon svg{display:none}.weapon>div small{font-size:12px;margin:0}#training{top:60px;width:48vw;padding:8px 12px 12px;gap:8px}#training-title{font-size:16px}#training-copy{font-size:12px;line-height:1.4;margin-top:3px}#training-count{font-size:10px}#training-skip{flex-basis:64px}#overlay,#help{max-height:94svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.primary{background:#ff774d;color:#15232a;border-color:#ff936f}.primary:hover{background:#ff956f;color:#15232a}.speedometer,.combat-panel{background:#10252ae8;border-radius:4px;padding:10px 12px}#touch button{padding:4px 2px;white-space:nowrap}#overlay[open]{display:flex;flex-direction:column}#overlay .modal-actions{order:10;margin-top:16px}#pause-tools{order:20}#overlay .modal-note{order:30}#pause-tools summary{cursor:pointer;padding:12px 0;font-size:14px;min-height:44px}#pause-tools summary:focus-visible{outline:2px solid #94ebff;outline-offset:2px}@media(max-width:520px){.speedometer,.combat-panel{padding:8px}.speed-number b{font-size:48px}.boost-status,.shield-label,.shield-label strong{font-size:11px}}@media(max-height:550px)and (orientation:landscape){.race-bottom,.race-bottom:has(~#touch){bottom:120px}.speedometer,.combat-panel{padding:6px 10px}.speed-number b{font-size:34px}}@media(max-height:550px)and (orientation:landscape){#overlay{width:min(780px,94vw);padding:12px 18px}#overlay .modal-top,#overlay .modal-note{display:none}#overlay h2{font-size:24px;line-height:1.15;margin:0 0 8px}#overlay-description{margin:4px 0;font-size:13px;line-height:1.4}#result-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0;padding:8px 0}#result-stats span{font-size:11px;gap:4px}#result-stats strong{font-size:24px}#result-advice{font-size:12px;line-height:1.4;margin:4px 0;padding:6px 10px}#result-record{font-size:12px;margin:4px 0;padding:4px 8px}#overlay .modal-actions{flex-direction:row;gap:10px;margin-top:10px}#overlay .modal-actions>button{flex:1;min-height:44px;font-size:13px}#pause-tools{margin-top:10px;padding:0}#pause-help{margin-top:0}}#header{top:env(safe-area-inset-top,0px);padding-left:max(3.4%,env(safe-area-inset-left));padding-right:max(3.4%,env(safe-area-inset-right))}.race-top{margin-top:env(safe-area-inset-top,0px);left:max(3.5%,env(safe-area-inset-left));right:max(3.5%,env(safe-area-inset-right))}#touch{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}@media(max-width:520px){#menu{padding-top:calc(90px + env(safe-area-inset-top))}.launch{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}}@media(max-height:550px)and (orientation:landscape){#threat,#notice{top:calc(10px + env(safe-area-inset-top))}}#training-skip{white-space:nowrap}@media(max-width:520px){#training-skip{flex-basis:72px}}#bot-count{width:88px;min-height:44px;padding:8px 10px;border:1px solid #abc8c36b;border-radius:4px;background:var(--panel-solid);color:var(--paper);font:inherit;font-size:16px}#bot-count:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#bot-count[aria-invalid=true]{border-color:#ffad92}#bot-count-error{color:#ffad92}#hud[data-nitro=active] .speedometer{border-color:#82e6ff;box-shadow:0 0 28px #48c9ff24}#hud[data-nitro=burst] .speedometer{border-color:#ffc781;box-shadow:0 0 32px #ffa44238}.speedometer{border:1px solid #d0e6e32a;transition:border-color .12s,box-shadow .16s}#hud[data-nitro=active] #speed,#hud[data-nitro=active] #boost-label{color:#a9edff}#hud[data-nitro=burst] #speed,#hud[data-nitro=burst] #boost-label{color:#ffcf86}#hud[data-nitro=recharge] #boost-label{color:#ffcd9c}#nitro-technique{margin-top:9px;padding-top:7px;border-top:1px solid #aec9c32a;color:#c3d7d4;font-size:12px;line-height:1.4}#nitro-technique[data-ready=true]{color:#ffda96}#corner-charge{display:block;width:100%;height:5px;border:0;margin-top:5px;accent-color:#ffcb80}#flow-score{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:8px;color:#b9cecd;font-size:11px}#style-score{font:600 18px Barlow Condensed,sans-serif;color:#f5f5e8}#combo-label{color:#f0d1a0}#combo-time{display:block;flex-basis:100%;height:2px;accent-color:#f2c174;border:0}#skill-toast{position:absolute;top:24%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 18px;border-left:2px solid #f7c37d;background:#10252ae8;border-radius:3px;max-width:42vw}#skill-name{font-size:20px;font-weight:700;color:#ffdfac;letter-spacing:1px}#skill-points{font:12px Barlow,sans-serif;color:#f0e4d0}#hud:has(#skill-toast:not([hidden])) #drive-hint{visibility:hidden}#hud:has(#threat:not([hidden])) #skill-toast{visibility:hidden}#combat-confirm{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%) scale(var(--hit-scale, 1));color:#fff0cf;text-align:center;pointer-events:none;filter:drop-shadow(0 0 8px #ff931e88)}#combat-confirm i{display:block;width:34px;height:34px;margin:0 auto 12px;background:linear-gradient(currentColor,currentColor) left top / 11px 3px no-repeat,linear-gradient(currentColor,currentColor) left top / 3px 11px no-repeat,linear-gradient(currentColor,currentColor) right top / 11px 3px no-repeat,linear-gradient(currentColor,currentColor) right top / 3px 11px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 11px 3px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 3px 11px no-repeat,linear-gradient(currentColor,currentColor) right bottom / 11px 3px no-repeat,linear-gradient(currentColor,currentColor) right bottom / 3px 11px no-repeat;rotate:45deg}#combat-confirm b{display:block;padding:5px 12px;border-bottom:2px solid currentColor;background:#211309df;font-size:14px;letter-spacing:2px;white-space:nowrap}#combat-confirm[data-kind=kill]{color:#ffc46a}#combat-confirm[data-kind=kill] i{width:42px;height:42px}#combat-confirm[data-kind=kill] b{font-size:20px;letter-spacing:6px}#target-health{position:absolute;top:-8px;left:0;width:100%;height:4px;accent-color:#ffe0a5}#target-health::-webkit-meter-optimum-value{background:#ffe0a5}#target-health::-webkit-meter-bar{background:#10252a;border:0}#target-label{min-width:104px}#result-driving{padding:12px 14px;border:1px solid #9ae2e039;background:#82d6dd08;margin:8px 0}#result-driving strong{display:block;color:#ffdc9f;font-size:19px}#result-driving small{font-size:13px;margin-left:12px}#result-driving span{display:block;margin-top:5px;font-size:12px;line-height:1.7;color:#d3e1dd}#hud[data-nitro=recharge] .touch-boost{border-style:dashed;color:#c5ccd0}#hud[data-nitro=active] .touch-boost,#hud[data-nitro=burst] .touch-boost{background:#144c61;border-color:#9debff}body[data-mode=practice] #flow-score{display:none}body[data-comfort=true] #boost-vignette{opacity:0!important}@media(max-width:520px){#nitro-technique{font-size:11px;margin-top:5px;padding-top:5px}#flow-score{font-size:10px;margin-top:5px}#style-score{font-size:16px}#skill-toast{top:235px;max-width:86vw;padding:8px 14px}#skill-name{font-size:17px}#skill-points,#combat-confirm b{font-size:12px}}@media(max-height:700px)and (max-width:520px){#flow-score{display:none}.speed-number b{font-size:36px}#nitro-technique{font-size:10px}#skill-toast{top:180px}}@media(max-height:550px)and (orientation:landscape){#nitro-technique{font-size:11px;margin-top:5px}#flow-score{display:none}#skill-toast{top:63px;max-width:40vw;padding:7px 14px}#skill-name{font-size:17px}#result-driving{padding:6px 10px;margin:4px 0}#result-driving strong{font-size:15px}#result-driving span{margin-top:1px;font-size:11px}#result-stats{margin:5px 0;padding:5px 0}}@media(prefers-reduced-motion:reduce){.speedometer{transition:none}}@media(min-width:951px){.speedometer{width:320px;padding:10px 12px}.speed-number b{font-size:64px}.speed-scale{margin:4px 0;height:2px}.boost-status{margin-bottom:4px}#nitro-technique{margin-top:5px;padding-top:4px}#flow-score{margin-top:4px;gap:2px 8px}}#hud .steering-scale{display:none}#overlay[data-screen=result]{width:min(640px,94vw);padding:24px}#overlay[data-screen=result] h2{margin:16px 0 8px}#overlay[data-screen=result] #overlay-description{margin:6px 0;font-size:13px}#overlay[data-screen=result] #result-stats{grid-template-columns:repeat(4,1fr);margin:12px 0;padding:10px 0;gap:12px}#overlay[data-screen=result] #result-stats strong{font-size:28px}#overlay[data-screen=result] #result-advice{margin:6px 0;padding:8px 10px;font-size:13px;line-height:1.6}#overlay[data-screen=result] #result-record{margin:6px 0;padding:6px 10px}#overlay[data-screen=result] #result-driving{margin:6px 0;padding:8px 10px}@media(max-width:520px){#overlay[data-screen=result]{padding:18px}#overlay[data-screen=result] #result-stats{grid-template-columns:repeat(2,1fr)}}@media(max-height:550px)and (orientation:landscape){#overlay[data-screen=result]{width:min(780px,94vw);padding:12px 18px}#overlay[data-screen=result] h2{margin:0 0 5px;font-size:22px}#overlay[data-screen=result] #result-stats{padding:5px 0;margin:5px 0}#overlay[data-screen=result] #result-stats strong{font-size:24px}#overlay[data-screen=result] #result-advice{margin:3px 0;padding:4px 8px;font-size:12px;line-height:1.3}#overlay[data-screen=result] #result-driving{padding:4px 8px;margin:3px 0}#overlay[data-screen=result] #result-driving span{display:none}#overlay[data-screen=result] #result-driving strong{font-size:14px}#overlay[data-screen=result] #result-record{margin:2px 0;padding:3px 8px}}@media(max-height:700px)and (max-width:520px){#nitro-technique[data-ready=false][data-charging=false]{display:none}}#notice:empty{visibility:hidden}#weapon-switch{pointer-events:auto;display:block;width:100%;min-height:36px;margin-top:8px;padding:6px 10px;background:#102731e8;border:1px solid #e7c18b77;border-radius:4px;color:#ffe0a5;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation}#weapon-switch:focus-visible{outline:2px solid #ffca71;outline-offset:3px}#hud[data-weapon=cannon] .weapon>strong{color:#ffcd79}#hud[data-firing=true] .weapon{filter:drop-shadow(0 0 8px #ff9f3266)}#hud[data-firing=true] #weapon-status{color:#ffcf85}@media(max-width:520px){#weapon-switch{min-height:32px;margin-top:4px;padding:4px;font-size:10px}}#touch-weapon{grid-column:2;grid-row:1}@media(any-pointer:coarse){#weapon-switch{display:none}}:root{--route: #85f4df;--reward: #ffd28a}#modes{display:grid;grid-template-columns:repeat(3,1fr);border:0;gap:6px}#modes button{border:1px solid var(--line);border-radius:3px;min-height:44px;font-size:12px}#modes button[data-mode="3"]{grid-column:1 / 3;grid-row:1}#modes button[data-mode="4"]{grid-column:3;grid-row:1}#modes button[data-mode="3"]:not(.active){border-color:#ffae6877;color:#ffcd9b}.hero-actions .new-run{flex-basis:100%;min-height:44px;max-width:420px;text-align:left;color:#ffd4a9;border-color:#ffb47766;background:#18323ee8}.new-run span{float:right}#mission-strip{position:absolute;top:108px;left:50%;transform:translate(-50%);width:min(330px,34vw);padding:10px 14px;border-radius:4px;background:var(--panel-race);border:1px solid #85f4df44}#mission-kicker{display:block;font:10px var(--mono);letter-spacing:2px;color:var(--route);margin-bottom:4px}#mission-title{display:block;font-size:17px;font-weight:600}#mission-progress{display:block;margin:9px 0 6px;height:4px;width:100%;accent-color:var(--route);border:0}#mission-detail{display:block;color:#d1e0de;font-size:12px;line-height:1.5}#mission-strip[data-ahead=true] #mission-title{color:var(--route)}#mission-strip[data-ahead=false] #mission-title{color:var(--reward)}#boss-bar{position:absolute;top:216px;left:50%;transform:translate(-50%);width:min(400px,38vw);padding:9px 13px;background:#2e1828ed;border:1px solid #ff718e77;border-radius:4px;font-size:12px}#boss-phase{float:right;color:#ffd4a6;font-weight:500}#boss-health{width:100%;display:block;height:7px;margin-top:7px}#boss-health::-webkit-meter-bar{background:#492436;border:0}#boss-health::-webkit-meter-optimum-value{background:#ff829b}#stunt-cue{position:absolute;bottom:246px;left:50%;transform:translate(-50%);width:max-content;max-width:40vw;padding:10px 18px;background:#0c302fe8;border:1px solid #85f4df75;border-radius:4px;text-align:center}#stunt-title{display:block;font-size:16px;color:var(--route)}#stunt-detail{display:block;margin-top:4px;font-size:12px;color:#e5f4ed}#stunt-cue[data-kind=landing]{border-color:var(--reward);background:#39291ced}#stunt-cue[data-kind=landing] #stunt-title{color:var(--reward)}#run-build{position:absolute;left:3.5%;bottom:268px;max-width:210px;color:#cce0dc;font-size:11px;line-height:1.8}#run-build b{color:var(--route);display:block;font-size:11px;font-weight:500}body[data-mode=challenge] .combat-panel .weapon,body[data-mode=challenge] #touch-fire,body[data-mode=challenge] #touch-weapon,body[data-mode=challenge] #target,body[data-mode=challenge] #weapon-switch,body[data-mode=breakout] #drive-hint,body[data-mode=challenge] #drive-hint{display:none}body[data-mode=challenge] .position-block b{font-size:58px}#upgrade{width:min(850px,94vw);max-height:92dvh;padding:30px;border:1px solid #8eb6b955;border-radius:9px;background:#0d252cf5;overflow-y:auto;overscroll-behavior:contain}#upgrade::backdrop{background:#03161dcc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#upgrade h2{font-size:clamp(23px,3vw,32px);margin:22px 0 10px;line-height:1.3}#upgrade-description{color:#c1d5d3;font-size:14px;line-height:1.7;margin-bottom:22px}#upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-card{min-height:205px;padding:18px;text-align:left;display:flex;align-items:flex-start;flex-direction:column;gap:10px;border:1px solid #739b9c66;background:linear-gradient(150deg,#204149,#10292f);border-radius:6px;transition:border-color .15s,background .15s,transform .15s}.upgrade-card:hover,.upgrade-card:focus-visible{border-color:var(--route);background:#214750;transform:translateY(-3px)}.upgrade-card kbd{border-color:#85f4df55;color:var(--route);font-size:13px;padding:5px 9px}.upgrade-card strong{font-size:21px;color:#f3f5e9;margin-top:4px}.upgrade-card span{font-size:13px;color:#d2e5e1;line-height:1.7}.upgrade-card small{margin-top:auto;padding-top:12px;font-size:12px;color:var(--route)}.upgrade-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:18px}#upgrade-owned{font-size:12px;line-height:1.7;color:#b5cfcc}#upgrade-auto{flex-shrink:0;padding:8px 15px;min-height:44px;font-size:12px}#hud:has(#threat:not([hidden])) #drive-hint{visibility:hidden}#hud:has(#stunt-cue:not([hidden])) #corner-guide{visibility:hidden}@media(min-width:951px){body[data-mode=breakout] #skill-toast,body[data-mode=challenge] #skill-toast{top:225px}#hud:has(#boss-bar:not([hidden])) #skill-toast{top:278px}}@media(min-width:951px)and (max-height:850px){#menu{min-height:800px}.setup{margin-bottom:10px}}@media(max-width:950px){#mission-strip{top:96px;width:33vw;padding:8px 10px}#mission-title{font-size:14px}#mission-detail{font-size:11px}#boss-bar{top:193px;width:37vw}#run-build{display:none}#stunt-cue{bottom:225px;max-width:50vw}}@media(max-width:520px){.hero-actions .new-run{max-width:none}#mission-strip{top:170px;width:calc(100vw - 32px);max-width:none;padding:7px 11px}#mission-kicker{display:none}#mission-title{display:inline;font-size:13px}#mission-detail{display:none}#mission-progress{margin:6px 0 0;height:3px}#boss-bar{top:218px;width:calc(100vw - 40px);font-size:11px;padding:6px 10px}#boss-health{margin-top:4px;height:5px}body[data-mode=breakout] #threat,body[data-mode=breakout] #notice{top:222px}#hud:has(#boss-bar:not([hidden])) #threat,#hud:has(#boss-bar:not([hidden])) #notice{top:264px}body[data-mode=breakout] #skill-toast,body[data-mode=challenge] #skill-toast{top:267px}#hud:has(#boss-bar:not([hidden])) #skill-toast{top:310px}#stunt-cue{bottom:300px;max-width:calc(100vw - 36px);padding:8px 12px}#stunt-title{font-size:14px}#stunt-detail{font-size:11px}body[data-mode=challenge] .position-block b{font-size:37px}body[data-mode=breakout] #drive-hint,body[data-mode=challenge] #drive-hint{display:none}#upgrade{padding:20px 16px;width:calc(100vw - 24px)}#upgrade h2{margin:16px 0 8px}#upgrade-description{margin:8px 0 15px;font-size:13px}#upgrade-cards{grid-template-columns:1fr;gap:10px}.upgrade-card{min-height:116px;padding:12px 14px 12px 57px;gap:5px;position:relative}.upgrade-card kbd{position:absolute;left:13px;top:16px}.upgrade-card strong{font-size:18px;margin:0}.upgrade-card small{padding-top:2px}.upgrade-card:hover,.upgrade-card:focus-visible{transform:none}.upgrade-bottom{align-items:flex-start;margin-top:12px}#upgrade .modal-note{font-size:10px}}@media(max-height:550px)and (orientation:landscape){#mission-strip{top:62px;width:35vw;padding:6px 9px}#mission-kicker{display:none}#mission-title{font-size:13px}#mission-progress{margin:5px 0 3px}#mission-detail{display:block;font-size:10px}#boss-bar{top:136px;width:35vw;padding:5px 9px;font-size:10px}#boss-health{margin-top:3px;height:4px}#stunt-cue{bottom:128px;padding:6px 10px;max-width:40vw}#stunt-title{font-size:13px}#stunt-detail{font-size:10px}body[data-mode=breakout] #skill-toast,body[data-mode=challenge] #skill-toast{top:145px}#hud:has(#boss-bar:not([hidden])) #skill-toast{top:182px}#hud:has(#threat:not([hidden])) #mission-strip{visibility:hidden}#upgrade{padding:14px 20px;max-height:94dvh}#upgrade h2{font-size:22px;margin:10px 0 6px}#upgrade-description{margin:5px 0 10px;font-size:12px}.upgrade-card{min-height:142px;padding:12px;gap:5px}.upgrade-card strong{font-size:18px}.upgrade-card span{font-size:12px;line-height:1.5}.upgrade-card small{padding-top:6px}.upgrade-bottom{margin-top:8px}#upgrade .modal-note{margin-top:5px}}@media(prefers-reduced-motion:reduce){.upgrade-card{transition:none;transform:none!important}}@media(max-width:520px)and (any-pointer:coarse){.race-bottom,.race-bottom:has(~#touch){bottom:186px}#nitro-technique[data-ready=false][data-charging=false],#flow-score{display:none}#stunt-cue{bottom:330px}.combat-panel{padding-bottom:8px}}#upgrade-flow{position:absolute;top:254px;left:3.5%;width:min(300px,30vw);padding:12px 14px;display:flex;align-items:center;gap:12px;border:1px solid #85f4df66;border-radius:6px;background:var(--panel-solid)}#upgrade-flow[hidden]{display:none}.upgrade-flow-copy{display:grid;gap:5px;flex:1;min-width:0}#upgrade-flow-label{color:#bfd5d1;font-size:11px}#upgrade-flow-name{color:var(--route);font-size:19px}#upgrade-flow-detail{color:#e0eeea;font-size:12px;line-height:1.5}#upgrade-customize{pointer-events:auto;flex-shrink:0;min-width:64px;min-height:44px;padding:8px;border:1px solid #85f4df66;border-radius:4px;font-size:12px}#upgrade-customize:focus-visible{outline:2px solid var(--route);outline-offset:3px}#upgrade-flow>i{position:absolute;left:0;right:0;bottom:0;height:2px;overflow:hidden}#upgrade-flow-progress{display:block;height:100%;background:var(--route);transform-origin:left}#upgrade-flow[data-pending=false]>i{display:none}@media(max-width:520px){#upgrade-flow{top:220px;left:16px;width:calc(100% - 32px);padding:9px 11px;gap:8px}#upgrade-flow-name{font-size:16px}#upgrade-flow-label{font-size:10px}.upgrade-flow-copy{gap:3px}#hud:has(#boss-bar:not([hidden])) #upgrade-flow{top:264px}#hud:has(#threat:not([hidden])) #upgrade-flow{visibility:hidden}#hud:has(#upgrade-flow:not([hidden])) #notice,#hud:has(#upgrade-flow:not([hidden])) #skill-toast{visibility:hidden}}@media(max-height:550px)and (orientation:landscape){#upgrade-flow{top:62px;left:32.5%;width:35vw;padding:6px 9px;gap:6px}#hud:has(#upgrade-flow:not([hidden])) #mission-strip{visibility:hidden}#hud:has(#threat:not([hidden])) #upgrade-flow{visibility:hidden}#upgrade-flow-name{font-size:15px}#upgrade-flow-detail{font-size:11px}#upgrade-flow-label{display:none}}
