:root{--bg-primary: #0a0a0b;--bg-secondary: #151516;--bg-tertiary: #232325;--bg-hover: #3a3a3d;--border: #232325;--border-hover: #4a4a4e;--text-primary: #f5f5f4;--text-secondary: #b8b7b1;--text-muted: #8a8983;--green: #4ade80;--red: #f87171;--yellow: #fbbf24;--brand-accent: #69c2c4;--brand-accent-hover: #7fd1d3;--brand-red: #dc2626;--brand-dark: #0e1514;--trace-1: #818cf8;--trace-2: #fb923c;--trace-3: #4ade80;--trace-4: #f87171;--trace-5: #22d3ee;--trace-6: #fbbf24}*{margin:0;padding:0;box-sizing:border-box;scrollbar-color:var(--bg-hover) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}body{font-family:Geist,system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}code,.mono{font-family:Geist Mono,JetBrains Mono,monospace}#root{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.global-loading-bar{position:fixed;top:0;left:0;right:0;height:2px;background:var(--brand-accent);animation:loading-pulse 1.5s ease-in-out infinite;z-index:9999}@keyframes loading-pulse{0%,to{opacity:.4;transform:scaleX(.3);transform-origin:left}50%{opacity:1;transform:scaleX(1);transform-origin:left}}.app-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.header-logo-link{display:flex;align-items:flex-end;gap:10px;text-decoration:none;color:inherit}.logo-mark{height:28px;width:auto;flex-shrink:0}.app-header h1{font-size:18px;font-weight:600;letter-spacing:-.03em;line-height:1;color:#fff}.app-header h1 span{color:#fff}.app-version{font-size:11px;font-weight:400;color:var(--text-muted);letter-spacing:0}.session-bar{display:flex;align-items:center;gap:16px;padding:8px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.session-bar .tag{border:1px solid var(--border-hover);padding:2px 10px;border-radius:4px;font-weight:500;color:var(--text-primary);background:transparent}.entry-list{display:flex;flex-wrap:wrap;gap:4px 8px;padding:8px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.entry-item{display:flex;align-items:center;gap:6px;padding:3px 10px;border-radius:4px;font-size:12px;color:var(--text-secondary);background:var(--bg-tertiary)}.entry-item.entry-player{background:#ffffff14;color:var(--text-primary);border:1px solid var(--border-hover)}.entry-number{font-family:Geist Mono,JetBrains Mono,monospace;font-weight:600;color:var(--text-primary);min-width:28px}.entry-name{font-weight:500}.entry-car{color:var(--text-muted);font-size:11px}.entry-badge{font-size:10px;background:#ffffff0f;color:var(--text-muted);padding:1px 5px;border-radius:3px}.community-suggestions{padding:8px 24px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.community-suggestions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.community-suggestions-title{font-size:12px;font-weight:500;color:var(--text-muted)}.community-suggestions-toggle{font-family:inherit;font-size:11px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px}.community-suggestions-toggle:hover{color:var(--text-primary)}.community-suggestions-list{display:flex;flex-direction:column;gap:2px}.community-suggestion-row{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:4px;font-size:12px}.community-suggestion-row:hover{background:#ffffff08}.community-suggestion-driver{flex:1;color:var(--text-primary)}.community-suggestion-car{flex:1;color:var(--text-muted)}.community-suggestion-best{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;color:var(--text-secondary);min-width:60px;text-align:right}.community-suggestions-more{display:inline-block;margin-top:4px;font-size:11px;color:var(--text-muted);text-decoration:none}.community-suggestions-more:hover{color:var(--text-primary)}.main-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.landing-page{flex:1;display:flex;flex-direction:column;align-items:center;padding:48px 24px 64px;gap:0;overflow-y:auto}.hero{text-align:center;max-width:560px;margin-bottom:32px}.hero-title{font-size:32px;font-weight:700;letter-spacing:-.04em;color:var(--text-primary);margin-bottom:8px}.hero-subtitle{font-size:16px;color:var(--text-secondary);line-height:1.5;margin-bottom:0}.hero-features{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-feature{font-size:12px;padding:4px 12px;border-radius:100px;background:#69c2c414;border:1px solid rgba(105,194,196,.25);color:var(--text-secondary)}.landing-page .drop-zone-container{padding:0}.landing-cards{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:16px;max-width:1080px;width:100%;margin-bottom:40px}.landing-card{display:flex;flex-direction:column;padding:20px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s;min-height:180px}.landing-card:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.landing-card--analyze{cursor:default}.landing-card--analyze:hover{background:var(--bg-secondary);border-color:var(--border)}.landing-card-icon{color:var(--brand-accent);margin-bottom:12px}.landing-card-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.landing-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;flex:1}.landing-card-path{display:inline-block;margin-top:4px;padding:3px 8px;font-family:Geist Mono,JetBrains Mono,monospace;font-size:11px;color:var(--text-primary);background:#ffffff0d;border:1px solid var(--border);border-radius:4px;word-break:break-all}.landing-card-acc-howto{display:flex;flex-direction:column;gap:10px;flex:1}.landing-card-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-card-steps li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-secondary);line-height:1.5}.landing-card-step-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-primary);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-top:1px}.landing-card-step-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.landing-card-pair{display:flex;flex-direction:column;gap:4px;margin-top:2px;padding:8px 10px;background:#ffffff0a;border:1px solid var(--border);border-radius:6px}.landing-card-pair-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.landing-card-pair-name{font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px;color:var(--text-primary)}.landing-card-pair-name strong{color:var(--brand-accent);font-weight:700}.landing-card-pair-note{font-size:11px;color:var(--text-muted);font-style:italic}.landing-card-step-tip{font-size:11px;color:var(--text-muted);font-style:italic;margin-top:2px}.landing-card-loaded{display:flex;flex-direction:column;gap:12px;flex:1}.landing-card-loaded-actions{display:flex;gap:8px;align-items:center}.landing-card-loaded-add{font-size:12px;color:var(--text-muted);margin:4px 0 0}.landing-card-link{font-size:12px;color:var(--brand-accent);margin-top:12px}.landing-card-list{display:flex;flex-direction:column;gap:4px;flex:1}.landing-card-list-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.landing-card-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-card-item-dots{display:flex;gap:3px}.landing-card-footer{font-size:11px;color:var(--text-muted);margin-top:8px}.landing-card-dropzone{margin-top:8px}.landing-card-dropzone .drop-zone-container{padding:0}.landing-card-dropzone .drop-zone{min-height:0;padding:12px;border-radius:6px}.landing-card-dropzone .drop-zone h2{font-size:12px;font-weight:500}.landing-card-dropzone .drop-zone p,.landing-card-dropzone .drop-zone .file-path{display:none}.landing-card-dropzone .drop-zone{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-card-dropzone .drop-zone h2{margin-bottom:4px}.landing-card-dropzone .drop-zone-icon{width:20px;height:20px;margin-bottom:4px}.landing-card-dropzone .drop-zone-multi-hint{font-size:10px}.landing-recent{max-width:840px;width:100%;margin-bottom:40px}.landing-recent-title{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.landing-recent-list{display:flex;flex-direction:column;gap:4px}.landing-recent-card{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;transition:border-color .15s}.landing-recent-card:hover{border-color:var(--border-hover)}.landing-recent-info{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.landing-recent-track{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.landing-recent-car{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.landing-recent-stats{font-size:12px;font-family:Geist Mono,monospace;color:var(--text-muted);white-space:nowrap}.landing-recent-date{font-size:12px;color:var(--text-muted);white-space:nowrap;min-width:80px;text-align:right}.landing-recent-actions{margin-left:12px}.landing-popular{max-width:840px;width:100%;margin-bottom:40px}.landing-popular-title{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.landing-popular-grid{display:flex;flex-wrap:wrap;gap:8px}.landing-popular-chip{font-size:13px;padding:6px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);text-decoration:none;transition:all .15s}.landing-popular-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.landing-social-proof{max-width:560px;text-align:center;margin-top:20px}.landing-social-proof-text{font-size:14px;color:var(--text-muted);line-height:1.6}.hub-page{flex:1;display:flex;flex-direction:column;padding:32px 32px 64px;overflow-y:auto;width:100%}.hub-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.hub-title{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.hub-search{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);max-width:260px;flex:1}.hub-search:focus-within{border-color:var(--brand-accent)}.hub-search input{background:none;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:13px;width:100%}.hub-search input::placeholder{color:var(--text-muted)}.hub-filters{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.hub-filter-btn{font-family:inherit;font-size:12px;padding:5px 12px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.hub-filter-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.hub-filter-btn.active{background:var(--brand-accent);color:#0a0a0b;font-weight:600;border-color:var(--brand-accent)}.hub-section{margin-bottom:24px}.hub-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.hub-section-title{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.hub-section-link{font-size:12px;color:var(--brand-accent);cursor:pointer}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.hub-card{display:flex;flex-direction:column;padding:14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .15s,background .15s;min-height:120px}.hub-card:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.hub-card-silhouette{color:var(--text-muted);margin-bottom:8px;height:48px;display:flex;align-items:center}.hub-card-logo-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.hub-card-logo{height:40px;flex:1;min-width:0;display:flex;align-items:center}.hub-card-logo img{max-height:100%;max-width:100%;object-fit:contain;object-position:left center}.hub-card-logo-fallback{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);opacity:.4}.hub-card-logo-row .favorite-btn{opacity:0;transition:opacity .15s,color .15s,transform .15s;flex-shrink:0}.hub-card:hover .hub-card-logo-row .favorite-btn,.hub-card-logo-row .favorite-btn--active{opacity:1}.hub-card-car-badge{margin-bottom:8px}.hub-card-class-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;background:#69c2c41a;color:var(--brand-accent)}.hub-card-body{flex:1;display:flex;flex-direction:column}.hub-card-name{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px;display:flex;align-items:center;gap:6px}.hub-card-check{color:var(--green);font-size:12px}.hub-card-config{font-size:12px;color:var(--text-muted);margin-bottom:4px}.hub-card-meta{font-size:11px;color:var(--text-muted);margin-top:auto}.hub-card-sims{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.hub-card-sim-tag{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 5px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border);line-height:1.4}.hub-card-user-data{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--text-secondary)}.hub-card-dots{display:flex;gap:3px}.hub-card-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-accent)}.hub-card-sessions{color:var(--text-muted)}.hub-card-best{font-family:Geist Mono,monospace;color:var(--green)}.hub-empty{text-align:center;padding:40px;color:var(--text-muted);font-size:14px}.hub-not-found{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted)}.track-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;padding:12px 24px 0;min-height:0}.track-detail-header,.track-detail-tabs{width:100%}.sessions-tab-data,.sessions-tab-empty{overflow-y:auto;flex:1;min-height:0;padding-bottom:24px}.track-detail-header{margin-bottom:8px}.track-detail-back{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--text-muted);text-decoration:none;flex-shrink:0;transition:color .15s,background .15s}.track-detail-back:hover{color:var(--text-primary);background:var(--bg-tertiary)}.track-detail-title-row{display:flex;align-items:center;gap:12px;margin-bottom:0}.track-detail-name{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.track-detail-config{font-size:14px;color:var(--text-muted)}.car-detail-class-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 10px;border-radius:4px;background:#69c2c41a;color:var(--brand-accent)}.track-detail-meta{font-size:12px;color:var(--text-muted)}.track-detail-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:0}.track-detail-tab{font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:6px}.track-detail-tab:hover{color:var(--text-primary)}.track-detail-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-accent)}.tab-lock-icon{opacity:.5}.track-detail-content{flex:1;display:flex;flex-direction:column;min-height:0}.guide-layout{display:flex;flex-direction:column;flex:1;min-height:0}.guide-split{display:flex;flex:1;min-height:0}.guide-map-pane{flex:1;min-width:0;min-height:0;display:flex;padding:0;overflow:hidden}.guide-map-pane>*{width:100%;height:100%;flex:1}.guide-props-pane{position:relative;width:360px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;transition:width .2s ease}.guide-split.props-collapsed .guide-props-pane{width:32px}.guide-props-collapse{position:absolute;top:12px;left:-14px;z-index:5;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.guide-props-collapse:hover{color:var(--text-primary);background:var(--bg-tertiary)}.guide-props-body{flex:1;overflow-y:auto;padding:24px 20px;min-height:0}.guide-turn-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-family:inherit;font-size:11px;color:var(--text-muted);cursor:pointer;padding:0 0 12px}.guide-turn-back:hover{color:var(--text-primary)}.guide-map-sticky{position:sticky;top:0;z-index:5;background:var(--bg-primary);border-bottom:1px solid var(--border);padding:8px 0;flex-shrink:0}.guide-map-sticky.collapsed{border-bottom-color:var(--border)}.guide-map-toggle{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:11px;font-weight:500;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;margin-bottom:4px;transition:color .15s}.guide-map-toggle:hover{color:var(--text-primary)}.guide-scroll{flex:1;overflow-y:auto;min-height:0;padding-top:16px}.guide-content{max-width:680px}.guide-section{margin-bottom:28px}.guide-section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.guide-text{font-size:14px;line-height:1.65;color:var(--text-secondary)}.guide-placeholder-text{color:var(--text-muted);font-style:italic}.guide-list{list-style:none;display:flex;flex-direction:column;gap:8px}.guide-list-item{font-size:14px;line-height:1.55;color:var(--text-secondary);padding-left:16px;position:relative}.guide-list-item:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.guide-list-item--strength:before{background:var(--green)}.guide-list-item--weakness:before{background:var(--red)}.guide-list--tips .guide-list-item{padding-left:20px}.guide-list--tips .guide-list-item:before{content:"";width:4px;height:4px;top:9px;background:var(--brand-accent)}.guide-turns{display:flex;flex-direction:column;gap:16px}.guide-turn{padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;transition:border-color .2s;scroll-margin-top:16px}.guide-turn--active{border-color:var(--brand-accent)}.guide-turn--active .guide-turn-number{background:var(--brand-accent);color:var(--bg-primary)}.guide-turn-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.guide-turn-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--bg-tertiary);border-radius:50%;color:var(--text-secondary);flex-shrink:0}.guide-turn-name{font-size:14px;font-weight:600;color:var(--text-primary)}.guide-turn-type{font-size:11px;color:var(--text-muted);font-style:italic}.guide-turn-badges{display:flex;gap:6px;margin-left:auto}.guide-technique,.guide-pitfalls{margin-bottom:10px}.guide-technique .guide-text,.guide-pitfalls .guide-text{margin-top:4px}.guide-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.guide-pitfalls{padding:10px 12px;background:var(--bg-secondary);border-radius:6px;border-left:2px solid var(--warning, #e6a817)}.guide-pitfalls .guide-section-label{color:var(--warning, #e6a817)}.guide-strong-cars{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.guide-strong-car{display:flex;flex-direction:column;gap:2px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px}.guide-strong-car-name{font-size:13px;font-weight:600;color:var(--text-primary)}.guide-strong-car-why{font-size:13px;line-height:1.5;color:var(--text-secondary)}.guide-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px}.guide-badge--overtaking{background:#4ade801a;color:var(--green)}.guide-hint{padding:14px 16px;border:1px dashed var(--border-hover);border-radius:8px;background:#69c2c408}.guide-hint--large{padding:20px 24px}.guide-hint-text{font-size:13px;line-height:1.55;color:var(--text-secondary);margin-bottom:10px}.guide-hint-actions{display:flex;gap:8px}.guide-bottom-cta{margin-top:16px}.sessions-tab-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;max-width:420px;margin:0 auto}.sessions-tab-empty h3{font-size:16px;color:var(--text-primary);margin-bottom:8px}.sessions-tab-empty .guide-text{margin-bottom:16px}.sessions-tab-lock,.sessions-tab-icon{color:var(--text-muted);margin-bottom:16px}.sessions-tab-promises{list-style:none;display:flex;flex-direction:column;gap:6px;text-align:left;margin-bottom:20px}.sessions-tab-promises li{font-size:13px;color:var(--text-secondary);padding-left:16px;position:relative}.sessions-tab-promises li:before{content:"·";position:absolute;left:4px;color:var(--brand-accent);font-weight:700}.sessions-tab-data{padding:24px 0}.sessions-tab-data h3{font-size:16px;color:var(--text-primary);margin-bottom:6px}.sessions-tab-list{display:flex;flex-direction:column;gap:2px;margin-top:12px}.sessions-tab-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s;width:100%;text-align:left;color:var(--text-secondary)}.sessions-tab-row:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-tertiary)}.sessions-tab-row:disabled{opacity:.6;cursor:wait}.sessions-tab-row-info{display:flex;flex-direction:column;gap:2px}.sessions-tab-row-car{font-size:13px;font-weight:500;color:var(--text-primary)}.sessions-tab-row-meta{font-size:12px;color:var(--text-muted)}.guide-session-picker{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.guide-session-picker-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.guide-session-picker-list{display:flex;flex-direction:column;gap:4px}.guide-session-picker-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;cursor:pointer;transition:border-color .15s,background .15s;color:var(--text-secondary);font-size:12px;width:100%;text-align:left}.guide-session-picker-item:hover:not(:disabled){border-color:var(--border-hover);background:var(--bg-tertiary)}.guide-session-picker-item:disabled{opacity:.6;cursor:wait}.guide-session-picker-car{font-weight:500;color:var(--text-primary);flex-shrink:0}.guide-session-picker-meta{color:var(--text-muted);margin-left:auto;flex-shrink:0}.sessions-tab-data h3{font-size:16px;color:var(--text-primary);margin-bottom:12px}.track-guide-map{display:flex;justify-content:center;width:100%}.track-guide-map svg{display:block}.track-guide-map--svg{align-items:center;padding:16px}.track-guide-svg-img{width:auto;height:100%;object-fit:contain;filter:invert(1) opacity(.7)}.track-guide-map-empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.favorite-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);transition:color .15s,transform .15s;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.favorite-btn:hover{color:#fbbf24;transform:scale(1.15)}.favorite-btn--active{color:#fbbf24}.favorite-btn--active:hover{color:#f59e0b}.detail-fav-btn{margin-left:auto}.hub-card-top-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:4px}.hub-card-top-row .hub-card-silhouette,.hub-card-top-row .hub-card-car-badge{margin-bottom:0}.hub-card-top-row .favorite-btn{opacity:0;transition:opacity .15s,color .15s,transform .15s}.hub-card:hover .hub-card-top-row .favorite-btn,.hub-card-top-row .favorite-btn--active{opacity:1}.hub-filter-btn--fav{display:inline-flex;align-items:center;gap:4px;margin-right:8px;border-color:#fbbf244d}.hub-filter-btn--fav:hover{border-color:#fbbf2480;color:#fbbf24}.hub-filter-btn--fav.active{background:#fbbf2426;color:#fbbf24;border-color:#fbbf2466}.track-silhouette{display:block}.track-silhouette--generic{opacity:.5}.recent-sessions{margin-top:40px;max-width:520px;width:100%}.recent-sessions-title{font-size:13px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.recent-sessions-list{display:flex;flex-direction:column;gap:2px}.recent-session-row{display:flex;align-items:center;gap:16px;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s;text-align:left;width:100%}.recent-session-row:hover{background:#ffffff0a;color:var(--text-primary)}.recent-session-track{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-session-car{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.recent-session-best{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;min-width:60px;text-align:right}.recent-session-date{font-size:12px;color:var(--text-muted);min-width:80px;text-align:right}.drop-zone-container{flex:1;display:flex;align-items:center;justify-content:center;padding:48px;min-height:100%}.drop-zone{border:2px dashed var(--border-hover);border-radius:16px;padding:64px 48px;text-align:center;max-width:520px;width:100%;transition:border-color .2s,background .2s;cursor:pointer}.drop-zone:hover,.drop-zone.active{border-color:var(--text-muted);background:#ffffff05}.drop-zone h2{font-size:22px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}.drop-zone p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.drop-zone .file-path{display:inline-block;margin:6px 0;padding:4px 10px;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;color:var(--text-primary);background:#ffffff0f;border:1px solid var(--border);border-radius:6px;letter-spacing:.02em}.drop-zone .acc-motec-hint{display:inline-block;margin-top:4px;font-size:11px;color:var(--text-muted);font-style:italic}.drop-zone .hint{font-size:12px;color:var(--text-muted)}.drop-zone-icon{display:block;margin:0 auto 8px;color:var(--brand-accent);opacity:.7}.drop-zone-browse{margin-top:4px;margin-bottom:8px}.drop-zone-multi-hint{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.drop-zone-warning{margin-top:12px;padding:10px 14px;font-size:13px;color:var(--text-primary);background:#fbbf241a;border:1px solid rgba(251,191,36,.35);border-radius:8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drop-zone-notice{margin-top:12px;padding:12px 14px;font-size:13px;color:var(--text-primary);background:#818cf814;border:1px solid rgba(129,140,248,.3);border-radius:8px;display:flex;flex-direction:column;gap:10px;text-align:left}.drop-zone-notice-body{line-height:1.5;color:var(--text-secondary)}.drop-zone-notice-body strong{color:var(--text-primary);font-weight:600}.drop-zone-notice-body code{font-family:Geist Mono,ui-monospace,monospace;font-size:12px;padding:1px 5px;background:#ffffff0f;border-radius:3px;color:var(--text-primary)}.drop-zone-notice-actions{display:flex;gap:8px;align-items:center}.analysis-layout{display:grid;grid-template-columns:240px 1fr;grid-template-rows:minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.session-track-split{display:flex;flex:1;min-height:0;overflow:hidden}.session-center{flex:1;min-width:0;overflow-y:auto}.session-traces-section{padding:0;border-top:1px solid var(--border);margin-top:4px;background:linear-gradient(to bottom,rgba(255,255,255,.02),transparent 40px)}.session-traces-heading{display:flex;align-items:baseline;justify-content:space-between;padding:12px 16px 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.session-traces-hint{font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-muted)}.session-props-pane{width:360px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-secondary);position:relative;display:flex;flex-direction:column;transition:width .2s ease}.session-track-split.props-collapsed .session-props-pane{width:32px}.session-props-collapse{position:absolute;left:-14px;top:12px;z-index:5;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:color .15s,border-color .15s}.session-props-collapse:hover{color:var(--text-primary);border-color:var(--border-hover)}.session-props-body{flex:1;overflow-y:auto;padding:24px 20px}.session-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.session-turn-section{margin-bottom:20px}.top-opportunities{margin-bottom:16px;padding:14px;background:linear-gradient(180deg,#69c2c414,#69c2c405);border:1px solid rgba(105,194,196,.25);border-radius:8px}.top-opportunities-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--brand-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.top-opportunities-headline{font-size:14px;color:var(--text-primary);font-weight:500;line-height:1.4;margin:0 0 12px}.top-opportunities-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.top-opportunity{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .15s}.top-opportunity.expanded{border-color:var(--brand-accent)}.top-opportunity-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;font-family:inherit;font-size:12px;color:var(--text-secondary);cursor:pointer;text-align:left}.top-opportunity-row:hover{background:var(--bg-tertiary);color:var(--text-primary)}.top-opportunity-turn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;font-family:Geist Mono,monospace;font-size:11px;font-weight:700;color:var(--text-primary);background:var(--bg-tertiary);border-radius:4px}.top-opportunity-turn--global{font-size:10px;color:var(--text-muted)}.top-opportunity-title{flex:1;color:var(--text-primary);font-weight:500}.top-opportunity-delta{flex-shrink:0;font-family:Geist Mono,monospace;font-size:11px;font-weight:600;color:var(--red)}.top-opportunity-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s}.top-opportunity-detail{padding:0 10px 10px 46px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.top-opportunity-detail p{margin:0}.lap-distribution{margin-bottom:16px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.lap-distribution-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.lap-distribution-rank{font-family:Geist Mono,monospace;font-size:11px;font-weight:700;color:var(--green);text-transform:none;letter-spacing:0}.lap-distribution-footnote{font-size:10px;color:var(--text-muted);font-style:italic;margin-top:2px}.session-turn-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:0;margin-bottom:12px}.session-turn-back:hover{color:var(--text-primary)}.session-turn-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.session-turn-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:16px}.session-turn-label{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.session-turn-metric{margin-bottom:8px}.session-turn-metric-title{font-size:12px;font-weight:500;color:var(--text-secondary)}.turn-card-number{font-family:Geist Mono,monospace;font-weight:700;font-size:16px;color:var(--brand-accent);min-width:24px}.turn-card-name{font-weight:500;font-size:15px;color:var(--text-primary)}.turn-card-type{font-size:11px;color:var(--text-muted);background:var(--bg-primary);padding:2px 6px;border-radius:4px}.turn-card-badge--overtaking{display:inline-flex;align-items:center;gap:3px;color:var(--green);font-size:11px}.turn-card-delta{font-family:Geist Mono,monospace;font-size:12px;font-weight:600;color:var(--text-muted)}.turn-card-delta.loss{color:#f87171}.turn-card-delta.gain{color:#4ade80}.ai-coach-inline{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}.ai-coach-inline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sidebar{border-right:1px solid var(--border);background:var(--bg-secondary);padding:16px 0;overflow-y:auto;display:flex;flex-direction:column}.sidebar h3{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:0 16px;margin-bottom:8px}.lap-list{list-style:none}.lap-item{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:13px;cursor:pointer;transition:background .15s}.lap-item:hover{background:var(--bg-tertiary)}.lap-item.selected{background:#ffffff0f;color:var(--text-primary);transition:background .15s,box-shadow .15s}.lap-item.selected:hover{box-shadow:inset 0 0 0 1px #ffffff14}.lap-item .lap-num{font-weight:600;font-variant-numeric:tabular-nums;min-width:32px}.lap-item .lap-time{font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary)}.lap-item .lap-time.best{color:var(--green)}.lap-item .incomplete-badge{font-size:10px;background:var(--bg-tertiary);color:var(--text-muted);padding:1px 6px;border-radius:3px;margin-left:auto}.lap-item .ref-badge{font-size:10px;font-weight:600;background:#818cf826;color:var(--indigo, #818cf8);padding:1px 6px;border-radius:3px;margin-left:auto;letter-spacing:.05em}.lap-item .pace-badge{font-size:10px;background:#fbbf2426;color:var(--yellow);padding:1px 6px;border-radius:3px;margin-left:auto}.lap-item .color-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ai-coach-panel{flex-shrink:0;border-left:1px solid var(--border);background:var(--surface-1);display:flex;flex-direction:column;transition:width .2s ease}.ai-coach-panel.collapsed{width:36px}.ai-coach-panel.expanded{width:360px;min-width:280px}.ai-coach-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 0;width:100%;height:100%;background:none;border:none;color:var(--text-muted);cursor:pointer;writing-mode:vertical-lr;font-size:11px;font-weight:500;letter-spacing:.5px}.ai-coach-toggle:hover{color:var(--text-secondary);background:var(--surface-2)}.ai-coach-toggle-label{writing-mode:vertical-lr;text-orientation:mixed}.ai-coach-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.ai-coach-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-primary)}.ai-coach-actions{display:flex;align-items:center;gap:4px}.ai-coach-action-btn{display:flex;align-items:center;gap:4px;padding:4px 6px;background:none;border:1px solid transparent;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:11px}.ai-coach-action-btn:hover:not(:disabled){color:var(--text-secondary);border-color:var(--border)}.ai-coach-action-btn:disabled{opacity:.3;cursor:default}.ai-coach-action-btn.active{color:var(--text-primary);background:#a1a1aa1f;border-color:var(--border)}.ai-coach-car-btn{display:flex;align-items:center;gap:5px;padding:3px 8px;background:#818cf81a;border:1px solid rgba(129,140,248,.25);border-radius:4px;color:#818cf8;font-size:11px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.ai-coach-car-btn:hover{background:#818cf82e;border-color:#818cf866}.ai-coach-car-btn.active{background:#818cf833;border-color:#818cf880;color:#a5b4fc}.ai-coach-content{flex:1;overflow-y:auto;padding:12px}.ai-coach-content,.ai-coach-inline{font-size:13px;line-height:1.55;color:var(--text-secondary)}.ai-coach-content h3,.ai-coach-inline h3{font-size:13px;font-weight:600;color:var(--text-primary);margin:16px 0 6px}.ai-coach-content h3:first-child,.ai-coach-inline h3:first-child{margin-top:0}.ai-coach-content h4,.ai-coach-inline h4{font-size:12px;font-weight:600;color:var(--text-primary);margin:12px 0 4px}.ai-coach-content p,.ai-coach-inline p{margin:0 0 8px}.ai-coach-content ul,.ai-coach-inline ul{margin:0 0 8px;padding-left:16px}.ai-coach-content li,.ai-coach-inline li{margin-bottom:4px}.ai-coach-content strong,.ai-coach-inline strong{color:var(--text-primary);font-weight:600}.ai-coach-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:12px;text-align:center;padding:24px}.ai-coach-consent{padding:16px 18px;border:1px solid var(--border);border-radius:8px;background:#818cf80f;margin:8px 0}.ai-coach-consent h4{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px}.ai-coach-consent h4:before{content:"";width:6px;height:6px;border-radius:50%;background:#818cf8;flex-shrink:0}.ai-coach-consent p{margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.ai-coach-consent-fineprint{font-size:11px!important;color:var(--text-muted)!important}.ai-coach-consent-actions{display:flex;justify-content:flex-end;margin-top:12px}.ai-coach-error{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f871711a;border-radius:6px;color:#f87171;font-size:12px}.ai-coach-analyzing{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--text-muted);font-size:12px}.ai-coach-dots{display:flex;gap:4px}.ai-coach-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:coach-dot-pulse 1.2s ease-in-out infinite}.ai-coach-dots span:nth-child(2){animation-delay:.2s}.ai-coach-dots span:nth-child(3){animation-delay:.4s}@keyframes coach-dot-pulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-coach-cursor{display:inline-block;width:2px;height:14px;background:var(--brand-accent);margin-left:1px;animation:coach-cursor-blink .8s step-end infinite;vertical-align:text-bottom}@keyframes coach-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-coach-car-note{display:flex;align-items:flex-start;gap:6px;margin-top:12px;padding:8px 10px;background:#a1a1aa14;border-radius:6px;color:var(--text-tertiary, #71717a);font-size:11px;line-height:1.4}.ai-coach-car-note svg{flex-shrink:0;margin-top:1px}.car-briefing{animation:coach-fade-in .2s ease}.car-briefing-back{display:inline-flex;align-items:center;gap:4px;padding:0;margin-bottom:12px;background:none;border:none;color:var(--text-tertiary, #71717a);font-size:11px;cursor:pointer;font-family:inherit}.car-briefing-back:hover{color:var(--text-secondary)}.car-briefing-header{margin-bottom:14px}.car-briefing-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.car-briefing-tags{display:flex;flex-wrap:wrap;gap:4px}.car-briefing-tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500;letter-spacing:.02em;background:#a1a1aa1a;color:var(--text-secondary, #a1a1aa)}.car-briefing-tag.tag-aid{background:#4ade801f;color:#4ade80}.car-briefing-tag.tag-no-aid{background:#fb923c1f;color:#fb923c}.car-briefing-section{margin-bottom:12px}.car-briefing-section h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #71717a);margin:0 0 6px}.car-briefing-section ul{margin:0;padding-left:16px}.car-briefing-section li{font-size:12px;line-height:1.5;color:var(--text-secondary, #a1a1aa);margin-bottom:4px}.car-briefing-section p{font-size:12px;line-height:1.5;color:var(--text-secondary, #a1a1aa);margin:0}.ai-coach-analysis{animation:coach-fade-in .2s ease}@keyframes coach-fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.coach-turn-ref{color:#818cf8;cursor:pointer;border-bottom:1px dashed rgba(129,140,248,.4);transition:color .15s,background .15s,border-color .15s;border-radius:2px;padding:0 2px;margin:0 -2px}.coach-turn-ref:hover{color:#a5b4fc;background:#818cf81a;border-bottom-color:#a5b4fc}.coach-turn-ref.focused{color:#a5b4fc;background:#818cf826;border-bottom:1px solid #818cf8}.coach-turn-ref.pulse{animation:turn-ref-pulse .8s ease}@keyframes turn-ref-pulse{0%{background:#818cf866}to{background:#818cf826}}.charts-area{display:flex;flex-direction:column;min-height:0;overflow:hidden}.charts-panel{padding:16px 16px 48px;display:flex;flex-direction:column;gap:12px}.chart-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.chart-container h4{font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:4px;padding-left:8px;transition:color .15s,padding-left .15s}.panel-wrapper:hover .chart-container h4{color:var(--text-primary);padding-left:36px}.panel-wrapper{position:relative;transition:border-color .15s;border:2px solid transparent;border-radius:10px}.panel-wrapper.panel-drag-over-above:before,.panel-wrapper.panel-drag-over-below:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--brand-accent);border-radius:1px;z-index:10;pointer-events:none}.panel-wrapper.panel-drag-over-above:before{top:-7px}.panel-wrapper.panel-drag-over-below:after{bottom:-7px}.panel-wrapper.panel-collapsed>.chart-container,.panel-wrapper.panel-collapsed>.track-map-container{cursor:pointer}.panel-wrapper.panel-collapsed>.chart-container>:not(h4),.panel-wrapper.panel-collapsed>.track-map-container>:not(.track-map-header){display:none}.panel-wrapper.panel-collapsed>.chart-container{padding:8px 16px}.panel-wrapper.panel-collapsed>.track-map-container{padding:8px 16px}.panel-drag-handle{position:absolute;top:10px;left:10px;z-index:5;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--text-muted);cursor:grab;opacity:0;transform:scale(.6);transition:opacity .15s,color .15s,transform .3s cubic-bezier(.34,1.56,.64,1)}.panel-drag-handle:active{cursor:grabbing}.panel-wrapper:hover .panel-drag-handle{opacity:1;transform:scale(1)}.panel-expand-btn{position:absolute;top:10px;right:10px;z-index:5;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;opacity:0;transform:scale(.6);transition:opacity .15s,background .15s,color .15s,transform .3s cubic-bezier(.34,1.56,.64,1)}.panel-wrapper:hover .panel-expand-btn{opacity:1;color:var(--text-primary);transform:scale(1)}.panel-expand-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.panel-expanded{flex:1;display:flex;flex-direction:column;min-height:0}.panel-expanded>.chart-container,.panel-expanded>.track-map-container{flex:1;display:flex;flex-direction:column}.panel-expanded .panel-expand-btn{opacity:1}.insights-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px;white-space:nowrap}.insights-chip.chip-loss{color:var(--red, #f87171)}.insights-chip.chip-gain{color:var(--green, #4ade80)}.turn-detail{position:absolute;z-index:50;right:8px;top:32px;bottom:8px;width:300px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 4px 16px #00000080;pointer-events:auto;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.turn-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.turn-detail-name{font-size:14px;font-weight:600;color:var(--text-primary)}.turn-detail-delta{display:inline-block;margin-left:8px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted)}.turn-detail-delta.loss{color:#f87171}.turn-detail-delta.gain{color:#4ade80}.turn-detail-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px;line-height:1;flex-shrink:0}.turn-detail-close:hover{color:var(--text-primary)}.turn-detail-coach{font-size:12px;line-height:1.5;color:var(--text-secondary);background:#3b82f614;border-left:3px solid #3b82f6;border-radius:0 6px 6px 0;padding:8px 10px}.turn-detail-chart{border:1px solid var(--border);border-radius:6px;overflow:hidden}.turn-detail-metrics{display:flex;flex-direction:column;gap:2px}.turn-detail-metric{padding:4px 0;border-top:1px solid var(--border)}.turn-detail-metric:first-child{border-top:none}.turn-detail-metric-title{font-size:11px;font-weight:500;color:var(--text-primary)}.turn-detail-metric-desc{font-size:10px;color:var(--text-muted);margin:1px 0 0;line-height:1.4}.track-map-container .annotation-text-g{cursor:pointer}.track-map-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;transition:padding-left .15s}.panel-wrapper:hover .track-map-header{padding-left:28px}.track-map-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.track-map-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.track-map-container h4{font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:8px;transition:color .15s}.panel-wrapper:hover .track-map-container h4{color:var(--text-primary)}.channel-selector{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.channel-selector-spacer{flex:1}.channel-btn{font-size:12px;padding:4px 12px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s}.channel-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.channel-btn.active{border-color:var(--border-hover);background:#ffffff14;color:var(--text-primary)}.channel-picker{display:flex;align-items:center;gap:4px;position:relative}.channel-pill{font-size:11px;padding:3px 10px;border-radius:12px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.channel-pill:hover{border-color:var(--border-hover);color:var(--text-primary)}.channel-pill.active{background:#ffffff0f}.channel-pill--add{border-style:dashed}.channel-pill--event{font-size:11px}.channel-pill--event.active{border-color:var(--border-hover);color:var(--text-primary)}.channel-picker-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:8px;min-width:280px;max-height:360px;overflow-y:auto;box-shadow:0 8px 24px #0006;display:flex;flex-direction:column;gap:8px}.channel-picker-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 4px;margin-bottom:2px;display:block}.channel-picker-group-items{display:flex;flex-wrap:wrap;gap:4px}.channel-picker-item{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:5px}.channel-picker-item:hover{border-color:var(--border-hover);color:var(--text-primary)}.channel-picker-item.active{border-color:var(--border-hover);background:#ffffff0f;color:var(--text-primary)}.channel-picker-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary);font-size:14px}.loading .spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--text-primary);border-radius:50%;animation:spin .6s linear infinite;margin-right:12px}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:6px;margin:8px 16px 0;font-size:13px;color:var(--red)}.header-left{display:flex;align-items:center;gap:16px}.header-center{display:flex;justify-content:center}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.header-meta{font-size:12px;color:var(--text-muted)}.btn{font-family:inherit;font-size:13px;padding:6px 14px;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--brand-accent);border-color:var(--brand-accent);color:#0a0a0b;font-weight:600}.btn-primary:hover{background:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn-danger:hover{opacity:.9}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-tertiary)}.btn-sm{font-size:12px;padding:4px 10px}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:6px;padding:2px}.view-toggle-btn{font-family:inherit;font-size:12px;padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.view-toggle-btn.active{background:var(--brand-accent);color:#0a0a0b;font-weight:600}.view-toggle-btn:not(.active):hover{color:var(--text-primary)}.user-menu{position:relative}.user-menu-trigger{font-family:inherit;font-size:12px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:6px;padding:4px 10px;cursor:pointer;transition:all .15s}.user-menu-trigger:hover{color:var(--text-primary);background:var(--bg-tertiary)}.user-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px;z-index:40;box-shadow:0 8px 24px #0000004d}.user-menu-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:13px;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;transition:all .15s}.user-menu-item:hover{color:var(--text-primary);background:var(--bg-tertiary)}.user-menu-item--danger:hover{color:#f87171}.user-menu-divider{height:1px;background:var(--border);margin:4px 0}.user-menu-version{display:block;padding:4px 12px 6px;font-size:11px;color:var(--text-muted);text-align:center}.team-switcher{position:relative}.team-switcher-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:border-color .15s}.game-icon{height:32px;width:auto}.team-switcher-btn:hover{border-color:var(--border-hover)}.team-arrow{font-size:8px;color:var(--text-muted)}.team-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:280px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:4px;z-index:100;box-shadow:0 8px 24px #00000080}.team-dropdown-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:13px;padding:8px 12px;border:none;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .15s}.team-dropdown-item:hover{background:var(--bg-tertiary)}.team-dropdown-item.active{color:var(--text-primary);background:#ffffff0f}.team-dropdown-divider{height:1px;background:var(--border);margin:4px 0}.team-create-btn{color:var(--text-secondary)}.team-create-form{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;box-shadow:0 16px 48px #00000080}.modal-lg{max-width:520px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;font-weight:600}.modal-close{font-size:20px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.modal-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px}.form-field{margin-bottom:14px}.form-field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.form-field input,.team-create-form input,.session-search,.invite-form input{width:100%;font-family:inherit;font-size:13px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);outline:none;transition:border-color .15s}.form-field input:focus,.team-create-form input:focus,.session-search:focus,.invite-form input:focus{border-color:var(--text-muted)}.form-error{font-size:13px;color:var(--red);margin-bottom:8px}.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px}.member-list{display:flex;flex-direction:column;gap:2px}.member-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:4px;font-size:13px}.member-row:hover{background:var(--bg-tertiary)}.member-name{color:var(--text-primary)}.member-role{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.invite-form{display:flex;gap:8px;align-items:center}.invite-form input{flex:1}.session-browser{flex:1;display:flex;flex-direction:column;padding:20px 24px;overflow-y:auto}.session-browser-header{margin-bottom:16px}.session-browser-controls{display:flex;gap:12px;align-items:center}.session-search{max-width:300px}.session-browser-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);padding:48px}.session-browser-empty h3{font-size:18px;color:var(--text-primary);margin-bottom:8px}.session-browser-empty p{font-size:14px;color:var(--text-muted)}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.session-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;color:var(--text-primary);transition:border-color .15s,background .15s}.session-card:hover{border-color:var(--border-hover);background:var(--bg-tertiary)}.session-card:disabled{opacity:.6;cursor:wait}.session-card-top{display:flex;justify-content:space-between;align-items:baseline}.session-card-track{font-size:14px;font-weight:600}.session-card-date{font-size:11px;color:var(--text-muted)}.session-card-middle{display:flex;gap:12px;font-size:13px;color:var(--text-secondary)}.session-card-car{background:var(--bg-primary);padding:1px 8px;border-radius:4px;font-size:12px}.session-card-driver{font-size:12px}.session-card-bottom{display:flex;gap:12px;font-size:12px;color:var(--text-muted);align-items:center}.session-card-best{font-family:Geist Mono,JetBrains Mono,monospace;color:var(--green)}.upload-session{display:flex;align-items:center}.compare-hint{font-size:12px;color:var(--text-secondary);margin-top:8px}.session-card.compare-mode{position:relative;padding-left:36px}.session-card.selected{border-color:var(--border-hover);background:#ffffff0a}.session-check{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid var(--border-hover);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-primary);transition:all .15s}.session-check.checked{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.compare-tabs{display:flex;align-items:center;gap:2px;padding:6px 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.compare-tab{font-family:inherit;font-size:12px;font-weight:500;padding:6px 16px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s}.compare-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.compare-tab.active{color:var(--text-primary);background:#ffffff14}.compare-channels{display:flex;gap:4px;margin-left:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin-bottom:8px}.sidebar-action{font-size:11px!important;padding:2px 8px!important}.lap-filter{display:flex;align-items:center;gap:6px;padding:6px 16px 8px;font-size:11px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);margin-bottom:4px}.lap-filter:hover{color:var(--text-secondary)}.lap-filter input[type=checkbox]{cursor:pointer;margin:0}.lap-filter.active .lap-filter-label{color:var(--text-primary);font-weight:500}.lap-filter-hint{margin-left:auto;font-size:10px;background:var(--bg-tertiary);color:var(--text-muted);padding:1px 6px;border-radius:3px;font-variant-numeric:tabular-nums}.driver-group{margin-bottom:8px}.driver-group-header{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:12px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.driver-color-bar{width:3px;height:14px;border-radius:2px;flex-shrink:0}.driver-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-group-car{font-size:10px;font-weight:400;color:var(--text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-group{margin-bottom:4px}.session-group-header{display:flex;align-items:center;gap:6px;padding:6px 16px;font-size:11px;color:var(--text-primary);background:var(--bg-tertiary);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.session-group-label{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-group-type{font-size:10px;font-weight:400;color:var(--text-muted)}.session-group-time{font-size:10px;font-weight:400;color:var(--text-muted);font-family:Geist Mono,JetBrains Mono,monospace}.session-remove-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:12px;padding:0 2px;line-height:1;opacity:.7;transition:opacity .15s}.session-remove-btn:hover{opacity:1;color:var(--red)}.sector-heatmap-wrapper{overflow-x:auto;padding:4px 8px 8px}.sector-heatmap{width:100%;border-collapse:collapse;font-size:12px}.sector-heatmap th,.sector-heatmap td{padding:8px 12px;text-align:center}.sector-th{font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.sector-th .driver-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.sector-label{font-weight:600;color:var(--text-primary);text-align:left!important;white-space:nowrap}.sector-range{display:block;font-size:10px;font-weight:400;color:var(--text-muted)}.sector-cell{border-radius:4px;font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px;position:relative}.sector-time{display:block}.sector-delta{display:block;font-size:10px;opacity:.8}.sector-total-row{border-top:2px solid var(--border)}.stint-stats-row{display:flex;gap:8px;padding:8px;overflow-x:auto}.stint-stat-card{flex:1;min-width:180px;background:var(--bg-tertiary);border-radius:6px;padding:10px 12px;border-left:3px solid var(--border-hover)}.stint-stat-name{font-size:13px;font-weight:600;color:var(--text-primary);display:block;margin-bottom:6px}.stint-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.stint-stat{display:flex;justify-content:space-between;align-items:baseline}.stint-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stint-stat-value{font-family:Geist Mono,JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary)}.stint-stat-value.best{color:var(--green)}.stint-stat-value.warn{color:var(--yellow)}.driver-dashboard{padding:4px}.dashboard-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-left:4px}.driver-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.driver-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;border-top:3px solid var(--border-hover);padding:16px}.driver-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.driver-card-name{font-size:15px;font-weight:600;color:var(--text-primary)}.fastest-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--green);background:#4ade801f;padding:2px 8px;border-radius:3px}.driver-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.driver-stat{display:flex;flex-direction:column;gap:1px}.driver-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.driver-stat-value{font-size:13px;color:var(--text-secondary)}.driver-stat-value.mono{font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px}.driver-stat-value.best{color:var(--green)}.driver-stat-value.warn{color:var(--yellow)}.driver-card-strength{padding:6px 0;border-top:1px solid var(--border);margin-bottom:6px}.strength-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.driver-card-rec{font-size:12px;color:var(--text-muted);line-height:1.4}.charts-panel-full{grid-column:1 / -1}.zoombox{fill:none!important;fill-opacity:0!important;stroke:#ffffff80!important;stroke-width:1!important}.zoombox-corners{fill:#fff9!important;stroke:#fff9!important}.profile-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:48px}.profile-empty-content{text-align:center;max-width:400px}.profile-empty-content h2{font-size:22px;font-weight:600;margin-bottom:8px;letter-spacing:-.02em}.profile-empty-content p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.profile-error{color:var(--red);font-size:13px;margin-top:12px}.profile-view{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px;width:100%}.profile-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.profile-identity{display:flex;align-items:center;gap:12px}.profile-identity h2{font-size:20px;font-weight:600;letter-spacing:-.02em}.profile-license-badge{font-size:12px;font-family:Geist Mono,JetBrains Mono,monospace;padding:3px 10px;border-radius:4px;border:1px solid;color:var(--text-primary);background:#ffffff0a}.iracing-linked{display:flex;align-items:center;gap:8px}.iracing-linked-name{font-size:12px;color:var(--text-secondary)}.career-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.career-stat-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.career-stat-value{font-size:20px;font-weight:600;font-family:Geist Mono,JetBrains Mono,monospace;color:var(--text-primary);letter-spacing:-.02em}.career-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.acc-drop-zone{border:2px dashed var(--border);border-radius:12px;padding:48px 32px;transition:border-color .2s}.acc-drop-zone:hover{border-color:var(--border-hover)}.acc-path-hint{font-size:12px!important;color:var(--text-muted)!important;margin-bottom:16px!important}.acc-path-hint code{font-family:Geist Mono,JetBrains Mono,monospace;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-size:11px}.acc-identity-row{display:flex;gap:16px;font-size:13px;color:var(--text-secondary)}.acc-identity-item{font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px}.acc-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.acc-section h3{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}.acc-toggle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.acc-toggle-item{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px 8px;border-radius:4px}.acc-toggle-item.on{color:var(--text-primary)}.acc-toggle-item.off{color:var(--text-muted);opacity:.5}.acc-toggle-value{font-family:Geist Mono,JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary);margin-left:auto}.acc-hardware-list{display:flex;flex-direction:column;gap:8px}.acc-hardware-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.acc-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.acc-section-header h3{margin-bottom:0}.acc-ratings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.acc-rating-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-tertiary);border-radius:6px}.acc-rating-value{font-size:28px;font-weight:600;font-family:Geist Mono,JetBrains Mono,monospace;color:var(--text-primary);letter-spacing:-.02em;line-height:1}.acc-rating-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.acc-rating-bar{width:100%;height:3px;background:#ffffff14;border-radius:2px;margin-top:4px;overflow:hidden}.acc-rating-bar-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s ease}.acc-ratings-hint{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.acc-ratings-edit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.acc-rating-input-group{display:flex;flex-direction:column;align-items:center;gap:4px}.acc-rating-input-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.acc-rating-input{width:100%;text-align:center;font-size:20px;font-weight:600;font-family:Geist Mono,JetBrains Mono,monospace;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);outline:none;transition:border-color .15s}.acc-rating-input:focus{border-color:var(--green)}.acc-rating-input::placeholder{color:var(--text-muted);opacity:.4}.acc-rating-input::-webkit-inner-spin-button,.acc-rating-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.acc-rating-input[type=number]{-moz-appearance:textfield}.acc-ratings-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.acc-hw-name{font-weight:500}.acc-hw-detail{font-family:Geist Mono,JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);padding:1px 6px;background:var(--bg-tertiary);border-radius:3px}.admin-periods{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.admin-period-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.admin-period-card h4{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}.admin-period-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.admin-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.admin-stat-value{font-size:18px;font-weight:600;font-family:Geist Mono,JetBrains Mono,monospace;color:var(--text-primary);letter-spacing:-.02em}.admin-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-chart{margin-top:8px}.admin-chart-summary{font-size:12px;color:var(--text-secondary);margin-bottom:8px;font-family:Geist Mono,JetBrains Mono,monospace}.admin-bar-chart{display:flex;align-items:flex-end;gap:2px;height:120px;padding-bottom:20px;position:relative}.admin-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.admin-bar{width:100%;min-height:2px;background:var(--green);border-radius:2px 2px 0 0;transition:height .2s ease}.admin-bar-stack{display:flex;flex-direction:column;width:100%;align-items:stretch;justify-content:flex-end;height:100%}.admin-bar-iracing{background:#3b82f6}.admin-bar-acc{background:#ef4444}.admin-bar-label{font-size:8px;color:var(--text-muted);position:absolute;bottom:-16px;white-space:nowrap}.admin-bar-col:not(:nth-child(5n)) .admin-bar-label{display:none}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:12px;font-family:Geist Mono,JetBrains Mono,monospace}.admin-table th{text-align:left;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 8px;border-bottom:1px solid var(--border)}.admin-table td{padding:6px 8px;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.03)}.admin-table tbody tr:hover td{background:#ffffff05}.admin-row-error td{color:var(--red)}.profile-chart-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.profile-chart-container h4{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.profile-chart-legend{display:flex;gap:16px;margin-bottom:8px}.profile-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary)}.profile-legend-dot{width:8px;height:8px;border-radius:50%}.personal-bests{display:flex;flex-direction:column;gap:8px}.personal-bests h4{font-size:12px;font-weight:500;color:var(--text-muted)}.personal-bests-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.personal-bests-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.personal-bests-table{width:100%;border-collapse:collapse;font-size:13px}.pb-th{font-size:11px;font-weight:500;color:var(--text-muted);text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);white-space:nowrap}.pb-th.sortable{cursor:pointer}.pb-th.sortable:hover{color:var(--text-primary)}.pb-th.mono{font-family:Geist Mono,JetBrains Mono,monospace;text-align:right}.pb-row{transition:background .15s}.pb-row:hover{background:var(--bg-tertiary)}.pb-cell{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.pb-cell.mono{font-family:Geist Mono,JetBrains Mono,monospace;text-align:right;color:var(--text-secondary)}.pb-cell.muted{color:var(--text-muted)}.recent-races{display:flex;flex-direction:column;gap:8px}.recent-races h4{font-size:12px;font-weight:500;color:var(--text-muted)}.recent-races-list{display:flex;flex-direction:column;gap:2px}.race-row{display:flex;align-items:center;gap:16px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;transition:border-color .15s}.race-row:hover{border-color:var(--border-hover)}.race-date{font-size:12px;color:var(--text-muted);min-width:52px;white-space:nowrap}.race-info{flex:1;min-width:0}.race-series{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-track-car{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-result{min-width:80px;text-align:center}.race-position{font-size:13px;font-family:Geist Mono,JetBrains Mono,monospace;color:var(--text-secondary)}.race-stats{display:flex;align-items:center;gap:8px;min-width:80px}.race-ir-delta{font-size:13px;font-family:Geist Mono,JetBrains Mono,monospace;font-weight:600}.race-ir-delta.gained{color:var(--green)}.race-ir-delta.lost{color:var(--red)}.race-incidents{font-size:11px;color:var(--yellow);background:#fbbf241a;padding:1px 5px;border-radius:3px}.race-sof{font-size:11px;color:var(--text-muted);min-width:70px;text-align:right;white-space:nowrap}.iracing-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:Geist Mono,JetBrains Mono,monospace;padding:2px 10px;border-radius:4px;border:1px solid;background:#ffffff0a;color:var(--text-primary)}.iracing-badge-license{font-weight:600}.iracing-badge-separator{color:var(--text-muted)}@media(max-width:768px){.app-header{grid-template-columns:auto 1fr auto;padding:8px 12px;gap:8px}.header-center{overflow-x:auto;justify-content:flex-start}.view-toggle{flex-shrink:0}.view-toggle-btn{padding:4px 10px;font-size:11px}.logo-mark{height:22px}.header-left{gap:8px}.header-right{gap:6px}.user-menu-trigger{font-size:11px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-switcher-btn .game-icon{height:24px}.session-bar{padding:6px 12px;gap:8px;font-size:12px}.analysis-layout{grid-template-columns:1fr}.sidebar{grid-column:1 / -1;border-right:none;border-bottom:1px solid var(--border);max-height:150px;padding:8px 0}.channel-selector{padding:8px 12px;gap:4px}.channel-selector-spacer{display:none}.charts-panel{padding:8px;gap:8px}.chart-container,.track-map-container{padding:8px 10px}.insights-chip{font-size:10px;padding:1px 6px}.turn-detail{width:240px;padding:8px}.track-map-summary{gap:4px}.session-browser{padding:12px}.session-browser-controls{flex-wrap:wrap}.scope-toggle,.session-search{width:100%}.session-filter-select{flex:1;min-width:0}.session-table-wrap{overflow-x:auto}.st-col-driver,.st-col-laps,.st-col-date{display:none}.session-row td{padding:7px 8px}.session-table th{padding:8px}.session-grid,.driver-cards-grid{grid-template-columns:1fr}.stint-stats-row{flex-direction:column}.compare-tabs{flex-wrap:wrap}.compare-channels{margin-left:0;width:100%;flex-wrap:wrap}.profile-view{padding:12px}.career-summary{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.profile-header,.profile-identity{flex-direction:column;align-items:flex-start}.race-row{flex-wrap:wrap;gap:8px}.race-sof{display:none}.landing-page{padding:24px 12px 48px}.landing-cards{grid-template-columns:1fr;max-width:400px}.landing-recent-info{flex-wrap:wrap;gap:4px 12px}.hub-page{padding:20px 16px 48px}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.track-detail{padding:16px 16px 48px}}.signup-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin:0 16px 8px}.signup-banner-text{flex:1;font-size:13px;color:var(--text-secondary)}.signup-banner-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.signup-banner-dismiss:hover{color:var(--text-primary)}.save-indicator{margin-left:12px;font-size:11px;display:inline-flex;align-items:center;gap:4px}.save-indicator--saving{color:var(--text-muted)}.save-indicator--saved{color:var(--green)}.save-indicator--error{color:var(--red);cursor:help}.upload-progress-bar-track{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:12px}.upload-progress-bar-fill{height:100%;background:var(--brand-accent);border-radius:3px;transition:width .3s ease}.upload-progress-status{font-size:13px;color:var(--text-secondary);margin:0}.upload-progress-errors{margin-top:12px;padding:8px 12px;background:#ef44441a;border-radius:6px}.upload-progress-error{font-size:12px;color:var(--red);margin:4px 0}.scope-toggle{display:flex;gap:2px;margin-bottom:12px}.scope-toggle-btn{font-family:inherit;font-size:13px;padding:6px 14px;background:none;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all .15s}.scope-toggle-btn:first-child{border-radius:6px 0 0 6px}.scope-toggle-btn:last-child{border-radius:0 6px 6px 0}.scope-toggle-btn:not(:first-child){margin-left:-1px}.scope-toggle-btn.active{background:var(--brand-accent);color:#0a0a0b;font-weight:600;border-color:var(--brand-accent);z-index:1;position:relative}.scope-toggle-btn:not(.active):hover{background:var(--bg-secondary);color:var(--text-primary)}.session-filter-select{font-family:inherit;font-size:13px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;max-width:200px}.session-filter-select:hover{border-color:var(--border-hover)}.auth-gate{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px}.auth-gate h3{font-size:18px;color:var(--text-primary);margin-bottom:8px}.auth-gate p{font-size:14px;color:var(--text-muted);margin-bottom:20px;max-width:400px}.auth-gate-actions{display:flex;gap:12px}.session-table-wrap{flex:1;overflow-y:auto}.session-table{width:100%;border-collapse:collapse;font-size:13px}.session-table thead{position:sticky;top:0;z-index:1}.session-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-primary);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.st-sortable{cursor:pointer}.st-sortable:hover{color:var(--text-primary)}.session-row{cursor:pointer;transition:background .1s}.session-row:hover{background:var(--bg-secondary)}.session-row.selected{background:#ffffff0a}.session-row.downloading{opacity:.6;cursor:wait}.session-row td{padding:7px 12px;border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-col-track{max-width:240px;font-weight:500}.st-config{color:var(--text-muted);font-weight:400}.st-col-sim{width:56px;text-align:left;white-space:nowrap}.st-sim-tag{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border);vertical-align:middle}.profile-tabs-wrapper{display:flex;flex-direction:column;min-height:0;flex:1}.profile-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--border);flex-shrink:0}.profile-tab{background:none;border:none;padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.profile-tab:hover{color:var(--text-primary)}.profile-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-accent)}.st-col-car{max-width:200px;color:var(--text-secondary)}.st-col-driver{max-width:160px}.st-col-best{font-family:Geist Mono,JetBrains Mono,monospace;color:var(--green)}.st-col-laps,.st-col-date{color:var(--text-muted)}.st-col-check{width:32px;text-align:center}.st-col-status{width:80px;text-align:right}.btn-row-delete{font-family:inherit;font-size:16px;line-height:1;color:var(--text-muted);background:transparent;border:none;border-radius:4px;padding:2px 6px;cursor:pointer;opacity:0;transition:all .15s}.session-row:hover .btn-row-delete{opacity:1}.btn-row-delete:hover{color:#f87171;background:#f871711a}.delete-confirm{display:inline-flex;gap:4px}.btn-delete-yes,.btn-delete-no{font-family:inherit;font-size:11px;padding:2px 8px;border-radius:4px;border:none;cursor:pointer;transition:all .15s}.btn-delete-yes{background:#f87171;color:#fff}.btn-delete-yes:hover{background:#ef4444}.btn-delete-no{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-delete-no:hover{color:var(--text-primary)}.session-row .session-check{position:static;transform:none;display:inline-flex}.st-col-delete-check{width:28px;padding-left:4px!important;padding-right:0!important;cursor:pointer}.st-col-delete-check .delete-check{opacity:0;transition:opacity .15s;width:18px;height:18px;font-size:12px}.session-row:hover .st-col-delete-check .delete-check,.st-col-delete-check .delete-check.checked{opacity:1}.session-row.delete-mode{cursor:pointer}.session-row.delete-mode .st-col-delete-check .delete-check{opacity:1}.session-row.delete-selected{background:#f871710f}
