:root{--bg: #08090c;--panel: #111319;--panel-2: #171a22;--border: #252935;--orange: #ff7a1a;--orange-glow: rgba(255, 122, 26, .28);--white: #f5f7fa;--muted: #9098a8;--danger: #ff3b30;--green: #2ecc71;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;padding:0;height:100%;background:radial-gradient(circle at 20% 0%,#171b24,#090a0e 60%);color:var(--white);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;-webkit-user-select:none;user-select:none}button,input{font-family:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}input[type=range]{accent-color:var(--orange);height:26px;cursor:pointer}.app-shell{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden;max-width:1920px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:#0e1016f0;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;flex-wrap:wrap}.brand-block{display:flex;align-items:center;gap:10px}.brand-logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--orange),#ff4500);color:#0b0c10;display:grid;place-items:center;box-shadow:0 0 18px var(--orange-glow)}.brand-title{font-weight:800;letter-spacing:.08em;font-size:16px}.brand-title span{color:var(--orange)}.brand-sub{font-size:11px;color:var(--muted)}.main-tabs{display:flex;gap:6px;flex-wrap:wrap}.main-tabs button{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-weight:600;font-size:13.5px;transition:all .15s ease}.main-tabs button:hover{border-color:#3a4052;color:var(--white)}.main-tabs button.active{background:linear-gradient(180deg,#ff7a1a38,#ff7a1a14);border-color:var(--orange);color:var(--white);box-shadow:0 0 16px var(--orange-glow)}.topbar-right{display:flex;align-items:center;gap:8px}.audio-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid transparent}.audio-pill.warn{background:#ff7a1a2e;border-color:var(--orange);color:#ffb27a}.audio-pill.ok{background:#2ecc7124;border-color:#2ecc7173;color:#7ee2a8}.icon-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);display:inline-grid;place-items:center;color:var(--muted)}.icon-btn:hover,.icon-btn.active{color:var(--orange);border-color:var(--orange)}.main-workspace{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:16px;padding:16px 18px;flex:1;min-height:0;overflow:hidden;align-items:start}.left-stage{min-width:0;height:100%;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;padding-bottom:24px}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.synth-note{font-size:12px;color:var(--muted)}.seg-group{display:inline-flex;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.seg-group button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;color:var(--muted);border-radius:7px;font-size:12.5px;font-weight:600}.seg-group button.active{background:var(--orange);color:#0b0c10}.car-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.car-card{background:linear-gradient(180deg,#151821,#0e1016);border:1px solid var(--border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;cursor:pointer}.car-card:hover{border-color:#3f4659;transform:translateY(-2px)}.car-card.selected{border-color:var(--orange);box-shadow:0 0 24px var(--orange-glow),inset 0 0 0 1px var(--orange)}.car-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.car-brand{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);display:flex;align-items:center;gap:6px}.synth-badge{background:#ff7a1a29;color:var(--orange);border:1px solid rgba(255,122,26,.4);padding:1px 6px;border-radius:99px;font-size:9.5px;font-weight:700}.car-name{margin:3px 0 0;font-size:18px;font-weight:800}.car-art{background:radial-gradient(ellipse at 50% 75%,#ff7a1a2e,#0c0e1473 72%);border-radius:12px;padding:8px 10px 4px;border:1px solid rgba(255,255,255,.05);height:132px;display:flex;align-items:center;justify-content:center;overflow:hidden}.car-photo{width:100%;height:118px;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 10px 14px rgba(0,0,0,.75));transition:transform .22s ease}.car-card:hover .car-photo{transform:scale(1.05)}.car-specs{display:flex;flex-wrap:wrap;gap:6px;font-size:11.5px;color:#cfd5e2}.car-specs span{display:inline-flex;align-items:center;gap:4px;background:#1a1e28;padding:4px 8px;border-radius:6px;border:1px solid #262b38}.car-desc{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.car-demos{display:flex;flex-wrap:wrap;gap:5px}.demo-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border-radius:8px;border:1px solid #2b3040;background:#171a23;font-size:11.5px;font-weight:600;color:#dde2ec}.demo-chip:hover{border-color:var(--orange)}.demo-chip.active{background:var(--orange);border-color:var(--orange);color:#0b0c10}.car-vol{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06);color:var(--muted);font-size:12px}.car-vol input{flex:1}.vol-pct{min-width:36px;text-align:right;font-weight:700;color:var(--white)}.cockpit-panel{background:linear-gradient(180deg,#141720,#0d0f15);border:1px solid var(--border);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:11px;height:fit-content;max-height:100%;overflow:hidden;flex-shrink:0}.cockpit-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.cockpit-car-info{display:flex;align-items:center;gap:10px;min-width:0}.cockpit-car-thumb{width:78px;height:48px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 8px rgba(0,0,0,.7))}.cockpit-sub{font-size:10px;letter-spacing:.1em;color:var(--orange);font-weight:700}.cockpit-title{margin:2px 0;font-size:20px;font-weight:800}.cockpit-meta{font-size:11.5px;color:var(--muted)}.start-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;border:1px solid var(--orange);background:linear-gradient(180deg,#26180f,#17100b);color:var(--white);font-weight:800;font-size:12px;letter-spacing:.04em}.start-btn.on{background:linear-gradient(180deg,var(--orange),#d95b00);color:#090a0d;box-shadow:0 0 22px var(--orange-glow)}.safety-banner{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#ff3b3029;border:1px solid var(--danger);color:#ffb3ae;font-size:12px}.gauge-wrap{background:#0b0d12;border:1px solid #1e222d;border-radius:14px;padding:8px 10px 4px}.gauge-wrap.limiter-flash{border-color:var(--danger);box-shadow:inset 0 0 22px #ff3b3059}.shift-lights{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:4px}.shift-lights .light{height:7px;border-radius:99px;background:#1b1f29}.shift-lights .light.g.on{background:#2ecc71;box-shadow:0 0 8px #2ecc71}.shift-lights .light.o.on{background:var(--orange);box-shadow:0 0 8px var(--orange)}.shift-lights .light.r.on{background:var(--danger);box-shadow:0 0 10px var(--danger)}.rpm-svg{width:100%;max-height:225px;display:block}.dial-num{fill:#d8dde6;font-size:13px;font-weight:700}.dial-num.red{fill:#ff5b5b}.speed-big{fill:#fff;font-size:40px;font-weight:900}.speed-unit{fill:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.06em}.gear-txt{fill:var(--orange);font-size:22px;font-weight:900}.dial-sub{fill:#9aa2b2;font-size:11px}.telemetry-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tele-pill{background:#0d0f14;border:1px solid #1e222d;border-radius:9px;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.tele-pill .k{font-size:9.5px;color:var(--muted)}.tele-pill .v{font-size:12px;color:var(--white)}.tele-pill .v.st-limiter{color:var(--danger)}.tele-pill .v.st-accel,.tele-pill .v.st-rev{color:var(--orange)}.waveform-box{background:#0d0f14;border:1px solid #1e222d;border-radius:10px;padding:6px 8px}.waveform-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-bottom:4px}.seg-mini{display:inline-flex;gap:4px}.seg-mini button{border:1px solid #262b38;background:#141821;color:var(--muted);font-size:10px;padding:2px 7px;border-radius:5px}.seg-mini button.active{border-color:var(--orange);color:var(--orange)}.waveform-canvas{width:100%;height:54px;display:block;border-radius:6px}.mode-row{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.paddle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#0e1016;padding:6px 8px;border-radius:10px;border:1px solid #262b38}.paddle-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border-radius:8px;border:1px solid var(--orange);background:#ff7a1a24;font-weight:700;font-size:11.5px}.paddle-gear{font-size:12px;font-weight:800;color:var(--orange)}.speed-box{background:#0e1016;border:1px solid #222634;border-radius:12px;padding:9px 10px;display:flex;flex-direction:column;gap:6px}.speed-head{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.speed-head strong{color:var(--orange)}.speed-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.speed-presets button{padding:6px 4px;font-size:11px;font-weight:700;border-radius:7px;border:1px solid #262b38;background:#161922;color:#d0d6e2}.speed-presets button.active{border-color:var(--orange);background:#ff7a1a33;color:var(--white)}.pedal-row{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.pedal{padding:12px 10px;border-radius:12px;border:1px solid #2d3343;display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:800;font-size:13px}.pedal small{font-weight:500;font-size:10.5px;color:var(--muted)}.pedal.brake{background:linear-gradient(180deg,#251619,#150e10);border-color:#ff3b3080}.pedal.brake.pressed{background:var(--danger);color:#fff}.pedal.gas{background:linear-gradient(180deg,#2b1b10,#17100a);border-color:var(--orange)}.pedal.gas.pressed{background:var(--orange);color:#0b0c10}.pedal.gas.pressed small{color:#1d140c}.rates-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;color:var(--muted)}.rates-row label{display:flex;flex-direction:column;gap:2px;background:#0e1016;padding:6px 8px;border-radius:9px;border:1px solid #202431}.quick-fx{display:flex;flex-wrap:wrap;gap:6px}.fx-pill{flex:1;min-width:110px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:8px;border:1px solid #282d3c;background:#141720;font-size:11px;font-weight:600;color:var(--muted)}.fx-pill.on{border-color:var(--orange);color:var(--white);background:#ff7a1a29}.master-inline{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);background:#0e1016;padding:6px 10px;border-radius:9px;border:1px solid #202431}.master-inline input{flex:1}.script-bar{background:#0e1016;border:1px solid #222634;border-radius:11px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.script-head{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--muted)}.stop-script{display:inline-flex;align-items:center;gap:4px;background:#ff3b3033;border:1px solid var(--danger);color:#ffb3ae;border-radius:6px;padding:3px 8px;font-size:11px}.script-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.script-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 6px;border-radius:7px;border:1px solid #272c3a;background:#161923;font-size:11px;font-weight:600}.script-buttons button.active{background:var(--orange);border-color:var(--orange);color:#0b0c10}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px}.card-panel{background:linear-gradient(180deg,#141720,#0e1016);border:1px solid var(--border);border-radius:16px;padding:18px}.card-panel h2{margin:0 0 6px;font-size:16px;display:flex;align-items:center;gap:8px}.card-panel h3{margin:12px 0 8px;font-size:13px;color:var(--orange);letter-spacing:.05em}.panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.muted{color:var(--muted);font-size:12.5px;margin:0}.primary-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;font-weight:700;font-size:12.5px;border:1px solid transparent}.primary-btn{background:var(--orange);color:#0b0c10}.secondary-btn{background:#191d27;border-color:#2d3344;color:var(--white)}.danger-btn{background:#ff3b3029;border-color:var(--danger);color:#ffb3ae}.sep{border:none;border-top:1px solid var(--border);margin:16px 0}.mixer-list{display:flex;flex-direction:column;gap:10px}.mixer-row{display:grid;grid-template-columns:200px 1fr 48px;align-items:center;gap:10px;background:#0e1016;padding:8px 12px;border-radius:10px;border:1px solid #1f2330}.mixer-lbl{display:flex;flex-direction:column;font-size:12.5px}.mixer-lbl small{color:var(--muted);font-size:11px}.mixer-val{text-align:right;font-weight:700;font-size:12.5px}.eq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.eq-card{background:#0e1016;border:1px solid #1f2330;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.eq-head{display:flex;justify-content:space-between;font-size:12.5px}.eq-head span{color:var(--orange);font-weight:700}.toggle-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0e1016;border:1px solid #1f2330;border-radius:10px;padding:10px 12px;cursor:pointer}.toggle-row div{display:flex;flex-direction:column;gap:2px;font-size:13px}.toggle-row small{color:var(--muted);font-size:11.5px}.toggle-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--orange)}.preset-form{display:flex;gap:8px;margin-bottom:10px}.preset-form input{flex:1;background:#0c0e13;border:1px solid #292f3e;border-radius:10px;padding:10px 12px;font-size:13px}.preset-grid{display:flex;flex-direction:column;gap:8px}.preset-item{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0e1016;border:1px solid #1f2330;border-radius:10px;padding:9px 12px}.preset-item.user{border-color:#ff7a1a73}.preset-item div{display:flex;flex-direction:column;font-size:13px}.preset-item small{color:var(--muted);font-size:11px}.preset-actions{display:flex;flex-direction:row!important;gap:6px}.horn-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:#0e1016;border:1px solid #1f2330;border-radius:12px;padding:12px;margin-bottom:14px}.horn-controls label{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px;font-size:12.5px}.horn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.horn-pad{background:linear-gradient(180deg,#191d28,#10131b);border:1px solid #2b3142;border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-height:110px}.horn-pad.active{background:linear-gradient(180deg,var(--orange),#cc5200);border-color:var(--orange);color:#0b0c10;box-shadow:0 0 22px var(--orange-glow)}.horn-pad-top{width:100%;display:flex;justify-content:space-between;align-items:center}.horn-tag{font-size:10px;font-weight:800;padding:2px 7px;border-radius:99px;background:#ffffff14}.horn-pad small{color:var(--muted);font-size:11.5px}.horn-pad.active small{color:#1f140a}.gps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.gps-metric{background:#0e1016;border:1px solid #1f2330;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.gps-metric span{font-size:10.5px;color:var(--muted)}.gps-metric strong{font-size:18px}.gps-metric small{font-size:11px;color:var(--muted)}.status-active{color:var(--green)}.status-denied,.status-error,.status-insecure{color:var(--danger)}.err-txt{color:var(--danger)!important}.gps-preview-box{background:#0e1016;border:1px solid #262b38;border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.gps-calc-row{display:flex;gap:14px;margin-top:6px;font-size:13px;flex-wrap:wrap}.gps-calc-row strong{color:var(--orange)}.info-callout{display:flex;gap:10px;background:#ff7a1a14;border:1px solid rgba(255,122,26,.35);border-radius:12px;padding:12px;font-size:12.5px;line-height:1.45;margin-top:12px}.info-callout ul{margin:6px 0 0;padding-left:18px}.gear-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:12px 0}.gear-chip{background:#0e1016;border:1px solid #222634;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:2px}.gear-chip span{font-size:10.5px;color:var(--muted)}.gear-chip strong{color:var(--orange);font-size:15px}.gear-chip small{font-size:10.5px;color:var(--muted)}.verify-table{width:100%;border-collapse:collapse;font-size:12px;margin:10px 0}.verify-table th,.verify-table td{border-bottom:1px solid #202431;padding:7px 8px;text-align:left}.verify-table th{color:var(--muted);font-size:11px}.verify-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.diag-box{background:#0e1016;border:1px solid #1f2330;border-radius:12px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.diag-actions{display:flex;gap:8px;flex-wrap:wrap}.guide-steps{display:flex;flex-direction:column;gap:12px;margin-top:10px}.guide-step{display:flex;gap:10px;background:#0e1016;border:1px solid #1f2330;border-radius:12px;padding:12px;font-size:12.5px;line-height:1.45}.guide-step p{margin:4px 0 0;color:var(--muted)}.empty-box{background:var(--panel);border:1px dashed var(--border);border-radius:14px;padding:28px;text-align:center;color:var(--muted)}.garage-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.brand-select,.car-search{background:#10131b;border:1px solid #2b3142;color:var(--white);border-radius:10px;padding:8px 12px;font-size:12.5px;outline:none}.brand-select:focus,.car-search:focus{border-color:var(--orange)}.car-search{min-width:240px}@media (max-width: 760px){.main-workspace{grid-template-columns:minmax(0,1fr) 340px}}
