html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#000;color:#f2f3f5;font:16px/1.3 Helvetica Neue,Helvetica,Arial,system-ui,sans-serif}#c{display:block;width:100vw;height:100vh;height:100dvh;touch-action:none}#caption,#hud,#end,#fade,#hud .slow,#drag,#drag .best,#sys{opacity:0;pointer-events:none}#caption{position:fixed;left:0;right:0;bottom:calc(14vmin + env(safe-area-inset-bottom));text-align:center;z-index:3;text-shadow:0 .2vmin 2vmin #000c;padding:0 4vmin}#caption .t{font-size:6.4vmin;font-weight:300;letter-spacing:.32em;margin-right:-.32em;text-wrap:balance}#caption .s{margin-top:1.4vmin;font-size:2.3vmin;letter-spacing:.4em;opacity:.6;text-transform:uppercase}#caption .s:empty{display:none}@media (orientation: portrait){#caption{bottom:calc(24vh + env(safe-area-inset-bottom))}#caption .t{font-size:7vmin;letter-spacing:.22em;margin-right:-.22em}}#hud{position:fixed;inset:0;z-index:3;font-size:2.4vmin;letter-spacing:.12em}#hud .live{position:absolute;top:calc(4vmin + env(safe-area-inset-top));right:calc(4vmin + env(safe-area-inset-right));display:flex;align-items:center;gap:1.2vmin;font-weight:700;font-size:2.6vmin;padding:.8vmin 1.6vmin;background:#0008;border-radius:.6vmin}#hud .live i{width:1.6vmin;height:1.6vmin;border-radius:50%;background:#ff2b2b;box-shadow:0 0 1.2vmin #ff2b2b}#hud .slow{position:absolute;top:calc(4.6vmin + env(safe-area-inset-top));left:0;right:0;text-align:center;font-size:2.2vmin;letter-spacing:.45em;color:#9fd4ff}#hud .slow span{color:#fff}#hud .g,#hud .alt{position:absolute;bottom:calc(4vmin + env(safe-area-inset-bottom));display:flex;align-items:center;gap:2vmin;padding:1.4vmin 2vmin;background:linear-gradient(#0000,#0009);border-bottom:.3vmin solid #ffffff55}#hud .g{left:calc(4vmin + env(safe-area-inset-left))}#hud .alt{right:calc(4vmin + env(safe-area-inset-right));text-align:right}#hud svg{width:11vmin;height:auto;fill:none;stroke:#e8f2ff;stroke-width:1.1;stroke-linejoin:round;opacity:.85}#hud small{display:block;font-size:1.9vmin;letter-spacing:.3em;opacity:.65}#hud b{font-size:5.6vmin;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}#hud em{font-style:normal;font-size:2.4vmin;margin-left:.8vmin;opacity:.8}@media (orientation: portrait){#hud .g,#hud .alt{bottom:calc(7vh + env(safe-area-inset-bottom))}#hud{font-size:2.8vmin}#hud b{font-size:7vmin}#hud small{font-size:2.4vmin}#hud .live{top:calc(6vh + env(safe-area-inset-top));font-size:3.2vmin}#hud .slow{top:calc(11vh + env(safe-area-inset-top));font-size:2.8vmin}}#drag{position:fixed;z-index:3;left:0;right:0;top:calc(5vmin + env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;letter-spacing:.14em;text-shadow:0 .2vmin 1.6vmin #000c}#drag small{font-size:2.2vmin;letter-spacing:.4em;margin-right:-.4em;opacity:.75}#drag .run1{font-size:2vmin;letter-spacing:.3em;opacity:.55;margin-bottom:1.2vmin;font-variant-numeric:tabular-nums}#drag .run1 b{font-weight:600}#drag .clock{display:flex;align-items:baseline;padding:.6vmin 3vmin 1vmin;border-bottom:.35vmin solid #ffffff55;background:linear-gradient(#0000,#0008)}#drag .clock b{font-size:11vmin;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1}#drag .clock em{font-style:normal;font-size:3vmin;margin-left:1vmin;opacity:.8}#drag.done .clock b{color:#9fd4ff;text-shadow:0 0 2.4vmin #3d8cffaa}#drag.done .clock{border-bottom-color:#58b4ff}#drag .mph{margin-top:1.2vmin;font-size:2.4vmin;letter-spacing:.3em;opacity:.8;font-variant-numeric:tabular-nums}#drag .mph b{font-weight:600;display:inline-block;min-width:3ch;text-align:right}#drag .best{margin-top:1.4vmin;font-size:2.2vmin;letter-spacing:.4em;margin-right:-.4em;color:#9fd4ff}@media (orientation: portrait){#drag{top:calc(11vh + env(safe-area-inset-top))}#drag .clock b{font-size:15vmin}#drag small,#drag .best{font-size:3vmin}#drag .run1,#drag .mph{font-size:2.8vmin}}#sys{position:fixed;z-index:3;left:calc(4vmin + env(safe-area-inset-left));top:calc(4vmin + env(safe-area-inset-top));display:flex;gap:2.2vmin;align-items:stretch;padding:1.8vmin 2.2vmin;background:linear-gradient(90deg,#000a,#0005);border-left:.35vmin solid #ffffff55;letter-spacing:.12em;font-size:2vmin;text-shadow:0 .2vmin 1vmin #000c}#sys .map{width:12vmin;height:auto;overflow:visible}#sys .map .body{fill:#ffffff10;stroke:#e8f2ff;stroke-width:1.2;stroke-linejoin:round;opacity:.8}#sys .map .canopy{fill:#ffffff14;stroke:#e8f2ff55;stroke-width:.8}#sys .map .wheel{fill:#e8f2ff66}#sys .map .fan{fill:none;stroke:#e8f2ff;stroke-width:1;stroke-dasharray:2.2 1.4;opacity:calc(.3 + .7 * var(--fan, 0))}#sys .map .th .dot{fill:#58b4ff;fill-opacity:.12;stroke:#9fd4ff;stroke-width:.7}#sys .map .th .halo{fill:#3d8cff;opacity:0;filter:blur(1.6px)}#sys .map .th.on .dot{fill:#e6f4ff;stroke:#58b4ff}#sys .map .th.port .dot{stroke:#ffb27a}#sys .rows{display:flex;flex-direction:column;justify-content:space-between;gap:1.2vmin;min-width:21vmin}#sys small{display:block;font-size:1.6vmin;letter-spacing:.3em;opacity:.65}#sys b{font-size:3.6vmin;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}#sys em{font-style:normal;font-size:1.9vmin;margin-left:.6vmin;opacity:.8}#sys .suction b{opacity:.5}#sys .suction:not(.on) em{display:none}#sys .suction.on b{opacity:1}#sys .suction.full b{color:#9fd4ff;text-shadow:0 0 1.6vmin #3d8cffaa}#sys .tank .bar{height:.9vmin;margin:.7vmin 0 .4vmin;background:#ffffff1f}#sys .tank .bar i{display:block;height:100%;background:#58b4ff;box-shadow:0 0 1vmin #3d8cff;transform-origin:0 50%}#sys .tank .bar i.low{background:#ff5a3c;box-shadow:0 0 1vmin #ff3b1f}@media (orientation: portrait){#sys{top:auto;bottom:calc(7vh + 20vmin + env(safe-area-inset-bottom));font-size:2.6vmin;padding:2vmin 3vmin;gap:4vmin;align-items:center}#sys .map{width:12.5vmin}#sys .rows{display:grid;grid-template-columns:auto auto;gap:2.4vmin 5vmin;min-width:0}#sys .tank{min-width:25vmin}#sys small{font-size:2.2vmin}#sys b{font-size:5.2vmin}#sys em{font-size:2.5vmin}#sys .tank .bar{height:1.2vmin}}#end{position:fixed;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#000}#end h1{margin:0;padding-left:.3em;font-weight:300;font-size:min(11vmin,9.5vw);letter-spacing:.3em;white-space:nowrap}#end .credits{position:absolute;left:0;right:0;bottom:calc(9vh + env(safe-area-inset-bottom));margin:0 auto;max-width:80vmin;padding:0 5vmin;text-align:center;font-size:max(12px,2.1vmin);line-height:1.55;letter-spacing:.06em;color:#f2f3f5;opacity:.62;text-wrap:balance}#loading{position:fixed;left:0;right:0;top:50%;z-index:7;text-align:center;font-size:1.8vmin;letter-spacing:.4em;opacity:.5;pointer-events:none}#fade{position:fixed;inset:0;z-index:5;background:#000}#hint{position:fixed;z-index:6;left:calc(3vmin + env(safe-area-inset-left));top:calc(2vmin + env(safe-area-inset-top));font-size:1.6vmin;letter-spacing:.3em;opacity:.28;pointer-events:none}body.record #hint,body.sim #hint{display:none}#simhud{position:fixed;inset:0;z-index:3;pointer-events:none;letter-spacing:.12em;font-size:1.9vmin;text-shadow:0 .2vmin 1vmin #000c}#simhud small{display:block;font-size:1.5vmin;letter-spacing:.28em;opacity:.65}#simhud b{font-size:3.6vmin;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}#simhud em{font-style:normal;font-size:1.7vmin;margin-left:.5vmin;opacity:.8}#simhud .sub{margin-left:1.4vmin;font-size:1.6vmin;opacity:.6;font-variant-numeric:tabular-nums}#simhud .panel{position:absolute;padding:1.4vmin 2vmin;background:linear-gradient(90deg,#000b,#0006);border-left:.35vmin solid #ffffff55}#simhud .mode{position:absolute;top:calc(3vmin + env(safe-area-inset-top));left:calc(3vmin + env(safe-area-inset-left));display:flex;align-items:baseline;gap:1.6vmin;padding:.9vmin 1.8vmin;background:#000a;border-left:.35vmin solid #ffffff88}#simhud .mode b{font-size:2.4vmin;letter-spacing:.24em}#simhud .mode.auto b{color:#9fd4ff}#simhud .mode .state{font-size:1.8vmin;letter-spacing:.2em}#simhud .mode .cam{font-size:1.4vmin;letter-spacing:.22em;opacity:.55}#simhud .sys{left:calc(3vmin + env(safe-area-inset-left));bottom:calc(3vmin + env(safe-area-inset-bottom));width:30vmin}#simhud .tmap{display:block;width:100%;height:auto;overflow:visible;margin-bottom:1vmin}#simhud .tmap .body{fill:#ffffff10;stroke:#e8f2ff;stroke-width:.8;stroke-linejoin:round;opacity:.85}#simhud .tmap .canopy{fill:#ffffff12;stroke:#e8f2ff55;stroke-width:.5}#simhud .tmap .wheel{fill:#e8f2ff40}#simhud .tmap .fans rect{fill:none;stroke:#c49cff;stroke-width:.6;opacity:.4}#simhud .tmap .fans.on rect{opacity:1;fill:#a77cff55}#simhud .tmap .th{--k: 0}#simhud .tmap .th text{font-size:3.6px;fill:#e8f2ff;opacity:.55;letter-spacing:.05em;text-shadow:none}#simhud .tmap .th .dot{fill:#58b4ff;fill-opacity:calc(.15 + .85 * var(--k));stroke:#9fd4ff;stroke-width:.5}#simhud .tmap .th .ring{fill:none;stroke:#9fd4ff;stroke-width:.5;opacity:.8}#simhud .tmap .th .halo{fill:#3d8cff;opacity:var(--k);filter:blur(1.4px)}#simhud .tmap .th .flare{fill:#8cc4ff;opacity:var(--k)}#simhud .tmap .th.on .dot{fill:#e6f4ff;stroke:#58b4ff}#simhud .tmap .th.on text{opacity:1;fill:#9fd4ff}#simhud .tmap .th.L .dot{stroke:#ffb27a}#simhud .tank .bar{height:.8vmin;margin:.6vmin 0 .4vmin;background:#ffffff1f}#simhud .tank .bar i{display:block;height:100%;background:#58b4ff;box-shadow:0 0 1vmin #3d8cff;transform-origin:0 50%}#simhud .tank .bar i.low{background:#ff5a3c;box-shadow:0 0 1vmin #ff3b1f}#simhud .read{right:calc(3vmin + env(safe-area-inset-right));bottom:calc(3vmin + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1.1vmin;min-width:24vmin;border-left:0;border-right:.35vmin solid #ffffff55;background:linear-gradient(270deg,#000b,#0006);text-align:right}@media (orientation: landscape){body:not(.touch) #simhud .read{left:calc(39vmin + env(safe-area-inset-left));right:auto;flex-direction:row;align-items:flex-end;gap:3.4vmin;min-width:0;padding:1.2vmin 2.2vmin;border-right:0;border-left:.35vmin solid #ffffff55;background:linear-gradient(90deg,#000b,#0006);text-align:left}body:not(.touch) #simhud .read b{font-size:3vmin}body:not(.touch) #simhud .read .sub{margin-left:.8vmin}body:not(.touch) #simhud .read .r:has(.chips){display:grid;grid-template-columns:auto auto;align-items:end;column-gap:1.2vmin}body:not(.touch) #simhud .read .r:has(.chips) small{grid-column:1 / -1}body:not(.touch) #simhud .read .chips{flex-direction:column;gap:.4vmin;margin:0 0 .5vmin}}#simhud .read .r.on b{color:#9fd4ff;text-shadow:0 0 1.6vmin #3d8cffaa}#simhud .chips{display:flex;justify-content:flex-end;gap:.8vmin;margin-top:.4vmin}#simhud .chip{font-size:1.3vmin;letter-spacing:.2em;padding:.25vmin .8vmin;border:.15vmin solid #ffffff44;opacity:.45}#simhud .chip.on{opacity:1;border-color:#58b4ff;color:#9fd4ff;background:#3d8cff22}#simhud .banner{position:absolute;left:50%;top:22%;transform:translate(-50%);text-align:center;padding:2vmin 5vmin 2.4vmin;background:#000c;border-top:.4vmin solid #fff;min-width:50vmin;max-width:92vw;box-sizing:border-box}#simhud .banner h2{margin:0 -.3em 0 0;font-size:8vmin;font-weight:300;letter-spacing:.3em}#simhud .banner.success{border-color:#58b4ff}#simhud .banner.success h2{color:#9fd4ff;text-shadow:0 0 3vmin #3d8cffaa}#simhud .banner.crash{border-color:#ff3b2b}#simhud .banner.crash h2{color:#ff5a4a;text-shadow:0 0 3vmin #ff2b1f99}#simhud .banner p{margin:1vmin 0 0}#simhud .banner .reason{font-size:2.4vmin;letter-spacing:.2em}#simhud .banner .stats{font-size:1.7vmin;letter-spacing:.16em;opacity:.75;font-variant-numeric:tabular-nums}#simhud .banner .retry{font-size:1.6vmin;letter-spacing:.4em;opacity:.6;margin-top:1.6vmin}#simhud .help{top:calc(3vmin + env(safe-area-inset-top));right:calc(3vmin + env(safe-area-inset-right));font-size:1.5vmin;letter-spacing:.06em}#simhud .help table{border-collapse:collapse;margin-top:.6vmin}#simhud .help td{padding:.15vmin 0;vertical-align:top;opacity:.85}#simhud .help td.k{padding-right:1.6vmin;font-weight:600;color:#9fd4ff;white-space:nowrap;opacity:1}#simhud .hint{position:absolute;top:calc(3vmin + env(safe-area-inset-top));right:calc(3vmin + env(safe-area-inset-right));font-size:1.4vmin;letter-spacing:.3em;opacity:.45}@media (orientation: portrait){#simhud{font-size:2.4vmin}#simhud .sys{width:40vmin}#simhud .read{min-width:30vmin}#simhud b{font-size:4.6vmin}#simhud small,#simhud .sub,#simhud em{font-size:2vmin}#simhud .chip{font-size:1.8vmin}#simhud .help{font-size:2.2vmin}#simhud .banner{top:16%}#simhud .banner .stats{font-size:2.2vmin}}#simtune{--tw: min(430px, 46vw);position:fixed;z-index:4;top:calc(2vmin + env(safe-area-inset-top));right:calc(2vmin + env(safe-area-inset-right));width:var(--tw);max-height:calc(100vh - 4vmin);max-height:calc(100dvh - 4vmin - env(safe-area-inset-top) - env(safe-area-inset-bottom));box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:8px 12px 10px;background:#000000d0;border-right:3px solid #ffffff55;font-size:clamp(11px,1.4vmin,13px);letter-spacing:.04em;color:#e8f2ff;user-select:none;-webkit-user-select:none}#simtune button{font:inherit;color:inherit;letter-spacing:.14em;background:#ffffff12;border:1px solid #ffffff33;border-radius:2px;padding:5px 10px;cursor:pointer;touch-action:manipulation}#simtune button:hover{background:#fff2}#simtune button.on{border-color:#58b4ff;color:#9fd4ff;background:#3d8cff2a}#simtune .head{display:flex;align-items:center;justify-content:space-between;gap:8px}#simtune .fold{background:none;border:0;padding:4px 0}#simtune .fold b{letter-spacing:.3em;font-size:1.15em}#simtune .fold:after{content:" ▾";opacity:.6}#simtune.collapsed .fold:after{content:" ▸"}#simtune .speeds{display:flex;gap:4px}#simtune .speeds button{padding:3px 7px;font-variant-numeric:tabular-nums;letter-spacing:.04em}#simtune .out{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:6px 0 4px;padding:5px 8px;border-left:3px solid #ffffff44;background:#ffffff0c}#simtune .out b{font-size:1.3em;letter-spacing:.2em;font-weight:600}#simtune .out span{opacity:.75;text-transform:uppercase;letter-spacing:.12em}#simtune .out.ok{border-color:#58b4ff}#simtune .out.ok b{color:#9fd4ff;text-shadow:0 0 10px #3d8cffaa}#simtune .out.bad{border-color:#ff3b2b}#simtune .out.bad b{color:#ff5a4a}#simtune.collapsed .body{display:none}#simtune .plot{position:relative;height:clamp(120px,19vh,170px);margin-top:6px}#simtune .plot canvas{position:absolute;inset:0;width:100%;height:100%}#simtune .legend{display:flex;flex-wrap:wrap;gap:2px 10px;margin:2px 0 4px;font-size:.85em;opacity:.75}#simtune .legend i{display:inline-block;width:12px;height:2px;margin-right:4px;vertical-align:middle}#simtune .legend i.thin{height:1px}#simtune .legend i.dash{height:2px;background:repeating-linear-gradient(90deg,#7fd4ff 0 3px,transparent 3px 5px)!important}#simtune .legend i.box{height:8px;background:#58b4ff4d}#simtune .readout{line-height:1.45;opacity:.9}#simtune .readout b{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}#simtune b.ok{color:#9fd4ff}#simtune b.bad{color:#ff5a4a}#simtune .btns{display:flex;gap:6px;margin:8px 0 6px}#simtune .btns button{flex:1;padding:7px 4px}#simtune .btns .run{flex:1.4;font-weight:600;border-color:#58b4ff;color:#9fd4ff;background:#3d8cff22}#simtune .btns .run.dirty{background:#3d8cff55;color:#fff;box-shadow:0 0 10px #3d8cff88}#simtune .sliders{display:grid;grid-template-columns:auto 1fr auto;gap:1px 8px;align-items:center}#simtune .row{display:contents}#simtune .row .k{white-space:nowrap;opacity:.8}#simtune .row input{width:100%;min-width:60px;margin:3px 0;accent-color:#58b4ff;touch-action:pan-y}#simtune .row .val{min-width:5.6em;text-align:right;font-variant-numeric:tabular-nums;opacity:.8}#simtune .row .val.mod{color:#9fd4ff;opacity:1;font-weight:600}#simtune .note{grid-column:1 / -1;font-size:.85em;opacity:.55;text-align:right}body.simtune #simhud .help,body.simtune #simhud .hint{display:none}@media (orientation: landscape){body.simtune:not(.tunecollapsed) #simtune{max-height:calc(100dvh - 4vmin - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}body.simtune:not(.tunecollapsed) #simhud .read{left:auto;right:calc(2vmin + env(safe-area-inset-right));bottom:calc(2vmin + env(safe-area-inset-bottom));width:min(430px,46vw);min-width:0;box-sizing:border-box;flex-direction:row;justify-content:space-between;gap:6px;padding:6px 12px;background:#000000d0;border-right-width:3px;text-align:left;font-size:11px}body.simtune:not(.tunecollapsed) #simhud .read small{font-size:9px;letter-spacing:.2em}body.simtune:not(.tunecollapsed) #simhud .read b{font-size:18px}body.simtune:not(.tunecollapsed) #simhud .read .r{flex:0 0 auto}body.simtune:not(.tunecollapsed) #simhud .read em{font-size:9px}body.simtune:not(.tunecollapsed) #simhud .read :is(.sub,.chips){display:none}}body.simtune:not(.tunecollapsed) #simhud .banner{left:calc(50% - (min(430px,46vw)/2))}@media (orientation: portrait){#simtune{left:0;right:0;top:0;width:auto;max-height:46vh;max-height:46dvh;border-right:0;border-bottom:3px solid #ffffff55;padding-top:calc(6px + env(safe-area-inset-top));font-size:12px}#simtune .plot{height:clamp(110px,16vh,150px)}#simtune .row input{margin:6px 0}body.simtune:not(.tunecollapsed) #simhud .mode,body.simtune:not(.tunecollapsed) #simhud .sys,body.simtune:not(.tunecollapsed) #simhud .read{display:none}body.simtune #simhud .read{right:calc(3vmin + env(safe-area-inset-right))}body.simtune.tunecollapsed #simhud .mode{top:calc(96px + env(safe-area-inset-top))}body.simtune:not(.tunecollapsed) #simhud .banner{left:50%;top:auto;bottom:calc(4vh + env(safe-area-inset-bottom))}body.simtune.tunecollapsed #simhud .banner{top:30%;bottom:auto}}#simtouch{--pad: 14px;position:fixed;inset:0;z-index:4;pointer-events:none;color:#e8f2ff;font-size:12px;letter-spacing:.14em}#simtouch .zone{position:absolute;left:0;bottom:0;width:50%;height:min(45%,320px);pointer-events:auto;touch-action:none}#simtouch .stick{position:absolute;left:calc(var(--pad) + 4px + env(safe-area-inset-left));bottom:calc(var(--pad) + 4px + env(safe-area-inset-bottom));width:132px;height:132px;box-sizing:border-box;border-radius:50%;border:2px solid #ffffff3a;background:radial-gradient(circle,#ffffff10 0,#0006 70%)}#simtouch .stick.live{border-color:#58b4ffaa}#simtouch .stick i{position:absolute;left:30%;top:30%;width:40%;height:40%;border-radius:50%;background:#e8f2ffd0;box-shadow:0 0 14px #3d8cff99}#simtouch .stick .lbl{position:absolute;left:-20px;right:-20px;top:-20px;text-align:center;font-size:9px;letter-spacing:.24em;opacity:.55;text-shadow:0 1px 4px #000;white-space:nowrap}#simtouch .tb{pointer-events:auto;touch-action:none;min-width:56px;min-height:56px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;font-weight:600;letter-spacing:inherit;color:inherit;background:#000000a0;border:1.5px solid #ffffff44;border-radius:12px;-webkit-user-select:none;user-select:none}#simtouch .tb small{font-size:8px;font-weight:400;letter-spacing:.2em;opacity:.6}#simtouch .tb.on{border-color:#58b4ff;color:#fff;background:#3d8cff55;box-shadow:0 0 14px #3d8cff88}#simtouch .act{position:absolute;right:calc(var(--pad) + env(safe-area-inset-right));bottom:calc(var(--pad) + env(safe-area-inset-bottom));display:grid;grid-template-columns:78px 78px;gap:10px}#simtouch .act .nose{height:56px;font-size:26px;line-height:.8;font-weight:400}#simtouch .act :is(.boost,.hover){height:78px;font-size:13px}#simtouch .act .hover{border-color:#58b4ff99}#simtouch .act .boost.on{border-color:#ffb27a;background:#ff8a3c44;box-shadow:0 0 14px #ff8a3c88}#simtouch .util{position:absolute;top:calc(var(--pad) + env(safe-area-inset-top));right:calc(var(--pad) + env(safe-area-inset-right));display:flex;gap:8px}#simtouch .util .tb{width:58px;font-size:10px}#simtouch .util .cam small{font-size:7px}body.touch #simhud .hint{display:none}body.touch #simhud{font-size:10px}body.touch #simhud small{font-size:8px;letter-spacing:.22em}body.touch #simhud b{font-size:19px}body.touch #simhud em{font-size:9px}body.touch #simhud .mode{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));padding:5px 9px;gap:7px}body.touch #simhud .banner h2{font-size:38px}body.touch #simhud .banner .reason{font-size:13px;letter-spacing:.14em}body.touch #simhud .banner .stats{font-size:11px;line-height:1.6;letter-spacing:.1em}body.touch #simhud .banner .retry{font-size:10px}body.touch #simhud .mode b{font-size:11px}body.touch #simhud .mode .state{font-size:9px}body.touch #simhud .mode .cam{display:none}body.touch #simtune button{min-height:40px}body.touch #simtune .speeds button{min-width:44px}body.touch #simtune .fold{padding:0 8px 0 0}@media (orientation: portrait){body.touch #simtouch .util{top:calc(46px + env(safe-area-inset-top))}body.touch #simhud .panel{padding:7px 10px}body.touch #simhud .sys{left:calc(10px + env(safe-area-inset-left));bottom:calc(180px + env(safe-area-inset-bottom));width:150px}body.touch #simhud .tmap{margin-bottom:4px}body.touch #simhud .tank .bar{height:3px;margin:3px 0 2px}body.touch #simhud .read{right:calc(10px + env(safe-area-inset-right));bottom:calc(180px + env(safe-area-inset-bottom));min-width:0;display:grid;grid-template-columns:auto auto;gap:6px 16px}body.touch #simhud .read :is(.sub,.chips){display:none}body.touch #simhud .banner{top:calc(118px + env(safe-area-inset-top));width:calc(100vw - 20px);padding:12px 14px 14px}body.touch.simtune:not(.tunecollapsed) #simtouch .util{display:none}body.touch.simtune.tunecollapsed #simhud .mode{display:none}body.touch.simtune.tunecollapsed #simtouch .util{top:calc(104px + env(safe-area-inset-top))}body.touch.simtune:not(.tunecollapsed) #simhud .banner{top:auto;bottom:calc(190px + env(safe-area-inset-bottom))}}@media (orientation: landscape){body.touch #simhud .sys{top:calc(44px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));bottom:auto;width:140px;padding:6px 9px}body.touch #simhud .tank .bar{height:3px;margin:3px 0 2px}body.touch #simhud .read{bottom:calc(10px + env(safe-area-inset-bottom));right:50%;transform:translate(50%);flex-direction:row;gap:18px;min-width:0;padding:6px 12px}body.touch #simhud .read :is(.sub,.chips){display:none}body.touch.simtune:not(.tunecollapsed) #simhud .read{transform:none}body.touch.simtune:not(.tunecollapsed) #simtouch :is(.act,.util){display:none}}#simgame{position:fixed;inset:0;z-index:5;pointer-events:none;color:#e8f2ff;font-family:inherit;letter-spacing:.12em;font-size:1.7vmin}#simgame>*{display:none}#simgame.off .cta,#simgame.intro .intro,#simgame.results .results,#simgame.count .countdown,#simgame.count .board,#simgame.play .board{display:block}#simgame button{pointer-events:auto;font:inherit;color:inherit;letter-spacing:.22em;background:#ffffff10;border:1px solid #ffffff55;padding:1.1vmin 2.2vmin;cursor:pointer}#simgame button:hover{background:#fff2}#simgame button.go{background:#3d8cff44;border-color:#9fd4ff;color:#fff}#simgame button small{opacity:.55;font-size:.75em;margin-left:.8vmin}#simgame .cta{position:absolute;right:calc(3vmin + env(safe-area-inset-right));top:calc(3vmin + env(safe-area-inset-top));font-size:1.6vmin;background:#000a;border-color:#9fd4ff88}body:has(#simgame.off) #simhud :is(.hint,.help){top:calc(9vmin + env(safe-area-inset-top))}body.touch #simgame.off .cta{display:none}#simgame .card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,110vmin);max-height:92vh;overflow:auto;box-sizing:border-box;padding:3vmin 4vmin;background:#000000d8;border-top:.4vmin solid #9fd4ff;pointer-events:auto}#simgame .card h2{margin:0 0 1vmin;font-size:5.5vmin;font-weight:300;letter-spacing:.3em;color:#9fd4ff;text-shadow:0 0 3vmin #3d8cff88}#simgame .lede{margin:0 0 2vmin;opacity:.8;letter-spacing:.06em;line-height:1.5;font-size:1.8vmin}#simgame .beats{display:grid;grid-template-columns:1fr 1fr;gap:.8vmin 3vmin;margin-bottom:2vmin}#simgame .beats .b{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 1.2vmin;border-left:.3vmin solid #ffffff33;padding-left:1.2vmin}#simgame .beats .b span{font-weight:600}#simgame .beats .b em{font-style:normal;color:#9fd4ff;text-align:right;font-variant-numeric:tabular-nums}#simgame .beats .b small{grid-column:1 / 3;opacity:.55;letter-spacing:.06em;font-size:1.4vmin}#simgame .keys{opacity:.75;letter-spacing:.05em;line-height:1.6;font-size:1.6vmin}#simgame .keys b{color:#fff}#simgame .btns{display:flex;gap:1.6vmin;flex-wrap:wrap;margin-top:2vmin}#simgame .best{opacity:.6;margin:1.4vmin 0 0}#simgame .countdown{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);font-size:18vmin;font-weight:200;color:#9fd4ff;text-shadow:0 0 4vmin #3d8cff}#simgame .board{position:absolute;left:calc(3vmin + env(safe-area-inset-left));top:calc(10vmin + env(safe-area-inset-top));width:46vmin;padding:1.4vmin 1.8vmin;background:linear-gradient(90deg,#000c,#0008);border-left:.35vmin solid #9fd4ff88;font-variant-numeric:tabular-nums}#simgame .board .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8vmin}#simgame .board .head b{font-size:1.6vmin;letter-spacing:.24em;color:#9fd4ff}#simgame .board .total{font-size:2.6vmin;font-weight:600}#simgame .board .coach{font-size:1.6vmin;letter-spacing:.04em;line-height:1.4;color:#fff;padding:.8vmin 1vmin;background:#3d8cff22;border-left:.3vmin solid #9fd4ff;margin-bottom:.8vmin}#simgame .board .demoline{font-size:1.35vmin;opacity:.7;margin-bottom:.8vmin;letter-spacing:.08em}#simgame .board .row{display:grid;grid-template-columns:2.2vmin 1fr 7vmin 7vmin 4.5vmin;align-items:baseline;gap:.6vmin;padding:.25vmin 0;opacity:.45;font-size:1.55vmin}#simgame .board .row .you,#simgame .board .row .dem,#simgame .board .row .sc{text-align:right}#simgame .board .row .dem{opacity:.6}#simgame .board .row.cur{opacity:.85}#simgame .board .row.good,#simgame .board .row.ok,#simgame .board .row.bad{opacity:1}#simgame .row.good i,#simgame tr.good td.n{color:#7fe0a0}#simgame .row.ok i,#simgame tr.ok td.n{color:#ffd27a}#simgame .row.bad i,#simgame tr.bad td.n{color:#ff7a6a}#simgame .row .sc{font-weight:600}#simgame table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:1.7vmin}#simgame th{text-align:left;font-weight:400;opacity:.5;font-size:1.3vmin;letter-spacing:.24em;padding-bottom:.6vmin}#simgame td{padding:.55vmin 1vmin .55vmin 0;border-top:1px solid #ffffff18;letter-spacing:.06em}#simgame td.n{position:relative;width:16vmin;text-align:right;font-weight:600}#simgame td.n i{position:absolute;left:0;top:30%;height:40%;width:calc(var(--w) * .7);background:currentColor;opacity:.35}#simgame .grand{display:flex;align-items:baseline;gap:1.4vmin;margin-top:2vmin}#simgame .grand b{font-size:7vmin;font-weight:300;color:#fff}#simgame .grand span{opacity:.6;font-size:2.4vmin}#simgame .grand em{font-style:normal;font-size:4vmin;color:#9fd4ff;margin-left:2vmin;border:1px solid #9fd4ff88;padding:0 1.4vmin}#simgame .grand small{margin-left:auto;opacity:.6;font-size:1.8vmin}body.game #simhud .banner,body.game #simhud .help,body.game #simhud .hint{display:none!important}@media (orientation: portrait){#simgame .board{width:auto;left:calc(2vmin + env(safe-area-inset-left));top:calc(9vmin + env(safe-area-inset-top));font-size:2.6vmin}body.touch #simgame .board{top:calc(112px + env(safe-area-inset-top))}body.touch #simtouch .util{gap:5px}body.touch #simtouch .util .tb{min-width:52px}#simgame .board .row{grid-template-columns:3vmin 1fr 11vmin 11vmin 7vmin;font-size:2.6vmin}#simgame .board .coach{font-size:2.4vmin}#simgame .board .demoline{font-size:2vmin}#simgame .beats{grid-template-columns:1fr}#simgame .card,#simgame .lede,#simgame .keys{font-size:2.6vmin}#simgame table{font-size:2.5vmin}}body.film #caption,body.film #hud,body.film #drag,body.film #sys,body.film #end,body.film #hint{display:none!important}#film-card{position:fixed;inset:0;z-index:6;display:grid;align-items:end;justify-items:start;pointer-events:none;opacity:0;transition:opacity .6s ease;background:linear-gradient(0deg,#000c,#0006 34%,#0000 60%)}#film-card.on{opacity:1;pointer-events:auto}#film-card .inner{display:grid;gap:10px;max-width:34em;padding:0 max(28px,env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));color:#eef1f4;font:400 17px/1.45 -apple-system,BlinkMacSystemFont,Helvetica Neue,Segoe UI,system-ui,sans-serif}#film-card p{margin:0}#film-card .date{font-size:14px;color:#aab2ba;letter-spacing:.02em}#film-card .lede{font-size:clamp(26px,4.4vw,40px);font-weight:600;line-height:1.12;letter-spacing:-.01em}#film-card .sub{color:#c3cad1}#film-card .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}#film-card button{font:500 16px/1 inherit;font-family:inherit;color:#eef1f4;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;padding:12px 22px;cursor:pointer}#film-card button.primary{background:#eef1f4;color:#0b0c0e;border-color:#eef1f4}#film-card button:focus-visible{outline:2px solid #9fd4ff;outline-offset:3px}#film-card .links{font-size:14px;color:#9aa3ab}#film-card .links a{color:inherit}#tesla-hud{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;padding:0 max(22px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));pointer-events:none;opacity:0;transition:opacity .35s ease;color:#f2f4f6;font-family:DIN Alternate,Bahnschrift,Roboto Condensed,Arial Narrow,system-ui,sans-serif}#tesla-hud.on{opacity:1}#tesla-hud .side-l,#tesla-hud .side-r{display:flex;align-items:flex-end;gap:12px}#tesla-hud .tg{position:relative;width:clamp(72px,12vmin,132px);aspect-ratio:1}#tesla-hud .tg svg{position:absolute;inset:0;width:100%;height:100%}#tesla-hud .tg circle{fill:none;stroke-width:1.6;stroke-linecap:round}#tesla-hud .tg .ring{stroke:#ffffff38}#tesla-hud .tg .val{stroke:#f2f4f6}#tesla-hud .read{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;line-height:1}#tesla-hud .read small{font-size:clamp(7px,1.15vmin,12px);letter-spacing:.08em;color:#c9ced3;margin-bottom:3px}#tesla-hud .read b{font-weight:600;font-size:clamp(20px,3.6vmin,38px);font-variant-numeric:tabular-nums}#tesla-hud .read em{font-style:normal;font-size:clamp(7px,1.05vmin,11px);color:#c9ced3;margin-top:2px}#tesla-hud .icon{fill:none;stroke:#f2f4f6;stroke-width:1.4;opacity:.85}#tesla-hud .icon.side{width:clamp(34px,5.5vmin,60px);margin-bottom:6px}#tesla-hud .icon.map{width:clamp(20px,3.6vmin,38px);margin-bottom:2px;stroke-width:2.2}#tesla-hud .icon.map circle{fill:none;stroke:#ffffff70;stroke-width:1.6}#tesla-hud .icon.map circle.lit{fill:#f2f4f6;stroke:#f2f4f6}
