:root{color:#f5fbff;font-synthesis:none;text-rendering:geometricprecision;--void:#030817;--panel:#030918e8;--panel-solid:#050d1c;--line:#22dcff57;--cyan:#22dcff;--cyan-soft:#87efff;--coral:#ff5b61;--magenta:#ff2fc7;--lime:#baff18;--amber:#ff9d2e;--muted:#90a7bd;background:#030817;font-family:Arial Narrow,Roboto Condensed,DIN Condensed,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--void);width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,input,select{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;border:0}button:focus-visible,input:focus-visible,select:focus-visible,[role=slider]:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.app{isolation:isolate;background:var(--void);width:100vw;height:100dvh;min-height:100%;position:fixed;inset:0}.viewport,.game-canvas{width:100%;height:100%;position:absolute;inset:0}.game-canvas{touch-action:none;display:block}.start-menu{z-index:30;padding:max(42px, calc(28px + env(safe-area-inset-top))) max(5vw, env(safe-area-inset-right)) max(25px, calc(16px + env(safe-area-inset-bottom))) max(5vw, env(safe-area-inset-left));background:linear-gradient(90deg,#020611e8 0%,#020712b8 43%,#0207123d 78%,#02071275 100%),radial-gradient(circle at 72% 46%,#0000 12%,#0207127a 75%);grid-template-rows:auto 1fr auto;display:grid;position:absolute;inset:0}.start-menu:before{content:"";opacity:.28;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#70dcff09 3px 4px);position:absolute;inset:0}.start-menu-title{color:#fff;letter-spacing:.065em;text-shadow:0 0 34px #22dcff47,0 5px 30px #000000b3;font-size:clamp(34px,5.2vw,76px);font-style:italic;font-weight:950;line-height:.9;position:relative;transform:skew(-5deg)}.start-menu-title span{color:var(--cyan);letter-spacing:-.05em;margin:0 .12em}.start-menu-panel{grid-template-columns:minmax(280px,520px) minmax(180px,300px);align-self:center;align-items:stretch;gap:clamp(24px,5vw,78px);width:min(920px,92vw);display:grid;position:relative}.start-menu nav{gap:9px;display:grid}.start-menu nav button{color:#d6e7f4;text-align:left;clip-path:polygon(15px 0,100% 0,calc(100% - 22px) 100%,0 100%,0 15px);background:linear-gradient(90deg,#07182feb,#040d1da8);border:1px solid #22dcff47;grid-template-columns:52px 1fr;align-items:center;min-height:clamp(62px,9vh,88px);padding:0 clamp(22px,3vw,40px);transition:color .12s,background .12s,transform .12s;display:grid}.start-menu nav button span{color:var(--cyan);letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.start-menu nav button strong{letter-spacing:.13em;font-size:clamp(20px,2.2vw,31px);font-style:italic}.start-menu nav button:hover,.start-menu nav button:focus-visible,.start-menu nav button.primary{color:#06101a;background:var(--lime);transform:translate(7px)}.start-menu nav button:hover span,.start-menu nav button:focus-visible span,.start-menu nav button.primary span{color:#06101a}.start-menu aside{background:#030b199e;border-block:1px solid #22dcff59;align-self:center;padding:7px 0}.start-menu aside div{border-bottom:1px solid #22dcff21;gap:5px;padding:14px 18px;display:grid}.start-menu aside div:last-child{border-bottom:0}.start-menu aside span,.start-menu footer{color:var(--cyan-soft);letter-spacing:.16em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:850}.start-menu aside strong{letter-spacing:.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(13px,1.35vw,18px)}.start-menu footer{color:#c4ddee9e;position:relative}.race-results{z-index:32;text-align:center;width:min(560px,100vw - 36px);box-shadow:0 28px 100px #000000b8, inset 5px 0 0 var(--lime);clip-path:polygon(0 0,calc(100% - 25px) 0,100% 25px,100% 100%,25px 100%,0 calc(100% - 25px));background:linear-gradient(145deg,#081831fa,#030815fa);border:1px solid #22dcff9e;padding:35px clamp(26px,5vw,55px) 39px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.race-results>span{color:var(--cyan-soft);letter-spacing:.18em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:850}.race-results h1{letter-spacing:.08em;margin:8px 0 4px;font-size:clamp(29px,5vw,47px);font-style:italic}.race-result-time{color:var(--lime);letter-spacing:.025em;text-shadow:0 0 25px #baff1838;margin:21px 0 24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(31px,6vw,55px);font-weight:950}.result-records,.result-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.result-records div{background:#040f20a8;border:1px solid #22dcff3d;gap:6px;padding:14px;display:grid}.result-records span{color:var(--cyan-soft);letter-spacing:.14em;font-size:8px;font-weight:850}.result-records strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(13px,2vw,17px)}.result-actions{margin-top:18px}.result-actions button{letter-spacing:.12em;background:#051226c7;border:1px solid #22dcff61;min-height:46px;font-size:12px;font-weight:950}.result-actions button.primary{border-color:var(--lime);color:#06101a;background:var(--lime)}.topbar{z-index:20;height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(9px);background:linear-gradient(#020712f0,#0207127a);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:absolute;top:0;left:0;right:0}.brand{color:#fff;letter-spacing:.07em;white-space:nowrap;text-shadow:0 0 20px #22dcff33;justify-self:start;font-size:clamp(19px,2.05vw,31px);font-style:italic;font-weight:950;transform:skew(-5deg)}.brand span{color:var(--cyan);letter-spacing:-.14em;margin:0 .09em}.mode-tabs{clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);background:#030d1dc2;border:1px solid #22dcff52;height:38px;display:flex}.mode-tabs button{color:#c7d5e4;letter-spacing:.14em;background:0 0;width:clamp(92px,10vw,145px);padding:0 20px;font-size:14px;font-weight:900}.mode-tabs button.active{color:#041018;background:var(--lime);box-shadow:0 0 24px #baff1847}.play-button{color:#07101a;background:var(--coral);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);letter-spacing:.1em;justify-self:end;min-width:154px;height:40px;padding:0 30px;font-size:18px;font-weight:950}.play-button span{margin-right:7px}.race-actions{justify-self:end;gap:7px;display:flex}.fullscreen-button,.options-button,.camera-button{border:1px solid var(--line);width:42px;height:38px;color:var(--cyan-soft);clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#030d1db8;place-items:center;display:grid}.fullscreen-button svg,.options-button svg,.camera-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:22px}.options-button{color:var(--lime)}.camera-button{color:var(--cyan-soft)}.camera-button svg circle{fill:none}.camera-button.active{border-color:var(--magenta);color:var(--magenta);box-shadow:inset 0 -2px 0 var(--magenta), 0 0 16px #ff2fc726}.hud{z-index:8;pointer-events:none;padding:calc(72px + env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) 0 max(22px, env(safe-area-inset-left));position:absolute;inset:0}.speed-cluster{left:max(22px, env(safe-area-inset-left));top:calc(70px + env(safe-area-inset-top));filter:drop-shadow(0 3px 10px #0000008c);position:absolute}.speed-number{letter-spacing:-.07em;font-variant-numeric:tabular-nums;min-width:3ch;font-size:clamp(62px,8vw,118px);font-style:italic;font-weight:950;line-height:.76}.speed-unit{color:#b6c3d2;letter-spacing:.08em;margin-top:10px;font-size:clamp(18px,2vw,28px);font-weight:900}.burn-row{letter-spacing:.08em;align-items:center;gap:12px;margin-top:12px;font-size:15px;font-weight:900;display:flex}.burn-meter{gap:3px;width:clamp(125px,15vw,220px);display:flex}.burn-meter i{background:#06142ab3;border:1px solid #b8d2e894;flex:1;height:11px;transform:skew(-16deg)}.burn-meter i.active{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 8px #22dcff8a}.race-lap-center{top:calc(70px + env(safe-area-inset-top));text-align:center;filter:drop-shadow(0 3px 8px #000000b8);gap:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;position:absolute;left:50%;transform:translate(-50%)}.race-lap-center strong{letter-spacing:.14em;font-size:12px}.race-lap-center span{color:#cbe1f1b8;letter-spacing:.07em;font-size:9px}.race-minimap{top:calc(67px + env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));aspect-ratio:1.35;filter:drop-shadow(0 5px 13px #000000b3);width:clamp(138px,13vw,188px);position:absolute}.race-minimap>span{color:var(--cyan-soft);letter-spacing:.15em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:850;position:absolute;top:3px;right:5px}.race-minimap svg{width:100%;height:100%;overflow:visible}.minimap-track-shadow,.minimap-track{fill:none;stroke-linecap:round;stroke-linejoin:round}.minimap-track-shadow{stroke:#020712c7;stroke-width:8px}.minimap-track{stroke:#87efffad;stroke-width:2.4px}.minimap-racer{fill:var(--coral);stroke:#fff;stroke-width:.8px}.minimap-player-pulse{fill:#baff1826;stroke:#baff186b;stroke-width:.8px}.minimap-player{fill:var(--lime);stroke:#071019;stroke-width:1.1px}.boost-vignette{opacity:0;background:radial-gradient(circle at 50% 58%,#0000 42%,#ff2fc733 100%);transition:opacity .14s;position:absolute;inset:0}.boost-vignette.active{opacity:1}.scrape-warning{opacity:0;color:var(--amber);letter-spacing:.18em;text-shadow:0 0 12px #ff9d2e99;font-size:13px;font-weight:950;transition:opacity .1s linear;position:absolute;bottom:19%;left:50%;transform:translate(-50%)skew(-8deg)}.scrape-warning.active{opacity:1}.race-start-overlay,.countdown-overlay{z-index:18;pointer-events:none;filter:drop-shadow(0 8px 24px #000000b8);place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.race-start-overlay button{color:#071019;background:var(--lime);clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);pointer-events:auto;border:1px solid #baff18db;min-width:min(360px,82vw);padding:17px 36px 19px;box-shadow:0 0 45px #baff1838}.race-start-overlay button span,.race-start-overlay button strong{display:block}.race-start-overlay button span{letter-spacing:.14em;margin-bottom:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:800}.race-start-overlay button strong{letter-spacing:.08em;font-size:clamp(25px,4vw,44px);font-style:italic}.race-start-overlay p,.countdown-overlay p{color:var(--cyan-soft);letter-spacing:.18em;margin:12px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:850}.countdown-overlay span{color:#fff;letter-spacing:-.08em;text-shadow:-7px 5px #ff2fc766,7px -5px #22dcff52;font-size:clamp(116px,24vw,310px);font-style:italic;font-weight:950;line-height:.74}.countdown-overlay.is-go span{color:var(--lime);letter-spacing:.03em;text-shadow:0 0 45px #baff187a;font-size:clamp(90px,19vw,245px)}.countdown-overlay.is-go p{color:var(--lime)}.race-locked .touch-controls{opacity:.22;pointer-events:none}.cockpit-frame{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.cockpit-frame:after{content:"";clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);background:linear-gradient(#061225e0,#01050ef7);border:2px solid #22dcff6b;height:12vh;position:absolute;bottom:-5.5vh;left:20%;right:20%;box-shadow:0 -8px 28px #00000075}.cockpit-strut{background:linear-gradient(90deg,#020711,#13243d 48%,#030817);border:1px solid #22dcff52;width:clamp(25px,3.4vw,52px);height:48vh;position:absolute;bottom:-8vh;box-shadow:0 0 18px #000000ad}.cockpit-strut.left{left:16%;transform:rotate(-17deg)}.cockpit-strut.right{right:16%;transform:rotate(17deg)}.cockpit-frame>span{z-index:1;color:#87efffb8;letter-spacing:.15em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:800;position:absolute;bottom:2.4vh;left:50%;transform:translate(-50%)}.options-backdrop{z-index:80;padding:max(22px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(13px);background:#020612c2;place-items:center;display:grid;position:absolute;inset:0}.options-menu{width:min(500px,92vw);max-height:calc(100dvh - 40px);box-shadow:0 24px 90px #00000094, inset 4px 0 0 var(--lime);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));background:linear-gradient(145deg,#081831fa,#030815fa);border:1px solid #22dcff94;overflow:auto}.options-menu header{border-bottom:1px solid #22dcff4d;justify-content:space-between;align-items:flex-start;padding:25px 27px 20px 31px;display:flex}.options-menu header span,.now-playing span{color:var(--cyan-soft);letter-spacing:.18em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:850}.options-menu h1{letter-spacing:.09em;margin:4px 0 0;font-size:27px;font-style:italic}.options-close{width:36px;height:34px;color:var(--coral);background:#ff5b610f;border:1px solid #ff5b619e;font-size:24px;line-height:1}.mixer-stack{gap:24px;padding:26px 31px 22px;display:grid}.mixer-heading{letter-spacing:.14em;justify-content:space-between;align-items:center;margin-bottom:11px;font-size:13px;display:flex}.mixer-control output{color:var(--lime);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mixer-slider-row{grid-template-columns:31px 1fr 31px;align-items:center;gap:10px;display:grid}.mixer-slider-row button{height:29px;color:var(--cyan-soft);background:#22dcff0d;border:1px solid #22dcff61;font-size:18px;line-height:1}.mixer-control input{width:100%;height:21px;accent-color:var(--lime);cursor:pointer;margin:0}.now-playing{border-left:3px solid var(--magenta);background:#ff2fc712;gap:5px;margin:0 31px;padding:14px 16px;display:grid}.camera-options,.units-options{background:#040f2099;border:1px solid #22dcff3d;margin:0 31px 20px;padding:14px 16px 16px}.camera-options-heading,.units-options-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.camera-options-heading span,.camera-options-heading kbd,.units-options-heading span{color:var(--cyan-soft);letter-spacing:.12em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:850}.camera-options-heading kbd{color:var(--muted);font-size:8px}.camera-options>div:last-child,.units-options>div:last-child{grid-template-columns:1fr 1fr;gap:7px;display:grid}.camera-options button,.units-options button{min-height:37px;color:var(--muted);letter-spacing:.12em;background:#040b19bd;border:1px solid #90a7bd57;font-size:11px;font-weight:900}.camera-options button.active,.units-options button.active{border-color:var(--lime);color:#071019;background:var(--lime)}.now-playing strong{color:#fff;letter-spacing:.1em;font-size:14px}.sfx-note{color:var(--muted);letter-spacing:.04em;margin:15px 31px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.5}.resume-button{color:#071019;background:var(--lime);clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);letter-spacing:.16em;width:calc(100% - 62px);min-height:48px;margin:22px 31px 0;font-size:15px;font-weight:950;display:block}.escape-hint{color:#9fb0c4a6;text-align:center;letter-spacing:.16em;padding:11px 0 17px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.touch-controls{z-index:15;left:max(25px, env(safe-area-inset-left));right:max(25px, env(safe-area-inset-right));bottom:max(27px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.joystick{aspect-ratio:1;pointer-events:auto;touch-action:none;background:radial-gradient(circle,#18527f47 0 31%,#05142d47 32% 100%);border:2px solid #8fc5ff85;border-radius:50%;width:clamp(108px,12vw,164px);position:relative;box-shadow:inset 0 0 32px #22dcff12,0 8px 30px #00000038}.joystick:before,.joystick:after{content:"";opacity:.7;border-top:7px solid #0000;border-bottom:7px solid #0000;width:0;height:0;position:absolute;top:50%}.joystick:before{border-right:9px solid #a9c9ec;left:11px}.joystick:after{border-left:9px solid #a9c9ec;right:11px}.joystick-axis{background:#7dc3ff30;height:2px;position:absolute;top:calc(50% - 1px);left:18%;right:18%}.joystick-knob{z-index:2;aspect-ratio:1;will-change:transform;background:#247eb194;border:2px solid #77e0ffbf;border-radius:50%;width:38%;position:absolute;top:31%;left:31%;box-shadow:0 0 22px #22dcff2e}.drive-buttons{pointer-events:auto;align-items:flex-end;gap:clamp(10px,1.5vw,22px);display:flex}.drive-button{aspect-ratio:1;width:clamp(80px,9vw,128px);color:var(--cyan);text-shadow:0 2px 5px #000c;touch-action:none;background:#041124a8;border:3px solid;border-radius:50%;place-content:center;transition:transform 70ms linear,background 70ms linear;display:grid;box-shadow:inset 0 0 26px #00000057,0 0 14px}.drive-button:active{background:#22dcff42;transform:scale(.92)}.drive-button svg{width:clamp(28px,3.2vw,45px);height:clamp(28px,3.2vw,45px);margin:-5px auto -2px}.drive-button svg.down{transform:rotate(180deg)}.drive-button span{letter-spacing:.05em;font-size:clamp(11px,1.05vw,16px);font-weight:950}.drive-button.brake{width:clamp(72px,8.1vw,114px);color:var(--amber)}.drive-button.boost{width:clamp(67px,7.3vw,104px);color:var(--magenta)}.desktop-controls{z-index:5;left:50%;bottom:max(13px, env(safe-area-inset-bottom));color:#cbe1f194;letter-spacing:.09em;white-space:nowrap;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;position:absolute;transform:translate(-50%)}.track-editor{z-index:12;top:calc(58px + env(safe-area-inset-top));right:0;bottom:calc(35px + env(safe-area-inset-bottom));border-left:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);width:clamp(360px,33vw,480px);position:absolute}.editor-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--lime) #07162bb3;height:100%;overflow:auto}.editor-title-row{z-index:3;border-bottom:1px solid var(--line);background:#030a18f2;justify-content:space-between;align-items:center;min-height:57px;padding:10px 20px;display:flex;position:sticky;top:0}.editor-title-row h1{color:var(--cyan);letter-spacing:.13em;margin:0;font-size:18px;font-style:italic}.clear-button{height:32px;color:var(--coral);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);letter-spacing:.1em;background:0 0;border:1px solid #ff5b61b8;padding:0 15px;font-size:11px;font-weight:900}.generator-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(82px,1fr) minmax(100px,1fr) 1.2fr;gap:9px;padding:15px 18px;display:grid}.generator-row label{color:#cbd8e6;letter-spacing:.1em;gap:6px;font-size:10px;font-weight:850;display:grid}.generator-row input,.generator-row select{color:#eef9ff;background:#081b31d1;border:1px solid #22dcff7a;border-radius:0;outline:0;width:100%;height:38px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.randomize-button{border:1px solid var(--coral);height:38px;color:var(--coral);clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);letter-spacing:.08em;background:#ff5b610d;align-self:end;font-size:11px;font-weight:950}.randomize-button:active,.clear-button:active{color:#05101a;background:var(--coral)}.piece-palette{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:14px 14px 15px;display:grid}.piece-palette button{min-width:0;min-height:72px;color:var(--cyan-soft);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);background:#0a1f39ad;border:1px solid #3f8bc573;place-items:center;padding:6px 3px;display:grid}.piece-palette button:hover,.piece-palette button:active{border-color:var(--lime);color:var(--lime);background:#baff181a}.piece-palette svg,.piece-row svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:square;stroke-linejoin:bevel;width:37px;height:28px}.piece-palette span{color:#d6e4ee;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:8px;font-weight:850;overflow:hidden}.glyph-mirror{transform:scaleX(-1)}.glyph-drop{transform:scaleY(-1)}.piece-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:42px;padding:0 18px;display:flex}.piece-heading strong{color:var(--cyan);letter-spacing:.08em;font-size:13px}.piece-heading span{color:var(--muted);letter-spacing:.12em;font-size:8px}.piece-list{padding:0 10px 18px}.piece-row{color:#d8e7f2;border-bottom:1px solid #3f8bc559;grid-template-columns:1fr auto;min-height:46px;display:grid}.piece-row.selected{border:1px solid var(--lime);color:var(--lime);box-shadow:inset 3px 0 var(--lime);background:#baff181a}.piece-select{min-width:0;color:inherit;text-align:left;letter-spacing:.05em;background:0 0;grid-template-columns:34px 40px 1fr;align-items:center;gap:8px;padding:0 8px;font-size:11px;font-weight:800;display:grid}.piece-index{color:#a9bed0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.row-actions{align-items:center;gap:2px;padding-right:4px;display:flex}.row-actions button{color:#9bb5cc;background:0 0;border:1px solid #0000;place-items:center;width:30px;height:30px;display:grid}.row-actions button:hover:not(:disabled),.row-actions button:active:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.row-actions button:disabled{opacity:.2}.row-actions svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:square;width:17px;height:17px}.icon-down{transform:rotate(180deg)}.editor-status{z-index:14;height:calc(35px + env(safe-area-inset-bottom));padding:0 max(18px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(18px, env(safe-area-inset-left));border-top:1px solid var(--line);color:#c4d8e5;letter-spacing:.05em;background:#020814f0;align-items:center;gap:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.editor-status i{background:#84d3ff80;width:1px;height:13px}.editor-status strong{color:var(--lime);letter-spacing:.1em;margin-left:auto}.editor-status b{color:#07101a;background:var(--lime);border-radius:50%;place-items:center;width:18px;height:18px;margin-right:7px;display:inline-grid}.portrait-tip{z-index:40;left:50%;top:calc(64px + env(safe-area-inset-top));color:var(--cyan-soft);letter-spacing:.13em;white-space:nowrap;pointer-events:none;background:#030918b8;border:1px solid #22dcff61;padding:6px 12px;font-size:8px;font-weight:900;display:none;position:absolute;transform:translate(-50%)skew(-8deg)}@media (pointer:fine) and (width>=841px){.touch-controls{display:none}}@media (pointer:coarse){.desktop-controls{display:none}}@media (width<=840px){.desktop-controls{display:none}.start-menu{padding:max(28px, calc(18px + env(safe-area-inset-top))) max(17px, env(safe-area-inset-right)) max(17px, calc(11px + env(safe-area-inset-bottom))) max(17px, env(safe-area-inset-left));background:linear-gradient(#020611d1,#02071273 48%,#020712bf),radial-gradient(circle at 58% 34%,#0000 10%,#02071259 75%)}.start-menu-title{font-size:clamp(31px,10.5vw,45px)}.start-menu-panel{grid-template-columns:minmax(0,1fr);gap:16px;width:100%}.start-menu nav{gap:6px}.start-menu nav button{grid-template-columns:41px 1fr;min-height:59px;padding-inline:20px}.start-menu nav button strong{font-size:19px}.start-menu aside{grid-template-columns:1fr 1fr;padding:0;display:grid}.start-menu aside div{border-right:1px solid #22dcff21;min-width:0;padding:10px 12px}.start-menu aside strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.race-results{padding:29px 22px 31px}.topbar{height:calc(52px + env(safe-area-inset-top));padding-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right))}.brand{font-size:16px}.mode-tabs{height:32px}.mode-tabs button{width:72px;padding:0 8px;font-size:10px}.play-button{min-width:90px;height:33px;padding:0 15px;font-size:12px}.race-actions{gap:4px}.fullscreen-button,.options-button,.camera-button{width:35px;height:32px}.fullscreen-button svg,.options-button svg,.camera-button svg{width:18px}.speed-cluster{top:calc(63px + env(safe-area-inset-top))}.speed-number{font-size:56px}.speed-unit{margin-top:8px;font-size:15px}.burn-row{margin-top:8px;font-size:11px}.burn-meter{width:108px}.burn-meter i{height:8px}.race-lap-center{top:calc(62px + env(safe-area-inset-top))}.race-lap-center strong{font-size:9px}.race-lap-center span{font-size:7px}.race-minimap{top:calc(60px + env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));width:102px}.touch-controls{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom))}.joystick{width:108px}.drive-button{width:79px}.drive-button.brake{width:70px}.drive-button.boost{width:65px}.drive-buttons{gap:7px}.drive-button svg{width:27px;height:27px}.drive-button span{font-size:9px}.track-editor{top:calc(52px + env(safe-area-inset-top));bottom:calc(30px + env(safe-area-inset-bottom));width:min(46vw,400px)}.editor-status{height:calc(30px + env(safe-area-inset-bottom));gap:9px;font-size:8px}.editor-title-row{min-height:44px;padding:6px 10px}.editor-title-row h1{font-size:13px}.generator-row{grid-template-columns:1fr 1fr;padding:9px}.randomize-button{grid-column:span 2}.piece-palette{grid-template-columns:repeat(3,1fr);padding:8px}.piece-palette button{min-height:57px}.piece-heading{padding:0 10px}.piece-list{padding-inline:4px}.piece-select{grid-template-columns:27px 34px 1fr;gap:4px;padding-inline:4px;font-size:9px}.piece-row svg{width:31px}.row-actions button{width:26px}}@media (orientation:portrait) and (width<=840px){.portrait-tip{display:block}.brand{color:#0000;width:28px;overflow:hidden}.brand:after{content:"V//R";left:max(10px, env(safe-area-inset-left));color:#fff;position:absolute}.mode-tabs button{width:67px}.race-start-overlay{padding-bottom:8vh}.race-start-overlay button{min-width:min(320px,78vw);padding-inline:24px}.countdown-overlay{padding-bottom:8vh}.options-menu header{padding:20px 22px 16px 25px}.mixer-stack{padding:22px 25px 18px}.now-playing,.sfx-note,.camera-options,.units-options{margin-inline:25px}.cockpit-strut.left{left:8%}.cockpit-strut.right{right:8%}.resume-button{width:calc(100% - 50px);margin-inline:25px}.speed-number{font-size:48px}.touch-controls{bottom:max(20px, env(safe-area-inset-bottom))}.joystick{width:min(28vw,116px)}.drive-button{width:min(21vw,86px)}.drive-button.brake{width:min(18vw,74px)}.drive-button.boost{width:min(17vw,68px);position:absolute;bottom:89px;right:1px}.track-editor{top:auto;left:0;right:0;bottom:calc(30px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-left:0;width:auto;height:53dvh}.piece-palette{grid-template-columns:repeat(5,1fr)}.piece-palette button{min-height:54px}.piece-palette button:nth-child(n+6){min-height:48px}}@media (height<=500px){.start-menu{padding-block:max(15px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-bottom))}.start-menu-title{font-size:28px}.start-menu-panel{grid-template-columns:minmax(250px,1fr) minmax(175px,.58fr);gap:22px;width:min(760px,90vw)}.start-menu nav button{min-height:47px}.start-menu nav button strong{font-size:17px}.start-menu aside{grid-template-columns:1fr 1fr;display:grid}.start-menu aside div{padding:7px 9px}.start-menu aside strong{font-size:10px}.start-menu footer{font-size:7px}.race-results{width:min(660px,100vw - 32px);padding:17px 34px 19px}.race-results h1{margin-top:3px;font-size:25px}.race-result-time{margin:7px 0 10px;font-size:31px}.result-records div{padding:8px}.result-actions{margin-top:9px}.result-actions button{min-height:37px}.topbar{height:calc(46px + env(safe-area-inset-top))}.mode-tabs{height:29px}.speed-cluster{top:calc(56px + env(safe-area-inset-top))}.speed-number{font-size:46px}.speed-unit{font-size:12px}.burn-row{font-size:9px}.race-lap-center{top:calc(54px + env(safe-area-inset-top))}.race-minimap{top:calc(51px + env(safe-area-inset-top));width:86px}.joystick{width:88px}.drive-button{border-width:2px;width:67px}.drive-button.brake{width:59px}.drive-button.boost{width:55px}.drive-button svg{width:23px;height:23px}.track-editor{top:calc(46px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
