:root{--tx-bg:#070910;--tx-ink:#e8ecf6;--tx-dim:#8e9cba;--tx-line:#8296c82e;--tx-panel:#090c16b8;--tx-cyan:#49e5ff;--tx-violet:#7c5cff;--tx-pink:#ff5ca8;--tx-ok:#35d9a4;--tx-warn:#ffc247;--tx-bad:#ff5f6d;--tx-safe-t:env(safe-area-inset-top,0px);--tx-safe-b:env(safe-area-inset-bottom,0px);--tx-safe-l:env(safe-area-inset-left,0px);--tx-safe-r:env(safe-area-inset-right,0px)}.tx-hud{pointer-events:none;z-index:10;color:var(--tx-ink);text-shadow:0 1px 3px #000000a6;font:600 14px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;position:fixed;inset:0}.tx-hud-tl{top:calc(14px + var(--tx-safe-t));left:calc(14px + var(--tx-safe-l));gap:8px;display:flex;position:absolute}.tx-chip{background:var(--tx-panel);border:1px solid var(--tx-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;align-items:baseline;gap:7px;padding:7px 11px;display:flex}.tx-chip-k{letter-spacing:.14em;color:var(--tx-dim);font-size:10px}.tx-chip-v{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.tx-hud-times{top:calc(14px + var(--tx-safe-t));right:calc(14px + var(--tx-safe-r));background:var(--tx-panel);border:1px solid var(--tx-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;flex-direction:column;align-items:flex-end;gap:4px;padding:9px 12px;display:flex;position:absolute}.tx-time{align-items:baseline;gap:10px;display:flex}.tx-time i{letter-spacing:.16em;color:var(--tx-dim);text-align:right;min-width:42px;font-size:9px;font-style:normal}.tx-time b{font-variant-numeric:tabular-nums;text-align:right;min-width:92px;font:700 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.tx-time-best b{color:var(--tx-cyan)}.tx-hud-br{right:calc(18px + var(--tx-safe-r));bottom:calc(18px + var(--tx-safe-b));flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.tx-rev{border:1px solid var(--tx-line);background:#0a0e1acc;border-radius:99px;width:min(280px,46vw);height:7px;overflow:hidden}.tx-rev-fill{background:linear-gradient(90deg, var(--tx-cyan), var(--tx-violet) 70%, var(--tx-pink));width:0%;height:100%;transition:width 50ms linear}.tx-rev-fill.is-redline{background:linear-gradient(90deg, var(--tx-warn), var(--tx-bad));animation:.18s steps(2,end) infinite tx-flash}@keyframes tx-flash{50%{opacity:.45}}.tx-dash{align-items:flex-end;gap:14px;display:flex}.tx-gear{color:var(--tx-cyan);text-align:center;font-variant-numeric:tabular-nums;min-width:46px;font:900 46px/.85 system-ui,sans-serif}.tx-speed{align-items:baseline;gap:5px;display:flex}.tx-speed b{font-variant-numeric:tabular-nums;letter-spacing:-.03em;text-align:right;min-width:128px;font:900 60px/.82 system-ui,sans-serif;display:inline-block}.tx-speed i{letter-spacing:.1em;color:var(--tx-dim);font-size:12px;font-style:normal}.tx-hud-bl{left:calc(16px + var(--tx-safe-l));bottom:calc(18px + var(--tx-safe-b));flex-direction:column;gap:7px;display:flex;position:absolute}.tx-hull{align-items:center;gap:8px;display:flex}.tx-hull i{letter-spacing:.16em;color:var(--tx-dim);font-size:9px;font-style:normal}.tx-hull-bar{background:#ff5f6d38;border-radius:99px;width:112px;height:6px;overflow:hidden}.tx-hull-bar span{width:100%;height:100%;transition:width .25s,background-color .25s;display:block}.tx-hull-bar span.ok{background:var(--tx-ok)}.tx-hull-bar span.warn{background:var(--tx-warn)}.tx-hull-bar span.bad{background:var(--tx-bad)}.tx-stats{color:var(--tx-dim);font:500 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.tx-warn{letter-spacing:.22em;color:var(--tx-warn);opacity:0;font:800 15px/1 system-ui,sans-serif;transition:opacity .18s;position:absolute;top:20%;left:50%;transform:translate(-50%)}.tx-warn:not(:empty){opacity:1}.tx-minimap{left:calc(16px + var(--tx-safe-l));bottom:calc(86px + var(--tx-safe-b));pointer-events:none;z-index:12;filter:drop-shadow(0 6px 18px #0000008c);border-radius:50%;width:162px;height:162px;position:fixed}.tx-minimap canvas{border-radius:50%;display:block}@media (max-width:640px){.tx-minimap{width:108px;height:108px;bottom:calc(70px + var(--tx-safe-b))}}.tx-banner{z-index:30;pointer-events:none;letter-spacing:-.04em;opacity:0;text-shadow:0 6px 34px #000000b3;place-items:center;font:900 clamp(54px,15vw,150px)/1 system-ui,sans-serif;transition:opacity .16s,transform .16s;display:grid;position:fixed;inset:0;transform:scale(.82)}.tx-banner.is-on{opacity:1;transform:scale(1)}.tx-banner-count{color:var(--tx-ink)}.tx-banner-go{background:linear-gradient(100deg, var(--tx-cyan), var(--tx-violet) 55%, var(--tx-pink));color:#0000;-webkit-background-clip:text;background-clip:text}.tx-banner-info{color:var(--tx-ink);font-size:clamp(26px,6vw,54px)}.tx-touch{z-index:15;pointer-events:none;position:fixed;inset:0}.tx-touch-steer{pointer-events:auto;touch-action:none;justify-content:center;align-items:center;width:52%;height:48%;display:flex;position:absolute;bottom:0;left:0}.tx-touch-steer:before{content:"";left:calc(18px + var(--tx-safe-l));bottom:calc(26px + var(--tx-safe-b));border:1px solid var(--tx-line);background:#0a0e1a8c;border-radius:99px;width:148px;height:10px;position:absolute}.tx-touch-steer-knob{left:calc(84px + var(--tx-safe-l));bottom:calc(31px + var(--tx-safe-b));background:radial-gradient(circle at 36% 30%,#5a6ea0,#202940);border:1px solid #a0b9eb73;border-radius:50%;width:44px;height:44px;margin-left:-22px;transition:transform 40ms linear;position:absolute;transform:translateY(-50%);box-shadow:0 5px 16px #00000080}.tx-touch-pedals{right:calc(16px + var(--tx-safe-r));bottom:calc(22px + var(--tx-safe-b));pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute}.tx-pedal{pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:none;border:1px solid var(--tx-line);background:var(--tx-panel);color:var(--tx-ink);letter-spacing:.1em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;width:78px;height:78px;font:800 12px/1 system-ui,sans-serif;transition:transform 60ms,background-color 60ms}.tx-pedal-gas{border-color:#35d9a480;width:94px;height:94px}.tx-pedal-brake{border-color:#ff5f6d80}.tx-pedal-hand{width:58px;height:58px;font-size:11px}.tx-pedal.is-down{background:#49e5ff38;transform:scale(.93)}@media (max-width:520px){.tx-time b{min-width:82px;font-size:13px}.tx-speed b{min-width:100px;font-size:46px}.tx-gear{font-size:36px}.tx-hud-bl .tx-hull{display:none}}@media (prefers-reduced-motion:reduce){.tx-rev-fill,.tx-banner,.tx-hull-bar span,.tx-pedal,.tx-touch-steer-knob{transition:none;animation:none}}.tx-gauge{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 22px #0000008c);width:238px;height:238px;font-family:Rajdhani,Segoe UI,sans-serif;position:fixed;bottom:22px;right:26px}.tx-gauge svg{width:100%;height:100%;display:block}.tx-gauge .g-face{fill:url(#gFace);stroke:#ffffff24;stroke-width:1.2px}.tx-gauge .g-tick{stroke:#dfe6ee;stroke-width:1.2px;opacity:.72}.tx-gauge .g-tick.major{stroke-width:2.6px;opacity:1}.tx-gauge .g-tick.red{stroke:#ff4638;opacity:1}.tx-gauge .g-num{fill:#e9eef4;text-anchor:middle;dominant-baseline:middle;font-size:15px;font-weight:600}.tx-gauge .g-num.red{fill:#ff5a4d}.tx-gauge .g-needle{fill:#ff3b2e}.tx-gauge .g-hub{fill:#15181d;stroke:#ffffff40;stroke-width:1px}.tx-gauge .g-unit{fill:#8b97a5;letter-spacing:.14em;text-anchor:middle;font-size:10px}.tx-gauge-read{text-align:center;line-height:1;position:absolute;bottom:18px;left:0;right:0}.tx-gauge-speed{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:44px;font-weight:600}.tx-gauge-kmh{color:#8b97a5;letter-spacing:.2em;margin-top:2px;font-size:10px}.tx-gauge-gear{color:#fff;background:#080a0eb3;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:24px;font-weight:700;display:flex;position:absolute;top:58px;left:50%;transform:translate(-50%)}.tx-gauge-gear.is-shift{background:#d92f22;border-color:#ff6a5c}.tx-turbo{pointer-events:none;width:210px;font-family:Rajdhani,Segoe UI,sans-serif;position:fixed;bottom:34px;right:278px}.tx-turbo-top{justify-content:space-between;align-items:baseline;margin-bottom:5px;display:flex}.tx-turbo-top b{color:#d8e8ff;letter-spacing:.2em;text-shadow:0 1px 4px #000;font-size:13px;font-weight:700}.tx-turbo-top i{color:#9fb0c2;letter-spacing:.08em;text-shadow:0 1px 4px #000;font-size:11px;font-style:normal}.tx-turbo-bar{background:#06090eb8;border:1px solid #fff3;border-radius:3px;height:13px;overflow:hidden;transform:skew(-16deg);box-shadow:inset 0 1px 3px #000c}.tx-turbo-fill{background:linear-gradient(90deg,#1668ff,#3fb8ff 70%,#bdf0ff);width:0;height:100%;box-shadow:0 0 12px #50aaffcc}.tx-turbo.is-on .tx-turbo-fill{background:linear-gradient(90deg,#ff7a18,#ffd24a 70%,#fff6c9);box-shadow:0 0 16px #ffbe50f2}.tx-turbo.is-on b{color:#ffd98a}.tx-turbo.is-locked .tx-turbo-fill{box-shadow:none;background:#54606e}.tx-turbo.is-locked i{color:#ff8a7d}.tx-vignette{pointer-events:none;opacity:0;background:radial-gradient(#0000 54%,#960a009e 100%);transition:opacity .18s;position:fixed;inset:0}.tx-speedfx{pointer-events:none;opacity:0;background:radial-gradient(#0000 58%,#4696ff42 100%);transition:opacity .15s;position:fixed;inset:0}.tx-hud-bl .tx-hull i{letter-spacing:.14em}@media (max-width:760px){.tx-gauge{width:150px;height:150px;bottom:96px;right:8px}.tx-gauge-speed{font-size:28px}.tx-gauge-read{bottom:20px}.tx-gauge-gear{width:26px;height:26px;font-size:16px;top:36px}.tx-gauge .g-num{font-size:18px}.tx-turbo{width:140px;bottom:250px;right:12px}}
