.cyberracer{z-index:999;background:#04060f;position:fixed;inset:0;overflow:hidden}.cr-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.cr-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04060f8c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.cr-panel{background:var(--panel-grad);border:1px solid var(--line);width:min(780px,100%);max-height:92vh;clip-path:var(--clip);padding:1.8rem;overflow-y:auto;box-shadow:0 0 40px -8px #00ffcc59}.cr-kicker{letter-spacing:.22em;color:var(--text-dim);margin-bottom:.6rem;font-size:.72rem}.cr-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);text-shadow:var(--neon-cyan);font-size:clamp(2rem,6vw,3.4rem);font-weight:900}.cr-title-sm{font-size:clamp(1.5rem,4vw,2.2rem)}.cr-sub{letter-spacing:.16em;color:var(--text-dim);margin:.3rem 0 1.4rem;font-size:.78rem}.cr-dim{color:var(--text-dim)}.cr-tracks{flex-wrap:wrap;gap:.7rem;margin-bottom:1.3rem;display:flex}.cr-track{background:var(--chip-bg);border:1px solid var(--chip-line);color:var(--text);cursor:pointer;font-family:var(--font-mono);text-align:left;flex:160px;align-items:center;gap:.55rem;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s;display:flex}.cr-track:hover,.cr-track.active{border-color:var(--cyan);box-shadow:0 0 16px -4px var(--cyan)}.cr-track-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 8px}.cr-track-name{letter-spacing:.06em;font-size:.86rem;font-weight:700}.cr-track-sub{letter-spacing:.1em;width:100%;color:var(--text-dim);text-transform:uppercase;font-size:.68rem;display:block}.cr-body{grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.3rem;display:grid}@media (max-width:640px){.cr-body{grid-template-columns:1fr}}.cr-label{letter-spacing:.2em;color:var(--text-dim);margin-bottom:.55rem;font-size:.7rem}.cr-medal-row{flex-wrap:wrap;gap:.5rem .9rem;font-size:.78rem;display:flex}.cr-medal-row b{opacity:.75;font-weight:400}.cr-best{margin-top:.7rem;font-size:.78rem}.cr-yellow{color:var(--yellow)}.cr-empty{letter-spacing:.12em;color:var(--text-dim);font-size:.74rem}.cr-list{margin:0;padding:0;font-size:.8rem;list-style:none}.cr-list li{border-bottom:1px dashed var(--line-soft);align-items:baseline;gap:.6rem;padding:.3rem 0;display:flex}.cr-list li.cr-me{color:var(--cyan);text-shadow:var(--glow-cyan-sm)}.cr-rank{width:1.4rem;color:var(--blue);opacity:.8}.cr-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;flex:1;overflow:hidden}.cr-time{color:var(--text)}.cr-new{color:var(--pink);font-size:.68rem}.cr-controls{letter-spacing:.12em;color:var(--text-dim);flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:1.2rem;font-size:.7rem;display:flex}.cr-controls b{color:var(--cyan);font-weight:400}.cr-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.cr-btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--cyan);cursor:pointer;background:0 0;padding:.7rem 1.1rem;font-size:.82rem;transition:background .2s,color .2s,box-shadow .2s}.cr-btn:hover{background:var(--cyan);color:var(--btn-hover-fg);box-shadow:var(--btn-hover-glow)}.cr-btn-primary{border-color:var(--pink);color:var(--pink)}.cr-btn-primary:hover{background:var(--pink);color:var(--btn-pink-hover-fg);box-shadow:var(--btn-pink-hover-glow)}.cr-btn:disabled{opacity:.4;cursor:not-allowed}.cr-enter{font-size:.9rem}.cr-ghost-section{margin-bottom:1.2rem}.cr-ghost-toggle{letter-spacing:.12em;color:var(--text-dim);cursor:pointer;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.74rem;display:inline-flex}.cr-ghost-toggle input{accent-color:var(--pink)}.cr-ghost-targets{flex-wrap:wrap;gap:.4rem;display:flex}.cr-ghost-target{background:var(--chip-bg);border:1px solid var(--chip-line);color:var(--text-dim);cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.72rem;transition:border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.cr-ghost-target:hover{border-color:var(--gt-colour);color:var(--text)}.cr-ghost-target.active{border-color:var(--gt-colour);color:var(--gt-colour);box-shadow:0 0 10px -3px var(--gt-colour)}.cr-gt-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.cr-gt-name{text-transform:uppercase}.cr-gt-time{opacity:.6;font-size:.68rem}.cr-toggle{min-width:9rem;color:var(--text-dim);border-color:var(--line)}.cr-toggle[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan);text-shadow:var(--glow-cyan-sm)}.cr-toggle[aria-pressed=true]:hover{color:var(--btn-hover-fg);text-shadow:none}.cr-result{text-align:center;margin:.6rem 0 1.4rem}.cr-time-big{color:#fff;text-shadow:0 0 24px #00ffcc80;margin:.2rem 0 .4rem;font-size:clamp(2.4rem,8vw,3.6rem)}.cr-medal-badge{letter-spacing:.18em;font-size:1rem}.cr-nameform{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.2rem;display:flex}.cr-nameinput{background:var(--code-bg);border:1px solid var(--line);width:100%;color:var(--text);clip-path:var(--clip-sm);letter-spacing:.12em;text-transform:uppercase;padding:.6rem .8rem;font-size:1rem}.cr-nameinput:focus{border-color:var(--cyan);outline:none}.cr-tracks-container{width:100%;margin-bottom:1.3rem}.cr-track-custom{align-items:center;padding:.35rem .5rem;display:flex;position:relative}.cr-track-custom-main{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:.55rem;padding:.4rem;display:flex}.cr-track-action-btn{border:1px solid var(--chip-line);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;width:26px;height:26px;margin-left:.3rem;font-size:.85rem;transition:all .15s;display:flex}.cr-track-action-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 8px -2px var(--cyan)}.cr-track-action-del:hover{color:#f34;border-color:#f34;box-shadow:0 0 8px -2px #f34}.cr-track-new{border-style:dashed;border-color:#0fc6}.cr-track-new:hover{border-style:solid;border-color:var(--cyan)}.cr-editor{z-index:1000;background:#04060f;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.cr-editor-header{border-bottom:1px solid var(--line);background:#080c1af2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.cr-editor-titles{flex-direction:column;gap:.2rem;display:flex}.cr-name-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cr-name-input{border:1px solid var(--cyan);color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;background:#020612cc;max-width:220px;padding:.3rem .6rem;font-size:1.1rem;font-weight:700}.cr-sub-input{border:1px solid var(--line);color:var(--text-dim);letter-spacing:.1em;background:#02061299;max-width:200px;padding:.35rem .6rem;font-size:.78rem}.cr-editor-header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.cr-status-pill{letter-spacing:.12em;border:1px solid;border-radius:4px;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.76rem;display:inline-flex}.cr-status-pill.closed{color:#0fc;background:#00ffcc1f;border-color:#0fc}.cr-status-pill.open{color:#fa0;background:#ffaa001f;border-color:#fa0}.cr-status-pill.overlap{color:#f34;background:#ff334429;border-color:#f34}.cr-status-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px}.cr-btn.cr-btn-autoclose{color:#fa0;background:#ffaa002e;border-color:#fa0}.cr-btn.cr-btn-autoclose:hover{color:#04060f;background:#fa0;box-shadow:0 0 16px -2px #fa0}.cr-editor-body{flex:auto;grid-template-columns:1fr 380px;height:calc(100vh - 75px);display:grid;overflow:hidden}@media (max-width:900px){.cr-editor-body{grid-template-rows:1fr 340px;grid-template-columns:1fr}}.cr-editor-viewport{background:#03050e;flex-direction:column;display:flex;position:relative;overflow:hidden}.cr-editor-canvas-wrap{flex:auto;width:100%;height:100%;position:relative;overflow:hidden}.cr-editor-canvas{cursor:grab;width:100%;height:100%;display:block}.cr-editor-canvas:active{cursor:grabbing}.cr-editor-tools{z-index:10;flex-direction:column;gap:.4rem;display:flex;position:absolute;bottom:1.2rem;right:1.2rem}.cr-canvas-btn{border:1px solid var(--chip-line);width:36px;height:36px;color:var(--text);cursor:pointer;background:#080e1ee6;border-radius:4px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .15s;display:flex}.cr-canvas-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px -2px var(--cyan)}.cr-canvas-stats{border-top:1px solid var(--line);letter-spacing:.12em;color:var(--text-dim);background:#060a16e6;flex-wrap:wrap;align-items:center;gap:1.4rem;padding:.6rem 1.2rem;font-size:.74rem;display:flex}.cr-canvas-stats b{color:var(--text);font-weight:600}.cr-toast-msg{color:var(--cyan);margin-left:auto;font-weight:600;animation:.3s cr-fade}@keyframes cr-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cr-editor-sidebar{border-left:1px solid var(--line);background:#060914fa;flex-direction:column;display:flex;overflow-y:auto}.cr-editor-tabs{border-bottom:1px solid var(--line);background:#04060fe6;display:flex}.cr-editor-tab{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.12em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.75rem .5rem;font-size:.76rem;font-weight:700;transition:all .15s}.cr-editor-tab:hover{color:var(--text)}.cr-editor-tab.active{color:var(--cyan);border-bottom-color:var(--cyan);background:#00ffcc0d}.cr-editor-tab-content{flex:auto;padding:1.2rem;overflow-y:auto}.cr-section{flex-direction:column;display:flex}.cr-piece-grid{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.5rem;display:grid}.cr-piece-btn{background:var(--chip-bg);border:1px solid var(--chip-line);color:var(--text);letter-spacing:.08em;text-align:center;cursor:pointer;border-radius:3px;padding:.65rem .6rem;font-size:.75rem;font-weight:700;transition:all .15s}.cr-piece-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px -3px var(--cyan)}.cr-segment-inspector{border:1px solid var(--cyan);box-shadow:0 0 20px -8px var(--cyan);background:#0a1024d9;border-radius:4px;margin-bottom:1.2rem;padding:1rem}.cr-input-group{flex-direction:column;gap:.3rem;margin:.8rem 0;display:flex}.cr-input-group input[type=range]{width:100%;accent-color:var(--cyan)}.cr-row-buttons{gap:.5rem;margin:.6rem 0;display:flex}.cr-chip-btn{background:var(--chip-bg);border:1px solid var(--chip-line);color:var(--text-dim);letter-spacing:.1em;cursor:pointer;border-radius:3px;flex:1;padding:.4rem .6rem;font-size:.72rem}.cr-chip-btn.active{border-color:var(--cyan);color:var(--cyan);background:#00ffcc1f}.cr-radius-chips{flex-wrap:wrap;gap:.35rem;margin:.4rem 0 .8rem;display:flex}.cr-seg-actions{gap:.5rem;margin-top:.8rem;display:flex}.cr-btn.cr-btn-danger{color:#f34;border-color:#f34}.cr-btn.cr-btn-danger:hover{color:#04060f;background:#f34}.cr-segment-list{flex-direction:column;gap:.35rem;max-height:380px;margin-top:.5rem;display:flex;overflow-y:auto}.cr-segment-item{background:var(--chip-bg);border:1px solid var(--chip-line);cursor:pointer;border-radius:3px;align-items:center;gap:.6rem;padding:.5rem .7rem;transition:all .15s;display:flex}.cr-segment-item:hover,.cr-segment-item.active{border-color:var(--cyan);background:#00ffcc14}.cr-seg-num{color:var(--cyan);width:28px;font-size:.72rem;font-weight:700}.cr-seg-desc{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.75rem;overflow:hidden}.cr-seg-del{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1rem}.cr-seg-del:hover{color:#f34}.cr-color-chips{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.cr-color-chip{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s,box-shadow .15s}.cr-color-chip:hover{transform:scale(1.15)}.cr-color-chip.active{border-color:#fff;transform:scale(1.1);box-shadow:0 0 12px}.cr-medals-summary{border:1px solid var(--line);background:#0006;flex-direction:column;gap:.4rem;margin-top:.5rem;padding:.8rem;font-size:.78rem;display:flex}.cr-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100;background:#02040cd9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.cr-modal-card{background:var(--panel-grad);border:1px solid var(--cyan);width:min(600px,100%);box-shadow:0 0 40px -8px var(--cyan);flex-direction:column;gap:1rem;padding:1.6rem;display:flex}.cr-json-area{border:1px solid var(--line);color:#3ad7ff;resize:vertical;background:#000208e6;width:100%;padding:.8rem;font-size:.75rem}.pairing-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#07090ed9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.pairing-modal-card{color:#e2e8f0;width:100%;max-width:440px;font-family:var(--font-mono,"JetBrains Mono", monospace);text-align:center;background:radial-gradient(circle at 50% 10%,#111a30 0%,#070a12 100%);border:1px solid #00f0b566;border-radius:16px;flex-direction:column;align-items:center;padding:1.5rem;display:flex;position:relative;box-shadow:0 0 35px #00f0b533}.pairing-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.pairing-modal-close:hover{color:#ff2a85;border-color:#ff2a85}.pairing-modal-title{color:#00f0b5;text-shadow:0 0 10px #00f0b580;letter-spacing:.05em;margin:0 0 .5rem;font-size:1.25rem}.pairing-modal-desc{color:#94a3b8;margin:0 0 1.25rem;font-size:.8rem;line-height:1.4}.pairing-qr-wrapper{background:#fff;border:2px solid #00f0b5;border-radius:12px;justify-content:center;align-items:center;margin-bottom:1rem;padding:.6rem;display:flex;box-shadow:0 0 25px #00f0b566}.pairing-qr-wrapper svg{display:block}.pairing-code-box{background:#00f0b514;border:1px dashed #00f0b566;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.5rem 1rem;display:flex}.pairing-code-label{color:#94a3b8;font-size:.75rem}.pairing-code-value{color:#00f0b5;letter-spacing:.2em;font-size:1.35rem;font-weight:800}.pairing-copy-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:4px;padding:.35rem .6rem;font-family:inherit;font-size:.75rem;transition:all .2s}.pairing-copy-btn:hover{color:#00f0b5;background:#00f0b533;border-color:#00f0b5}.pairing-status-indicator{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.85rem;font-weight:600;display:flex}.pairing-pulse-dot{border-radius:50%;width:10px;height:10px;animation:1.5s infinite pulse-glow}.pairing-dot-waiting{background:#fa0;box-shadow:0 0 10px #fa0}.pairing-dot-connected{background:#00f0b5;box-shadow:0 0 10px #00f0b5}.pairing-dot-error{background:#ff2a85;box-shadow:0 0 10px #ff2a85}.pairing-error-notice{color:#ff2a85;align-items:center;gap:.75rem;display:flex}.pairing-inline-retry{color:#ff2a85;cursor:pointer;background:#ff2a8526;border:1px solid #ff2a85;border-radius:4px;padding:.2rem .6rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:all .2s}.pairing-inline-retry:hover{background:#ff2a854d}.pairing-qr-error{background:#060913;border-color:#ff2a8566;flex-direction:column;gap:1rem;min-height:200px;box-shadow:0 0 20px #ff2a8533}.pairing-error-text{color:#ff2a85;margin:0;font-size:.85rem}.pairing-retry-btn{color:#00f0b5;cursor:pointer;background:#00f0b526;border:1px solid #00f0b5;border-radius:6px;padding:.5rem 1.25rem;font-family:inherit;font-size:.85rem;font-weight:700}.pairing-retry-btn:hover{background:#00f0b54d}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.pairing-input-monitor{background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:.5rem;width:100%;margin-bottom:1.25rem;padding:.75rem;display:flex}.pairing-monitor-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.pairing-steer-track{background:#ffffff1a;border-radius:3px;width:100%;height:6px;position:relative}.pairing-steer-needle{background:#00f0b5;border-radius:2px;width:4px;height:14px;transition:left 50ms linear;position:absolute;top:-4px;box-shadow:0 0 6px #00f0b5}.pairing-pedals-readout{justify-content:center;gap:1rem;font-size:.75rem;display:flex}.pairing-pedal-badge{color:#64748b;border:1px solid #fff3;border-radius:4px;padding:.2rem .5rem}.pairing-pedal-badge.active-throttle{color:#00f0b5;background:#00f0b533;border-color:#00f0b5;box-shadow:0 0 8px #00f0b566}.pairing-pedal-badge.active-brake{color:#ff2a85;background:#ff2a8533;border-color:#ff2a85;box-shadow:0 0 8px #ff2a8566}.pairing-action-btn{color:#07090e;cursor:pointer;background:#00f0b5;border:none;border-radius:6px;padding:.75rem 2rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 0 15px #00f0b566}.pairing-action-btn:hover{transform:translateY(-1px);box-shadow:0 0 25px #00f0b5b3}.gamepad-container{width:100vw;height:100vh;color:#e2e8f0;height:100dvh;font-family:var(--font-mono,"JetBrains Mono", monospace);touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:radial-gradient(circle at 50% 20%,#0d1527 0%,#060913 100%);flex-direction:column;padding:.75rem;display:flex;overflow:hidden}.gamepad-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1424bf;border:1px solid #00f0b533;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem .75rem;display:flex}.gamepad-badge-group{align-items:center;gap:.5rem;display:flex}.gamepad-room-badge{letter-spacing:.1em;color:#00f0b5;background:#00f0b51a;border:1px solid #00f0b54d;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.gamepad-status-badge{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.gamepad-status-connected{color:#00f0b5;background:#00f0b526;border:1px solid #00f0b5}.gamepad-status-connecting,.gamepad-status-waiting{color:#fa0;background:#ffaa0026;border:1px solid #fa0}.gamepad-status-disconnected,.gamepad-status-error{color:#ff2a85;background:#ff2a8526;border:1px solid #ff2a85}.gamepad-controls-group{align-items:center;gap:.5rem;display:flex}.gamepad-mode-btn,.gamepad-respawn-btn{color:#e2e8f0;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:4px;padding:.35rem .6rem;font-family:inherit;font-size:.75rem;transition:all .2s}.gamepad-mode-btn.active{color:#00f0b5;background:#00f0b533;border-color:#00f0b5;box-shadow:0 0 8px #00f0b54d}.gamepad-respawn-btn:active{color:#fff;background:#ff2a85}.gamepad-main{flex:1;gap:1rem;min-height:0;display:flex}.gamepad-steer-section{background:#0d142466;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:.75rem;display:flex;position:relative}.gamepad-steer-pad{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.gamepad-wheel-track{background:#ffffff1a;border-radius:3px;width:80%;height:6px;position:relative}.gamepad-wheel-center{background:#ffffff4d;width:2px;height:22px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.gamepad-wheel-thumb{cursor:grab;background:radial-gradient(circle,#00f0b5 0%,#009e77 100%);border:2px solid #fff;border-radius:50%;width:64px;height:64px;margin-top:-32px;margin-left:-32px;transition:transform 50ms linear;position:absolute;top:50%;left:50%;box-shadow:0 0 15px #00f0b599}.gamepad-wheel-thumb:active{cursor:grabbing;box-shadow:0 0 25px #00f0b5e6}.gamepad-gyro-visualizer{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.gamepad-horizon-arc{border:3px dashed #00f0b566;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;transition:transform 50ms linear;display:flex;position:relative}.gamepad-horizon-needle{background:#00f0b5;border-radius:2px;width:80%;height:4px;box-shadow:0 0 10px #00f0b5}.gamepad-gyro-text{color:#94a3b8;margin-top:.75rem;font-size:.85rem}.gamepad-telemetry-hud{background:#0d142499;border:1px solid #00f0b526;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:90px;padding:.5rem;display:flex}.gamepad-speed-val{color:#00f0b5;text-shadow:0 0 10px #00f0b580;font-size:1.5rem;font-weight:800}.gamepad-speed-unit{color:#64748b;letter-spacing:.1em;font-size:.65rem}.gamepad-gear-badge{color:#fa0;border:1px solid #fa06;border-radius:3px;margin-top:.5rem;padding:.15rem .4rem;font-size:.8rem;font-weight:700}.gamepad-pedals-section{flex-direction:column;gap:.75rem;width:140px;display:flex}.gamepad-pedal-btn{cursor:pointer;touch-action:none;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;font-family:inherit;transition:transform 50ms,box-shadow .1s;display:flex}.gamepad-pedal-throttle{color:#00f0b5;background:linear-gradient(#00f0b526 0%,#00f0b50d 100%);border-color:#00f0b566}.gamepad-pedal-throttle.active,.gamepad-pedal-throttle:active{background:#00f0b566;transform:scale(.97);box-shadow:0 0 25px #00f0b5cc}.gamepad-pedal-brake{color:#ff2a85;background:linear-gradient(#ff2a8526 0%,#ff2a850d 100%);border-color:#ff2a8566}.gamepad-pedal-brake.active,.gamepad-pedal-brake:active{background:#ff2a8566;transform:scale(.97);box-shadow:0 0 25px #ff2a85cc}.gamepad-pedal-label{letter-spacing:.05em;font-size:1.1rem;font-weight:800}.gamepad-pedal-sub{opacity:.7;font-size:.65rem}.gamepad-room-entry{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;height:100%;padding:1.5rem;display:flex}.gamepad-entry-title{color:#00f0b5;text-shadow:0 0 10px #00f0b580;margin:0;font-size:1.35rem}.gamepad-entry-desc{color:#94a3b8;max-width:320px;margin:0;font-size:.85rem;line-height:1.4}.gamepad-entry-input{color:#00f0b5;letter-spacing:.25em;text-align:center;text-transform:uppercase;background:#0006;border:2px solid #00f0b580;border-radius:8px;outline:none;width:220px;padding:.5rem 1rem;font-family:inherit;font-size:1.75rem;font-weight:700}.gamepad-entry-input:focus{border-color:#00f0b5;box-shadow:0 0 15px #00f0b566}.gamepad-entry-btn{color:#07090e;cursor:pointer;background:#00f0b5;border:none;border-radius:6px;padding:.75rem 2rem;font-family:inherit;font-size:1rem;font-weight:700;box-shadow:0 0 15px #00f0b580}.gamepad-entry-btn:active{transform:scale(.98)}.cockpit-root{background-color:var(--bg,#07090e);min-height:100vh;color:var(--text,#f1f5f9);box-sizing:border-box;flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.cockpit-header{border:1px solid var(--line);clip-path:var(--clip-sm);background:#0d111aeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex;box-shadow:0 4px 20px #0009}.cockpit-brand{align-items:center;gap:.75rem;display:flex}.cockpit-beacon{background:var(--cyan);width:10px;height:10px;box-shadow:0 0 12px var(--cyan);border-radius:50%;animation:1.5s ease-in-out infinite alternate pulse-beacon}@keyframes pulse-beacon{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}.cockpit-title{letter-spacing:.08em;color:var(--cyan);margin:0;font-size:.95rem}.cockpit-track-badge{color:var(--purple);clip-path:var(--clip-sm);background:#b76bf81a;border:1px solid #b76bf84d;padding:.2rem .6rem;font-size:.78rem}.cockpit-header-stats{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.cockpit-time-block{align-items:baseline;gap:.6rem;display:flex}.cockpit-label{color:var(--text-dim);font-size:.8rem}.cockpit-timer{letter-spacing:.05em;font-size:1.35rem;font-weight:700}.cockpit-link-status{align-items:center;gap:.75rem;display:flex}.status-indicator{border:1px solid var(--line);color:var(--text-dim);background:#ffffff0d;padding:.25rem .6rem;font-size:.75rem}.status-indicator.online{border-color:var(--cyan);color:var(--cyan);background:#00f0b51a}.cockpit-sim-btn{font-family:var(--font-mono);border:1px solid var(--line);color:var(--text-dim);clip-path:var(--clip-sm);cursor:pointer;background:#ffffff0a;padding:.25rem .65rem;font-size:.75rem;transition:all .18s}.cockpit-sim-btn.active{border-color:var(--yellow);color:var(--yellow);background:#eab3081f}.cockpit-panel{border:1px solid var(--line);clip-path:var(--clip-sm);background:#0d111aeb;flex-direction:column;gap:.8rem;padding:1.2rem;display:flex;box-shadow:0 4px 16px #00000080}.panel-kicker{letter-spacing:.08em;color:var(--text-dim);font-size:.82rem}.cockpit-grid-mid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.tach-header{justify-content:space-between;align-items:center;display:flex}.shift-lights-bar{gap:4px;display:flex}.shift-led{border-radius:1px;width:9px;height:14px}.led-off{background:#ffffff14}.led-green{background:#10fbc2;box-shadow:0 0 8px #10fbc2cc}.led-yellow{background:#eab308;box-shadow:0 0 8px #eab308cc}.led-red{background:#f43f5e;box-shadow:0 0 8px #f43f5ecc}.led-strobe{background:#fff;animation:.1s infinite alternate rev-strobe;box-shadow:0 0 12px #fff}@keyframes rev-strobe{0%{opacity:.3}to{opacity:1}}.tach-main-row{justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.gear-box{border:1px solid var(--line);clip-path:var(--clip-sm);background:#07090eb3;flex-direction:column;justify-content:center;align-items:center;padding:.6rem 1.1rem;display:flex}.gear-label{color:var(--text-dim);font-size:.75rem}.gear-number{font-size:2.2rem;font-weight:700;line-height:1}.speed-cluster{flex-direction:column;flex:1;align-items:center;gap:.3rem;display:flex}.speed-readout{align-items:baseline;gap:.5rem;display:flex}.speed-value{color:var(--text);text-shadow:0 0 14px #fff6;font-size:3.2rem;font-weight:700;line-height:1}.speed-unit{color:var(--cyan);font-size:.85rem}.speed-progress-track{background:#ffffff14;border-radius:3px;width:100%;height:6px;overflow:hidden}.speed-progress-bar{background:linear-gradient(90deg, var(--cyan), var(--pink));height:100%;transition:width 50ms ease-out}.rpm-readout{margin-top:.2rem;font-size:.82rem}.pedal-telemetry{gap:.8rem;display:flex}.pedal-bar-wrap{flex-direction:column;align-items:center;gap:.3rem;font-size:.72rem;display:flex}.pedal-track{border:1px solid var(--line);background:#ffffff0f;align-items:flex-end;width:16px;height:64px;display:flex;position:relative}.pedal-fill{width:100%;transition:height 50ms ease-out}.throttle-fill{background:#10fbc2;box-shadow:0 0 8px #10fbc280}.brake-fill{background:#f43f5e;box-shadow:0 0 8px #f43f5e80}.steer-telemetry{align-items:center;gap:.8rem;margin-top:.4rem;font-size:.78rem;display:flex}.steer-gauge-track{background:#ffffff14;flex:1;height:6px;position:relative}.steer-gauge-marker{background:var(--purple);width:6px;height:14px;box-shadow:0 0 8px var(--purple);transition:left 50ms ease-out;position:absolute;top:-4px;transform:translate(-50%)}.radar-content{justify-content:center;align-items:center;gap:1.25rem;display:flex}.radar-canvas{border:1px solid var(--line);background:#07090ebf;border-radius:50%;flex-shrink:0;width:180px;height:180px;display:block;box-shadow:inset 0 0 16px #00000080}.radar-telemetry{font-variant-numeric:tabular-nums;flex-direction:column;flex-shrink:0;gap:.6rem;width:96px;min-width:96px;font-size:.82rem;display:flex}.telemetry-stat{flex-direction:column;display:flex}.stat-highlight{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem;font-weight:700}.tires-header{justify-content:space-between;align-items:center;display:flex}.slip-indicator{color:var(--cyan);font-size:.78rem}.slip-indicator.drifting{color:var(--pink);text-shadow:0 0 8px var(--pink)}.chassis-grid{flex-direction:column;gap:1rem;margin-top:.4rem;display:flex}.tire-axle{justify-content:space-between;align-items:center;gap:1rem;display:flex}.tire-block{flex-direction:column;align-items:center;gap:.25rem;font-size:.72rem;display:flex}.tire-visual{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:44px;height:52px;font-weight:700;transition:all .2s;display:flex}.temp-cold{color:#38bdf8;background:#38bdf826;border-color:#38bdf866}.temp-optimum{color:#10fbc2;background:#10fbc233;border-color:#10fbc2;box-shadow:0 0 10px #10fbc24d}.temp-hot{color:#f43f5e;background:#f43f5e40;border-color:#f43f5e;box-shadow:0 0 12px #f43f5e80}.chassis-core{color:var(--text-dim);flex-direction:column;align-items:center;gap:.15rem;font-size:.68rem;display:flex}.core-arrow{color:var(--cyan)}.core-diff{color:var(--purple);border:1px solid #b76bf84d;padding:.1rem .3rem}.cockpit-grid-bottom{flex:1}.cockpit-oscilloscope{height:100%}.osc-header{justify-content:space-between;align-items:center;display:flex}.osc-legend{gap:.8rem;font-size:.72rem;display:flex}.legend-chip{align-items:center;gap:.3rem;display:flex}.legend-chip.green{color:#10fbc2}.osc-canvas{border:1px solid var(--line);background:#07090eb3;width:100%;height:130px}@media (max-width:980px){.cockpit-grid-mid{grid-template-columns:1fr}}@font-face{font-family:Orbitron Fallback;font-display:swap;src:local(Arial),local(Helvetica),local(Liberation Sans),local(DejaVu Sans),local(Noto Sans);font-weight:400 900;size-adjust:128.98%;ascent-override:78.38%;descent-override:18.84%;line-gap-override:0%}@font-face{font-family:Share Tech Mono Fallback;font-display:swap;src:local(Courier New),local(Liberation Mono),local(DejaVu Sans Mono);size-adjust:90.65%;ascent-override:97.63%;descent-override:26.7%;line-gap-override:0%}@font-face{font-family:Orbitron;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/orbitron-var.woff2)format("woff2")}@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/share-tech-mono-400.woff2)format("woff2")}:root{--bg:#07090e;--bg-2:#0d111a;--bg-3:#131926;--cyan:#00f0b5;--cyan-dim:#00b88c;--pink:#f43f5e;--purple:#b76bf8;--yellow:#eab308;--blue:#38bdf8;--text:#f1f5f9;--text-dim:#94a3b8;--line:#ffffff1a;--panel:#0d111aeb;--panel-grad:linear-gradient(172deg, #1c263af5 0%, #0e121cf0 42%, #080b13fa 100%);--bg-card:#0d111aeb;--code-bg:#070a12d9;--font-mono:"Share Tech Mono", "Share Tech Mono Fallback", monospace;--font-display:"Orbitron", "Orbitron Fallback", sans-serif}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg,#07090e);width:100%;height:100%;color:var(--text,#f1f5f9);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow:hidden}#root{width:100%;height:100%}
