:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171a;--fg:#e8e6e0;--muted:#9a9890;--panel:#14161ae0;--accent:#f0b429;font-family:ui-monospace,Cascadia Mono,Segoe UI Mono,Menlo,Consolas,monospace}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;overflow:hidden}#game{width:100vw;height:100vh;display:block}#hud{pointer-events:none;text-shadow:0 1px 2px #000c;white-space:pre;font-size:13px;line-height:1.5;position:fixed;top:12px;left:16px}#hud .speed{color:var(--accent);font-size:34px;font-weight:700}#hud .muted{color:var(--muted)}#tuning{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff14;border-radius:8px;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);font-size:12px;position:fixed;top:12px;right:12px;overflow:auto}#tuning[hidden]{display:none}#tuning summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-weight:700}#tuning .rows{grid-template-columns:max-content 1fr 56px;align-items:center;gap:6px 8px;padding:4px 12px 12px;display:grid}#tuning label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#tuning input[type=range]{width:100%;margin:0}#tuning output{text-align:right;font-variant-numeric:tabular-nums}#tuning .heading{grid-column:1/-1;margin-top:6px;font-weight:700}#tuning .buttons{gap:8px;padding:0 12px 12px;display:flex}#tuning button{font:inherit;color:var(--fg);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;flex:1;padding:6px 8px}#tuning button:hover{background:#ffffff24}#hud .arena{color:var(--fg);font-weight:700}#hud .health{vertical-align:middle;background:#ffffff1f;border-radius:5px;width:160px;height:10px;margin-top:4px;display:inline-block;overflow:hidden}#hud .health i{background:#5ec46a;height:100%;transition:width .12s linear;display:block}#hud .health.hurt i{background:#f0b429}#hud .health.critical i{background:#e0442f}#hud .nitro{vertical-align:middle;background:#ffffff1f;border-radius:3px;width:160px;height:6px;margin-top:3px;display:inline-block;overflow:hidden}#hud .nitro i{background:#2a8fb3;height:100%;transition:width 80ms linear;display:block}#hud .nitro.on i{background:#7fdcff}#hud .wrecked{color:#e0442f;font-weight:700}#hud .mode{color:var(--accent);font-weight:700}#hud .place,#hud .clock{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:700}#hud .shield{color:#5ec4e6;font-variant-numeric:tabular-nums;font-weight:700}#banner{text-align:center;pointer-events:none;color:var(--accent);text-shadow:0 2px 8px #000c;font-size:72px;font-weight:700;position:fixed;top:30%;left:0;right:0}#hud[hidden],#banner[hidden],#callout[hidden],#results[hidden]{display:none}#callout{text-align:center;pointer-events:none;letter-spacing:.04em;color:#e8322a;text-shadow:0 2px #3a0606,0 2px 8px #000000d9;opacity:0;font-size:44px;font-style:italic;font-weight:800;position:fixed;top:14%;left:0;right:0}#callout.wave{color:var(--accent);text-shadow:0 2px 8px #000c}#callout.pop{animation:1.1s ease-out forwards callout-pop}@keyframes callout-pop{0%{opacity:0;transform:scale(1.7)}12%{opacity:1;transform:scale(.94)}22%{transform:scale(1)}65%{opacity:1}to{opacity:0;transform:scale(1)translateY(-10px)}}@media (prefers-reduced-motion:reduce){#callout.pop{animation-name:callout-fade}}@keyframes callout-fade{0%,65%{opacity:1}to{opacity:0}}#results{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff14;border-radius:8px;width:max-content;min-width:360px;max-width:calc(100vw - 32px);padding:4px 16px 8px;font-size:13px;position:fixed;top:45%;left:50%;transform:translate(-50%)}#results h2{margin:8px 0 0;font-size:16px}#results p{margin:4px 0 8px}#results .muted{color:var(--muted)}#results table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}#results th{text-align:left;color:var(--muted);padding:2px 8px 2px 0;font-weight:400}#results td{padding:2px 8px 2px 0}#results tr.me td{color:var(--accent)}#results .wrecked{color:#e0442f;font-weight:700}#results .actions{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 6px;display:flex}#results .actions .kb{flex-basis:100%;font-size:12px}#results button,#menu button{font:inherit;color:var(--fg);cursor:pointer;touch-action:manipulation;background:#ffffff1a;border:1px solid #ffffff24;border-radius:6px;padding:8px 14px}#results button:hover,#menu button:hover{background:#ffffff29}html,body{overscroll-behavior:none;touch-action:none}#game,#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#game{height:100dvh}#hud{left:max(16px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top))}#tuning{touch-action:pan-y}#touch{z-index:5;--inset-left:max(20px, env(safe-area-inset-left));--inset-right:max(20px, env(safe-area-inset-right));--inset-bottom:max(24px, env(safe-area-inset-bottom));color:var(--fg);letter-spacing:.04em;font-size:12px;font-weight:700;position:fixed;inset:0}#touch[hidden],#menu[hidden],#rotate[hidden]{display:none}#touch .steer{left:var(--inset-left);bottom:var(--inset-bottom);align-items:center;gap:8px;display:flex;position:absolute}#touch .arrow{color:#e8e6e080;font-size:16px}#touch .track{background:#14161a8c;border:2px solid #ffffff38;border-radius:28px;width:196px;height:56px;position:relative;box-shadow:0 2px 10px #00000073}#touch .track:before{content:"";background:#ffffff2e;width:2px;margin-left:-1px;position:absolute;top:8px;bottom:8px;left:50%}#touch .knob{background:#e8e6e0d9;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;transition:transform 90ms ease-out;position:absolute;top:50%;left:50%;box-shadow:0 1px 4px #0009}#touch .track.held .knob{background:var(--accent);transition:none}#touch .pad{text-align:center;white-space:pre-line;color:#e8e6e0d9;background:#14161a8c;border:2px solid #ffffff38;border-radius:50%;justify-content:center;align-items:center;line-height:1.15;display:flex;position:absolute;box-shadow:0 2px 10px #00000073}#touch .pad[hidden]{display:none}#touch .pad.held{border-color:var(--accent);color:#fff;background:#f0b4298c}#touch .pad.gas{right:var(--inset-right);bottom:var(--inset-bottom);width:96px;height:96px;font-size:14px}#touch .pad.brake{right:calc(var(--inset-right) + 108px);bottom:calc(var(--inset-bottom) + 6px);width:78px;height:78px}#touch .pad.handbrake{right:calc(var(--inset-right) + 10px);bottom:calc(var(--inset-bottom) + 112px);width:76px;height:76px}#touch .pad.fire{right:calc(var(--inset-right) + 112px);bottom:calc(var(--inset-bottom) + 100px);border-color:#f07a2a99;width:70px;height:70px}#touch .pad.fire.held{background:#f07a2a99;border-color:#f07a2a}#menu{z-index:6;gap:6px;font-size:11px;display:flex;position:fixed;bottom:12px;right:12px}#menu button{background:var(--panel);padding:7px 10px}body:not(.touch) #menu button:not([data-action=music]){display:none}body:not(.touch) #menu button.muted{color:var(--accent);border-color:var(--accent)}body.arena-view:not(.touch) #menu{right:50%;transform:translate(50%)}body.touch #menu{right:max(12px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));bottom:auto}#hud.framed .detail,#hud.framed .kb,body.touch #hud .detail,body.touch #hud .kb,body.touch #results .kb,body.touch #tuning{display:none}body.touch #results{z-index:7}body.touch #banner,body.touch #callout{z-index:6}#rotate{z-index:20;background:var(--bg);color:var(--fg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;font-size:18px;position:fixed;inset:0}#rotate .phone{border:3px solid var(--accent);border-radius:8px;width:48px;height:88px;animation:2s ease-in-out infinite rotate-phone}@keyframes rotate-phone{0%,25%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (orientation:portrait){body.touch #rotate{display:flex}}#start{z-index:10;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));background:linear-gradient(to bottom, #10121499, #10121400 32%), linear-gradient(to top, #101214cc, #10121400 36%), var(--bg) url(/art/splash.webp) center / cover no-repeat;text-align:center;touch-action:none;cursor:pointer;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0}#start[hidden]{display:none}#start{--title-w:min(46vw, 640px)}#start h1{margin:calc(var(--title-w) * -.09) 0 0;color:var(--accent);font-size:56px;line-height:0}#start h1 img{width:var(--title-w);filter:drop-shadow(0 3px 6px #0009);pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;display:block}#start .where{color:var(--fg);text-shadow:0 1px 3px #000000e6,0 0 12px #000c;margin:0 0 12px;font-size:15px}#start button{font:inherit;letter-spacing:.1em;background:var(--accent);color:#15171a;cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;min-width:180px;min-height:52px;padding:12px 40px;font-size:18px;font-weight:700;box-shadow:0 4px 16px #00000080}#start button:hover{filter:brightness(1.08)}#start .where .level{min-width:0;min-height:0;font-size:inherit;letter-spacing:0;color:var(--accent);box-shadow:none;text-underline-offset:3px;text-shadow:inherit;background:0 0;border-radius:0;padding:0 2px;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#start .level-line[hidden]{display:none}#start .hint{color:var(--fg);opacity:.85;text-shadow:0 1px 3px #000000e6;margin:14px 0 0;font-size:12px}#start .touch-only{display:none}body.touch #start .touch-only{display:block}body.touch #start .kb{display:none}#start .seats{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}#start .seats[hidden]{display:none}#start .seats li{background:var(--panel);border:3px solid var(--seat);min-width:132px;color:var(--fg);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;font-size:13px;display:flex}#start .seats li b{color:var(--seat);font-size:26px;line-height:1.1}#start .seats li.free{opacity:.55;border-style:dashed}#start .seats li.out span{color:var(--muted)}#seatbar{left:50%;top:max(10px, env(safe-area-inset-top));z-index:5;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}#seatbar[hidden]{display:none}#seatbar span{background:var(--panel);border:2px solid var(--seat);white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:14px}#seatbar b{color:var(--seat)}#botdebug{pointer-events:none;position:fixed;inset:0;overflow:hidden}#botdebug[hidden],#botdebug>[hidden]{display:none}#botdebug .band-tag{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--fg);border-left:3px solid var(--bot,var(--muted));background:#14161ab8;border-radius:2px;padding:1px 5px;font-size:12px;line-height:1.4;position:absolute;top:0;left:0}#botdebug .band-tag.catch{color:#fb923c}#botdebug .band-tag.ease{color:#7dd3fc}#seathud{pointer-events:none;position:fixed;inset:0;overflow:hidden}#seathud[hidden],#seathud>[hidden]{display:none}#seathud .seat-panel{box-sizing:border-box;background:var(--panel);border:.12em solid var(--seat);white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000c;border-radius:.3em;padding:.38em .45em;line-height:1.25;position:absolute;overflow:hidden}#seathud .seat-panel.waiting{opacity:.45}#seathud .seat-panel .head{justify-content:space-between;align-items:center;gap:.55em;height:1.65em;display:flex}#seathud .seat-panel .head b{color:var(--seat);font-size:1.5em;font-weight:800;line-height:1.1}#seathud .seat-panel .place{font-size:1.3em;font-weight:700;line-height:1.1}#seathud .seat-panel .vital{align-items:center;gap:.3em;height:1.25em;display:flex}#seathud .seat-panel .bars{flex-direction:column;gap:.12em;width:100%;display:flex}#seathud .seat-panel .nitro{background:#ffffff24;border-radius:.14em;width:100%;height:.28em;display:block;overflow:hidden}#seathud .seat-panel .nitro i{background:#2a8fb3;height:100%;display:block}#seathud .seat-panel .nitro.on i{background:#7fdcff}#seathud .seat-panel .health{background:#ffffff24;border-radius:.25em;width:100%;height:.5em;display:block;overflow:hidden}#seathud .seat-panel .health i{background:#5ec46a;height:100%;transition:width .12s linear;display:block}#seathud .seat-panel .health.hurt i{background:#f0b429}#seathud .seat-panel .health.critical i{background:#e0442f}#seathud .seat-panel .status{color:#e0442f;font-size:.8em;font-weight:700}#seathud .seat-panel .detail,#seathud .seat-panel .muted,#seathud .seat-panel .kills span{color:var(--muted)}#seathud .seat-panel .detail{font-size:.8em}#seathud .seat-panel .lap{height:1.25em;font-weight:700}#seathud .seat-panel .kills{align-items:baseline;gap:.3em;height:1.65em;display:flex}#seathud .seat-panel .kills b{font-size:1.5em;line-height:1.1}#seathud .seat-panel .kills span{font-size:.75em}#seathud .seat-panel .weapon{height:1.25em}#seathud .seat-panel .weapon span{font-size:.8em;font-weight:700}#seathud .seat-panel.strip{align-items:center;gap:.55em;height:1.75em;padding:0 .45em;display:flex}#seathud .seat-panel.strip.tr,#seathud .seat-panel.strip.br,#seathud .seat-panel.strip.tr .head,#seathud .seat-panel.strip.br .head{flex-direction:row-reverse}#seathud .seat-panel.strip>div{height:auto}#seathud .seat-panel.strip .head b{font-size:1.3em}#seathud .seat-panel.strip .place,#seathud .seat-panel.strip .kills b{font-size:1.1em}#seathud .seat-panel.strip .vital{width:5.5em}#seathud .seat-tag{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:0}#seathud .seat-tag span{background:var(--seat);color:#fff;white-space:nowrap;text-shadow:0 1px 2px #0009;border:.1em solid #0a0c0ed9;border-radius:.35em;padding:.1em .38em;font-weight:800;line-height:1.15;box-shadow:0 2px 6px #00000080}#seathud .seat-tag:after{content:"";border-left:.3em solid #0000;border-right:.3em solid #0000;border-top:.35em solid var(--seat);width:0;height:0}#seathud .seat-tag.below{flex-direction:column-reverse}#seathud .seat-tag.below:after{border-top:0;border-bottom:.35em solid var(--seat)}#seathud .seat-tag.wrecked{opacity:.5}#seathud .seat-callout{position:absolute;top:0;left:0}#seathud .seat-callout>div{color:var(--seat);letter-spacing:.04em;white-space:nowrap;text-shadow:0 .05em #000,0 0 .2em #000000e6,0 .05em .3em #000000d9;opacity:0;font-style:italic;font-weight:800}#seathud .seat-callout>div.pop{animation:1.1s ease-out forwards callout-pop}#seathud .seat-wave{text-align:center;letter-spacing:.04em;color:var(--accent);text-shadow:0 3px 10px #000000d9;opacity:0;font-size:clamp(32px,8vh,120px);font-style:italic;font-weight:800;position:absolute;top:14%;left:0;right:0}#seathud .seat-wave.pop{animation:1.8s ease-out forwards callout-pop}@media (prefers-reduced-motion:reduce){#seathud .seat-callout>div.pop,#seathud .seat-wave.pop{animation-name:callout-fade}}body.arena-view #banner{font-size:clamp(56px,15vh,220px);line-height:1.1;top:32%;transform:translateY(-50%)}body.arena-view #results{min-width:18em;font-size:clamp(13px,2.1vh,28px)}body.arena-view #results h2{font-size:1.3em}body.arena-view #results .actions .kb{font-size:.8em}#intro{z-index:15;background:var(--bg);touch-action:none;cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#intro[hidden]{display:none}#intro.over{pointer-events:none}#intro .go{z-index:1;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;position:relative}#intro .film{object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}#intro.film-on .film{opacity:1}#intro .go img{filter:drop-shadow(0 4px 10px #000c);width:min(36vw,440px);height:auto;display:block}#intro .go:hover img{filter:drop-shadow(0 4px 10px #000c)brightness(1.12)}#intro .word{filter:drop-shadow(0 4px 12px #000c);pointer-events:none;width:min(64vw,900px);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#intro .word[hidden]{display:none}#intro .word.on{animation:.18s ease-out intro-pop}#intro .word.logo{width:min(84vw,1180px);top:42%}#intro .word.logo.on{animation:.4s cubic-bezier(.2,1.4,.4,1) intro-logo-land}@keyframes intro-logo-land{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}40%{opacity:1}to{transform:translate(-50%,-50%)scale(1)}}@keyframes intro-pop{0%{opacity:.3;transform:translate(-50%,-50%)scale(1.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}#music{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:17;font:inherit;color:var(--fg);background:var(--panel);cursor:pointer;touch-action:manipulation;border:1px solid #ffffff26;border-radius:8px;padding:7px 10px;font-size:11px;position:fixed}#music.off{color:var(--muted)}#music.muted{color:var(--accent);border-color:var(--accent)}#music:hover{border-color:var(--accent)}#music[hidden]{display:none}#start{transition:opacity .8s}#start.pending{opacity:0;pointer-events:none}#start.reveal{z-index:16}#start.reveal h1 img{animation:.4s cubic-bezier(.2,1.4,.4,1) logo-land}@keyframes logo-land{0%{opacity:0;transform:scale(1.6)}40%{opacity:1}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){#intro .word.on,#start.reveal h1 img{animation:none}}@media (height<=520px){#start{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom));--title-w:min(44vw, 400px)}#start .where{margin-bottom:6px;font-size:13px}#start button{min-height:44px;padding:8px 32px;font-size:16px}#start .hint{margin-top:8px}#hud{font-size:12px;line-height:1.4}#hud .speed{font-size:26px}#hud .health{width:120px;height:8px}#banner{font-size:48px;top:22%}#callout{font-size:30px;top:62%}#results{min-width:320px;max-height:calc(100vh - 24px);font-size:12px;top:50%;overflow:auto;transform:translate(-50%,-50%)}}
