.track-view-3d{width:100%;height:800px;min-height:800px;position:relative;background:#1a1f3a;border-radius:8px;overflow:hidden}.track-view-3d canvas{display:block;width:100%;height:100%}.labels-toggle-btn{position:absolute;top:16px;right:16px;z-index:10;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.labels-toggle-btn:hover{background:#000000d9;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.labels-toggle-btn:active{transform:translateY(0)}.labels-toggle-btn svg{width:20px;height:20px;flex-shrink:0}.track-view-container{position:relative}.track-checkered-flag{position:absolute;top:0;left:0;right:0;height:60px;background:transparent;z-index:20;pointer-events:none;overflow:hidden}.track-view{background:#000;border:1px solid rgba(225,6,0,.4);border-left:4px solid #E10600;padding:8px;box-shadow:0 2px 10px #0009;position:relative;overflow:hidden;min-height:800px}.track-view canvas{border-radius:8px;display:block;max-width:100%;height:auto;box-shadow:0 4px 20px #00000080}.track-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:10}.control-btn{background:#000000e6;border:2px solid rgba(225,6,0,.5);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease;box-shadow:0 2px 8px #0009}.control-btn:hover{background:#e106004d;border-color:#e10600;box-shadow:0 0 15px #e1060080;transform:scale(1.1)}.control-btn.active{background:#e1060080;border-color:#e10600;box-shadow:0 0 20px #e10600b3}.minimap{position:absolute;bottom:12px;right:12px;background:#000000f2;border:2px solid #E10600;border-left:4px solid #E10600;padding:8px;box-shadow:0 2px 10px #000c,0 0 15px #e1060066;z-index:10;width:180px}.minimap-title{font-size:12px;color:#a0a0a0;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.minimap canvas{border-radius:4px}.leaderboard{background:var(--bg-card);border-left:3px solid var(--accent-primary);padding:0;height:100%;display:flex;flex-direction:column;position:relative}.leaderboard-header{margin-bottom:0;padding:16px;border-bottom:1px solid var(--border-color)}.leaderboard-header h2{margin:0 0 8px;color:var(--text-primary);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.race-info{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.race-time,.lap-counter{background:var(--surface);padding:6px 12px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--text-primary)}.leaderboard-table{flex:1;overflow-y:auto}.table-header{display:grid;grid-template-columns:50px 1.5fr 70px 90px 80px 90px 80px 70px 60px;gap:8px;padding:10px 12px;background:var(--surface);font-weight:600;color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-color)}.table-row{display:grid;grid-template-columns:50px 1.5fr 70px 90px 80px 90px 80px 70px 60px;gap:8px;padding:10px 12px;background:transparent;border-left:2px solid transparent;transition:all .15s ease;align-items:center;cursor:pointer;border-bottom:1px solid var(--border-color)}.table-row:hover{background:var(--surface);border-left-color:var(--accent-primary)}.table-row.in-pit{background:#ffa50026;border:1px solid rgba(255,165,0,.4)}.table-row.podium-gold{background:#ffd7001a;border-left:3px solid #FFD700}.table-row.podium-silver{background:#c0c0c01a;border-left:3px solid #C0C0C0}.table-row.podium-bronze{background:#cd7f321a;border-left:3px solid #CD7F32}.position-badge{background:var(--accent-primary);color:#fff;padding:6px;text-align:center;font-weight:700;font-size:16px}.position-up{color:#0f0;font-size:11px;margin-left:2px;font-weight:600}.position-down{color:#f44;font-size:11px;margin-left:2px}.col-driver{display:flex;align-items:center;gap:10px;font-weight:600;color:#fff}.driver-color{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.driver-name{flex:1}.overtaking-badge{background:#f003;color:red;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;margin-left:5px}.col-gap{font-size:12px;color:#a0a0a0;font-weight:500}.col-speed{display:flex;flex-direction:column}.speed-value{font-size:16px;font-weight:700;color:#fff}.speed-unit{font-size:9px;color:#666}.col-rpm{display:flex;align-items:center;gap:5px}.rpm-gauge{display:flex;align-items:center;gap:5px;color:red}.rpm-value{font-size:12px;font-weight:600;color:#fff}.col-gear{display:flex;justify-content:center}.gear-badge,.pitstop-badge{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.col-tyre{display:flex;align-items:center;gap:8px;font-size:11px;flex-wrap:wrap}.tyre-indicator{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.tyre-text{font-weight:600;color:#fff}.wear-indicator{width:40px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.wear-fill-mini{height:100%;transition:width .3s ease;border-radius:2px}.wear-percentage{font-size:10px;font-weight:600;color:#fff;min-width:35px;text-align:right}.col-temp{font-size:11px;font-weight:600}.temp-indicator{padding:4px 8px;border-radius:6px;background:#0003}.pit-alert{margin-top:12px;padding:12px;background:#ffa50033;border:1px solid rgba(255,165,0,.5);border-radius:8px;color:#fa0;font-weight:600;text-align:center;animation:glow 2s infinite}@keyframes glow{0%,to{box-shadow:0 0 5px #ffa50080}50%{box-shadow:0 0 20px #ffa500cc}}.leaderboard-table::-webkit-scrollbar{width:8px}.leaderboard-table::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.leaderboard-table::-webkit-scrollbar-thumb{background:#ff000080;border-radius:4px}.leaderboard-table::-webkit-scrollbar-thumb:hover{background:#ff0000b3}.show-more-leaderboard{width:100%;padding:10px;margin-top:8px;background:var(--surface);border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;font-weight:500;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.show-more-leaderboard:hover{background:var(--bg-secondary);color:var(--text-primary)}.telemetry-panel{background:var(--bg-card);border-left:3px solid var(--accent-primary);padding:16px}.telemetry-placeholder{text-align:center;padding:20px;color:#a0a0a0}.telemetry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.telemetry-header h3{font-size:16px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:2px}.car-indicator{width:16px;height:16px;border-radius:50%}.gauges-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.gauge-container{background:var(--surface);padding:12px;transition:all .15s ease}.gauge-container:hover{background:var(--bg-secondary)}.gauge-label{font-size:11px;color:var(--text-secondary);margin-bottom:10px;text-align:center;text-transform:uppercase;letter-spacing:.5px}.gauge-wrapper{position:relative}.speedometer{position:relative;width:100%;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.speedometer-svg{width:100%;height:100%;max-width:200px;max-height:120px}.speedometer-arc{transition:stroke-dasharray .3s ease-out}.speedometer-needle{transition:transform .3s ease-out}.speedometer-value{position:absolute;bottom:35px;left:50%;transform:translate(-50%);font-size:22px;font-weight:700;color:var(--text-primary);text-shadow:0 0 10px rgba(225,6,0,.5);z-index:10}.speedometer-unit{position:absolute;bottom:15px;left:50%;transform:translate(-50%);font-size:9px;color:#a0a0a0;text-transform:uppercase;letter-spacing:1px;z-index:10}.gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:600;color:var(--text-primary)}.gauge-unit{text-align:center;font-size:10px;color:#a0a0a0;margin-top:5px}.gear-display{display:flex;justify-content:center;align-items:center;height:100px}.gear-number{font-size:48px;font-weight:700;color:var(--accent-primary)}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.chart-container{background:var(--surface);border-left:2px solid var(--border-accent);padding:12px}.chart-title{font-size:12px;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.status-row{display:flex;gap:20px;justify-content:space-around;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.status-item{display:flex;flex-direction:column;align-items:center;gap:5px}.status-label{font-size:11px;color:#a0a0a0}.status-value{font-size:14px;font-weight:600}.status-value.active{color:var(--accent-primary);font-weight:700}.status-value.inactive{color:#666}.race-stats{background:var(--bg-card);border-left:3px solid var(--accent-primary);padding:16px}.stats-header{font-size:16px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color);color:var(--text-primary);text-transform:uppercase;letter-spacing:2px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat-card{background:var(--surface);padding:12px;border-left:2px solid transparent;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .15s ease}.stat-card:hover{background:var(--bg-secondary);border-left-color:var(--accent-primary)}.stat-icon{color:var(--accent-primary);flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:600;color:var(--text-primary)}.stat-subvalue{font-size:11px;color:#666;margin-top:2px}.top-three{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.top-three h4{font-size:11px;margin-bottom:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.top-three-item{display:flex;align-items:center;gap:10px;padding:10px;margin-bottom:8px;background:var(--surface);border-left:3px solid}.top-three-item.podium-1{border-left-color:gold;background:#ffd7001a}.top-three-item.podium-2{border-left-color:silver;background:#c0c0c01a}.top-three-item.podium-3{border-left-color:#cd7f32;background:#cd7f321a}.podium-position{font-size:18px;font-weight:700;width:28px;text-align:center}.podium-color{width:8px;height:8px;border-radius:50%}.podium-name{flex:1;font-weight:600;color:var(--text-primary)}.podium-time{font-size:11px;color:var(--text-secondary)}.race-log{background:#000;border:1px solid rgba(225,6,0,.4);border-left:4px solid #E10600;padding:12px;box-shadow:0 2px 10px #0009;display:flex;flex-direction:column;height:100%;min-height:300px}.log-header{font-size:14px;font-weight:900;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid rgba(225,6,0,.4);color:#e10600;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 8px rgba(225,6,0,.6)}.log-container{flex:1;overflow-y:auto;max-height:400px;padding-right:4px}.log-empty{text-align:center;padding:20px;color:#666;font-style:italic}.log-entry{display:flex;align-items:flex-start;gap:8px;padding:8px;margin-bottom:6px;background:#0009;border-left:3px solid;border-radius:4px;font-size:12px;transition:all .2s ease}.log-entry:hover{background:#8b000033}.log-entry-time{color:#666;font-size:10px;min-width:40px;font-weight:600}.log-entry-icon{flex-shrink:0;margin-top:2px}.log-entry-content{flex:1;display:flex;flex-direction:column;gap:2px}.log-entry-text{color:#fff;font-weight:500}.log-entry-details{color:#a0a0a0;font-size:10px}.log-container::-webkit-scrollbar{width:6px}.log-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.log-container::-webkit-scrollbar-thumb{background:#e1060080;border-radius:3px}.log-container::-webkit-scrollbar-thumb:hover{background:#e10600b3}.undercut-summary{margin-top:16px;padding-top:16px;border-top:2px solid rgba(225,6,0,.4)}.undercut-summary-header{font-size:13px;font-weight:700;margin-bottom:12px;color:gold;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;text-shadow:0 0 8px rgba(255,215,0,.6)}.undercut-summary-content{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding-right:4px}.undercut-summary-entry{background:#0009;border-left:3px solid #FFD700;border-radius:4px;padding:10px;font-size:11px}.undercut-pitstop-header{color:#fff;margin-bottom:8px;font-weight:600}.undercut-details{display:flex;flex-direction:column;gap:4px;margin-left:8px}.undercut-item{color:#a0a0a0;font-size:10px;display:flex;align-items:center;flex-wrap:wrap}.undercut-time{font-weight:700;margin-right:4px}.undercut-time.gain{color:#0f0;text-shadow:0 0 4px rgba(0,255,0,.6)}.undercut-time.loss{color:#f44;text-shadow:0 0 4px rgba(255,68,68,.6)}.undercut-position{color:gold;margin-left:4px}.undercut-summary-content::-webkit-scrollbar{width:6px}.undercut-summary-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.undercut-summary-content::-webkit-scrollbar-thumb{background:#ffd70080;border-radius:3px}.undercut-summary-content::-webkit-scrollbar-thumb:hover{background:#ffd700b3}.pit-log{background:#000;border:1px solid rgba(225,6,0,.4);border-left:4px solid #E10600;padding:12px;box-shadow:0 2px 10px #0009;display:flex;flex-direction:column;height:100%;min-height:250px}.pit-log-header{font-size:14px;font-weight:900;margin-bottom:8px;padding-bottom:8px;border-bottom:2px solid rgba(225,6,0,.4);color:#e10600;text-transform:uppercase;letter-spacing:1px;text-shadow:0 0 8px rgba(225,6,0,.6)}.pit-log-container{flex:1;overflow-y:auto;max-height:300px;padding-right:4px}.pit-log-empty{text-align:center;padding:20px;color:#666;font-style:italic}.pit-log-entry{display:flex;align-items:flex-start;gap:8px;padding:8px;margin-bottom:6px;background:#0009;border-left:3px solid;border-radius:4px;font-size:12px;transition:all .2s ease}.pit-log-entry:hover{background:#8b000033}.pit-log-entry-entry{border-left-color:orange}.pit-log-entry-exit{border-left-color:#0f0}.pit-log-entry-time{color:#666;font-size:10px;min-width:40px;font-weight:600}.pit-log-entry-icon{flex-shrink:0;margin-top:2px}.pit-log-entry-content{flex:1;display:flex;flex-direction:column;gap:2px}.pit-log-entry-text{color:#fff;font-weight:500}.pit-log-entry-details{color:#a0a0a0;font-size:10px}.pit-log-container::-webkit-scrollbar{width:6px}.pit-log-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.pit-log-container::-webkit-scrollbar-thumb{background:#e1060080;border-radius:3px}.pit-log-container::-webkit-scrollbar-thumb:hover{background:#e10600b3}.car-details-overlay{position:fixed;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.car-details-modal-wrapper{position:fixed;z-index:1001}.car-details-modal{width:98%;max-width:700px;max-height:85vh;background:var(--bg-card);border-left:3px solid var(--accent-primary);overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}.car-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0;padding:20px 24px;border-bottom:1px solid var(--border-color)}.car-details-title{display:flex;align-items:center;gap:15px}.car-color-indicator{width:24px;height:24px;border-radius:50%}.car-details-title h2{font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-primary)}.position-badge-large{background:var(--accent-primary);padding:8px 16px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff}.close-button{background:var(--surface);border:1px solid var(--border-color);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .2s ease}.close-button:hover{background:var(--bg-secondary);border-color:var(--accent-primary);color:var(--accent-primary)}.car-details-content{display:flex;flex-direction:column;gap:16px;padding:20px 24px}.details-section{background:var(--surface);border-left:2px solid var(--border-accent);padding:16px}.details-section h3{font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.metric-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-card);border-left:2px solid transparent;transition:all .15s ease}.metric-item:hover{border-left-color:var(--accent-primary);background:var(--bg-secondary)}.metric-content{flex:1}.metric-label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.metric-value{font-size:18px;font-weight:600;color:var(--text-primary)}.metric-value-large{font-size:32px;font-weight:700;color:var(--accent-primary)}.metric-bar{width:100%;height:4px;background:var(--bg-secondary);border-radius:2px;margin-top:6px;overflow:hidden}.metric-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.throttle-bar{background:var(--accent-primary)}.brake-bar{background:#f44}.tire-info{display:flex;flex-direction:column;gap:8px}.tire-item{display:flex;align-items:center;gap:15px;padding:12px;background:#0003;border-radius:8px}.tire-content{flex:1}.tire-label{font-size:12px;color:#a0a0a0;margin-bottom:5px}.tire-value{font-size:18px;font-weight:700;color:#fff}.tire-color-indicator{width:20px;height:20px;border-radius:50%;box-shadow:0 0 10px currentColor}.wear-bar-large{width:100%;height:8px;background:#ffffff1a;border-radius:4px;margin-top:8px;overflow:hidden}.wear-fill-large{height:100%;border-radius:4px;transition:width .3s ease}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.status-item-detailed{display:flex;align-items:center;gap:10px;padding:12px;background:#0003;border-radius:8px}.status-label{font-size:14px;color:#a0a0a0}.status-badge{padding:5px 12px;border-radius:12px;font-size:12px;font-weight:600;margin-left:auto}.status-badge.active{background:#e106004d;color:#e10600;border:1px solid rgba(225,6,0,.5);box-shadow:0 0 10px #e106004d}.status-badge.inactive{background:#6663;color:#666}.race-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.info-item{display:flex;flex-direction:column;align-items:center;padding:12px;background:#0003;border-radius:8px}.info-label{font-size:12px;color:#a0a0a0;margin-bottom:5px}.info-value{font-size:18px;font-weight:700;color:#fff}.info-value.pit-active{color:#fa0}.pitstop-info{display:flex;flex-direction:column;gap:8px}.pitstop-count{display:flex;align-items:center;gap:10px;padding:12px;background:#0003;border-radius:8px}.pitstop-list{display:flex;flex-direction:column;gap:8px}.pitstop-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#0003;border-radius:6px;border-left:3px solid #ff0000}.pitstop-lap{font-weight:600;color:#fff}.pitstop-tyres{font-size:12px;color:#a0a0a0}.no-pitstops{padding:12px;text-align:center;color:#666;font-style:italic}.car-details-modal::-webkit-scrollbar{width:10px}.car-details-modal::-webkit-scrollbar-track{background:#000c;border-radius:5px;border:1px solid rgba(225,6,0,.2)}.car-details-modal::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#e10600,#b80500);border-radius:5px;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 10px #e1060080;transition:all .3s ease}.car-details-modal::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff1a0a,#e10600);box-shadow:0 0 15px #e10600cc}.race-insights-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:9998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.race-insights-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:900px;max-height:85vh;background:#0a0a0a;border:2px solid #E10600;border-radius:8px;box-shadow:0 0 30px #e1060080;z-index:9999;display:flex;flex-direction:column;overflow:hidden}.race-insights-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid rgba(225,6,0,.4);background:#e106001a}.race-insights-title{display:flex;align-items:center;gap:12px}.race-insights-title h2{margin:0;color:#e10600;font-size:24px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.close-button{background:transparent;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:4px;transition:all .2s}.close-button:hover{background:#e106004d;color:#e10600}.race-insights-content{display:grid;grid-template-columns:250px 1fr;gap:20px;padding:20px;overflow-y:auto;flex:1}.driver-menu{border-right:1px solid rgba(225,6,0,.3);padding-right:20px}.driver-menu h3{color:#e10600;font-size:14px;font-weight:700;text-transform:uppercase;margin-bottom:12px;letter-spacing:1px}.driver-list{display:flex;flex-direction:column;gap:8px}.driver-item{display:flex;align-items:center;gap:12px;padding:12px;background:#0009;border:1px solid rgba(225,6,0,.3);border-left:3px solid transparent;color:#fff;cursor:pointer;transition:all .2s;text-align:left;width:100%}.driver-item:hover{background:#e106001a;border-left-color:#e10600}.driver-item.active{background:#e1060033;border-left-color:#e10600;border-color:#e10600}.driver-position{font-weight:900;color:#e10600;min-width:30px}.driver-name{flex:1;font-size:14px}.insights-panel{display:flex;flex-direction:column;gap:20px}.driver-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(225,6,0,.3)}.driver-header h3{margin:0;color:#fff;font-size:20px;font-weight:700}.position-badge{background:#e10600;color:#fff;padding:4px 12px;border-radius:4px;font-weight:900;font-size:14px}.insights-section,.recommendations-section{background:#0006;border:1px solid rgba(225,6,0,.3);border-left:3px solid #E10600;padding:16px;border-radius:4px}.insights-section h4,.recommendations-section h4{display:flex;align-items:center;gap:8px;color:#e10600;font-size:16px;font-weight:700;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.insights-list{display:flex;flex-direction:column;gap:12px}.insight-item{display:flex;gap:12px;padding:12px;background:#0009;border-radius:4px}.insight-message{color:#fff;font-weight:600;margin-bottom:4px;font-size:14px}.insight-action{color:#a0a0a0;font-size:12px;font-style:italic}.no-insights,.no-recommendations,.no-driver-selected{color:#666;font-style:italic;text-align:center;padding:20px}.recommendation-item{padding:10px;background:#0009;border-left:3px solid #ffaa00;color:#fff;font-size:13px;border-radius:4px}.stats-summary{display:flex;gap:20px;padding:16px;background:#0006;border:1px solid rgba(225,6,0,.3);border-radius:4px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{color:#a0a0a0;font-size:12px;text-transform:uppercase}.stat-value{color:#e10600;font-size:18px;font-weight:900}.race-insights-footer{padding:16px 20px;border-top:2px solid rgba(225,6,0,.4);background:#e106000d;display:flex;justify-content:center}.reset-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#e10600;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s}.reset-button:hover{background:#ff1a1a;box-shadow:0 0 15px #e1060080;transform:translateY(-2px)}.reset-button:active{transform:translateY(0)}.race-insights-content::-webkit-scrollbar{width:8px}.race-insights-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.race-insights-content::-webkit-scrollbar-thumb{background:#e1060080;border-radius:4px}.race-insights-content::-webkit-scrollbar-thumb:hover{background:#e10600b3}.race-dashboard{min-height:100vh;background:var(--bg-primary);padding:20px;color:var(--text-primary)}.race-dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:var(--bg-card);border-left:3px solid var(--accent-primary);margin-bottom:24px}.dashboard-title-section{display:flex;align-items:center;gap:16px}.dashboard-trophy-icon{color:var(--accent-primary)}.dashboard-title-section h1{margin:0;color:var(--text-primary);font-size:28px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.dashboard-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:1px}.dashboard-actions{display:flex;gap:12px}.back-button,.reset-button{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s}.back-button{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.back-button:hover{background:var(--bg-secondary);border-color:var(--accent-primary)}.reset-button{background:var(--accent-primary);color:#fff}.reset-button:hover{background:#ff1a1a}.race-dashboard-content{display:flex;flex-direction:column;gap:32px}.dashboard-section{background:var(--bg-card);border-left:3px solid var(--accent-primary);padding:24px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.section-header svg{color:var(--accent-primary)}.section-header h2{margin:0;color:var(--text-primary);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.undercut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.undercut-card{background:#0009;border:1px solid rgba(225,6,0,.3);border-left:3px solid #E10600;border-radius:6px;padding:16px;transition:all .3s}.undercut-card:hover{border-color:#e10600;box-shadow:0 0 15px #e1060066;transform:translateY(-2px)}.undercut-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(225,6,0,.2)}.undercut-driver-name{display:block;color:#fff;font-size:16px;font-weight:700;margin-bottom:4px}.undercut-lap{color:#b8b8b8;font-size:12px;text-transform:uppercase}.undercut-tyre-change{display:flex;align-items:center;gap:8px}.tyre-badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.tyre-badge.old{background:#ffffff1a;color:#b8b8b8}.tyre-badge.new{background:#e106004d;color:#e10600}.tyre-arrow{color:#e10600;font-weight:900}.undercut-card-body{display:flex;flex-direction:column;gap:12px}.pit-time-info{color:#b8b8b8;font-size:12px}.pit-time-info strong{color:#e10600;font-size:14px}.undercut-list{display:flex;flex-direction:column;gap:8px}.undercut-item{display:flex;align-items:center;gap:8px;padding:8px;background:#0006;border-radius:4px;font-size:13px}.undercut-time{font-weight:700;min-width:60px}.undercut-time.gain{color:#0f0}.undercut-time.loss{color:#f44}.undercut-vs{color:#b8b8b8}.undercut-position{color:#e10600;font-size:11px;margin-left:auto}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.driver-insight-card{background:#0009;border:1px solid rgba(225,6,0,.3);border-left:3px solid #E10600;border-radius:6px;padding:20px;transition:all .3s}.driver-insight-card:hover{border-color:#e10600;box-shadow:0 0 15px #e1060066;transform:translateY(-2px)}.driver-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(225,6,0,.2)}.driver-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.driver-card-title{display:flex;align-items:center;gap:12px}.driver-position-badge{background:#e10600;color:#fff;padding:6px 12px;border-radius:4px;font-weight:900;font-size:14px;min-width:40px;text-align:center}.driver-card-title h3{margin:0;color:#fff;font-size:18px;font-weight:700}.driver-stats-mini{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.mini-stat{display:flex;flex-direction:column;align-items:flex-end}.mini-stat-label{color:#b8b8b8;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.mini-stat-value{color:#e10600;font-size:14px;font-weight:700}.driver-insights-list,.driver-recommendations-list{margin-top:16px}.insights-subheader,.recommendations-subheader{display:flex;align-items:center;gap:8px;color:#e10600;font-size:14px;font-weight:700;text-transform:uppercase;margin-bottom:12px;letter-spacing:.5px}.driver-insights-list .insight-item{display:flex;gap:12px;padding:12px;background:#0006;border-radius:4px;margin-bottom:8px}.insight-icon{flex-shrink:0;margin-top:2px}.insight-icon.success{color:#0f0}.insight-icon.warning{color:#fa0}.insight-content{flex:1}.insight-message{color:#fff;font-weight:600;margin-bottom:4px;font-size:13px}.insight-action{color:#a0a0a0;font-size:11px;font-style:italic}.recommendations-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.recommendation-item{padding:10px;background:#0006;border-left:3px solid #ffaa00;color:#fff;font-size:12px;border-radius:4px}.no-insights-message{color:#666;font-style:italic;text-align:center;padding:20px;font-size:13px}.generate-insight-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#e1060033;border:1px solid rgba(225,6,0,.5);border-radius:4px;color:#e10600;font-size:12px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .2s;white-space:nowrap}.generate-insight-btn:hover:not(:disabled){background:#e106004d;border-color:#e10600;box-shadow:0 0 10px #e1060066;transform:translateY(-1px)}.generate-insight-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinning-loader{animation:spin 1s linear infinite}.ml-insights-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(225,6,0,.2)}.ml-model-metadata{background:#0006;border-left:3px solid #00aaff;padding:12px;border-radius:4px;margin-bottom:16px;font-size:11px}.ml-metadata-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;color:var(--text-secondary)}.ml-metadata-label{font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary)}.ml-metadata-value{font-family:Courier New,monospace;color:#0af;font-weight:700;font-size:12px}.ml-anomaly-alert{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px;background:#ffaa001a;border-left:3px solid #ffaa00;color:#fa0;font-size:11px;font-weight:600;border-radius:4px}.ml-overall-assessment{margin-bottom:16px}.ml-scores{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.ml-score-item{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:#0006;border-radius:4px;min-width:80px}.ml-score-label{color:#b8b8b8;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.ml-score-value{color:var(--accent-primary);font-size:18px;font-weight:900;font-family:Courier New,monospace}.ml-confidence-interval{display:block;font-size:9px;color:var(--text-secondary);font-family:Courier New,monospace;margin-top:2px;opacity:.8}.ml-strengths,.ml-weaknesses{margin-top:12px;padding:10px;background:#0000004d;border-radius:4px;font-size:12px}.ml-strengths{border-left:3px solid #00ff00}.ml-weaknesses{border-left:3px solid #ffaa00}.ml-strengths strong,.ml-weaknesses strong{color:#e10600;display:block;margin-bottom:6px}.ml-strengths ul,.ml-weaknesses ul{list-style:none;padding:0;margin:0;color:#fff}.ml-strengths li,.ml-weaknesses li{padding:4px 0 4px 12px;position:relative}.ml-strengths li:before{content:"✓";position:absolute;left:0;color:#0f0}.ml-weaknesses li:before{content:"⚠";position:absolute;left:0;color:#fa0}.ml-strategy-analysis,.ml-tire-management,.ml-top-recommendations{margin-top:16px;padding:12px;background:#0000004d;border-radius:4px;border-left:3px solid #E10600;font-size:12px}.ml-strategy-analysis strong,.ml-tire-management strong,.ml-top-recommendations strong{color:#e10600;display:block;margin-bottom:8px}.ml-strategy-info,.ml-tire-info{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;color:#b8b8b8}.ml-strategy-info span,.ml-tire-info span{padding:4px 8px;background:#0006;border-radius:4px}.ml-missed-opportunities{margin-top:12px}.ml-missed-opportunities strong{color:#fa0;display:block;margin-bottom:6px}.ml-missed-opportunities ul{list-style:none;padding:0;margin:0;color:#fff}.ml-missed-opportunities li{padding:6px 0 6px 16px;position:relative}.ml-missed-opportunities li:before{content:"→";position:absolute;left:0;color:#fa0}.ml-top-recommendations ul{list-style:none;padding:0;margin:0;color:#fff}.ml-top-recommendations li{padding:8px 0 8px 16px;position:relative;border-bottom:1px solid rgba(225,6,0,.2)}.ml-top-recommendations li:last-child{border-bottom:none}.ml-top-recommendations li strong{color:var(--accent-primary);display:inline}.ml-feature-importance{margin-top:16px;padding:12px;background:#0000004d;border-radius:4px;border-left:3px solid #00aaff}.ml-feature-importance strong{color:var(--accent-primary);display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase}.ml-feature-list{display:flex;flex-direction:column;gap:8px}.ml-feature-item{display:flex;align-items:center;gap:8px;font-size:11px}.ml-feature-name{min-width:120px;color:var(--text-primary);text-transform:capitalize;font-weight:600}.ml-feature-bar{flex:1;height:8px;background:#00000080;border-radius:4px;overflow:hidden}.ml-feature-bar-fill{height:100%;background:linear-gradient(90deg,#0af,#06f);transition:width .3s ease}.ml-feature-value{min-width:50px;font-family:Courier New,monospace;color:#0af;font-weight:700;font-size:10px;text-align:right}.ml-stat-significance{font-family:Courier New,monospace;color:#0af;font-size:10px;padding:2px 6px;background:#00aaff1a;border-radius:3px}.ml-confidence-interval-display{margin-top:8px;padding:6px;background:#0000004d;border-radius:4px;font-family:Courier New,monospace;font-size:10px;color:var(--text-secondary)}.ml-feature-importance-inline{margin-top:12px}.ml-feature-importance-inline strong{color:var(--accent-primary);display:block;margin-bottom:6px;font-size:11px}.ml-feature-tags{display:flex;flex-wrap:wrap;gap:6px}.ml-feature-tag{padding:4px 8px;background:#00aaff1a;border:1px solid rgba(0,170,255,.3);border-radius:3px;font-size:10px;font-family:Courier New,monospace;color:#0af;text-transform:capitalize}.ml-opp-lap{font-weight:700;color:var(--accent-primary);margin-right:8px}.ml-opp-type{font-size:9px;text-transform:uppercase;color:var(--text-secondary);margin-right:8px;padding:2px 6px;background:#0000004d;border-radius:3px}.ml-opp-desc{flex:1;color:var(--text-primary);margin-right:8px}.ml-opp-gain{font-family:Courier New,monospace;color:#0f0;font-weight:600;margin-right:8px;font-size:10px}.ml-opp-confidence{font-family:Courier New,monospace;color:#0af;font-size:9px}.ml-degradation-correlation{margin-top:8px;padding:6px;background:#0000004d;border-radius:4px;font-family:Courier New,monospace;font-size:10px;color:var(--text-secondary)}.ml-rec-header{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.ml-rec-category{font-size:9px;text-transform:uppercase;color:var(--text-secondary);padding:2px 6px;background:#0000004d;border-radius:3px}.ml-rec-confidence{font-family:Courier New,monospace;color:#0af;font-size:9px}.ml-rec-significance{font-family:Courier New,monospace;color:#0af;font-size:9px;padding:2px 6px;background:#00aaff1a;border-radius:3px}.ml-rec-content{display:flex;flex-direction:column;gap:4px;margin-top:4px}.ml-rec-text{color:var(--text-primary);font-size:11px}.ml-rec-benefit{font-family:Courier New,monospace;color:#0f0;font-size:10px;font-weight:600}.optimal-strategy-section{margin-bottom:2rem}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-top:1.5rem}.strategy-card{background:#ffffff0d;border:1px solid rgba(229,9,20,.3);border-radius:12px;padding:1.5rem;transition:all .3s ease}.strategy-card:hover{border-color:#e5091499;transform:translateY(-2px);box-shadow:0 8px 20px #e5091433}.strategy-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.strategy-type{font-size:1.2rem;font-weight:700;color:#fff}.confidence-badge{background:linear-gradient(135deg,#0f8,#00cc70);color:#000;padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.strategy-card-body{display:flex;flex-direction:column;gap:1rem}.pit-window,.tire-sequence{display:flex;flex-direction:column;gap:.5rem}.pit-window label,.tire-sequence label{font-size:.9rem;color:#fff9;font-weight:500}.pit-window span{font-size:1.1rem;color:#e50914;font-weight:600}.tire-badges{display:flex;gap:.5rem;flex-wrap:wrap}.tire-badge{padding:.4rem .8rem;border-radius:6px;font-weight:600;font-size:.9rem;text-transform:uppercase}.tire-badge.soft{background:#e50914;color:#fff}.tire-badge.medium{background:#fd0;color:#000}.tire-badge.hard{background:#fff;color:#000}.strategy-reasoning{margin-top:.5rem;padding:1rem;background:#0000004d;border-left:3px solid #e50914;border-radius:4px;font-size:.95rem;color:#fffc;line-height:1.6}.strategy-insights{margin-top:1.5rem;padding:1.5rem;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:12px}.strategy-insights h3{color:#0f8;margin-bottom:1rem;font-size:1.1rem}.strategy-insights ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.8rem}.strategy-insights li{padding-left:1.5rem;position:relative;color:#ffffffe6;line-height:1.5}.strategy-insights li:before{content:"▸";position:absolute;left:0;color:#0f8;font-weight:700}.loading-section{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem;background:#ffffff0d;border:1px solid rgba(229,9,20,.3);border-radius:12px;margin-bottom:2rem}.loading-section .spinner{animation:spin 1s linear infinite}@media (max-width: 1200px){.undercut-grid,.insights-grid,.strategy-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.race-dashboard-header{flex-direction:column;gap:16px;align-items:flex-start}.dashboard-actions{width:100%;flex-direction:column}.back-button,.reset-button{width:100%;justify-content:center}.undercut-grid,.insights-grid,.strategy-grid{grid-template-columns:1fr}}.race-dashboard-content::-webkit-scrollbar{width:8px}.race-dashboard-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.race-dashboard-content::-webkit-scrollbar-thumb{background:#e1060080;border-radius:4px}.race-dashboard-content::-webkit-scrollbar-thumb:hover{background:#e10600b3}.connection-status{margin-bottom:8px}.status-bar{background:#000;border:1px solid rgba(225,6,0,.4);border-left:4px solid #E10600;padding:8px 16px;box-shadow:0 2px 8px #0009;display:flex;align-items:center;gap:12px}.status-indicator{display:flex;align-items:center;gap:10px;flex:1}.status-dot{width:12px;height:12px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-dot.connected{background:#e10600;box-shadow:0 0 15px #e10600b3}.status-dot.disconnected{background:#f44;box-shadow:0 0 10px #ff444480;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#fff;font-weight:600;font-size:14px}.error-message{color:#f88;background:#ff44441a;padding:8px 16px;border-radius:6px;border:1px solid rgba(255,68,68,.3);font-size:13px;font-weight:500}.reset-button{background:linear-gradient(135deg,#e10600,#b80500);color:#fff;border:2px solid rgba(255,255,255,.2);padding:10px 24px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #e1060066}.reset-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #e1060099;background:linear-gradient(135deg,#ff1800,#e10600)}.reset-button:active:not(:disabled){transform:translateY(0)}.reset-button:disabled{opacity:.5;cursor:not-allowed;background:#555}.filter-bar{background:#000c;border-bottom:1px solid rgba(225,6,0,.4);padding:8px 16px;display:flex;align-items:center;gap:24px;box-shadow:0 2px 8px #0006}.strategy-recommendation{margin-left:auto}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{font-size:11px;color:#a0a0a0;text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap}.weather-filter{display:flex;align-items:center;gap:6px}.filter-value{font-size:12px;color:#fff;font-weight:600;white-space:nowrap}.filter-separator{color:#e1060066;font-size:12px;margin:0 4px}.tyre-filter{display:flex;align-items:center;gap:8px}.tyre-filter-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#0009;border:1px solid rgba(225,6,0,.3);border-radius:4px;transition:all .2s ease;cursor:pointer}.tyre-filter-item:hover{background:#e106001a;border-color:#e1060099}.tyre-filter-item.recommended{border:2px solid #E10600;background:#e1060040;box-shadow:0 0 12px #e1060080;padding:6px 10px;position:relative}.tyre-indicator-small{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.tyre-filter-name{font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.tyre-filter-count{font-size:10px;color:#a0a0a0;background:#ffffff1a;padding:2px 6px;border-radius:8px;font-weight:600}.tyre-indicator-small.recommended-indicator{width:16px;height:16px;border:2px solid #E10600;box-shadow:0 0 8px #e1060099}.tyre-filter-name.recommended-name{font-weight:700;color:#e10600;text-shadow:0 0 8px rgba(225,6,0,.5)}.recommended-badge{font-size:9px;color:#e10600;background:#e1060033;padding:2px 6px;border:1px solid #E10600;border-radius:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-left:4px;box-shadow:0 0 6px #e1060066}.strategy-content{display:flex;align-items:center;gap:8px;padding:4px 12px;background:#0009;border:1px solid rgba(225,6,0,.4);border-left:3px solid #E10600;border-radius:4px}.strategy-tyre-indicator{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);box-shadow:0 0 8px currentColor;flex-shrink:0}.strategy-value{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.strategy-label{font-size:10px;color:#a0a0a0;text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap}.weather-selector{background:#1a1a2e99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 32px #0003;transition:all .3s ease}.weather-selector:hover{border-color:#ffffff1a}.weather-selector.disabled{opacity:.5;pointer-events:none}.weather-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.weather-selector-header h3{margin:0;color:#fffffff2;font-size:15px;font-weight:500;letter-spacing:.3px;text-transform:uppercase;opacity:.7}.weather-preview{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.weather-icon{color:#fff;transition:all .3s ease}.weather-icon.sunny{color:gold;filter:drop-shadow(0 0 4px rgba(255,215,0,.3))}.weather-icon.cloudy{color:#87ceeb;filter:drop-shadow(0 0 4px rgba(135,206,235,.3))}.weather-icon.rainy{color:#4682b4;filter:drop-shadow(0 0 4px rgba(70,130,180,.3))}.weather-icon.stormy{color:#1e3a8a;filter:drop-shadow(0 0 4px rgba(30,58,138,.3))}.weather-label{font-weight:600;font-size:14px;letter-spacing:.2px}.weather-controls{display:flex;flex-direction:column;gap:24px}.weather-control-group{display:flex;flex-direction:column;gap:12px}.weather-control-label{display:flex;align-items:center;gap:10px;color:#ffffffd9;font-size:13px;font-weight:500;letter-spacing:.2px}.weather-control-label svg{color:#e10600;opacity:.9}.weather-value{margin-left:auto;font-weight:600;color:#e10600;font-size:13px;font-family:Courier New,monospace;background:#e1060014;padding:4px 10px;border-radius:6px;min-width:50px;text-align:center}.weather-slider-container{position:relative;width:100%;padding:8px 0}.weather-slider{width:100%;height:4px;border-radius:2px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease;background:transparent}.weather-slider:disabled{cursor:not-allowed;opacity:.4}.weather-slider::-webkit-slider-runnable-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(to right,var(--slider-color, #E10600) 0%,var(--slider-color, #E10600) var(--slider-value, 0%),rgba(255,255,255,.08) var(--slider-value, 0%),rgba(255,255,255,.08) 100%);transition:all .2s ease}.weather-slider:hover:not(:disabled)::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--slider-color, #ff1a1a) 0%,var(--slider-color, #ff1a1a) var(--slider-value, 0%),rgba(255,255,255,.12) var(--slider-value, 0%),rgba(255,255,255,.12) 100%)}.weather-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #E10600;cursor:pointer;box-shadow:0 2px 8px #0000004d,0 0 #e1060066;transition:all .2s cubic-bezier(.4,0,.2,1);margin-top:-6px}.weather-slider:hover:not(:disabled)::-webkit-slider-thumb{transform:scale(1.15);border-color:#ff1a1a;box-shadow:0 4px 12px #0006,0 0 0 4px #e1060026}.weather-slider:active:not(:disabled)::-webkit-slider-thumb{transform:scale(1.05);box-shadow:0 2px 6px #0006,0 0 0 6px #e1060033}.weather-slider::-moz-range-track{width:100%;height:4px;border-radius:2px;background:#ffffff14;transition:all .2s ease}.weather-slider:hover:not(:disabled)::-moz-range-track{background:#ffffff1f}.weather-slider::-moz-range-progress{height:4px;border-radius:2px;background:var(--slider-color, #E10600);transition:all .2s ease}.weather-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #E10600;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all .2s cubic-bezier(.4,0,.2,1)}.weather-slider:hover:not(:disabled)::-moz-range-thumb{transform:scale(1.15);border-color:#ff1a1a;box-shadow:0 4px 12px #0006}.weather-slider:active:not(:disabled)::-moz-range-thumb{transform:scale(1.05)}.weather-slider-labels{display:flex;justify-content:space-between;font-size:10px;color:#fff6;margin-top:8px;font-weight:500;letter-spacing:.2px}.weather-disabled-message{margin-top:20px;padding:12px 16px;background:#e1060014;border:1px solid rgba(225,6,0,.2);border-radius:10px;color:#e10600e6;text-align:center;font-size:12px;font-weight:500;letter-spacing:.2px}.start-race-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-size:18px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 6px #0000004d;position:relative;overflow:hidden}.start-race-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.start-race-button:hover:not(.disabled):before{left:100%}.start-race-button.ready{background:linear-gradient(135deg,#e10600,#ff1a1a);color:#fff}.start-race-button.ready:hover:not(.disabled){background:linear-gradient(135deg,#ff1a1a,#f33);transform:translateY(-2px);box-shadow:0 6px 12px #e1060066}.start-race-button.in-progress{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;border:2px solid #E10600;cursor:not-allowed}.start-race-button.finished{background:linear-gradient(135deg,#00d2be,#00ffd4);color:#000}.start-race-button.finished:hover:not(.disabled){background:linear-gradient(135deg,#00ffd4,#3fd);transform:translateY(-2px);box-shadow:0 6px 12px #00d2be66}.start-race-button.disabled{opacity:.6;cursor:not-allowed;transform:none}.start-race-button .button-icon{transition:transform .3s ease}.start-race-button:hover:not(.disabled) .button-icon{transform:scale(1.1)}.start-race-button .button-icon.spinning{animation:spin 1s linear infinite}.start-race-button:active:not(.disabled){transform:translateY(0);box-shadow:0 2px 4px #0000004d}.simulation-controls{position:fixed;top:20px;right:20px;z-index:1000;pointer-events:auto}.controls-container{display:flex;flex-direction:column;gap:12px;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(74,144,226,.3);border-radius:12px;padding:16px;box-shadow:0 8px 32px #00000080;min-width:200px}.control-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4a90e24d}.control-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a90e280}.control-button:active{transform:translateY(0)}.control-button.paused{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.control-button.paused:hover{box-shadow:0 6px 20px #10b98180}.button-label{font-size:13px;text-transform:uppercase;letter-spacing:.5px}.speed-controls{display:flex;flex-direction:column;gap:10px}.speed-label{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;border-bottom:1px solid rgba(74,144,226,.2)}.speed-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.speed-button{padding:10px 16px;background:#1e293bcc;color:#cbd5e1;border:1px solid rgba(74,144,226,.2);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.speed-button:hover{background:#334155e6;border-color:#4a90e266;color:#fff;transform:translateY(-1px)}.speed-button:active{transform:translateY(0)}.speed-button.active{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border-color:#4a90e2;box-shadow:0 0 12px #4a90e266}.speed-button.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);pointer-events:none}.speed-button.changing{opacity:.6;cursor:not-allowed}.speed-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width: 768px){.simulation-controls{top:10px;right:10px}.controls-container{padding:12px;min-width:160px}.control-button{padding:10px 16px;font-size:13px}.speed-buttons{gap:6px}.speed-button{padding:8px 12px;font-size:12px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.control-button.paused{animation:pulse 2s ease-in-out infinite}:root{--bg-primary: #0C0C0C;--bg-secondary: #1A1A1A;--bg-card: #121212;--accent-primary: #E10600;--accent-silver: #8C8C8C;--text-primary: #FFFFFF;--text-secondary: #A0A0A0;--border-color: rgba(140, 140, 140, .2);--border-accent: rgba(225, 6, 0, .3);--surface: #1E1E1E}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff1a0a}::-webkit-scrollbar-corner{background:var(--bg-secondary)}.app{max-width:1920px;margin:0 auto;padding:12px;background:var(--bg-primary)}.app-header{background:var(--bg-card);border-left:4px solid var(--accent-primary);padding:20px 24px;margin-bottom:16px;position:relative}.header-content h1{font-size:28px;font-weight:700;margin-bottom:4px;color:var(--text-primary);text-transform:uppercase;letter-spacing:2px}.subtitle{font-size:12px;color:var(--text-secondary);font-weight:400;text-transform:uppercase;letter-spacing:1px}.race-controls-section,.race-in-progress-controls{margin-bottom:16px;display:flex;flex-direction:column;gap:16px}.start-button-container{display:flex;justify-content:center;align-items:center;padding:10px 0}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px;padding:0}.left-column{display:flex;flex-direction:column;gap:12px}.track-section{min-height:500px}.log-section{min-height:300px}.pit-log-section{min-height:250px}.right-column{display:flex;flex-direction:column;gap:12px}.side-panel{min-height:300px}.weather-section,.telemetry-section,.stats-section{min-height:200px}.loading-placeholder{background:var(--bg-card);border-left:3px solid var(--accent-primary);padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:500px;position:relative}.spinner{width:48px;height:48px;border:3px solid var(--bg-secondary);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-placeholder p{font-size:18px;color:var(--text-secondary);font-weight:500}.app-footer{background:var(--bg-card);border-top:1px solid var(--border-color);padding:16px 20px;text-align:center;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:1px}.app-footer p{font-size:11px;font-weight:400}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto}.track-section{grid-row:1}}@media (max-width: 768px){.app{padding:12px}.app-header{padding:20px}.header-content h1{font-size:28px}.subtitle{font-size:14px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-pulse{animation:pulse 2s ease-in-out infinite}body{margin:0;padding:0}#root{min-height:100vh}
