@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #0a0a0f;--bg-card: #111118;--bg-sidebar: #0d0d14;--border: rgba(255,255,255,.06);--text: #e2e8f0;--text-muted: #475569;--text-sub: #64748b;--purple: #a855f7;--green: #22c55e;--yellow: #facc15;--red: #ef4444}html,body,#root{height:100%;overflow:hidden;background:var(--bg-base);color:var(--text);font-family:Inter,sans-serif;font-size:14px}.app-root{display:grid;grid-template-columns:190px 1fr;grid-template-rows:1fr;height:100vh;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem .75rem .75rem;gap:1rem;overflow-y:auto;overflow-x:hidden}.sidebar-logo{font-family:Outfit,sans-serif;font-size:.75rem;font-weight:900;letter-spacing:.15em;color:#fff;padding:0 .5rem}.nav-links{display:flex;flex-direction:column;gap:.25rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border-radius:8px;border:none;background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:#ffffff14;color:#fff}.main-content{display:flex;flex-direction:column;overflow:hidden}.top-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0}.session-block{display:flex;align-items:center;gap:1rem}.session-name{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.session-track{font-size:.78rem;color:var(--text-muted);font-weight:600}.ws-badge{font-size:.68rem;font-weight:700;padding:2px 10px;border-radius:100px;letter-spacing:.05em}.weather-block{display:flex;gap:1.5rem}.weather-item{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.weather-val{font-family:Outfit,sans-serif;font-size:1rem;font-weight:800}.weather-key{font-size:.6rem;color:var(--text-muted);font-weight:700;letter-spacing:.08em}.header-clocks{display:flex;gap:2.5rem;background:#00000040;padding:.5rem 1.5rem;border-radius:10px;border:1px solid rgba(255,255,255,.04);margin-left:auto;margin-right:2.5rem}.clock-item{display:flex;flex-direction:column;align-items:center;min-width:70px}.clock-lbl{font-size:.6rem;font-weight:800;color:var(--text-sub);letter-spacing:.12em;margin-bottom:2px}.clock-val{font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:900;color:#fff;letter-spacing:.02em}.countdown .clock-val{color:#a855f7;text-shadow:0 0 10px rgba(168,85,247,.3)}.leaderboard-wrap{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:.75rem 1rem;gap:.25rem}.timing-header{display:grid;grid-template-columns:36px 70px 80px 52px 80px 90px 90px 1fr;gap:.5rem;padding:0 .75rem .4rem;font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;border-bottom:1px solid var(--border)}.leaderboard-rows{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:4px}.leaderboard-rows::-webkit-scrollbar{width:4px}.leaderboard-rows::-webkit-scrollbar-track{background:transparent}.leaderboard-rows::-webkit-scrollbar-thumb{background:#222;border-radius:10px}.timing-row-f1{display:grid;grid-template-columns:36px 70px 80px 52px 80px 90px 90px 1fr;gap:.5rem;align-items:center;padding:.6rem .75rem;border-radius:6px;background:var(--bg-card);border:1px solid var(--border);transition:background .15s;animation:rowIn .2s ease-out backwards}.timing-row-f1:hover{background:#ffffff0a}.timing-row-f1.row-ko{opacity:.4}.timing-row-f1.row-pit{border-color:#1d4ed866}@keyframes rowIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.col-pos{display:flex;flex-direction:column;align-items:center}.pos-num{font-family:Outfit,sans-serif;font-size:1rem;font-weight:900;line-height:1}.col-driver{display:flex;flex-direction:column;gap:1px}.tla{font-family:Outfit,sans-serif;font-size:.9rem;font-weight:900;letter-spacing:.03em}.team-name{font-size:.6rem;color:var(--text-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-status{display:flex;flex-wrap:wrap;gap:2px}.col-tire{display:flex;align-items:center}.col-gap{display:flex;flex-direction:column;gap:1px}.gap-leader{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:700}.gap-interval{font-size:.65rem;color:var(--text-muted);font-family:monospace}.col-lastlap,.col-bestlap{display:flex;flex-direction:column;gap:1px}.lap-val{font-family:Outfit,monospace;font-size:.83rem;font-weight:700;letter-spacing:.01em}.lap-lbl{font-size:.58rem;color:var(--text-muted);font-weight:700;letter-spacing:.06em}.col-sectors{display:flex;gap:8px;align-items:center}.right-panel{background:var(--bg-card);border-left:1px solid var(--border);padding:1.25rem .85rem;display:flex;flex-direction:column;overflow:hidden}.race-control-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-title{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem;flex-shrink:0}.message-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding-right:2px}.message-list::-webkit-scrollbar{width:3px}.message-list::-webkit-scrollbar-thumb{background:#222;border-radius:10px}.chat-bubble{padding:.75rem .85rem;border-left:3px solid #2a2a3a;margin-bottom:4px;border-radius:0 8px 8px 0;background:#ffffff05;transition:background .15s}.chat-bubble:hover{background:#ffffff0d}.bubble-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.bubble-time{font-size:.62rem;color:var(--text-muted);font-weight:700;font-family:monospace}.bubble-flag-label{font-size:.58rem;font-weight:900;padding:1px 6px;border-radius:100px;letter-spacing:.06em;text-transform:uppercase}.bubble-content{font-size:.78rem;color:#b0bec5;line-height:1.45}.flag-yellow{border-left-color:var(--yellow)}.flag-yellow .bubble-flag-label{color:var(--yellow);background:#facc151a}.flag-red{border-left-color:var(--red);background:#ef44440a;animation:pulse-red-box 2s infinite}.flag-red .bubble-flag-label{color:var(--red);background:#ef44441f}.flag-green{border-left-color:var(--green)}.flag-green .bubble-flag-label{color:var(--green);background:#22c55e1a}.flag-blue{border-left-color:#3b82f6}.flag-blue .bubble-flag-label{color:#3b82f6;background:#3b82f61a}.flag-chequered{border-left-color:#fff}.flag-chequered .bubble-flag-label{color:#fff;background:#ffffff14}.flag-clear{border-left-color:var(--green)}.flag-clear .bubble-flag-label{color:var(--green);background:#22c55e14}@keyframes pulse-red-box{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.empty-panel{text-align:center;color:var(--text-muted);font-size:.78rem;padding:2rem 0;font-style:italic}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1e1e2e;border-radius:10px}.sidebar-rc{margin-top:auto;border-top:1px solid rgba(255,255,255,.05);padding-top:.85rem}.sidebar-rc-title{display:flex;align-items:center;gap:5px;font-size:.6rem;font-weight:800;letter-spacing:.1em;color:#475569;text-transform:uppercase;margin-bottom:.6rem}.sidebar-rc-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.sidebar-rc-msg{border-left:2px solid #334155;padding:4px 0 4px 8px;display:flex;flex-direction:column;gap:1px}.src-time{font-size:.58rem;color:#334155;font-family:monospace;font-weight:700}.src-text{font-size:.66rem;color:#64748b;line-height:1.3}.src-empty{font-size:.65rem;color:#334155;font-style:italic;padding:4px 0}.rc-ticker{display:flex;align-items:center;gap:10px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.04);padding:5px 12px;flex-shrink:0;height:28px;overflow:hidden}.rc-ticker-lbl{display:flex;align-items:center;gap:4px;font-size:.58rem;font-weight:800;letter-spacing:.1em;white-space:nowrap;flex-shrink:0}.rc-ticker-track{flex:1;overflow:hidden;position:relative}.rc-ticker-inner{display:flex;gap:0;white-space:nowrap;animation:tickerScroll 40s linear infinite}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.rc-ticker-item{font-size:.68rem;color:#64748b;padding-right:20px}.rc-sep{color:#2d3748;padding:0 6px}.main-content>.ai-tab-container,.main-content>div.track-map-root{flex:1;overflow-y:auto;min-height:0}.status-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlay-fade-in .5s ease-out}.status-content{background:#111;padding:2rem 4rem;border-radius:20px;border:4px solid #fff;display:flex;align-items:center;gap:2rem;box-shadow:0 0 50px #000c;animation:status-pulse 1.5s infinite}.status-title{font-size:3rem;font-weight:900;text-transform:uppercase;color:#fff;letter-spacing:2px}.status-icon{font-size:3.5rem}.status-sc,.status-vsc{border-color:#fc0}.status-red{border-color:#ff3b30;background:#ff3b3033}@keyframes status-pulse{0%{transform:scale(1);box-shadow:0 0 30px #fff3}50%{transform:scale(1.05);box-shadow:0 0 60px #fff6}to{transform:scale(1);box-shadow:0 0 30px #fff3}}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.f1sec-logo{display:flex;align-items:center;gap:2px;font-family:Inter,sans-serif;font-weight:950;font-style:italic;text-transform:uppercase;letter-spacing:-3px;line-height:1}.f1sec-logo--sm{font-size:1.4rem;letter-spacing:-1.5px}.f1sec-logo--md{font-size:2.8rem}.f1sec-logo--lg{font-size:5.5rem}.logo-f1{background:linear-gradient(135deg,#ff1e1e,#e8002d);color:#fff;padding:4px 12px;border-radius:2px;transform:skew(-20deg);display:inline-block;box-shadow:0 0 20px #e8002d80;border-right:4px solid #fff}.logo-sec{color:#fff;background:linear-gradient(to bottom,#fff,#a855f7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;padding-left:5px;filter:drop-shadow(0 0 8px rgba(168,85,247,.6));transform:skew(-5deg)}.f1sec-logo--animate .logo-f1{animation:logo-f1-pulse 2s ease-in-out infinite}.f1sec-logo--animate .logo-sec{animation:logo-sec-glow 3s ease-in-out infinite}@keyframes logo-f1-pulse{0%,to{box-shadow:0 0 15px #e8002d66}50%{box-shadow:0 0 30px #e8002db3}}@keyframes logo-sec-glow{0%,to{filter:drop-shadow(0 0 5px rgba(168,85,247,.5))}50%{filter:drop-shadow(0 0 15px rgba(168,85,247,1))}}.f1-loading-screen{position:fixed;inset:0;background:radial-gradient(circle at center,#1a1a2e,#0a0a0f);display:flex;align-items:center;justify-content:center;z-index:10000;flex-direction:column}.f1-loader-track{width:300px;height:4px;background:#ffffff1a;border-radius:4px;position:relative;overflow:hidden;margin:0 auto}.f1-loader-car{position:absolute;top:0;left:-50px;width:50px;height:100%;background:linear-gradient(90deg,transparent,#a855f7,#fff);box-shadow:0 0 15px #a855f7;animation:car-zoom 1.5s cubic-bezier(.65,.05,.36,1) infinite}.f1-loader-status{margin-top:1.5rem;font-family:Inter,sans-serif;font-size:.9rem;color:#94a3b8;letter-spacing:2px;text-transform:uppercase;opacity:.8}@keyframes logo-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.98);opacity:.8}}@keyframes car-zoom{0%{left:-50px}to{left:100%}}.app-root.loading-finished .f1-loading-screen{opacity:0;pointer-events:none;transition:opacity .8s ease-out}.flag-yellow{--accent: #ffcc00}.flag-yellow .sidebar-tla,.flag-yellow .tm-circuit-name,.flag-yellow .stat-value{color:#fc0!important}.flag-red{--accent: #ff3b30}.flag-red .sidebar-tla,.flag-red .tm-circuit-name,.flag-red .stat-value{color:#ff3b30!important}.weather-tab-wrap{padding:2rem;max-width:960px;margin:0 auto}.weather-tab-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.weather-tab-icon{color:#60a5fa}.weather-tab-title{font-size:1.8rem;font-weight:700;color:#fff;margin:0}.weather-tab-sub{font-size:.8rem;color:#64748b;margin:.2rem 0 0;text-transform:uppercase;letter-spacing:1px}.weather-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2.5rem}.weather-card{background:#12121a;border:1px solid #1e1e2e;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s}.weather-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.wc-icon{display:flex;align-items:center;justify-content:center;height:48px}.wc-label{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:#64748b;margin-top:.5rem}.wc-value{font-size:2rem;font-weight:800;color:#fff;letter-spacing:-1px}.weather-card--track{border-top:3px solid #fbbf24}.weather-card--air{border-top:3px solid #38bdf8}.weather-card--humidity{border-top:3px solid #a3e635}.weather-card--wind{border-top:3px solid #c084fc}.weather-card--pressure{border-top:3px solid #fb923c}.weather-card--rain{border-top:3px solid #60a5fa}.weather-wind-dir{display:flex;flex-direction:column;align-items:center;gap:1rem}.wind-compass{width:100px;height:100px;border-radius:50%;border:2px solid #1e1e2e;background:#0f0f18;position:relative;display:flex;align-items:center;justify-content:center}.wind-needle{position:absolute;top:8px;left:50%;width:4px;height:42px;background:linear-gradient(to bottom,#e8002d,#475569);border-radius:4px;transform-origin:bottom center;margin-left:-2px}.wind-dir-label{color:#94a3b8;font-size:.85rem;letter-spacing:1px;text-transform:uppercase}.ai-tab-container{padding:20px 24px 32px;color:#f1f5f9;background:#060610;min-height:100%;height:100%;overflow-y:auto;font-family:Inter,-apple-system,sans-serif;animation:fadeUp .4s ease-out;box-sizing:border-box}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-loading-screen{display:flex;align-items:center;justify-content:center;height:60vh}.ai-loading-inner{text-align:center;color:#64748b}.ai-loading-inner p{margin-top:16px;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}.ai-icon-spin{animation:spin 1.4s linear infinite}.spin{animation:spin 1s linear infinite}.ai-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(135deg,#a855f714,#06061000 60%);border:1px solid rgba(168,85,247,.15);border-radius:14px;margin-bottom:20px;flex-wrap:wrap}.ai-title-group{display:flex;align-items:center;gap:16px}@keyframes glow{0%,to{filter:drop-shadow(0 0 3px #a855f7)}50%{filter:drop-shadow(0 0 12px #a855f7)}}.ai-icon-pulse{animation:glow 2.5s ease-in-out infinite}.ai-title-group h1{font-size:22px;font-weight:900;margin:0;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ai-subtitle{margin:3px 0 0;font-size:12px;color:#64748b;font-weight:500}.ai-header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pred-target-card{display:flex;align-items:center;gap:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px 16px}.pred-target-from,.pred-target-to{display:flex;flex-direction:column;align-items:center;gap:4px}.pt-label{font-size:9px;font-weight:700;color:#475569;letter-spacing:.08em}.pt-name{font-size:10px;font-weight:600;color:#94a3b8;white-space:nowrap}.pt-arrow{font-size:18px;color:#a855f7}.header-actions{display:flex;gap:8px;align-items:center}.train-btn{display:flex;align-items:center;gap:7px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.train-btn:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#9333ea);box-shadow:0 4px 16px #a855f766;transform:translateY(-1px)}.train-btn:disabled{opacity:.6;cursor:not-allowed}.train-btn.training{background:#a855f740;border:1px solid #a855f7}.refresh-btn{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#94a3b8;padding:9px;border-radius:8px;cursor:pointer;transition:all .2s}.refresh-btn:hover{background:#ffffff1a;color:#fff}.train-progress-bar{position:relative;height:32px;background:#a855f70f;border:1px solid rgba(168,85,247,.2);border-radius:8px;overflow:hidden;display:flex;align-items:center;padding:0 16px;margin-bottom:16px;font-size:12px;color:#c084fc}.train-progress-fill{position:absolute;left:0;top:0;height:100%;width:40%;background:linear-gradient(90deg,#a855f733,#a855f70d);animation:progressSlide 2s ease-in-out infinite alternate}@keyframes progressSlide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.no-model-banner{display:flex;align-items:center;gap:12px;background:#fbbf240f;border:1px solid rgba(251,191,36,.2);border-radius:10px;padding:12px 18px;font-size:13px;color:#fbbf24;margin-bottom:20px}.no-model-banner b{color:#fde68a}.session-badge{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--session-color) 20%,transparent);border:1px solid color-mix(in srgb,var(--session-color) 50%,transparent);color:var(--session-color);border-radius:4px;font-weight:800;letter-spacing:.06em}.session-badge--md{font-size:11px;padding:3px 8px}.session-badge--xs{font-size:9px;padding:2px 5px}.ai-main-grid{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#a855f7}.section-header h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0}.for-session{font-size:11px;font-weight:400;color:#64748b}.method-tag{margin-left:auto;font-size:9px;font-weight:700;color:#a855f7;background:#a855f71a;padding:2px 8px;border-radius:4px;letter-spacing:.05em}.podium-section{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:20px 20px 18px;margin-bottom:20px}.podium-row{display:flex;justify-content:center;align-items:flex-end;gap:12px;margin-top:4px}.podium-card{flex:1;max-width:180px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-top:3px solid var(--team-color, #555);border-radius:12px;padding:16px 14px;text-align:center;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}.podium-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--team-color) 8%,transparent),transparent 70%);pointer-events:none}.podium-card:hover,.podium-card.selected{background:#ffffff0d;border-color:#a855f766;transform:translateY(-4px);box-shadow:0 8px 24px #0006}.podium-card--p1{padding-top:22px}.podium-card--p2,.podium-card--p3{padding-top:14px;opacity:.92}.podium-number{font-size:10px;font-weight:800;color:#475569;letter-spacing:.05em;margin-bottom:6px}.podium-tla{font-size:28px;font-weight:900;letter-spacing:-.04em;margin-bottom:4px;line-height:1}.podium-name{font-size:10px;font-weight:600;color:#94a3b8;margin-bottom:10px}.conf-ring-wrap{margin:0 auto 8px}.podium-reason{font-size:10px;color:#64748b;margin-top:6px;line-height:1.3}.podium-lap{font-size:10px;font-family:JetBrains Mono,monospace;color:#475569;margin-top:4px}.grid-section{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:20px}.grid-table-header{display:grid;grid-template-columns:44px 1fr 44px 90px 130px 1fr;padding:4px 12px 10px;font-size:9px;font-weight:700;color:#334155;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.04);margin-bottom:4px}.grid-row{display:grid;grid-template-columns:44px 1fr 44px 90px 130px 1fr;align-items:center;padding:9px 12px;border-radius:8px;cursor:pointer;transition:background .15s;font-size:12px}.grid-row:hover{background:#a855f70f}.grid-row.selected{background:#a855f71a}.gr-pos{font-weight:800;color:#94a3b8;font-size:13px}.gr-driver{display:flex;align-items:center;gap:10px;min-width:0}.team-stripe{width:3px;height:22px;border-radius:2px;flex-shrink:0}.gr-tla{font-weight:800;font-size:13px}.gr-name{font-size:10px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delta-up{display:flex;align-items:center;color:#22c55e;font-weight:700;font-size:11px}.delta-down{display:flex;align-items:center;color:#ef4444;font-weight:700;font-size:11px}.delta-neutral{color:#334155}.gr-bestlap{font-family:JetBrains Mono,monospace;font-size:11px;color:#64748b}.gr-conf{display:flex;align-items:center;gap:8px}.conf-track{flex:1;height:4px;background:#1e293b;border-radius:2px;overflow:hidden}.conf-fill{height:100%;border-radius:2px;transition:width .8s ease-out}.conf-num{font-size:10px;font-weight:700;width:32px;text-align:right;color:#94a3b8}.gr-reason{font-size:10px;color:#475569;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-right-col{display:flex;flex-direction:column;gap:16px}.panel-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#a855f7}.panel-header h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0}.driver-detail-panel{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:20px}.no-selection{display:flex;flex-direction:column;align-items:center;padding:32px 16px;color:#334155;text-align:center}.no-selection p{font-size:12px;margin-top:12px}.dd-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.dd-tla{font-size:40px;font-weight:900;letter-spacing:-.04em;line-height:1}.dd-name{font-size:14px;font-weight:700}.dd-pred{font-size:11px;color:#64748b;margin-top:2px}.dd-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}.dd-stat{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:10px 10px 8px}.ds-label{display:block;font-size:9px;font-weight:700;color:#475569;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}.ds-val{font-size:13px;font-weight:700;color:#f1f5f9;font-family:JetBrains Mono,monospace}.compound-soft{color:#ef4444}.compound-medium{color:#facc15}.compound-hard{color:#e5e5e5}.compound-inter{color:#4ade80}.compound-wet{color:#60a5fa}.method-ml{color:#22c55e}.method-rule{color:#facc15}.dd-reason-box{background:#ffffff05;border-radius:8px;padding:10px 12px;margin-bottom:14px}.dd-reason-box p{font-size:12px;color:#94a3b8;margin:4px 0 0}.model-health-panel{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;padding:20px}.model-tag-badge{margin-left:auto;font-size:9px;font-weight:700;color:#64748b;background:#0f172a;padding:2px 8px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.accuracy-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.acc-chip{flex:1;min-width:60px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:8px 10px;text-align:center}.chip-label{display:block;font-size:9px;font-weight:700;color:#475569;letter-spacing:.07em}.chip-val{font-size:14px;font-weight:800;color:#f1f5f9}.fi-section{margin-top:4px}.fi-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#475569;margin:0 0 10px}.feat-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.feat-label{width:90px;font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feat-bar-track{flex:1;height:5px;background:#1e293b;border-radius:3px;overflow:hidden}.feat-bar-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:3px;transition:width .8s ease-out;animation:growFI .8s ease-out}@keyframes growFI{0%{width:0!important}}.feat-pct{font-size:10px;font-weight:700;color:#94a3b8;width:36px;text-align:right}.no-model-state{text-align:center;padding:24px 8px;color:#334155}.no-model-state p{font-size:12px;margin:8px 0 0}.no-model-state .hint{font-size:11px;color:#475569;margin-top:6px}.data-counts{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.04)}.count-label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}.count-pills{display:flex;flex-wrap:wrap;gap:6px}.count-pill{display:flex;align-items:center;gap:5px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:4px 8px;font-size:10px;color:#64748b;font-weight:600}.history-panel{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:14px;overflow:hidden}.history-toggle{width:100%;display:flex;align-items:center;gap:8px;background:none;border:none;color:#64748b;padding:14px 20px;cursor:pointer;font-size:12px;font-weight:600;transition:color .15s}.history-toggle:hover{color:#94a3b8}.history-toggle span{flex:1;text-align:left}.history-list{padding:0 16px 14px}.hist-empty{font-size:12px;color:#475569;padding:8px 0}.hist-row{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.03);font-size:11px}.hist-circuit{flex:1;color:#94a3b8;font-weight:600}.hist-drivers{color:#475569;white-space:nowrap}@media(max-width:1100px){.ai-main-grid{grid-template-columns:1fr}.ai-right-col{display:grid;grid-template-columns:1fr 1fr}.history-panel{grid-column:1 / -1}}@media(max-width:700px){.ai-right-col{display:flex;flex-direction:column}.grid-table-header,.grid-row{grid-template-columns:36px 1fr 36px 1fr 80px}.gr-reason{display:none}}.track-map-root{display:flex;flex-direction:column;height:100%;min-height:0;background:#060610;color:#f1f5f9;font-family:Inter,sans-serif;padding:16px 20px;box-sizing:border-box;gap:12px;overflow-y:auto}.tm-header{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:linear-gradient(135deg,rgba(99,102,241,.08),transparent);border:1px solid rgba(99,102,241,.2);border-radius:12px;flex-shrink:0}.tm-circuit-name{font-size:18px;font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tm-session-info{font-size:11px;color:#64748b;margin-top:2px}.tm-header-stats{display:flex;gap:20px}.tm-stat{text-align:center}.tm-stat-val{display:block;font-size:20px;font-weight:900;line-height:1}.tm-stat-lbl{font-size:8px;font-weight:700;color:#475569;letter-spacing:.08em;margin-top:2px;display:block}.tm-body{display:grid;grid-template-columns:1fr 260px;gap:14px;flex:1;min-height:0}.tm-canvas-wrap{display:flex;flex-direction:column;gap:10px;min-height:0}.tm-no-circuit{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0a1a;border:1px solid rgba(99,102,241,.15);border-radius:14px;padding:40px;text-align:center;min-height:400px;color:#334155}.tm-no-circuit-icon{font-size:48px;margin-bottom:16px;filter:grayscale(1)}.tm-no-circuit h2{font-size:18px;font-weight:700;color:#475569;margin:0 0 8px}.tm-no-circuit p{font-size:12px;color:#334155}.tm-canvas{position:relative;flex:1;min-height:400px;background:#0a0a1a;border:1px solid rgba(99,102,241,.2);border-radius:14px;overflow:hidden}.tm-svg-error{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:6px 14px;border-radius:8px;font-size:11px;z-index:10}.tm-svg-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.tm-svg-wrap svg{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.tm-overlay{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);overflow:visible;z-index:5}@keyframes leaderPulse{0%,to{r:13;opacity:.6}50%{r:18;opacity:.05}}.leader-ring{animation:leaderPulse 1.6s ease-in-out infinite}.tm-watermark{position:absolute;bottom:10px;left:14px;font-size:10px;font-weight:800;color:#6366f133;letter-spacing:.15em;text-transform:uppercase;pointer-events:none;z-index:4}.pit-lane-strip{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#3b82f60f;border:1px solid rgba(59,130,246,.2);border-radius:10px;flex-wrap:wrap;flex-shrink:0}.pit-lane-label{font-size:10px;font-weight:800;color:#3b82f6;letter-spacing:.08em;white-space:nowrap}.pit-chips{display:flex;flex-wrap:wrap;gap:6px}.pit-chip{display:flex;align-items:center;gap:5px;background:#ffffff08;border:1px solid color-mix(in srgb,var(--cc) 30%,transparent);border-radius:6px;padding:3px 9px;font-size:10px;font-weight:700;color:var(--cc);animation:pitBlink 2s ease-in-out infinite}@keyframes pitBlink{0%,to{opacity:1}50%{opacity:.5}}.pit-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.tm-right-col{display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.tm-detail-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-top:2px solid var(--dc, #a855f7);border-radius:12px;padding:14px;flex-shrink:0}.tdc-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tdc-tla{font-size:26px;font-weight:900;letter-spacing:-.04em;line-height:1}.tdc-name{font-size:12px;font-weight:700}.tdc-team{font-size:10px;color:#64748b;margin-top:1px}.tdc-close{margin-left:auto;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#64748b;width:22px;height:22px;border-radius:5px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.tdc-close:hover{color:#fff;background:#ffffff1a}.tdc-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.tdc-cell{background:#ffffff05;border-radius:7px;padding:6px 8px}.tdc-lbl{display:block;font-size:8px;font-weight:700;color:#475569;letter-spacing:.07em;margin-bottom:2px}.tdc-val{font-size:12px;font-weight:700;font-family:JetBrains Mono,monospace}.tdc-sectors{display:flex;gap:6px}.tdc-sec{flex:1;background:#ffffff05;border-radius:7px;padding:6px;text-align:center}.tdc-sec-lbl{display:block;font-size:8px;font-weight:700;color:#475569;margin-bottom:2px}.tdc-sec-val{font-size:10px;font-weight:700;font-family:JetBrains Mono,monospace}.tm-no-sel{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:20px;text-align:center;color:#334155;flex-shrink:0}.tm-no-sel p{font-size:11px;color:#475569;margin-top:8px}.tm-legend{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:12px;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.tm-legend-hdr{font-size:8px;font-weight:800;color:#334155;letter-spacing:.1em;margin-bottom:8px;flex-shrink:0}.tm-legend-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1px}.tm-legend-list::-webkit-scrollbar{width:3px}.tm-legend-list::-webkit-scrollbar-thumb{background:#1e293b;border-radius:2px}.tm-leg-row{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:6px;cursor:pointer;transition:background .1s}.tm-leg-row:hover{background:#ffffff0a}.tm-leg-row.sel{background:#6366f11f}.tm-leg-row.pit{opacity:.65}.tm-leg-row.ret{opacity:.3;text-decoration:line-through}.leg-p{width:26px;font-size:10px;font-weight:800;color:#64748b}.leg-bar{width:3px;height:16px;border-radius:2px;flex-shrink:0}.leg-tla{font-size:11px;font-weight:800;width:32px}.leg-icon{font-size:10px}.leg-gap{margin-left:auto;font-size:9px;color:#475569;font-family:JetBrains Mono,monospace}.leg-empty{font-size:11px;color:#334155;text-align:center;padding:16px 0;font-style:italic}@media(max-width:900px){.tm-body{grid-template-columns:1fr}}
