.track-view{width:100%;height:100%;position:relative;cursor:grab}.track-view:active{cursor:grabbing}.track-view canvas{display:block}.track-view-hint{position:absolute;bottom:var(--spacing-sm);left:50%;transform:translate(-50%);font-size:var(--font-size-xs);color:var(--color-text-muted);background:#0006;padding:2px 10px;border-radius:10px;pointer-events:none;-webkit-user-select:none;user-select:none}.timeline{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-md);width:100%;height:100%;-webkit-user-select:none;user-select:none}.timeline-play{background:none;border:1px solid var(--color-border);border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:var(--color-text-primary);flex-shrink:0;transition:background .15s}.timeline-play:hover{background:var(--color-bg-hover)}.timeline-time{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:42px;text-align:center;flex-shrink:0}.timeline-track{flex:1;height:32px;background:var(--color-timeline-track);border-radius:4px;position:relative;cursor:pointer;overflow:hidden}.timeline-progress{position:absolute;top:0;left:0;height:100%;background:var(--color-timeline-progress);opacity:.2;pointer-events:none;border-radius:4px 0 0 4px}.timeline-cursor{position:absolute;top:0;width:2px;height:100%;background:var(--color-timeline-cursor);transform:translate(-1px);pointer-events:none;z-index:2}.timeline-marker{position:absolute;top:2px;width:3px;height:calc(100% - 4px);border-radius:1px;opacity:.7;pointer-events:none;z-index:1;transform:translate(-1px)}.detail{display:flex;flex-direction:column;height:100%;overflow-y:auto}.detail-section{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-subtle)}.section-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.section-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.event-detail-type{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.event-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.event-type-label{font-weight:700;font-size:var(--font-size-md);flex:1}.event-close{margin-left:auto;border:none;background:none;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .1s,background .1s}.event-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.event-severity{font-size:var(--font-size-xs);padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.event-severity[data-severity=high]{background:#ef444422;color:var(--color-event-cut)}.event-severity[data-severity=medium]{background:#f59e0b22;color:var(--color-event-excursion)}.event-severity[data-severity=low]{background:#22c55e22;color:var(--color-event-overtake)}.event-severity[data-severity=info]{background:#06b6d422;color:var(--color-event-pit)}.event-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.event-meta{display:flex;flex-direction:column;gap:3px}.meta-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.meta-label{color:var(--color-text-muted)}.meta-value{font-family:var(--font-mono);font-weight:500;color:var(--color-text-primary)}.layer-list{display:flex;flex-direction:column;gap:2px}.layer-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:4px 6px;border-radius:4px;cursor:pointer;font-size:var(--font-size-sm);transition:background .1s}.layer-toggle:hover{background:var(--color-bg-hover)}.layer-toggle input[type=checkbox]{accent-color:var(--color-timeline-progress);width:14px;height:14px}.layer-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.layer-label{flex:1;color:var(--color-text-primary)}.layer-count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:18px;text-align:right}.event-list{display:flex;flex-direction:column;gap:1px;max-height:200px;overflow-y:auto}.event-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:5px 6px;border:none;background:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);text-align:left;color:var(--color-text-primary);width:100%;transition:background .1s}.event-row:hover{background:var(--color-bg-hover)}.event-row.active{background:var(--color-bg-active)}.event-row-time{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:36px}.event-row-type{font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;min-width:50px}.event-row-desc{flex:1;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs)}.car-list{display:flex;flex-direction:column;gap:1px}.car-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:5px 6px;border:none;background:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:var(--font-size-sm);text-align:left;color:var(--color-text-primary);width:100%;transition:background .1s}.car-row:hover{background:var(--color-bg-hover)}.car-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.car-number{font-family:var(--font-mono);font-weight:700;font-size:var(--font-size-sm);min-width:36px}.car-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.car-position{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.feedback-form{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-verdicts{display:flex;gap:var(--spacing-xs)}.feedback-verdict{flex:1;padding:4px 0;border:1px solid var(--color-border);border-radius:4px;background:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all .1s}.feedback-verdict:hover{background:var(--color-bg-hover)}.feedback-verdict.active[data-verdict=agree]{background:#22c55e22;border-color:#22c55e;color:#22c55e}.feedback-verdict.active[data-verdict=disagree]{background:#ef444422;border-color:#ef4444;color:#ef4444}.feedback-verdict.active[data-verdict=unsure]{background:#f59e0b22;border-color:#f59e0b;color:#f59e0b}.feedback-comment{width:100%;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-xs);resize:vertical}.feedback-comment::placeholder{color:var(--color-text-muted)}.feedback-submit{padding:5px 12px;border:none;border-radius:4px;background:var(--color-timeline-progress);color:#fff;font-family:inherit;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:opacity .1s}.feedback-submit:hover:not(:disabled){opacity:.85}.feedback-submit:disabled{opacity:.4;cursor:default}.feedback-sent{margin-top:var(--spacing-sm);padding:6px 8px;border-radius:4px;background:#22c55e18;color:#22c55e;font-size:var(--font-size-xs);font-weight:600;text-align:center}.feedback-error{font-size:var(--font-size-xs);color:#ef4444}.detail-tabs{display:flex;border-bottom:1px solid var(--color-border-subtle)}.detail-tab{flex:1;padding:6px 0;border:none;background:none;font-family:inherit;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);cursor:pointer;transition:color .1s,border-color .1s;border-bottom:2px solid transparent}.detail-tab:hover{color:var(--color-text-secondary)}.detail-tab.active{color:var(--color-timeline-progress);border-bottom-color:var(--color-timeline-progress)}.feedback-review-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.feedback-refresh{padding:2px 8px;border:1px solid var(--color-border);border-radius:4px;background:none;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-xs);cursor:pointer}.feedback-refresh:hover:not(:disabled){background:var(--color-bg-hover)}.feedback-list{display:flex;flex-direction:column;gap:1px;max-height:400px;overflow-y:auto}.feedback-entry{display:flex;align-items:center;gap:var(--spacing-sm);padding:5px 6px;border:none;background:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);text-align:left;color:var(--color-text-primary);width:100%;transition:background .1s}.feedback-entry:hover{background:var(--color-bg-hover)}.feedback-verdict-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.feedback-entry-type{font-weight:600;text-transform:uppercase;min-width:50px}.feedback-entry-time{font-family:var(--font-mono);color:var(--color-text-muted);min-width:36px}.feedback-entry-verdict{font-weight:600;min-width:50px}.feedback-entry-comment{flex:1;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);gap:var(--spacing-md);-webkit-user-select:none;user-select:none}.header-left{display:flex;align-items:center}.header-home{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .1s;font-family:inherit}.header-home:hover{background:var(--color-bg-hover)}.header-logo{font-weight:800;font-size:var(--font-size-lg);letter-spacing:-.5px;color:var(--color-timeline-progress)}.header-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.header-center{flex:1;text-align:center}.header-session{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:var(--spacing-sm)}.header-track-name{font-weight:400;color:var(--color-text-secondary)}.badge-demo{display:inline-block;padding:1px 6px;font-size:var(--font-size-xs);font-weight:700;border-radius:4px;background:#f59e0b22;color:#f59e0b;vertical-align:middle}.badge-wet{display:inline-block;margin-left:var(--spacing-sm);padding:1px 6px;font-size:var(--font-size-xs);font-weight:700;border-radius:4px;background:#2563eb;color:#fff;vertical-align:middle}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.header-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.site-feedback-btn{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;cursor:pointer;font-family:inherit;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);transition:background .15s,color .15s}.site-feedback-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:16px;color:var(--color-text-secondary);transition:background .15s}.theme-toggle:hover{background:var(--color-bg-hover)}.track-selector{background:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:capitalize}.track-selector:focus{outline:2px solid var(--color-timeline-progress);outline-offset:1px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem;width:380px;max-width:90vw;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.modal-title{font-weight:700;font-size:var(--font-size-md);color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:18px;color:var(--color-text-muted);cursor:pointer;padding:0 4px;border-radius:4px}.modal-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.modal-textarea{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);resize:vertical}.modal-textarea::placeholder{color:var(--color-text-muted)}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.75rem}.modal-submit{padding:6px 16px;border:none;border-radius:6px;background:var(--color-timeline-progress);color:#fff;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.modal-submit:hover:not(:disabled){opacity:.85}.modal-submit:disabled{opacity:.4;cursor:default}.modal-error{font-size:var(--font-size-xs);color:#ef4444}.modal-sent{text-align:center;color:#22c55e;font-weight:600;padding:1rem 0}.session-browser{background:var(--color-bg-panel);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;width:220px;height:100%;flex-shrink:0}.session-browser.collapsed{width:32px;align-items:center}.sb-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.sb-title{font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);flex:1}.sb-count{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-muted)}.sb-collapse,.sb-expand{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:12px;padding:2px 4px;border-radius:4px;transition:color .1s,background .1s}.sb-collapse:hover,.sb-expand:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.sb-expand{margin-top:8px}.sb-expand-icon{font-size:11px}.sb-tree{flex:1;overflow-y:auto;padding:4px 0}.sb-node{display:flex;align-items:center;gap:4px;width:100%;padding:4px 8px;border:none;background:none;font-family:inherit;font-size:var(--font-size-sm);text-align:left;color:var(--color-text-primary);cursor:pointer;border-radius:0;transition:background .08s}.sb-node:hover{background:var(--color-bg-hover)}.sb-chevron{font-size:10px;color:var(--color-text-muted);transition:transform .12s;width:12px;text-align:center;flex-shrink:0}.sb-chevron.open{transform:rotate(90deg)}.sb-season-node{font-weight:700;padding-left:8px}.sb-season-label{font-size:var(--font-size-sm)}.sb-div-node{padding-left:20px;font-weight:600;color:var(--color-text-secondary)}.sb-div-label{font-size:var(--font-size-sm)}.sb-race-node{padding-left:36px;gap:6px}.sb-race-node.active{background:var(--color-bg-active);font-weight:600}.sb-race-event{font-family:var(--font-mono);font-weight:700;font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:22px}.sb-race-track{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.sb-badge{font-size:var(--font-size-xs);font-family:var(--font-mono);color:var(--color-text-muted);margin-left:auto}.sb-tree-grow{flex:1}.sb-user{display:flex;align-items:center;gap:var(--spacing-sm);padding:10px;border-top:1px solid var(--color-border-subtle);cursor:pointer;transition:background .1s;flex-shrink:0}.sb-user:hover{background:var(--color-bg-hover)}.sb-avatar-placeholder{width:28px;height:28px;border-radius:50%;background:var(--color-bg-hover);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-muted);flex-shrink:0}.sb-user-info{display:flex;flex-direction:column;min-width:0}.sb-user-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.sb-user-role{font-size:var(--font-size-xs);color:var(--color-text-muted)}.session-browser.collapsed{justify-content:space-between}.sb-user-collapsed{margin-bottom:8px;cursor:pointer}.sb-user-collapsed .sb-avatar-placeholder{width:24px;height:24px;font-size:var(--font-size-xs)}.sb-avatar-img{width:28px;height:28px;border-radius:50%;flex-shrink:0}.sb-avatar-img-sm{width:24px;height:24px;border-radius:50%}.sb-login{text-decoration:none;color:inherit}.sb-logout{text-decoration:none;cursor:pointer}.sb-logout:hover{color:var(--color-text-primary)}.landing{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);display:flex;flex-direction:column;overflow-y:auto}.landing-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem 0}.landing-brand{max-width:600px}.landing-title{font-size:1.75rem;font-weight:800;letter-spacing:-.5px;color:var(--color-text-primary);margin-bottom:.35rem}.landing-accent{color:var(--color-timeline-progress)}.landing-subtitle{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.landing-actions{display:flex;align-items:center;gap:.75rem;align-self:flex-start}.landing-signin{padding:6px 14px;border:1px solid var(--color-border);border-radius:6px;background:#5865f2;color:#fff;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:none;transition:opacity .15s}.landing-signin:hover{opacity:.85}.landing-user{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-text-primary)}.landing-avatar{width:24px;height:24px;border-radius:50%}.landing-theme{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 8px;cursor:pointer;font-size:16px;color:var(--color-text-secondary);transition:background .15s}.landing-theme:hover{background:var(--color-bg-hover)}.landing-stats{display:flex;gap:2rem;padding:1.5rem 3rem}.stat{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:800;font-family:var(--font-mono);color:var(--color-text-primary)}.stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted)}.landing-content{flex:1;padding:0 3rem 3rem}.landing-season{margin-bottom:2rem}.landing-season-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-muted);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-subtle)}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.session-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}.session-card:hover{border-color:var(--color-timeline-progress);transform:translateY(-2px);box-shadow:var(--shadow-md)}.session-card-thumb{height:100px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary)}.session-card-img{width:100%;height:100%;object-fit:contain;padding:8px;opacity:.7;transition:opacity .15s}.session-card:hover .session-card-img{opacity:1}[data-theme=dark] .session-card-img{filter:invert(1) hue-rotate(180deg);opacity:.5}[data-theme=dark] .session-card:hover .session-card-img{opacity:.8}.session-card-body{padding:.75rem 1rem}.session-card-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.session-card-event{font-family:var(--font-mono);font-weight:800;font-size:.8rem;color:var(--color-text-muted)}.session-card-track{font-weight:700;font-size:.95rem;color:var(--color-text-primary)}.session-card-divs{display:flex;gap:.35rem;flex-wrap:wrap}.session-card-div{padding:3px 10px;border:1px solid var(--color-border);border-radius:4px;background:none;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:.7rem;font-weight:700;cursor:pointer;transition:all .1s}.session-card-div:hover{background:var(--color-timeline-progress);border-color:var(--color-timeline-progress);color:#fff}.landing-empty{color:var(--color-text-muted);font-size:.9rem;padding:3rem 0;text-align:center}.landing-empty code{font-family:var(--font-mono);background:var(--color-bg-secondary);padding:2px 6px;border-radius:4px;font-size:.85rem}.landing-footer{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 3rem;border-top:1px solid var(--color-border-subtle)}.landing-credit{font-size:.75rem;color:var(--color-text-muted)}.landing-link{font-size:.75rem;color:var(--color-text-muted);text-decoration:none;transition:color .1s}.landing-link:hover{color:var(--color-timeline-progress)}.app-layout{display:grid;grid-template-rows:48px 1fr 80px;grid-template-columns:auto 1fr 340px;height:100vh;width:100vw;background:var(--color-bg-primary);overflow:hidden}.app-header{grid-column:1 / -1}.app-sidebar{grid-row:2 / 4;grid-column:1}.track-panel{grid-row:2;grid-column:2;background:var(--color-bg-canvas);position:relative;overflow:hidden}.detail-panel{grid-row:2;grid-column:3;background:var(--color-bg-panel);border-left:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden}.timeline-panel{grid-row:3;grid-column:2 / 4;background:var(--color-timeline-bg);border-top:1px solid var(--color-border);display:flex;align-items:center}.track-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-lg)}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f4f5f7;--color-bg-canvas: #e8eaed;--color-bg-panel: #ffffff;--color-bg-hover: #e8eaed;--color-bg-active: #d2e3fc;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-text-on-canvas: #e0e0e0;--color-border: #e5e7eb;--color-border-subtle: #f0f0f0;--color-track-surface: #c8ccd4;--color-track-boundary: #9098a8;--color-track-centreline: #a0a8b8;--color-text-on-canvas: #374151;--color-car-default: #3b82f6;--color-car-selected: #d97706;--color-event-cut: #ef4444;--color-event-excursion: #f59e0b;--color-event-contact: #ec4899;--color-event-spin: #a855f7;--color-event-overtake: #22c55e;--color-event-pit: #06b6d4;--color-event-solo: #f97316;--color-timeline-bg: #f4f5f7;--color-timeline-track: #d1d5db;--color-timeline-progress: #3b82f6;--color-timeline-cursor: #1d4ed8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--panel-radius: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px}[data-theme=dark]{--color-bg-primary: #0f1117;--color-bg-secondary: #1a1d27;--color-bg-canvas: #0d0d1a;--color-bg-panel: #161822;--color-bg-hover: #252836;--color-bg-active: #2a3a5c;--color-text-primary: #e5e7eb;--color-text-secondary: #9ca3af;--color-text-muted: #6b7280;--color-border: #2d3040;--color-border-subtle: #222533;--color-track-surface: #2d2d44;--color-track-boundary: #4a4a6a;--color-track-centreline: #555577;--color-text-on-canvas: #e0e0e0;--color-car-default: #60a5fa;--color-car-selected: #facc15;--color-timeline-bg: #1a1d27;--color-timeline-track: #2d3040;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
