:root{--color-primary: #4CAF50;--color-primary-hover: #45a049;--color-primary-rgb: 76, 175, 80;--color-danger: #F44336;--color-danger-dark: #D32F2F;--color-danger-rgb: 244, 67, 54;--color-warning: #FF9800;--color-warning-rgb: 255, 152, 0;--color-info: #2196F3;--color-info-rgb: 33, 150, 243;--color-purple: #9C27B0;--color-purple-rgb: 156, 39, 176;--color-ai-start: #667eea;--color-ai-end: #764ba2;--color-ai-rgb: 102, 126, 234;--gradient-ai: linear-gradient(135deg, var(--color-ai-start) 0%, var(--color-ai-end) 100%);--bg-body: #2a2a3e;--bg-dark: #1a1a2e;--bg-darker: #0f0f1a;--bg-darkest: #0d0d1a;--bg-panel: rgba(0, 0, 0, .9);--bg-surface: rgba(255, 255, 255, .03);--bg-surface-hover: rgba(255, 255, 255, .1);--gradient-header: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);--text-primary: #fff;--text-secondary: #e0e0e0;--text-muted: #ccc;--text-dim: rgba(255, 255, 255, .6);--text-faint: rgba(255, 255, 255, .4);--border-subtle: rgba(255, 255, 255, .1);--border-muted: #333;--border-input: #444;--z-canvas: 0;--z-panels: 100;--z-floating: 999;--z-toggle: 1000;--z-scenario-progress: 1500;--z-control-bar: 2000;--z-header: 2500;--z-modal-overlay: 10000;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--font-family: Arial, sans-serif;--font-mono: "Consolas", "Courier New", monospace;--font-ui: "Segoe UI", sans-serif}body{margin:0;background:var(--bg-body);overflow:hidden;height:100vh;font-family:Arial,sans-serif}canvas#myCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;background:var(--bg-body)}button{padding:10px 20px;font-size:16px;cursor:pointer;border:none;border-radius:5px;background:#fff;box-shadow:0 2px 5px #0003;transition:.3s}button:hover{background:#eee}#controls{display:flex;flex-direction:column;gap:10px;position:absolute;bottom:60px;right:20px}#appHeader{position:fixed;top:0;left:0;right:0;height:50px;background:var(--gradient-header);display:flex;align-items:center;padding:0 15px;box-shadow:0 2px 10px #0000004d;z-index:var(--z-header)}#appHeader h1{color:var(--color-primary);font-size:18px;margin:0;font-weight:600;letter-spacing:1px}#menuBtn{background:transparent;color:#fff;font-size:24px;padding:5px 12px;margin-right:15px;box-shadow:none;border-radius:3px}#menuBtn:hover{background:#ffffff1a}#accidentDbLink{display:inline-flex;align-items:center;padding:10px 20px;font-size:16px;cursor:pointer;border:none;border-radius:5px;background:#fff;box-shadow:0 2px 5px #0003;transition:.3s;text-decoration:none;color:#333;font-family:inherit}#accidentDbLink:hover{background:#eee}#sideMenu{position:absolute;top:0;left:0;width:250px;height:100vh;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);z-index:1001;transform:translate(0);transition:transform .3s ease;box-shadow:3px 0 15px #0006}#sideMenu.hidden{transform:translate(-100%)}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #333;color:var(--color-primary);font-weight:700}#closeMenuBtn{background:transparent;color:#aaa;font-size:18px;padding:5px 10px;box-shadow:none}#closeMenuBtn:hover{color:#fff}#sideMenu ul{list-style:none;padding:0;margin:0}#sideMenu li a{display:block;padding:15px 20px;color:#ccc;text-decoration:none;border-bottom:1px solid #222;transition:background .2s}#sideMenu li a:hover{background:rgba(var(--color-primary-rgb),.2);color:var(--color-primary)}.menu-section{padding:15px;border-bottom:1px solid #333}.menu-section h4{margin:0 0 10px;color:var(--color-primary);font-size:13px}.menu-section label{display:block;color:#ccc;font-size:12px;margin-bottom:8px}.menu-section label span{color:var(--color-primary);font-weight:700}.menu-section input[type=range]{width:100%;margin-top:5px}.menu-section button{width:100%;padding:10px;background:var(--color-primary);color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px}.menu-section button:hover{background:var(--color-primary-hover)}#controlBar{position:fixed;bottom:0;left:0;width:100%;height:50px;background:#000000e6;border-top:1px solid var(--color-primary);display:flex;align-items:center;justify-content:space-between;padding:0 15px;box-sizing:border-box;z-index:var(--z-control-bar);color:#fff;font-size:11px}.bar-section{display:flex;align-items:center;gap:15px}.metric-item{color:#ccc;font-family:monospace;font-size:12px}.metric-item span{color:var(--color-primary);font-weight:700}.mini-stepper{display:flex;align-items:center;background:#222;border:1px solid #444;border-radius:4px;padding:2px 5px;gap:5px}.mini-stepper .label{color:#aaa;font-size:10px;text-transform:uppercase;margin-right:2px}.mini-stepper button{background:#444;border:none;color:#fff;width:16px;height:16px;line-height:1;font-size:12px;cursor:pointer;border-radius:2px;padding:0;display:flex;justify-content:center;align-items:center}.mini-stepper button:hover{background:#666}.mini-stepper .val{width:25px;text-align:center;color:var(--color-primary);font-weight:700}.actions-section button{background:#333;border:1px solid #555;color:#fff;width:30px;height:30px;border-radius:4px;cursor:pointer;font-size:16px;display:flex;justify-content:center;align-items:center;transition:all .2s}.actions-section button:hover{background:var(--color-primary);border-color:#4caf50;transform:scale(1.1)}.hidden{display:none!important}.hidden-log{display:none}#driverViewPanel{background:#000000e6;border-radius:8px;z-index:100;overflow:hidden;border:1px solid rgba(var(--color-primary-rgb),.3)}.driver-view-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:rgba(var(--color-primary-rgb),.2)}.driver-view-header h4{margin:0;color:var(--color-primary);font-size:10px}#driverViewCanvas{display:block;background:var(--bg-dark)}#driverViewPanel.disabled #driverViewCanvas{opacity:.3}#minimapPanel{background:#000000e6;border-radius:8px;z-index:100;overflow:hidden;border:1px solid rgba(var(--color-primary-rgb),.3)}.minimap-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:rgba(var(--color-primary-rgb),.2)}.minimap-header h4{margin:0;color:var(--color-primary);font-size:10px}#settingsPanel{background:#000000e6;border-radius:8px;z-index:100;overflow:hidden;border:1px solid rgba(var(--color-primary-rgb),.3)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:rgba(var(--color-primary-rgb),.2)}.settings-header h4{margin:0;color:var(--color-primary);font-size:10px}#settingsContent{padding:8px}#settingsPanel.collapsed #settingsContent{display:none}.settings-group{margin-bottom:8px}.settings-group label{display:block;color:#ccc;font-size:10px;margin-bottom:3px}.settings-group label span{color:var(--color-primary);font-weight:700}.settings-group input[type=range]{width:100%;height:4px}.settings-group select{width:100%;padding:4px;font-size:10px;background:#222;color:#fff;border:1px solid #444;border-radius:4px}#applySettingsBtn{width:100%;padding:6px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;margin-top:4px}#applySettingsBtn:hover{background:var(--color-primary-hover)}.settings-tabs{display:flex;gap:2px;margin-bottom:8px;background:#111;border-radius:4px;padding:2px}.settings-tab{flex:1;padding:5px 4px;background:transparent;color:#888;border:none;border-radius:3px;cursor:pointer;font-size:10px;transition:all .2s;white-space:nowrap}.settings-tab:hover{color:#ccc;background:rgba(var(--color-primary-rgb),.1)}.settings-tab.active{background:rgba(var(--color-primary-rgb),.25);color:var(--color-primary);font-weight:700}.settings-tab-content{display:none}.settings-tab-content.active{display:block}#aiChatPlaceholder{position:fixed;bottom:50px;right:20px;width:350px;height:400px}.toggle-switch{position:relative;width:36px;height:18px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{position:absolute;cursor:pointer;inset:0;background:#444;border-radius:18px;transition:.3s}.toggle-switch .slider:before{position:absolute;content:"";height:14px;width:14px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.slider{background:var(--color-primary)}.toggle-switch input:checked+.slider:before{transform:translate(18px)}.recording-section{display:flex;align-items:center;gap:6px}.record-btn{background:#444;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;color:#fff;font-size:12px;transition:all .2s}.record-btn:hover{background:#555}.record-btn.recording{background:#d32f2f;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.recording-status{font-size:11px;color:#ff6b6b;min-width:80px}.export-btn{background:#3d5afe;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;color:#fff;font-size:12px;transition:all .2s}.export-btn:hover:not(:disabled){background:#536dfe}.export-btn:disabled{background:#555;cursor:not-allowed;opacity:.5}.replay-panel{position:fixed;bottom:60px;left:50%;transform:translate(-50%);background:#1e1e32f2;backdrop-filter:blur(10px);border:1px solid rgba(100,100,255,.3);border-radius:10px;padding:10px 16px;z-index:var(--z-toggle);min-width:380px;box-shadow:0 4px 20px #00000080}.replay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.replay-header h4{margin:0;color:#eee;font-size:13px}.replay-close{background:none;border:none;color:#aaa;cursor:pointer;font-size:14px;padding:2px 6px}.replay-close:hover{color:#fff}.replay-controls{display:flex;align-items:center;gap:8px;margin-bottom:6px}.replay-controls button{background:#3d5afe;border:none;color:#fff;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:13px}.replay-controls button:hover{background:#536dfe}.replay-slider{flex:1;height:4px;accent-color:#3d5afe}.replay-frame{font-size:11px;color:#aaa;min-width:70px;text-align:right}.replay-speed{display:flex;align-items:center;gap:6px;font-size:11px;color:#888}.speed-btn{background:#333;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:3px;cursor:pointer;font-size:11px}.speed-btn:hover{background:#444}.speed-btn.active{background:#3d5afe;border-color:#3d5afe;color:#fff}#scenarioModal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:var(--z-control-bar);display:flex;justify-content:center;align-items:center}#scenarioModal.hidden{display:none!important}.scenario-modal-content{background:#141428fa;backdrop-filter:blur(12px);border:1px solid rgba(100,100,255,.3);border-radius:12px;padding:20px;min-width:500px;max-width:700px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0009;color:#fff}.scenario-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.scenario-modal-header h2{margin:0;font-size:16px;color:#7c8aff}.scenario-modal-close{background:none;border:none;color:#888;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.scenario-modal-close:hover{color:#fff}.scenario-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scenario-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}.scenario-card:hover{border-color:#3d5afe99;background:#3d5afe1a;transform:translateY(-1px)}.scenario-card h3{margin:0 0 4px;font-size:13px;color:#ccc}.scenario-card p{margin:0;font-size:11px;color:#888;line-height:1.3}.scenario-card .scenario-tags{margin-top:6px;display:flex;gap:4px;flex-wrap:wrap}.scenario-card .scenario-tag{font-size:9px;padding:1px 5px;border-radius:3px;background:#3d5afe33;color:#7c8aff}#scenarioProgress{position:fixed;top:50px;left:50%;transform:translate(-50%);z-index:var(--z-scenario-progress);background:#141428f2;border:1px solid rgba(100,100,255,.3);border-radius:8px;padding:8px 16px;color:#fff;font-size:12px;min-width:300px}#scenarioProgress.hidden{display:none!important}#scenarioOverlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:var(--z-header);display:flex;justify-content:center;align-items:center;color:#fff}#scenarioOverlay.hidden{display:none!important}.scenario-panel,.challenge-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#141428f7;backdrop-filter:blur(12px);border:1px solid rgba(100,100,255,.3);border-radius:12px;padding:16px;z-index:1100;color:#fff;min-width:420px;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0009}.scenario-header,.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.scenario-header h4,.challenge-header h4{margin:0;font-size:14px;color:#7c8aff}.scenario-close,.challenge-close{background:none;border:none;color:#888;font-size:18px;cursor:pointer}.scenario-close:hover,.challenge-close:hover{color:#fff}.scenario-header button{background:#3d5afe33;border:1px solid rgba(61,90,254,.4);color:#7c8aff;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:11px;margin-left:4px}.scenario-header button:hover{background:#3d5afe66}.scenario-field{margin-bottom:6px}.scenario-field label{display:block;font-size:9px;color:#888;text-transform:uppercase;margin-bottom:2px}.scenario-field input,.scenario-field select{width:100%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:4px 6px;color:#fff;font-size:12px;box-sizing:border-box}.scenario-field-row{display:flex;gap:6px;margin-bottom:6px}.scenario-field-row .scenario-field{flex:1;margin-bottom:0}.scenario-form h5{margin:10px 0 4px;font-size:11px;color:#7c8aff}.scenario-step{display:flex;gap:4px;margin-bottom:4px;align-items:center}.scenario-step select,.scenario-step input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:3px;padding:3px 4px;color:#fff;font-size:11px}.scenario-step select{width:70px}.scenario-step input[type=number]{width:60px}.scenario-step input[type=text]{flex:1}.scenario-remove-step{background:none;border:none;color:#f44336;cursor:pointer;font-size:14px;padding:0 4px}.scenario-actions{margin-top:8px;display:flex;gap:6px}.scenario-actions button{flex:1;background:#3d5afe33;border:1px solid rgba(61,90,254,.3);color:#7c8aff;padding:5px;border-radius:4px;cursor:pointer;font-size:11px}.scenario-actions button:hover{background:#3d5afe66}.challenge-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.challenge-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.challenge-card:hover{border-color:#3d5afe99;background:#3d5afe1a}.challenge-card .emoji{font-size:24px;display:block;margin-bottom:4px}.challenge-card .name{font-size:12px;font-weight:700;color:#ccc}.challenge-card .desc{font-size:9px;color:#888;margin-top:2px}.challenge-progress{margin-bottom:10px}.progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:linear-gradient(90deg,#3d5afe,#448aff);border-radius:3px;width:0%;transition:width .1s}#challengeStatus{font-size:11px;color:#aaa}.challenge-leaderboard h5{font-size:11px;color:#7c8aff;margin:8px 0 4px}.leaderboard-entry{display:flex;justify-content:space-between;padding:3px 0;font-size:11px;color:#aaa;border-bottom:1px solid rgba(255,255,255,.05)}.leaderboard-entry .score{color:#ffab40;font-weight:700}#vehicleDashboard{background:#000000e6;border-radius:8px;color:#fff;z-index:100;overflow:hidden;border:1px solid rgba(var(--color-primary-rgb),.3)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:rgba(var(--color-primary-rgb),.2)}.dashboard-header h4{margin:0;color:var(--color-primary);font-size:10px;text-transform:uppercase}#dashboardContent{padding:8px}#vehicleDashboard.disabled #dashboardContent{display:none}.control-mode-indicator{display:flex;justify-content:center;gap:4px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.mode-badge{padding:2px 6px;border-radius:10px;font-size:8px;font-weight:700;text-transform:uppercase;opacity:.4;transition:all .3s ease;cursor:default}.mode-badge.adas{background:#2196f333;color:var(--color-info);border:1px solid rgba(33,150,243,.3)}.mode-badge.manual{background:#ff980033;color:var(--color-warning);border:1px solid rgba(255,152,0,.3)}.mode-badge.active{opacity:1;transform:scale(1.05)}.mode-badge.adas.active{background:#2196f366;box-shadow:0 0 8px #2196f380}.mode-badge.manual.active{background:#ff980066;box-shadow:0 0 8px #ff980080}.driving-mode-selector{display:flex;justify-content:center;gap:3px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.driving-mode-btn{padding:3px 6px;border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:6px;background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);font-size:9px;font-weight:700;cursor:pointer;transition:all .2s ease;opacity:.5}.driving-mode-btn:hover{opacity:.8;background:rgba(var(--color-primary-rgb),.2)}.driving-mode-btn.active{opacity:1;background:rgba(var(--color-primary-rgb),.4);box-shadow:0 0 8px #4caf5080;transform:scale(1.05)}.dashboard-item{text-align:center;margin-bottom:6px}.dashboard-item span{font-size:9px;color:#888;text-transform:uppercase}.steering-container{display:flex;justify-content:center;margin-bottom:4px}#steeringWheel{width:45px;height:45px;border:3px solid #555;border-radius:50%;position:relative;background:radial-gradient(circle,#333 30%,#222)}.steering-indicator{position:absolute;top:4px;left:50%;transform:translate(-50%);width:3px;height:15px;background:var(--color-primary);border-radius:2px;transform-origin:center 19px}.adas-target-indicator{display:flex;justify-content:center;align-items:center;gap:5px;margin:8px 0;padding:5px;background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:6px}.adas-arrow{font-size:14px;opacity:.3;transition:all .2s ease}.adas-arrow.left,.adas-arrow.right{color:var(--color-info)}.adas-arrow.active{opacity:1;transform:scale(1.3);text-shadow:0 0 8px currentColor}.adas-target-label{font-size:8px;color:var(--color-info);font-weight:700;min-width:50px;text-align:center}.pedals-container{display:flex;justify-content:center;gap:10px;margin:8px 0}.pedal-bar{width:25px;height:40px;background:#222;border:1px solid #444;border-radius:3px;position:relative;overflow:hidden}.pedal-fill{position:absolute;bottom:0;left:0;right:0;height:0%;transition:height .1s}.pedal-fill.accel{background:linear-gradient(to top,#4caf50,#8bc34a)}.pedal-fill.brake{background:linear-gradient(to top,#f44336,#e91e63)}.wheels-container{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:6px}.wheel-pair{display:flex;gap:25px}.wheel{width:15px;height:28px;background:#333;border:2px solid #555;border-radius:3px;position:relative}.wheel:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:2px;background:#666}.wheel.turning-left{transform:rotate(-15deg);border-color:var(--color-primary)}.wheel.turning-right{transform:rotate(15deg);border-color:var(--color-primary)}.bsm-indicator{display:flex;justify-content:center;align-items:center;gap:4px;margin:6px 0;padding:5px 4px;background:#ff98000d;border:1px solid rgba(255,255,255,.08);border-radius:6px;position:relative}.bsm-zone{width:18px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.15;background:#ffffff0d;border:1px solid transparent}.bsm-icon{font-size:10px;opacity:0;transition:opacity .2s ease}.bsm-zone.warning{opacity:1;background:#ff980040;border-color:#ff980099;animation:bsm-pulse-warn 1s ease-in-out infinite}.bsm-zone.warning .bsm-icon{opacity:1;color:var(--color-warning)}.bsm-zone.danger{opacity:1;background:#f4433659;border-color:#f44336cc;animation:bsm-pulse-danger .5s ease-in-out infinite}.bsm-zone.danger .bsm-icon{opacity:1;color:#f44336}.bsm-car-icon{display:flex;align-items:center;justify-content:center;opacity:.5}.bsm-rear{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:28px;height:10px;border-radius:0 0 4px 4px;display:flex;align-items:center;justify-content:center;opacity:.15;transition:all .2s ease}.bsm-rear-icon{font-size:7px;opacity:0;transition:opacity .2s ease}.bsm-rear.warning{opacity:1;background:#ff980040;animation:bsm-pulse-warn 1s ease-in-out infinite}.bsm-rear.warning .bsm-rear-icon{opacity:1;color:var(--color-warning)}.bsm-rear.danger{opacity:1;background:#f4433659;animation:bsm-pulse-danger .5s ease-in-out infinite}.bsm-rear.danger .bsm-rear-icon{opacity:1;color:#f44336}@keyframes bsm-pulse-warn{0%,to{box-shadow:0 0 4px #ff98004d}50%{box-shadow:0 0 10px #ff980099}}@keyframes bsm-pulse-danger{0%,to{box-shadow:0 0 4px #f4433666}50%{box-shadow:0 0 12px #f44336cc}}.gauges-container{display:flex;justify-content:center;gap:8px;margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.gauge-item{display:flex;flex-direction:column;align-items:center;gap:2px}.gauge-item canvas{border-radius:50%;background:#0009}.gauge-item span{font-size:8px;color:#888;text-transform:uppercase}#appFooter{position:fixed;bottom:0;left:0;right:0;height:40px;background:var(--gradient-header);display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 -2px 10px #0000004d;z-index:1000}#footerStatus{color:var(--color-primary);font-size:14px}#fpsCounter{color:#888;font-size:12px;font-family:monospace}#shortcutsHint{position:fixed;bottom:174px;right:24px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#607d8b,#455a64);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;z-index:500;cursor:pointer;box-shadow:0 4px 15px #607d8b66;transition:transform .3s,box-shadow .3s;border:none;padding:0}#shortcutsHint:hover{transform:scale(1.1);box-shadow:0 6px 20px #607d8b99}#shortcutsHint b{display:none}.modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-control-bar)}.modal.hidden{display:none}.modal-content{background:var(--bg-dark);border-radius:12px;min-width:320px;max-width:90%;box-shadow:0 10px 40px #00000080;border:1px solid #333}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #333}.modal-header h3{margin:0;color:var(--color-primary);font-size:18px}.modal-header button{background:transparent;border:none;color:#888;font-size:18px;cursor:pointer;padding:5px;box-shadow:none}.modal-header button:hover{color:#fff;background:transparent}.modal-body{padding:20px}.shortcuts-table{width:100%;color:#fff;border-collapse:collapse}.shortcuts-table tr{border-bottom:1px solid #333}.shortcuts-table tr:last-child{border-bottom:none}.shortcuts-table td{padding:10px 15px}.shortcuts-table td:first-child{text-align:center;width:60px}kbd{background:linear-gradient(180deg,#333,#222);border:1px solid #555;border-radius:4px;padding:4px 10px;font-family:monospace;font-size:14px;color:var(--color-primary);box-shadow:0 2px #111}#ai-chat-widget{position:fixed;bottom:24px;right:24px;z-index:500}.ai-toggle-btn{width:52px;height:52px;border-radius:50%;background:var(--ai-gradient, linear-gradient(135deg, var(--ai-primary, var(--accent-primary, #3b82f6)), var(--ai-secondary, var(--accent-secondary, #8b5cf6))));border:none;color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--ai-shadow, rgba(59, 130, 246, .4));transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:24px}.ai-toggle-btn:hover{transform:scale(1.1);box-shadow:0 6px 28px var(--ai-shadow, rgba(59, 130, 246, .5))}.ai-toggle-btn.active{background:linear-gradient(135deg,var(--ai-secondary, #8b5cf6),var(--ai-primary, var(--accent-primary, #3b82f6)));box-shadow:0 0 20px var(--ai-shadow-active, rgba(139, 92, 246, .5))}.ai-panel{position:absolute;bottom:64px;right:0;width:380px;max-height:520px;background:var(--ai-bg, var(--bg-secondary, #111827));border-radius:16px;border:1px solid var(--ai-border, rgba(59, 130, 246, .2));box-shadow:0 10px 40px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:aiSlideUp .3s ease}.ai-panel.hidden{display:none}@keyframes aiSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--ai-primary, #3b82f6) 15%,transparent),color-mix(in srgb,var(--ai-secondary, #8b5cf6) 10%,transparent));border-bottom:1px solid var(--ai-border, rgba(59, 130, 246, .2));color:var(--ai-text, var(--text-primary, #e2e8f0));font-weight:600;font-size:14px}.ai-close-btn{width:28px;height:28px;background:#ffffff1a;border:none;border-radius:6px;color:var(--ai-text-dim, var(--text-secondary, #94a3b8));font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.ai-close-btn:hover{background:#fff3;color:#fff}.ai-messages{flex:1;padding:16px;overflow-y:auto;max-height:350px;display:flex;flex-direction:column;gap:10px;background:var(--ai-bg-deep, var(--bg-primary, #0a0e17))}.ai-messages::-webkit-scrollbar{width:4px}.ai-messages::-webkit-scrollbar-track{background:transparent}.ai-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ai-primary, #3b82f6) 30%,transparent);border-radius:2px}.ai-message{padding:10px 14px;border-radius:12px;max-width:85%;line-height:1.6;font-size:13px;word-break:break-word}.ai-message-user{background:linear-gradient(135deg,var(--ai-primary, var(--accent-primary, #3b82f6)),color-mix(in srgb,var(--ai-primary, #3b82f6) 80%,#000));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.ai-message-assistant{background:var(--ai-bg, var(--bg-secondary, #111827));color:var(--ai-text, var(--text-primary, #e2e8f0));align-self:flex-start;border-bottom-left-radius:4px;border:1px solid var(--ai-border-subtle, rgba(59, 130, 246, .1))}.ai-message code{background:color-mix(in srgb,var(--ai-primary, #3b82f6) 15%,transparent);padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:.85em}.ai-message strong{color:var(--ai-accent, var(--accent-primary, #60a5fa))}.ai-hints{display:flex;flex-direction:column;gap:6px;padding:4px 0}.ai-hint-chip{background:color-mix(in srgb,var(--ai-primary, #3b82f6) 10%,transparent);border:1px solid color-mix(in srgb,var(--ai-primary, #3b82f6) 20%,transparent);padding:8px 12px;border-radius:20px;font-size:12px;color:var(--ai-primary, var(--accent-primary, #3b82f6));cursor:pointer;transition:background .2s;text-align:left}.ai-hint-chip:hover{background:color-mix(in srgb,var(--ai-primary, #3b82f6) 20%,transparent)}.ai-loading{display:flex;gap:5px;padding:14px}.ai-loading .dot{width:8px;height:8px;background:var(--ai-primary, var(--accent-primary, #3b82f6));border-radius:50%;animation:aiBounce 1.4s infinite ease-in-out}.ai-loading .dot:nth-child(1){animation-delay:-.32s}.ai-loading .dot:nth-child(2){animation-delay:-.16s}@keyframes aiBounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-input-area{display:flex;gap:8px;padding:14px;background:var(--ai-bg, var(--bg-secondary, #111827));border-top:1px solid var(--ai-border-subtle, rgba(59, 130, 246, .15))}#ai-chat-input{flex:1;padding:10px 16px;border:1px solid var(--ai-border, rgba(59, 130, 246, .2));border-radius:24px;font-size:13px;font-family:inherit;outline:none;transition:border-color .2s;background:var(--ai-bg-deep, var(--bg-primary, #0a0e17));color:var(--ai-text, var(--text-primary, #e2e8f0))}#ai-chat-input:focus{border-color:var(--ai-primary, var(--accent-primary, #3b82f6));box-shadow:0 0 8px color-mix(in srgb,var(--ai-primary, #3b82f6) 15%,transparent)}#ai-chat-input::placeholder{color:var(--ai-text-dim, var(--text-secondary, #94a3b8))}.ai-send-btn{width:40px;height:40px;border-radius:50%;background:var(--ai-gradient, linear-gradient(135deg, var(--ai-primary, #3b82f6), var(--ai-secondary, #8b5cf6)));border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.ai-send-btn svg{width:18px;height:18px}.ai-send-btn:hover{transform:scale(1.05);box-shadow:0 0 12px var(--ai-shadow, rgba(59, 130, 246, .3))}@media(max-width:480px){.ai-panel{width:calc(100vw - 48px);max-height:60vh}#ai-chat-widget{bottom:16px;right:16px}}@media print{#ai-chat-widget{display:none!important}}#statsPanel{background:#000000e6;border-radius:8px;padding:8px;z-index:100;border:1px solid rgba(var(--color-primary-rgb),.3);font-family:Segoe UI,sans-serif;font-size:11px;box-sizing:border-box}#statsPanel.hidden{display:none}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.stats-header h4{margin:0;color:var(--color-primary);font-size:11px;font-weight:600}.stats-toggle{background:none;border:none;color:#fff9;cursor:pointer;font-size:14px;padding:0;line-height:1}.stats-toggle:hover{color:#fff}.stats-content{display:flex;flex-direction:column;gap:4px}.stats-group{background:#ffffff08;border-radius:4px;padding:6px}.stats-group-title{font-size:9px;text-transform:uppercase;color:#fff6;margin-bottom:4px;letter-spacing:.5px}.stats-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.stats-row:last-child{margin-bottom:0}.stats-label{color:#fff9;font-size:10px}.stats-value{color:#fff;font-size:10px;font-weight:600;font-family:Consolas,monospace}.stats-value.positive{color:var(--color-primary)}.stats-value.warning{color:var(--color-warning)}.stats-value.danger{color:var(--color-danger)}#statsCanvas{width:100%;height:35px;border-radius:4px;margin-top:4px}.safety-score{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;padding:6px;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.2),rgba(var(--color-primary-rgb),.05));border-radius:6px;border:1px solid rgba(var(--color-primary-rgb),.3)}.safety-score-icon{font-size:14px}.safety-score-value{font-size:16px;font-weight:700;color:var(--color-primary);font-family:Consolas,monospace}#statsPanel.collapsed .stats-content{display:none}#statsPanel.collapsed{width:auto;padding:6px 10px}.events-row{display:flex;gap:8px;justify-content:center;margin-top:4px}.event-badge{display:flex;align-items:center;gap:3px;padding:2px 6px;background:#ffffff0d;border-radius:10px;font-size:9px}.event-badge .icon{font-size:10px}.event-badge .count{color:#fff;font-weight:600}#leftPanelStack{position:fixed;top:60px;left:10px;width:200px;display:flex;flex-direction:column;gap:6px;z-index:var(--z-panels);max-height:calc(100vh - 110px)}#driverViewCanvas{width:100%;height:110px}#minimapCanvas{width:100%;height:140px}#rightPanelStack{position:fixed;top:60px;right:10px;width:410px;display:flex;flex-direction:row;gap:6px;z-index:var(--z-panels);max-height:calc(100vh - 180px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--color-primary-rgb),.2) transparent}#rightPanelStack>#vehicleDashboard,#rightPanelStack>#statsPanel{width:200px;flex-shrink:0}#ai-chat-widget{bottom:234px!important;right:24px!important}.wheels-container{display:none!important}
