:root{font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#e7e8eb;background:#121418;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: #1b1f26;--surface-strong: #20252d;--border: rgba(255, 255, 255, .08);--text-muted: #9ca3af;--accent: #d5d7dd;--accent-soft: #2a2d35;--shadow: 0 10px 24px rgba(0, 0, 0, .18);--state-info: #60a5fa;--state-info-strong: #2563eb;--state-info-bg: rgba(37, 99, 235, .18);--state-success: #86efac;--state-success-strong: #22c55e;--state-success-bg: rgba(21, 128, 61, .2);--state-warning: #fde68a;--state-warning-strong: #facc15;--state-warning-bg: rgba(161, 98, 7, .2);--state-danger: #fda4af;--state-danger-strong: #ef4444;--state-danger-bg: rgba(127, 29, 29, .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#121418}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}#app{min-height:100vh}.app-shell{max-width:1120px;margin:0 auto;padding:32px 20px 48px}.header-topbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:-2px}.app-header{display:grid;gap:12px;margin-bottom:32px;padding:20px 24px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.header-top-row{display:flex;align-items:stretch;justify-content:space-between;gap:24px}.header-left{display:block}.brand{display:flex;align-items:center;gap:14px;transition:transform .16s ease,opacity .16s ease}.brand:hover{transform:translateY(-1px);opacity:.96}.brand-mark{width:52px;height:52px;border-radius:16px;flex:0 0 auto}.app-header h1{font-size:clamp(2rem,4vw,3.25rem);line-height:.95}.eyebrow{margin-bottom:8px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.main-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.auth-nav-row{justify-content:flex-start}.language-switcher-inline{display:flex;gap:8px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.language-flag-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;font-size:.92rem;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease;opacity:.76}.language-flag-button:hover{transform:translateY(-1px) scale(1.03);opacity:1}.language-flag-button-active{background:#ffffff0f;opacity:1}.main-nav a{padding:8px 12px;border-radius:999px;color:var(--text-muted);background:#1e2229;transition:background-color .16s ease,color .16s ease,transform .16s ease}.main-nav a:hover,.main-nav a.router-link-active{color:var(--accent);background:#2a3039;transform:translateY(-1px)}.nav-action-button{padding:10px 16px;border-radius:999px;background:#1e2229;color:var(--text-muted);font:inherit;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.nav-action-button:hover{color:var(--accent);background:#2a3039;transform:translateY(-1px)}.header-controls{display:flex;justify-content:flex-end;align-items:flex-end;min-width:0}.header-team-name{font-size:.98rem;font-weight:700;color:#f3f4f6;white-space:nowrap}.logout-link{padding:0;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;white-space:nowrap}.logout-link:hover{color:var(--accent)}.team-pill-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.team-pill-subtitle{color:var(--text-muted);font-size:.82rem}.app-content{padding:8px 0}.global-tabs,.race-tabs{display:flex;flex-wrap:nowrap;gap:14px;align-items:center}.header-nav-row{justify-content:flex-end;max-width:100%;overflow-x:auto;padding-bottom:2px}.global-tabs{justify-content:flex-start}.race-tabs{justify-content:flex-end}.current-race-label{margin-left:40px;color:#f3f4f6;font-size:.92rem;font-weight:700;white-space:nowrap}.global-tabs a,.race-tabs a{padding:4px 0;color:var(--text-muted);background:transparent;border:none;border-bottom:1px solid transparent;font-size:.92rem;font-weight:600;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.global-tabs a:hover,.global-tabs a.router-link-active,.race-tabs a:hover,.race-tabs a.router-link-active{color:var(--accent);border-color:#f07b2d80}.view{display:grid;gap:20px}.view-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.view-heading h2{font-size:clamp(1.8rem,3vw,2.5rem)}.race-title-block{min-width:0;flex:1 1 auto}.race-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.race-title-main{display:flex;align-items:center;gap:12px;min-width:0}.race-reset-button{margin-left:auto;flex:0 0 auto}.race-description{max-width:none}.view-copy{max-width:72ch;color:var(--text-muted)}.quote-rotator{min-height:168px;width:100%}.quote-card{display:grid;grid-template-rows:1fr auto;align-content:stretch;gap:10px;width:100%;min-height:168px;padding:18px 20px;border:1px solid rgba(255,255,255,.06);border-radius:22px;background:#ffffff08;margin:0}.quote-card blockquote{font-size:1.03rem;line-height:1.65;color:#edf0f4}.quote-card figcaption{align-self:end;justify-self:end;text-align:right;color:var(--text-muted);font-size:.95rem}.quote-fade-enter-active,.quote-fade-leave-active{transition:opacity .42s ease,transform .42s ease}.quote-fade-enter-from,.quote-fade-leave-to{opacity:0;transform:translateY(8px)}.metric-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700}.metric-pill-live{background:var(--state-success-bg);color:var(--state-success);border:1px solid rgba(74,222,128,.28)}.race-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.race-start-control{display:inline-flex;align-items:center;gap:12px;color:var(--text-muted);font-size:.92rem;font-weight:600;letter-spacing:.01em}.race-start-control>span{white-space:nowrap;flex:0 0 auto}.race-start-input{min-width:110px;padding:11px 14px;border:none;border-radius:12px;background:#243042;color:#f3f4f6;font:inherit;font-weight:600}.start-race-button{padding:14px 24px;border:none;border-radius:16px;background:#df6a2e;color:#fff8f2;font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 28px #00000038}.start-race-button:hover{transform:translateY(-1px) scale(1.01);background:#ea7a34;box-shadow:0 14px 30px #0000003d}.start-race-button:focus-visible{outline:3px solid rgba(240,123,45,.28);outline-offset:3px}.start-race-button-disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.card-grid,.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card,.stat-card{padding:20px;border-radius:22px;background:var(--surface-strong);box-shadow:var(--shadow)}.stat-card{display:grid;grid-template-rows:auto 1fr;align-content:stretch}.stats-grid .stat-card{justify-items:stretch;min-height:140px}.stats-grid .stat-card .card-label{width:100%;text-align:left;align-self:start;font-size:.68rem}.stats-grid .stat-card>:not(.card-label){align-self:center;justify-self:center;text-align:center}.stats-grid .stat-card .stat-card-support{align-self:end;justify-self:center;color:var(--text-muted);font-size:.95rem}.stats-grid .stat-card .stat-card-runner-highlight{color:#f3f4f6;font-size:1rem;font-weight:800}.stats-grid .stat-card .stat-card-support-tight{align-self:start;margin-top:-6px}.stats-grid .stat-card .projection-delta{align-self:end;margin-top:8px}.stats-grid .stat-card .prediction-delta-inline{align-self:center;justify-self:center;margin-top:6px;margin-bottom:2px;font-size:.92rem;font-weight:700}.stats-grid .stat-card .prediction-delta-inline.projection-delta-faster{color:var(--state-success-strong)}.stats-grid .stat-card .prediction-delta-inline.projection-delta-slower{color:var(--state-danger)}.stats-grid .stat-card .stat-card-single-line{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-grid .stat-card .stat-card-cta-single-line{width:100%;font-size:.88rem;white-space:normal;overflow-wrap:anywhere}.race-detail-stats,.race-detail-stats-started{grid-template-columns:repeat(6,minmax(0,1fr))}.stat-card-link{color:inherit;position:relative;background:#f07b2d14;box-shadow:0 12px 24px #0000002e;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.stat-card-link:hover{transform:translateY(-1px);background:#f07b2d1f;box-shadow:0 14px 26px #0003}.stat-card-link:focus-visible{outline:3px solid rgba(240,123,45,.28);outline-offset:3px}.card{display:grid;gap:10px}.readiness-card{text-align:left;cursor:pointer}.readiness-card-featured{grid-column:span 2;min-height:180px}.readiness-card-ready{background:#203126}.readiness-card-ready .card-label,.readiness-card-ready h3{color:var(--state-success)}.readiness-card-ready .readiness-card-active-segment{color:#f0fdf4;font-weight:900}.readiness-card-not-ready{background:#351f24}.readiness-card-not-ready .card-label,.readiness-card-not-ready h3{color:var(--state-danger)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.collapsible-toggle{display:flex;align-items:center;gap:10px;width:100%;position:relative;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.collapsible-toggle-collapsed:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;transform:translateY(-50%);background:#94a3b838}.collapsible-toggle-collapsed-title{justify-content:flex-end}.collapsible-toggle-collapsed-label{position:absolute;top:50%;left:50%;z-index:1;padding:0 10px;transform:translate(-50%,-50%);background:#101115;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#9ca3afb8;white-space:nowrap}.collapsible-toggle-inline-label{position:static;top:auto;left:auto;z-index:auto;padding:0;transform:none;background:transparent}.collapsible-chevron{display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1;margin-left:auto;color:var(--text-muted);transition:transform .16s ease}.collapsible-chevron svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.collapsible-chevron-collapsed{transform:rotate(-90deg)}.section-heading h3{margin:0;font-size:1rem;font-weight:700;color:#d1d5db}.timeline-controls{display:flex;justify-content:flex-end}.card-label{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.stat-card h3,.card h3{font-size:1.35rem}.prediction-card h3{font-size:1.12rem;line-height:1.1;max-width:100%;white-space:normal;overflow-wrap:anywhere}strong{color:#f3f4f6}.timeline-section{display:grid;gap:16px}.runner-watch-panel{display:grid;gap:18px;padding:22px 24px;border-radius:24px;background:#232731;box-shadow:var(--shadow)}.runner-watch-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.runner-watch-heading{display:grid;gap:6px}.runner-watch-heading h3{font-size:1.65rem}.runner-watch-track-shell{display:grid;gap:12px}.runner-watch-track-shell-mobile{display:none}.runner-watch-track{position:relative;display:flex;align-items:stretch;gap:8px;min-height:116px;padding:18px 0 0}.runner-watch-marker{position:absolute;top:0;bottom:0;width:2px;border-radius:999px;background:var(--state-info);box-shadow:0 0 0 4px #60a5fa1f;transform:translate(-1px);pointer-events:none}.runner-watch-marker:before{content:"";position:absolute;top:-2px;left:50%;width:10px;height:10px;border-radius:999px;background:var(--state-info);transform:translate(-50%)}.runner-watch-phase{position:relative;display:grid;align-content:start;gap:4px;min-width:88px;padding:12px 12px 14px;border-radius:16px}.runner-watch-phase-rest{background:#747b8b29}.runner-watch-phase-run{background:#60a5fa29}.runner-watch-phase-active{box-shadow:inset 0 0 0 2px #60a5fa4d}.runner-watch-phase-label{font-size:.92rem;font-weight:800;line-height:1.25;color:#f3f4f6}.runner-watch-phase strong{font-size:.92rem}.runner-watch-phase small{color:var(--text-muted)}.runner-watch-list{position:relative;display:grid;gap:8px;padding-left:22px}.runner-watch-list:before{content:"";position:absolute;top:8px;bottom:8px;left:8px;width:2px;border-radius:999px;background:#ffffff1f}.runner-watch-line{position:relative;display:flex;align-items:center;gap:8px;color:#f3f4f6;font-size:.95rem;line-height:1.45;padding:10px 12px;border-radius:14px}.runner-watch-line-text{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1 1 auto;white-space:normal;overflow-wrap:anywhere}.runner-watch-line-label{font-weight:700}.runner-watch-line-meta{color:var(--text-muted);margin-left:auto;text-align:right}.runner-watch-line-bullet{position:absolute;top:50%;left:-20px;width:10px;height:10px;border-radius:999px;transform:translateY(-50%);background:#7c8597}.runner-watch-line-rest{background:#747b8b24}.runner-watch-line-rest .runner-watch-line-bullet{background:#9ca3af}.runner-watch-line-run{background:#60a5fa24}.runner-watch-line-run .runner-watch-line-bullet{background:#60a5fa}.runner-watch-line-active{box-shadow:inset 0 0 0 2px #60a5fa38}.runner-watch-line-active .runner-watch-line-bullet{background:var(--state-info);width:14px;height:14px;left:-22px;box-shadow:0 0 0 4px #60a5fa24}.runner-watch-line-completed{background:#94a3b814;color:#9ca3af}.runner-watch-line-completed .runner-watch-line-text{text-decoration:line-through}.runner-watch-line-completed .runner-watch-line-bullet{background:#6b7280}.runner-watch-line-check{flex:0 0 auto;color:var(--state-success);font-size:1rem;font-weight:900}.timeline-list{display:grid;gap:14px;position:relative}.timeline-list-enter-active,.timeline-list-leave-active{transition:transform .5s cubic-bezier(.22,1,.36,1)}.timeline-list-enter-from,.timeline-list-leave-to{transform:translateY(-24px)}.timeline-list-leave-active{position:absolute;left:0;right:0}.timeline-list-move{transition:transform .5s cubic-bezier(.22,1,.36,1)}.timeline-card{position:relative;display:grid;gap:10px;padding:20px 20px 20px 28px;border-radius:22px;background:var(--surface-strong);box-shadow:var(--shadow);will-change:transform}.timeline-card:before{content:"";position:absolute;top:18px;bottom:18px;left:12px;width:4px;border-radius:999px;background:#5b616f}.timeline-card-unassigned{background:#352126}.timeline-card-unassigned:before{background:var(--state-danger-strong)}.timeline-card-missing-actual{background:#3a2022}.timeline-card-missing-actual:before{background:#ef4444}.timeline-card-active{background:#1f2c3d}.timeline-topline,.timeline-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px}.timeline-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.timeline-primary{display:grid;gap:10px}.timeline-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 10px}.timeline-segment-stats{display:flex;flex-wrap:wrap;gap:6px}.runner-segment-stats{margin-top:2px}.timeline-stat-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;color:#0f1115;font-size:.92rem;font-weight:700}.timeline-stat-chip-difficulty{background:#ffe082}.timeline-stat-chip-distance{background:#cfe8ff}.timeline-stat-chip-elevation{background:#ffc9c9}.timeline-finish-tools{display:flex;align-items:center;gap:8px}.timeline-time{font-weight:700;color:#f3f4f6}.timeline-timebox{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;min-width:240px}.timeline-time-strong{font-size:1.4rem;line-height:1.1}.timeline-time-muted{color:var(--text-muted)}.timeline-runner{font-size:1.25rem;font-weight:800;color:#f8fafc}.timeline-runner-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.finish-toggle-button{justify-self:end;padding:10px 14px;border-radius:12px;border:none;background:#f07b2d1f;color:#ffedd5;font:inherit;font-weight:700;box-shadow:0 6px 16px #00000024}.finish-toggle-button:hover{background:#f07b2d2e}.runner-toggle-button{padding:8px 12px;border-radius:999px;border:none;background:#f07b2d1a;color:#ffedd5;font:inherit;font-weight:700}.runner-toggle-button:hover{background:#f07b2d29}.watch-toggle-button{padding:8px 12px;border-radius:999px;border:none;background:#f07b2d14;color:#ffedd5;font:inherit;font-weight:700}.watch-toggle-button:hover{background:#f07b2d24}.icon-only-button{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;padding:0}.icon-only-button-active{border:none;background:#2563eb33;color:#dbeafe}.icon-only-button-lock-active{background:#dc26262e;color:#fecaca}.button-icon{display:inline-flex;width:18px;height:18px}.button-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toggle-completed-button{padding:10px 14px;border-radius:12px;border:none;background:#f07b2d1a;color:#ffedd5;font:inherit;font-weight:700}.toggle-completed-button-muted{padding:8px 12px;border:none;background:#ffffff08;color:var(--text-muted);font-weight:600}.finish-save-button{padding:10px 14px;border-radius:12px;border:none;background:#f07b2d24;color:#fff7ed;font:inherit;font-weight:700;box-shadow:0 6px 16px #00000024}.finish-cancel-button{padding:10px 14px;border-radius:12px;border:none;background:#3d2a1d61;color:#fed7aa;font:inherit;font-weight:700}.finish-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;display:grid;gap:12px;width:min(360px,calc(100vw - 32px));max-height:min(80vh,720px);overflow:auto;padding:18px;border-radius:20px;background:#1b1f26;box-shadow:0 24px 40px #00000061}.finish-toast input,.finish-toast select{width:100%;padding:10px 12px;border:none;border-radius:12px;background:#151920;color:#f3f4f6;font:inherit}.finish-toast textarea{width:100%;min-height:96px;padding:10px 12px;border:none;border-radius:12px;background:#151920;color:#f3f4f6;font:inherit;resize:vertical}.finish-toast-actions{display:flex;justify-content:flex-end;gap:10px}.summary-inline{color:var(--text-muted)}.race-picker-description{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;text-overflow:ellipsis;overflow-wrap:anywhere}.runner-password-error{color:#fb7185;font-weight:700}.projection-delta-faster{color:#4ade80;font-weight:700}.projection-delta-slower{color:#fb7185;font-weight:700}.timeline-meta{color:var(--text-muted);font-size:.95rem}.timeline-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline-note{margin:16px 0 0;padding:14px 16px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172a7a}.timeline-note p:last-child{margin:4px 0 0;color:#f8fafc;line-height:1.55;white-space:pre-wrap}.timeline-result-card{display:grid;gap:6px;padding:14px 16px;border-radius:16px}.timeline-result-card-estimated{background:#252831}.timeline-result-card-actual{background:#20242c}.timeline-result-value{font-size:1.1rem;font-weight:800;color:#f8fafc}.runner-stat-block{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#252831}.top-runner-list{display:grid;gap:8px;width:100%}.top-runner-row{margin:0;color:var(--text-muted);font-size:.74rem;line-height:1.25}.top-runner-row span{min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.top-runner-row-rank-1 span{color:#f6d365}.top-runner-row-rank-2 span{color:#cbd5e1}.top-runner-row-rank-3 span{color:#d6a06d}.runner-segment-labels{display:grid;gap:4px}.auth-view{max-width:620px}.auth-card{display:grid;gap:16px;padding:24px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.auth-field{display:grid;gap:8px}.auth-field span,.auth-field small{color:var(--text-muted)}.auth-field input{width:100%;padding:12px 14px;border:none;border-radius:14px;background:#151920;color:#f3f4f6;font:inherit}.auth-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.auth-error{color:var(--state-danger);font-weight:700}.auth-success{color:var(--state-success);font-weight:700}.auth-link{color:#dbe4f0}.destructive-button{color:#fca5a5;border-color:#f8717133}.inline-link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.race-picker-card,.empty-state-card,.template-card{display:grid;gap:10px}.race-picker-card{position:relative;border-width:2px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.race-picker-card:hover{transform:translateY(-1px);background:#ffffff0d}.race-picker-card:focus-visible{outline:3px solid rgba(96,165,250,.35);outline-offset:3px}.race-picker-card-finished{background:#232731}.race-picker-card-ready{background:#a1620729}.race-picker-card-draft{background:#7f1d1d29}.race-picker-card-live{background:#15803d29}.race-picker-card-problem{background:#7f1d1d33}.race-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.add-runner-card{align-content:center;justify-items:center;min-height:220px;border:none;background:#232731;color:inherit;font:inherit;cursor:pointer}.add-runner-plus{font-size:4rem;line-height:1;color:var(--accent)}.race-picker-topline{display:flex;align-items:flex-start;gap:12px}.race-picker-content{min-width:0;width:100%;padding-right:108px}.race-picker-actions-floating{position:absolute;top:18px;right:18px;z-index:1}.race-status-pill{display:inline-flex;align-items:center;width:fit-content;margin-top:8px;padding:4px 9px;border-radius:999px;background:#ffffff0f;color:#e5e7eb;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.race-picker-card-ready .race-status-pill{background:#a1620729;color:#fef3c7}.race-picker-card-draft .race-status-pill,.race-picker-card-problem .race-status-pill{background:#7f1d1d29;color:#fecdd3}.race-picker-card-live .race-status-pill{background:#15803d29;color:#dcfce7}.race-picker-card-finished .race-status-pill{background:#4755692e;color:#cbd5e1}.race-picker-actions{display:flex;gap:10px;flex-wrap:wrap}.card-top-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.icon-action-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:999px;background:#f07b2d14;color:#fdba74;font:inherit;cursor:pointer}.icon-action-button:hover{background:#f07b2d24}.destructive-icon-button{color:#fda4af;background:#7f1d1d33}.runner-card{gap:8px;padding:16px 18px}.runner-card-actions{display:inline-flex;align-items:center;gap:8px}.runner-delete-button{border:none;background:#24272f;color:#cbd5e1}.runner-delete-button:hover{background:#2a2d35;color:#f3f4f6}.runner-card-metrics{color:#f3f4f6;font-size:1rem;font-weight:700;line-height:1.35}.runner-card-metrics-detail{color:var(--text-muted);font-weight:600}.create-race-view{max-width:840px}.mode-toggle{display:flex;gap:10px;flex-wrap:wrap}.mode-toggle-button{padding:10px 14px;border:none;border-radius:999px;background:#f07b2d14;color:#fdba74;font:inherit;cursor:pointer}.mode-toggle-button-active{background:#f07b2d2e;color:#fff7ed}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.template-card{display:grid;grid-template-rows:auto auto 1fr auto;align-items:start;gap:8px;padding:18px;border-radius:18px;background:#232731;color:inherit;text-align:left;cursor:pointer;position:relative;min-height:150px;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.template-card span{color:var(--text-muted)}.template-card:hover{transform:translateY(-1px);background:#282d36}.template-card:focus-visible{outline:3px solid rgba(96,165,250,.28);outline-offset:3px}.template-card-start{align-self:end;justify-self:end;margin-top:10px;text-align:right;font-size:.9rem;white-space:nowrap;line-height:1.2;max-width:100%}.template-card-check{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#1e40af73;color:#dbeafe;font-size:1rem;font-weight:900;box-shadow:0 0 0 1px #60a5fa24}.template-card-active{background:#1e40af2e;box-shadow:0 16px 32px #0000002e}.template-card-active strong,.template-card-active .template-card-start,.template-card-active .template-card-check{color:#dbeafe}.template-card-active span{color:#dbeafed1}.skeleton-card{min-height:160px;align-content:start}.skeleton-line{height:14px;border-radius:999px;background:#ffffff14;animation:skeleton-shift 1.4s ease-in-out infinite}.skeleton-line-title{width:62%;height:24px}.skeleton-line-short{width:42%}@keyframes skeleton-shift{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-textarea{width:100%;padding:12px 14px;border:none;border-radius:14px;background:#151920;color:#f3f4f6;font:inherit;resize:vertical}.assignment-view{gap:24px}.assignment-stats-grid{align-items:stretch}.assignment-status-card-missing{background:#351f24}.assignment-status-card-missing .card-label,.assignment-status-card-missing h3{color:var(--state-danger)}.assignment-status-card-uneven{background:#342c17}.assignment-status-card-uneven .card-label,.assignment-status-card-uneven h3{color:var(--state-warning)}.assignment-status-card-ready{background:#203126}.assignment-status-card-ready .card-label,.assignment-status-card-ready h3{color:var(--state-success)}.assignment-workspace{display:grid;grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:20px;align-items:start}.assignment-sidebar{position:sticky;top:20px}.assignment-main{min-width:0}.assignment-main-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.assignment-pending-banner{background:#342c17;grid-template-columns:minmax(0,1fr) auto;align-items:center}.assignment-pending-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.assignment-rotations-scroll{overflow-x:auto;padding-bottom:6px}.assignment-runner-rail{display:grid;grid-template-columns:1fr;gap:10px}.assignment-runner-card{display:grid;gap:5px;padding:9px 11px;border-radius:14px;background:#1b1e24;color:inherit;text-align:left;font:inherit;cursor:pointer;box-shadow:var(--shadow);transition:transform .16s ease,background-color .16s ease}.assignment-runner-card:hover{transform:translateY(-1px);background:#232731}.assignment-runner-card-active{background:#2563eb38;box-shadow:var(--shadow)}.assignment-runner-card-dirty{box-shadow:inset 0 0 0 2px #facc1538,var(--shadow)}.assignment-runner-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.assignment-runner-card-actions{display:inline-flex;align-items:center;gap:6px}.assignment-runner-dirty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#facc152e;color:#fde68a;font-size:.76rem;font-weight:800}.assignment-runner-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#ffffff0f;color:#f3f4f6;font:inherit;font-weight:800;cursor:pointer}.assignment-runner-confirm{color:#86efac;background:#15803d2e}.assignment-runner-cancel{color:#fda4af;background:#7f1d1d33}.assignment-runner-card-header h3{font-size:.94rem;line-height:1.15}.assignment-runner-inline-segments{color:var(--text-muted);font-size:.8rem;font-weight:600}.assignment-flow{color:#f3f4f6;font-weight:600;font-size:.8rem;line-height:1.22}.assignment-rotations{display:grid;gap:18px}.assignment-rotation-group{display:grid;gap:14px;grid-template-columns:repeat(var(--assignment-rotation-columns, 5),minmax(0,1fr));align-items:start}.assignment-segments-list{display:grid;gap:10px;grid-template-columns:1fr}.assignment-rotation-header-card{display:grid;gap:5px;padding:8px;border-radius:12px;background:#232731}.assignment-rotation-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.assignment-segment-card{display:grid;gap:3px;padding:6px 7px;border-radius:10px;background:#1d2026}.assignment-segment-card-assignable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.assignment-segment-card-assignable:hover{transform:translateY(-1px);box-shadow:0 8px 18px #00000024}.assignment-segment-card-empty{background:#7f1d1d70}.assignment-segment-card-selected{background:#2563eb33;box-shadow:0 8px 18px #00000029}.assignment-segment-card-dirty{box-shadow:inset 0 0 0 2px #facc1538}.assignment-segment-card-placeholder{visibility:hidden;pointer-events:none}.assignment-segment-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.assignment-segment-topline h3{font-size:.8rem;line-height:1.06;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-dirty-indicator{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#facc152e;color:#fde68a;font-size:.68rem;font-weight:800;white-space:nowrap}.assignment-segment-metrics{display:flex;flex-wrap:wrap;gap:5px;font-size:.67rem;font-weight:700}.assignment-metric-difficulty{color:#ffe082}.assignment-metric-distance{color:#cfe8ff}.assignment-metric-elevation{color:#ffc9c9}.assignment-runner-name{font-size:.76rem;font-weight:800;color:#f8fafc}.assignment-runner-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.assignment-runner-meta{display:flex;align-items:flex-start;gap:6px;min-width:0;flex:1 1 auto}.assignment-runner-icon{display:inline-flex;width:12px;height:12px;color:var(--text-muted);flex:0 0 auto}.assignment-runner-icon svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.assignment-runner-text{min-width:0}.assignment-runner-time{color:var(--text-muted);font-size:.62rem;margin-top:0}.assignment-runner-previous{color:#fde68a;font-size:.66rem;margin-top:1px}.assignment-empty-state{justify-items:start}button:disabled{cursor:not-allowed;opacity:.55;transform:none}@media(max-width:720px){.quote-rotator,.quote-card{min-height:196px}.app-shell{padding:20px 16px 40px}.app-header,.view-heading,.section-heading,.race-actions,.timeline-header,.timeline-topline,.timeline-meta{align-items:flex-start}.app-header,.header-top-row,.header-left,.view-heading,.race-title-row,.section-heading,.header-controls,.race-tabs,.timeline-topline,.timeline-meta{flex-direction:column}.header-controls{justify-items:start;justify-content:flex-start;align-items:flex-start}.header-nav-row,.global-tabs{flex-direction:row;justify-content:flex-start}.race-actions{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}.race-title-row{align-items:flex-start}.race-reset-button{margin-left:0}.race-start-control{width:auto}.start-race-button{margin-left:0}.runner-watch-header{position:relative;align-items:flex-start;justify-content:flex-start;padding-right:52px}.runner-watch-header .icon-only-button{position:absolute;top:0;right:0}.runner-watch-track-shell-desktop{display:none}.runner-watch-track-shell-mobile{display:grid}.runner-watch-line-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.runner-watch-line-label{display:block;max-width:25ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;flex:0 1 auto}.runner-watch-line-meta{display:block;width:100%;font-size:.82rem;line-height:1.25;margin-left:0;text-align:right}.runner-watch-line-meta{min-width:0;flex:1 1 auto}.timeline-header{grid-template-columns:1fr}.timeline-results{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-title-row{flex-direction:column;align-items:flex-start}.timeline-runner{max-width:18ch;overflow:hidden;text-overflow:clip;white-space:nowrap}.timeline-timebox{min-width:0;justify-content:space-between}.timeline-finish-tools{width:auto}.race-detail-stats,.race-detail-stats-started{grid-template-columns:repeat(2,minmax(0,1fr))}.race-detail-stats>:nth-child(3),.race-detail-stats-started>:nth-child(3){grid-column:1 / -1}.readiness-card-featured{grid-column:1 / -1;min-height:140px}.race-detail-stats>:nth-child(4),.race-detail-stats>:nth-child(5),.race-detail-stats-started>:nth-child(4),.race-detail-stats-started>:nth-child(5){min-height:124px}.race-detail-stats-started>:nth-child(6),.race-detail-stats-started>:nth-child(7){grid-column:1 / -1}.stats-grid .stat-card .stat-card-single-line,.stats-grid .stat-card .stat-card-cta-single-line{white-space:normal;text-overflow:initial}.assignment-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-stats-grid>:first-child{grid-column:1 / -1}.assignment-mobile-half{min-height:116px}.assignment-runner-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-workspace,.assignment-pending-banner{grid-template-columns:1fr}.assignment-sidebar{position:static}.assignment-rotations-scroll{overflow-x:visible;padding-bottom:0}.assignment-rotations{gap:14px}.assignment-rotation-group{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-segments-list{gap:8px}.assignment-rotation-header{flex-direction:column}.assignment-segment-card{gap:4px;padding:6px}.assignment-segment-topline h3{font-size:.7rem}.assignment-segment-metrics{gap:4px;font-size:.58rem}.assignment-runner-name{font-size:.68rem}.assignment-runner-previous,.assignment-runner-time{font-size:.56rem}.assignment-dirty-indicator{padding:2px 6px;font-size:.58rem}}@media(max-width:1040px){.race-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.race-list-grid{grid-template-columns:1fr}}.admin-view{gap:20px}.admin-nav{display:flex;flex-wrap:wrap;gap:10px}.admin-nav-link{border:1px solid rgba(20,27,45,.12);border-radius:999px;color:inherit;padding:10px 14px;text-decoration:none}.admin-nav-link-active{background:#141b2d;border-color:#141b2d;color:#fff}.admin-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-grid,.admin-two-column{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-list{display:grid;gap:12px}.admin-list-item{background:#141b2d33;border:1px solid rgba(255,255,255,.08);border-radius:18px;display:grid;gap:8px;padding:16px 18px;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.admin-list-item-button{background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.admin-list-item-button:hover,.admin-list-item-button:focus-visible{background:#141b2d4d;border-color:#73a2ff6b;box-shadow:0 10px 30px #0000002e}.admin-list-item-active{background:#73a2ff1f;border-color:#73a2ffbf;box-shadow:0 0 0 1px #73a2ff59,0 12px 32px #11182747}.admin-form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-checkbox{align-items:center;display:flex;gap:10px;min-height:48px;min-width:0}.admin-checkbox input{width:auto;min-width:16px;height:16px;margin:0;padding:0;flex:0 0 auto;accent-color:#7dd3fc}.admin-checkbox span{min-width:0;overflow-wrap:break-word}.admin-divider{background:#141b2d14;height:1px;margin:22px 0}.admin-panel-card{align-content:start;min-height:620px}.admin-panel-copy{margin-top:6px}.admin-detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.admin-field-heading{align-items:center;display:flex;justify-content:space-between;gap:12px}.admin-locale-switcher{display:flex;gap:8px;margin:0}.admin-list-item-topline,.admin-list-item-meta{align-items:center;display:flex;gap:10px;justify-content:space-between}.admin-list-item-topline strong{font-size:1.02rem}.admin-list-item-arrow{color:#ffffff6b;font-size:1rem;transition:color .14s ease,transform .14s ease}.admin-list-item-button:hover .admin-list-item-arrow,.admin-list-item-button:focus-visible .admin-list-item-arrow,.admin-list-item-active .admin-list-item-arrow{color:#96baffeb;transform:translate(3px)}.admin-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:700;letter-spacing:.02em;padding:5px 10px;width:fit-content}.admin-status-pill-good{background:#48bb7824;border:1px solid rgba(72,187,120,.26);color:#a9efbe}.admin-status-pill-muted{background:#94a3b824;border:1px solid rgba(148,163,184,.22);color:#d2d9e4}.admin-status-pill-danger{background:#f8717124;border:1px solid rgba(248,113,113,.24);color:#ffb7b7}.admin-inner-card{align-content:start;gap:14px;min-height:220px;padding:18px}.admin-list-scroll,.admin-list-scroll-large{max-height:420px;overflow-y:auto}.admin-list-scroll-large{max-height:620px}.admin-segment-editor{display:grid;gap:12px;margin-top:10px}.admin-segment-editor-group{display:grid;gap:12px}.admin-segment-row{align-items:end;background:#141b2d2e;border:1px solid rgba(255,255,255,.08);border-radius:18px;display:grid;gap:12px;grid-template-columns:84px minmax(220px,1.6fr) repeat(3,minmax(120px,1fr)) auto;padding:14px}.admin-segment-index{align-self:stretch;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:14px;display:grid;gap:2px;justify-items:center;padding:10px 8px}.admin-segment-index-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-segment-field{margin:0}.admin-segment-field-name{min-width:0}.admin-segment-remove{align-self:end;min-height:46px;white-space:nowrap}.admin-insert-row-button{align-items:center;background:#73a2ff14;border:1px dashed rgba(115,162,255,.36);border-radius:14px;color:#cfe0ff;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:42px;padding:0 16px;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.admin-insert-row-button:hover,.admin-insert-row-button:focus-visible{background:#73a2ff24;border-color:#73a2ff9e;color:#eef4ff}.admin-insert-row-button-inline{width:100%}.admin-empty-state{align-self:start;border:1px dashed rgba(255,255,255,.08);border-radius:16px;padding:16px}.auth-links-stack{display:grid;gap:8px}@media(max-width:1040px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.admin-two-column,.admin-form-grid,.admin-segment-row{grid-template-columns:1fr}.admin-segment-index{justify-items:start}.admin-segment-remove{width:100%}.admin-panel-card{min-height:auto}}:root{font-family:Avenir Next,SF Pro Display,Segoe UI,sans-serif;color:#e6ebf2;background:#171c24;--surface: #232a36;--surface-strong: #2a3240;--surface-elevated: #323b4b;--surface-soft: #212734;--border: rgba(167, 180, 200, .12);--border-strong: rgba(167, 180, 200, .22);--text-muted: #98a3b4;--text-soft: #c5cedb;--accent: #49b89f;--accent-strong: #6fcdb7;--accent-soft: rgba(73, 184, 159, .16);--accent-muted: rgba(73, 184, 159, .24);--shadow: 0 0 0 rgba(0, 0, 0, 0);--focus-ring: 0 0 0 1px rgba(111, 205, 183, .5), 0 0 0 4px rgba(73, 184, 159, .12);--button-primary-bg: #2aa696;--button-primary-bg-hover: #34b3a2;--button-primary-border: rgba(73, 184, 159, .26);--button-primary-text: #effbfc;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--state-info: #67b6ea;--state-info-strong: #529ed1;--state-info-bg: rgba(103, 182, 234, .16);--state-success: #78c892;--state-success-strong: #58a870;--state-success-bg: rgba(120, 200, 146, .16);--state-warning: #d8b05d;--state-warning-strong: #be9746;--state-warning-bg: rgba(216, 176, 93, .16);--state-danger: #d96b7d;--state-danger-strong: #c45467;--state-danger-bg: rgba(217, 107, 125, .16)}html{color-scheme:dark}body{background:#171c24;color:#e6ebf2}::selection{background:#49b89f47;color:#f6fbff}a,button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease,transform .16s ease}:focus-visible{outline:none;box-shadow:var(--focus-ring)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.52}.app-shell{max-width:1240px;padding:32px 24px 64px}.app-header{gap:16px;margin-bottom:30px;padding:16px 18px 18px;border:1px solid var(--border);border-radius:var(--radius-xl);background:#2b3344;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.header-topbar{margin-bottom:0}.header-top-row{gap:18px 28px;align-items:center}.brand{gap:12px}.brand:hover{transform:none;opacity:1}.brand-mark{width:46px;height:46px;border-radius:10px;background:#ffffff0d}.app-header h1{font-size:clamp(2rem,3.2vw,2.8rem);line-height:.98;letter-spacing:-.03em}.eyebrow,.card-label,.admin-segment-index-label,.collapsible-toggle-collapsed-label{color:var(--text-muted);letter-spacing:.12em;font-size:.72rem;font-weight:700}.language-switcher-inline{gap:6px}.language-flag-button{width:30px;height:30px;border:1px solid transparent;background:transparent}.language-flag-button:hover{transform:none;background:#ffffff0a}.language-flag-button-active{border-color:var(--border);background:#7bc6cf14}.global-tabs,.race-tabs,.admin-nav,.main-nav{gap:10px}.global-tabs a,.race-tabs a,.admin-nav-link,.main-nav a,.nav-action-button{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);font-size:.92rem;font-weight:600}.global-tabs a:hover,.global-tabs a.router-link-active,.race-tabs a:hover,.race-tabs a.router-link-active,.admin-nav-link:hover,.admin-nav-link-active,.main-nav a:hover,.main-nav a.router-link-active,.nav-action-button:hover{transform:none;border-color:var(--border);background:#394258;color:#eff8fb}.header-team-name,.current-race-label{color:var(--text-soft);font-size:.92rem;font-weight:600}.logout-link,.view-copy,.summary-inline,.timeline-meta,.team-pill-subtitle,.auth-field span,.auth-field small,.quote-card figcaption{color:var(--text-muted)}.view{gap:24px}.view-heading,.section-heading{gap:14px 18px;align-items:end}.view-heading h2{font-size:clamp(1.7rem,2.6vw,2.3rem);letter-spacing:-.02em}.section-heading h3,.stat-card h3,.card h3{color:#eef4fa;letter-spacing:-.02em}.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel,.quote-card,.template-card,.assignment-runner-card,.assignment-rotation-header-card,.assignment-segment-card,.race-picker-card,.admin-list-item,.admin-inner-card,.admin-segment-row,.admin-empty-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:none}.card,.stat-card,.auth-card{padding:22px}.stats-grid,.card-grid,.admin-grid,.admin-two-column{gap:18px}.stats-grid .stat-card{min-height:132px;background:var(--surface-strong)}.stats-grid .stat-card .card-label{font-size:.7rem}.stats-grid .stat-card>:not(.card-label){justify-self:start;text-align:left}.stats-grid .stat-card .stat-card-support,.stats-grid .stat-card .prediction-delta-inline,.runner-card-metrics-detail{color:var(--text-muted)}.metric-pill,.race-status-pill,.admin-status-pill,.assignment-runner-dirty-badge,.timeline-stat-chip{border:1px solid transparent;border-radius:999px;box-shadow:none}.metric-pill,.race-status-pill,.admin-status-pill{background:#ffffff0f;color:var(--text-soft)}.metric-pill-live,.admin-status-pill-good{background:var(--state-success-bg);border-color:#65b2863d;color:var(--state-success)}.admin-status-pill-muted{background:#94a3b81f;border-color:#94a3b82e;color:#c2cfdd}.admin-status-pill-danger{background:var(--state-danger-bg);border-color:#d27f873d;color:var(--state-danger)}.quote-card{min-height:176px;gap:14px;background:#313a4a}.quote-card blockquote{color:#dfe8f2;font-size:1rem}.collapsible-toggle-collapsed:before,.runner-watch-list:before{background:#94a3b829}.runner-watch-panel,.finish-toast{background:#2a3240}.runner-watch-heading h3{font-size:1.45rem}.runner-watch-marker,.runner-watch-marker:before{background:var(--state-warning);box-shadow:none}.runner-watch-phase,.runner-watch-line{border:1px solid transparent;border-radius:var(--radius-md)}.runner-watch-phase-rest,.runner-watch-line-rest{background:#ffffff0a}.runner-watch-phase-run,.runner-watch-line-run{background:#49b89f1f}.runner-watch-phase-active,.runner-watch-line-active{border-color:#78c89247;box-shadow:none}.runner-watch-line-active .runner-watch-line-bullet{background:var(--state-success);box-shadow:none}.timeline-list{gap:12px}.timeline-card{gap:14px;padding:20px 20px 20px 24px;background:var(--surface-strong)}.timeline-card:before{top:16px;bottom:16px;left:10px;width:2px;background:#94a3b84d}.timeline-card-active{background:var(--surface-strong);border-color:transparent}.timeline-card-active:before{background:var(--state-success)}.timeline-card-unassigned,.assignment-status-card-missing,.readiness-card-not-ready,.race-picker-card-draft,.race-picker-card-problem{background:#3a3240}.timeline-card-unassigned:before,.timeline-card-missing-actual:before{background:var(--state-danger-strong)}.timeline-card-missing-actual{background:#40303b}.readiness-card-ready,.assignment-status-card-ready,.race-picker-card-live{background:#2f3d40}.assignment-status-card-uneven,.assignment-pending-banner,.race-picker-card-ready{background:#3c3940}.timeline-runner{font-size:1.16rem;font-weight:700;color:#eef4fa}.timeline-time{color:#dfe8f2}.timeline-time-strong{font-size:1.28rem}.timeline-result-card,.runner-stat-block,.assignment-runner-card,.assignment-segment-card-placeholder,.admin-segment-index{background:#313949;border:1px solid rgba(148,163,184,.1)}.timeline-result-value,.runner-card-metrics,strong{color:#edf4fb}.timeline-stat-chip{padding:5px 9px;color:#d8e2ec;font-size:.82rem;font-weight:600}.timeline-stat-chip-difficulty{background:#d8b05d29;border-color:#d8b05d3d}.timeline-stat-chip-distance{background:#67b6ea29;border-color:#67b6ea3d}.timeline-stat-chip-elevation{background:#d96b7d29;border-color:#d96b7d3d}input,select,textarea,.auth-field input,.auth-textarea,.finish-toast input,.finish-toast select,.finish-toast textarea,.race-start-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);color:#ecf3fa;box-shadow:none}input::placeholder,textarea::placeholder{color:#738195}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#7bc6cf57}.auth-card,.finish-toast{gap:14px}.auth-link{color:#c8d6e4}.auth-link:hover{color:#f0f6fb}.finish-toast{width:min(380px,calc(100vw - 28px))}.finish-toast-actions,.auth-actions,.assignment-main-actions,.assignment-pending-actions,.race-actions,.timeline-finish-tools,.race-picker-actions{gap:10px}.start-race-button,.finish-save-button,.finish-toggle-button{border:1px solid var(--button-primary-border);background:var(--button-primary-bg);color:var(--button-primary-text);box-shadow:none}.start-race-button{padding:13px 18px;border-radius:var(--radius-md);font-size:.92rem;font-weight:700;letter-spacing:.06em}.start-race-button:hover,.finish-save-button:hover,.finish-toggle-button:hover{transform:none;background:var(--button-primary-bg-hover)}.finish-cancel-button,.toggle-completed-button,.toggle-completed-button-muted,.mode-toggle-button,.watch-toggle-button,.runner-toggle-button,.icon-action-button,.assignment-runner-action,.admin-insert-row-button,.main-nav a,.nav-action-button{border:1px solid var(--border);background:#313949;color:var(--text-soft);box-shadow:none}.finish-cancel-button:hover,.toggle-completed-button:hover,.toggle-completed-button-muted:hover,.mode-toggle-button:hover,.watch-toggle-button:hover,.runner-toggle-button:hover,.icon-action-button:hover,.assignment-runner-action:hover,.admin-insert-row-button:hover,.admin-insert-row-button:focus-visible{background:#394258;color:#eef4fa}.mode-toggle-button-active,.icon-only-button-active,.assignment-runner-card-active,.assignment-segment-card-selected,.template-card-active,.admin-list-item-active{border-color:#49b89f57;background:#334148;color:#eefbfc;box-shadow:none}.destructive-button,.destructive-icon-button,.assignment-runner-cancel{border-color:#d96b7d3d;background:#d96b7d29;color:#efc4c8}.assignment-runner-confirm{border-color:#78c89242;background:#78c8922e;color:#c5ead4}.race-picker-card,.template-card,.add-runner-card,.stat-card-link,.assignment-segment-card-assignable,.admin-list-item-button{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.race-picker-card:hover,.template-card:hover,.add-runner-card:hover,.stat-card-link:hover,.assignment-segment-card-assignable:hover,.admin-list-item-button:hover,.admin-list-item-button:focus-visible{transform:translateY(-1px);border-color:var(--border-strong);background:var(--surface-elevated)}.race-picker-card-finished,.add-runner-card,.template-card,.assignment-segment-card,.assignment-runner-card,.admin-panel-card,.admin-list-item,.runner-delete-button{background:var(--surface-strong)}.add-runner-card{border:1px dashed var(--border-strong)}.add-runner-plus,.template-card-check,.admin-list-item-arrow{color:var(--accent-strong)}.template-card-check{background:#49b89f2e;box-shadow:none}.race-status-pill,.race-picker-card-ready .race-status-pill,.race-picker-card-draft .race-status-pill,.race-picker-card-problem .race-status-pill,.race-picker-card-live .race-status-pill,.race-picker-card-finished .race-status-pill{background:#ffffff0d;color:var(--text-soft)}.assignment-workspace{gap:18px}.assignment-sidebar{top:16px}.assignment-runner-card,.assignment-segment-card,.assignment-rotation-header-card{border-radius:var(--radius-md)}.assignment-runner-card-dirty,.assignment-segment-card-dirty{border-color:#d8b05d57;box-shadow:none}.assignment-runner-dirty-badge,.assignment-dirty-indicator{background:#d8b05d2e;color:#edd39a}.assignment-runner-inline-segments,.assignment-runner-previous,.assignment-runner-time{color:var(--text-muted)}.admin-view{gap:22px}.admin-nav{flex-wrap:wrap}.admin-list{gap:10px}.admin-list-item{gap:6px;padding:16px 18px}.admin-list-item-topline strong{color:#eef4fa}.admin-list-item-arrow{transform:none}.admin-list-item-button:hover .admin-list-item-arrow,.admin-list-item:focus-visible .admin-list-item-arrow,.admin-list-item-active .admin-list-item-arrow{transform:translate(2px)}.admin-divider{background:#94a3b81f}.admin-locale-switcher{gap:8px}.admin-segment-row{grid-template-columns:84px minmax(220px,1.6fr) repeat(3,minmax(120px,1fr)) auto}.admin-insert-row-button{border-style:solid}@media(max-width:1040px){.app-shell{padding-inline:18px}.app-header{padding:16px 18px 18px}}@media(max-width:720px){.app-shell{padding:16px 14px 40px}.app-header{gap:14px;border-radius:18px}.header-top-row,.view-heading,.section-heading{gap:12px}.global-tabs a,.race-tabs a,.admin-nav-link,.main-nav a,.nav-action-button{min-height:36px;padding-inline:12px}.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel{padding:18px}}.app-content>.view,.app-content>.admin-view{position:relative}.view-heading,.section-heading{padding-bottom:10px;border-bottom:1px solid rgba(167,180,200,.08)}.section-heading h3{font-size:.96rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel,.finish-toast,.quote-card,.template-card,.assignment-runner-card,.assignment-rotation-header-card,.assignment-segment-card,.race-picker-card,.admin-panel-card,.admin-list-item,.admin-inner-card,.assignment-pending-banner,.assignment-rotation-group{position:relative;overflow:hidden;box-shadow:0 1px #ffffff06,0 14px 28px #0a0c1329}.card:after,.stat-card:after,.auth-card:after,.timeline-card:after,.runner-watch-panel:after,.template-card:after,.race-picker-card:after,.admin-panel-card:after,.assignment-pending-banner:after,.assignment-rotation-group:after{content:"";position:absolute;inset:0 0 auto;height:1px;background:#ffffff09;pointer-events:none}.race-picker-card:before,.template-card:before,.runner-watch-panel:before,.auth-card:before,.admin-panel-card:before,.assignment-pending-banner:before,.assignment-rotation-group:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#ffffff0d;pointer-events:none}.readiness-card-ready:before,.assignment-status-card-ready:before,.race-picker-card-live:before,.start-race-button:before,.finish-save-button:before{background:var(--state-success)}.assignment-status-card-uneven:before,.assignment-pending-banner:before,.race-picker-card-ready:before{background:var(--state-warning)}.assignment-status-card-missing:before,.race-picker-card-draft:before,.race-picker-card-problem:before{background:var(--state-danger)}.stats-grid,.card-grid,.admin-grid,.admin-two-column,.race-detail-stats,.race-detail-stats-started,.admin-stats-grid,.timeline-section,.assignment-rotations,.assignment-runner-rail,.admin-list{gap:14px}.timeline-timebox{align-items:center;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;box-shadow:none}.timeline-results{gap:10px}.timeline-result-card,.runner-stat-block,.admin-inner-card,.admin-segment-index{box-shadow:0 1px #ffffff05}.watch-toggle-button,.runner-toggle-button,.icon-only-button-active,.icon-action-button{border-color:#49b89f42;background:#49b89f1f;color:#dff8f4}.watch-toggle-button:hover,.runner-toggle-button:hover,.icon-only-button-active:hover,.icon-action-button:hover{background:#49b89f2e}.start-race-button,.finish-save-button,.finish-cancel-button,.toggle-completed-button,.toggle-completed-button-muted,.mode-toggle-button,.watch-toggle-button,.runner-toggle-button,.icon-action-button,.assignment-runner-action,.admin-insert-row-button,.main-nav a,.nav-action-button{min-height:40px;padding-inline:14px;border-radius:9px}.mode-toggle{gap:8px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff05}.mode-toggle-button{min-height:38px}.auth-field input,.auth-textarea,.finish-toast input,.finish-toast select,.finish-toast textarea,.race-start-input{min-height:46px}.assignment-workspace{gap:20px;align-items:start}.assignment-rotation-group{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff05}.assignment-rotation-header-card{padding:14px 16px;background:#313949}.assignment-segments-list{gap:10px}.assignment-segment-card{padding:14px 15px}.assignment-segment-card-assignable:hover{background:#313949}.assignment-segment-card-selected{background:#334148}.assignment-empty-state,.admin-empty-state{border-style:dashed;background:#ffffff05}.admin-nav{padding:6px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#2b3344}.admin-panel-card{padding:18px 18px 16px}.admin-list-item{gap:8px;padding:15px 16px;border-radius:var(--radius-md);background:#313949}.admin-list-item-button:hover,.admin-list-item-button:focus-visible{background:#394258}.admin-form-grid,.admin-two-column{gap:18px}.admin-segment-row{gap:10px;padding:12px;background:#2f3746}.race-picker-card,.template-card{padding:18px}.race-picker-card{padding-left:28px}button,input,select,textarea,.auth-field input,.auth-textarea,.finish-toast input,.finish-toast select,.finish-toast textarea,.race-start-input,.start-race-button,.finish-save-button,.finish-cancel-button,.toggle-completed-button,.toggle-completed-button-muted,.mode-toggle-button,.watch-toggle-button,.runner-toggle-button,.icon-action-button,.assignment-runner-action,.admin-insert-row-button,.nav-action-button,.main-nav a,.global-tabs a,.race-tabs a,.admin-nav-link,.language-flag-button,.metric-pill,.race-status-pill,.admin-status-pill,.assignment-runner-dirty-badge,.assignment-dirty-indicator,.timeline-stat-chip,.template-card-check,.icon-only-button,.finish-toggle-button{border-radius:999px}input,select,textarea,.auth-field input,.auth-textarea,.finish-toast input,.finish-toast select,.finish-toast textarea,.race-start-input{border-radius:14px}.start-race-button,.finish-save-button,.finish-cancel-button,.toggle-completed-button,.toggle-completed-button-muted,.mode-toggle-button,.watch-toggle-button,.runner-toggle-button,.icon-action-button,.assignment-runner-action,.admin-insert-row-button,.nav-action-button,.main-nav a,.global-tabs a,.race-tabs a,.admin-nav-link,.finish-toggle-button{border-radius:999px}.race-picker-card:hover,.template-card:hover,.add-runner-card:hover,.stat-card-link:hover,.assignment-segment-card-assignable:hover,.admin-list-item-button:hover,.admin-list-item-button:focus-visible{transform:none}@media(max-width:1040px){.assignment-workspace{grid-template-columns:1fr}.assignment-sidebar{position:static}}@media(max-width:720px){.view-heading,.section-heading{padding-bottom:8px}.assignment-rotation-group,.admin-panel-card{padding:12px}}:root{--radius-sm: 0px;--radius-md: 0px;--radius-lg: 0px;--radius-xl: 0px}.app-header,.brand-mark,.global-tabs a,.race-tabs a,.admin-nav-link,.main-nav a,.nav-action-button,.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel,.quote-card,.template-card,.assignment-runner-card,.assignment-rotation-header-card,.assignment-segment-card,.race-picker-card,.admin-panel-card,.admin-list-item,.admin-inner-card,.admin-segment-row,.admin-empty-state,.assignment-pending-banner,.assignment-rotation-group,.timeline-timebox,.timeline-result-card,.runner-stat-block,.admin-segment-index,.mode-toggle,.start-race-button,.finish-save-button,.finish-cancel-button,.toggle-completed-button,.toggle-completed-button-muted,.mode-toggle-button,.watch-toggle-button,.runner-toggle-button,.icon-action-button,.assignment-runner-action,.admin-insert-row-button,input,select,textarea,.auth-field input,.auth-textarea,.finish-toast input,.finish-toast select,.finish-toast textarea,.race-start-input{border-radius:0}.metric-pill,.race-status-pill,.admin-status-pill,.assignment-runner-dirty-badge,.timeline-stat-chip,.language-flag-button,.template-card-check,.add-runner-plus,.admin-list-item-arrow{border-radius:2px}.icon-only-button,.assignment-runner-action,.icon-action-button{border-radius:999px}.finish-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;isolation:isolate;overflow:auto;border:1px solid rgba(167,180,200,.18);background:#2a3240;box-shadow:0 24px 48px #080a1080}.finish-toast:before{content:"";position:fixed;inset:0;z-index:-1;background:#0a0e148a}.finish-toast:after{display:none}.metric-pill,.race-status-pill,.admin-status-pill,.assignment-runner-dirty-badge,.assignment-dirty-indicator,.timeline-stat-chip,.language-flag-button,.template-card-check,.add-runner-plus,.admin-list-item-arrow,.runner-watch-marker,.runner-watch-marker:before,.runner-watch-line-bullet,.timeline-card:before,.runner-watch-list:before,.icon-only-button,.assignment-runner-action,.icon-action-button,.watch-toggle-button,.runner-toggle-button{border-radius:999px}.app-header,.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel,.finish-toast,.quote-card,.template-card,.assignment-runner-card,.assignment-rotation-header-card,.assignment-segment-card,.race-picker-card,.admin-panel-card,.admin-list-item,.admin-inner-card,.admin-segment-row,.admin-empty-state,.assignment-pending-banner,.assignment-rotation-group,.timeline-timebox,.timeline-result-card,.runner-stat-block,.admin-segment-index,.mode-toggle,.admin-nav{border-color:transparent}.timeline-card,.assignment-runner-card,.assignment-segment-card,.readiness-card,.stat-card-link,.assignment-status-card-missing,.assignment-status-card-uneven,.assignment-status-card-ready,.assignment-pending-banner,.assignment-rotation-group,.race-picker-card{position:relative}.timeline-card:before,.assignment-runner-card:before,.assignment-segment-card:before,.readiness-card:before,.stat-card-link:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#ffffff12;pointer-events:none}.timeline-card-active:before,.assignment-runner-card-active:before,.assignment-segment-card-selected:before{background:var(--state-success)}.timeline-card-unassigned:before,.timeline-card-missing-actual:before,.assignment-segment-card-empty:before,.assignment-status-card-missing:before,.race-picker-card-draft:before,.race-picker-card-problem:before,.readiness-card-not-ready:before{background:var(--state-danger)}.assignment-segment-card-dirty:before,.assignment-runner-card-dirty:before,.assignment-status-card-uneven:before,.assignment-pending-banner:before,.race-picker-card-ready:before{background:var(--state-warning)}.assignment-status-card-ready:before,.race-picker-card-live:before,.readiness-card-ready:before{background:var(--state-success)}.stat-card-link:before{background:var(--state-info)}.timeline-card{padding-left:22px}.assignment-segment-card{padding-left:14px}.assignment-runner-card{padding-left:14px;background:var(--surface-strong)}.assignment-runner-card-active{background:var(--surface-strong);box-shadow:0 1px #ffffff06,0 14px 28px #0a0c1329}.assignment-runner-card-active h3,.assignment-runner-card-active .assignment-flow{color:inherit}.assignment-runner-card-active .assignment-runner-inline-segments{color:var(--text-muted)}:root{--surface: #141920;--surface-strong: #181e26;--surface-elevated: #1f2630;--surface-soft: #12171e}.app-header,.card,.stat-card,.auth-card,.timeline-card,.runner-watch-panel,.quote-card,.template-card,.assignment-runner-card,.assignment-rotation-header-card,.assignment-segment-card,.race-picker-card,.admin-panel-card,.admin-list-item,.admin-inner-card,.admin-segment-row,.assignment-pending-banner,.assignment-rotation-group,.timeline-timebox,.timeline-result-card,.runner-stat-block,.admin-segment-index,.mode-toggle,.admin-nav,.finish-toast{background-color:var(--surface-strong)}.app-header,.admin-nav{background-color:#1a212a}.quote-card,.assignment-rotation-header-card,.timeline-timebox,.timeline-result-card,.runner-stat-block,.admin-inner-card,.admin-segment-index,.mode-toggle,.admin-list-item,.assignment-segment-card-assignable:hover,.admin-list-item-button:hover,.admin-list-item-button:focus-visible{background-color:#202832}.timeline-card-active,.assignment-segment-card-selected,.readiness-card-ready,.assignment-status-card-ready,.race-picker-card-live,.assignment-status-card-uneven,.assignment-pending-banner,.race-picker-card-ready,.assignment-segment-card-dirty,.timeline-card-unassigned,.timeline-card-missing-actual,.assignment-status-card-missing,.race-picker-card-draft,.race-picker-card-problem,.assignment-segment-card-empty,.readiness-card-not-ready{background-color:var(--surface-strong)}.timeline-timebox{background:transparent;background-color:transparent;border:none;box-shadow:none}.runner-watch-line-active .runner-watch-line-bullet{background:#facc15;box-shadow:none}.runner-watch-line-active{border-color:transparent;background:#facc151f}.template-card-active{background-color:var(--surface-strong);box-shadow:0 1px #ffffff06,0 14px 28px #0a0c1329}.template-card-active:before{background:var(--state-success)}.template-card-active strong{color:#f8fafc}.template-card-active span,.template-card-active .template-card-start{color:var(--text-muted)}.template-card-active .template-card-check{background:#49b89f24;color:#dff8f4}.assignment-runner-card-active,.assignment-segment-card-selected{background-color:var(--surface-strong)}.assignment-runner-card-active:before,.assignment-segment-card-selected:before{background:var(--state-info)}.assignment-runner-card-active h3,.assignment-runner-card-active .assignment-flow,.assignment-segment-card-selected h3,.assignment-segment-card-selected .assignment-runner-name{color:#eef6ff}.create-race-view{max-width:none}.create-race-view .auth-card{width:100%;padding:0;background:transparent;box-shadow:none;overflow:visible}.create-race-view .auth-card:before,.create-race-view .auth-card:after{display:none}.create-race-view .mode-toggle{gap:8px;padding:0;border:none;background:transparent}.create-race-view .mode-toggle-button{border:1px solid rgba(167,180,200,.16);background:transparent;color:var(--text-muted)}.create-race-view .mode-toggle-button:hover,.create-race-view .mode-toggle-button:focus-visible{background:transparent;border-color:#49b89f57;color:#dff8f4}.create-race-view .mode-toggle-button-active{background:transparent;border-color:#49b89f75;color:#dff8f4}.create-race-view .admin-segment-editor{width:100%}.create-race-view .auth-field:has(.admin-segment-editor){width:100%}.create-race-view .individual-runner-fields{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.45fr);gap:16px;width:min(100%,760px)}.create-race-view .admin-segment-row{grid-template-columns:54px minmax(260px,2fr) repeat(3,minmax(120px,1fr)) auto}.create-race-view .admin-segment-index{align-self:center;justify-items:start;padding:0;border:none;background:transparent}.create-race-view .admin-segment-index strong{font-size:1rem}.auth-actions .finish-save-button,.auth-actions .finish-cancel-button,.auth-actions .inline-link-button,.race-actions .start-race-button,.race-actions .race-reset-button{border-radius:0}.auth-card .mode-toggle-button,.auth-card .admin-insert-row-button,.auth-card .admin-segment-remove,.auth-card .template-card-check,.timeline-card .finish-toggle-button,.timeline-card .watch-toggle-button,.timeline-card .runner-toggle-button,.timeline-card .icon-only-button,.runner-watch-panel .watch-toggle-button,.stat-card .watch-toggle-button,.stat-card .runner-toggle-button{border-radius:999px}.create-race-view .admin-insert-row-button{border-radius:0}@media(max-width:1040px){.create-race-view .admin-segment-row{grid-template-columns:46px minmax(220px,1.6fr) repeat(3,minmax(110px,1fr))}.create-race-view .admin-segment-remove{grid-column:1 / -1;justify-self:end}}@media(max-width:720px){.create-race-view .individual-runner-fields,.create-race-view .admin-segment-row{grid-template-columns:1fr}.create-race-view .admin-segment-remove{justify-self:stretch}}.race-detail-stats .stat-card,.race-detail-stats-started .stat-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center}.race-detail-stats .stat-card .card-label,.race-detail-stats-started .stat-card .card-label{width:auto;align-self:auto;text-align:center}.race-detail-stats .stat-card>:not(.card-label),.race-detail-stats-started .stat-card>:not(.card-label){align-self:auto;justify-self:auto;text-align:center}.race-detail-stats .stat-card .stat-card-support,.race-detail-stats-started .stat-card .stat-card-support,.race-detail-stats .stat-card .prediction-delta-inline,.race-detail-stats-started .stat-card .prediction-delta-inline{align-self:auto;justify-self:auto;text-align:center}.readiness-card-featured{padding-inline:30px}.readiness-card-featured .stat-card-runner-highlight{max-width:100%}@media(max-width:720px){.view-heading{align-items:stretch}.race-title-row{flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:12px}.race-title-main{flex:1 1 100%;align-items:flex-start}.race-title-row h2{min-width:0;font-size:clamp(2.2rem,8vw,3.3rem);line-height:1.05}.race-reset-button{margin-left:0;flex:0 0 auto;padding-inline:16px}.race-detail-stats,.race-detail-stats-started{gap:12px}.race-detail-stats .stat-card,.race-detail-stats-started .stat-card{min-height:132px;padding:18px 16px}.readiness-card-featured{min-height:156px;padding-inline:24px}.timeline-card{padding-left:18px}.timeline-header{gap:14px}.timeline-title-row{gap:10px}.timeline-runner-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}.timeline-runner{max-width:none;min-width:0}.timeline-timebox{display:grid;grid-template-columns:1fr;justify-items:center;align-items:start;width:100%;gap:12px;padding:0}.timeline-time{width:100%;text-align:center}.timeline-time-strong{font-size:clamp(1.15rem,6vw,1.45rem)}.timeline-finish-tools{width:100%}.finish-toggle-button{width:100%;justify-content:center}.timeline-results{grid-template-columns:1fr;gap:10px}}
