/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.table{display:table}.rounded{border-radius:.25rem}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#090b0a;--ink-soft:#111411;--panel:#171a17;--line:#30352f;--line-bright:#4b5149;--paper:#f1eee5;--muted:#9da299;--acid:#d9ff43;--acid-dark:#172000;--amber:#ffb547;--danger:#ff745f;--nav-height:76px}*{box-sizing:border-box}html{background:var(--ink);color:var(--paper);scroll-behavior:smooth}body{background:var(--ink);min-height:100vh;color:var(--paper);font-family:var(--font-geist-sans), system-ui, sans-serif;text-rendering:optimizelegibility;margin:0}button,input,select,textarea,a{font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--acid);outline-offset:3px}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--acid);color:var(--ink);padding:10px 14px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b0af0;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:0 22px;display:grid;position:sticky;top:0}.wordmark{min-width:44px;min-height:44px;font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;cursor:pointer;background:0 0;border:0;justify-self:start;padding:10px 0;font-size:17px;font-weight:900}.wordmark span{color:var(--acid)}.group-context{color:var(--muted);letter-spacing:.04em;align-items:center;gap:9px;font-size:12px;font-weight:650;display:flex}.live-dot,.poll-status span{background:var(--acid);border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 4px #d9ff431a}.avatar{border:1px solid var(--line-bright);background:var(--panel);width:44px;height:44px;font-family:var(--font-geist-mono), monospace;cursor:pointer;border-radius:50%;justify-self:end;font-size:11px;font-weight:700}.app-nav{z-index:40;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:8px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b0af5;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{min-width:0;min-height:52px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;transition:color .16s;display:flex;position:relative}.nav-item span{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;font-size:8px}.nav-item.active{color:var(--paper)}.nav-item.active:before{content:"";background:var(--acid);width:34px;height:2px;animation:.18s both nav-in;position:absolute;top:-9px}.workspace{min-height:calc(100vh - 68px)}.page{width:min(1220px,100%);margin:0 auto;padding:34px 20px 72px;animation:.36s cubic-bezier(.2,.8,.2,1) both page-in}.page-kicker,.section-label{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:16px;font-size:clamp(44px,11vw,108px);font-weight:740;line-height:.88}h2{letter-spacing:-.045em}p{color:var(--muted);line-height:1.6}.home-lead,.results-heading,.season-hero,.plan-heading,.group-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:28px;padding:20px 0 34px;display:flex}.home-lead p,.results-heading p,.season-hero p,.plan-heading p,.group-heading p{max-width:540px;margin-bottom:0}.group-actions{align-items:center;gap:10px;display:flex}.text-action,.primary-action,.secondary-action,.danger-action{cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;min-height:46px;font-weight:750;display:inline-flex}.text-action{border-bottom:1px solid var(--line-bright);color:var(--paper);background:0 0;gap:12px;padding:0}.primary-action{background:var(--acid);color:var(--ink);padding:0 20px;transition:transform .15s,background .15s}.primary-action:hover{background:#e4ff73;transform:translateY(-2px)}.secondary-action{border:1px solid var(--line-bright);background:0 0;padding:0 18px}.danger-action{border:1px solid var(--danger);color:var(--danger);background:#ff745f14;padding:0 18px}.podium-stage{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.18fr 1fr;align-items:end;min-height:290px;display:grid;position:relative;overflow:hidden}.track-lines{opacity:.45;background-size:48px 48px;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.podium-place{border:1px solid var(--line-bright);background:var(--ink-soft);cursor:pointer;text-align:left;border-bottom:0;flex-direction:column;align-items:flex-start;min-width:0;padding:22px 20px;animation:.52s cubic-bezier(.2,.85,.25,1) both podium-rise;display:flex;position:relative}.podium-place:hover{background:var(--panel)}.podium-place.place-1{background:var(--acid);min-height:240px;color:var(--ink);grid-area:1/2;animation-delay:60ms}.podium-place.place-2{grid-area:1/1;min-height:190px;animation-delay:.15s}.podium-place.place-3{grid-area:1/3;min-height:155px;animation-delay:.22s}.position{font-family:var(--font-geist-mono), monospace;margin-bottom:auto;font-size:12px;font-weight:800}.podium-name{text-overflow:ellipsis;white-space:nowrap;width:100%;margin:16px 0 6px;font-weight:720;overflow:hidden}.podium-place strong{font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;font-size:clamp(22px,4vw,40px)}.podium-place small{color:var(--muted);margin-top:5px}.podium-place.place-1 small{color:#090b0aa8}.home-grid{grid-template-columns:1.4fr 1fr;display:grid}.next-session,.your-pace{border-bottom:1px solid var(--line);padding:36px 28px 28px 0}.your-pace{border-left:1px solid var(--line);padding-left:28px}.next-session h2,.your-pace h2{margin:14px 0 16px;font-size:clamp(28px,5vw,56px)}.your-pace h2{font-family:var(--font-geist-mono), monospace;color:var(--acid)}.vote-signal{gap:4px;width:100%;height:6px;margin:26px 0 10px;display:flex}.vote-signal span{background:var(--acid);min-width:3px}.vote-signal span:nth-child(2){background:var(--amber)}.vote-signal span:nth-child(3){background:var(--danger)}.vote-signal.compact{max-width:360px;height:4px;margin:18px 0 0}.signal-legend{color:var(--muted);font-family:var(--font-geist-mono), monospace;gap:18px;margin-bottom:26px;font-size:10px;display:flex}.pace-rule{background:var(--line);height:2px;margin:28px 0}.pace-rule span{background:var(--acid);transform-origin:0;height:100%;animation:.75s both bar-grow;display:block}.import-badge,.season-rounds{align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.import-badge strong,.season-rounds strong{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:-.08em;font-size:42px}.import-badge span,.season-rounds span{color:var(--muted);font-size:12px}.results-layout{grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);display:grid}.leaderboard{border-right:1px solid var(--line)}.leaderboard-head{border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;padding:15px 18px 15px 0;font-size:9px;display:flex}.leader-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:38px minmax(130px,1fr) minmax(44px,.75fr) auto 62px;align-items:center;gap:12px;width:100%;min-height:60px;padding:0 18px 0 0;transition:background .13s,padding .13s;display:grid}.leader-row:hover,.leader-row.selected{background:var(--ink-soft);padding-left:10px}.leader-row.selected{box-shadow:inset 3px 0 0 var(--acid)}.rank,.gap-copy,.leader-row>strong,.points{font-family:var(--font-geist-mono), monospace}.rank{color:var(--muted);font-size:11px}.racer-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:650;display:flex;overflow:hidden}.racer-name small{background:var(--acid);color:var(--ink);text-transform:uppercase;padding:2px 5px;font-size:8px}.gap-visual{background:var(--line);height:3px;display:block}.gap-visual span{background:var(--line-bright);height:100%;display:block}.leader-row.selected .gap-visual span{background:var(--acid)}.leader-row>strong{font-size:13px}.gap-copy{color:var(--muted);text-align:right;font-size:9px}.telemetry{padding:30px 0 30px 30px}.telemetry-title-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.telemetry-title-row h2{letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(28px,4vw,48px)}.telemetry-alias{max-width:30ch;color:var(--muted);overflow-wrap:anywhere;margin:4px 0 8px;font-size:9px;display:block}.telemetry-title-row>span,.mini-avatar{border:1px solid var(--line-bright);width:38px;height:38px;font-family:var(--font-geist-mono), monospace;border-radius:50%;flex:none;place-items:center;font-size:10px;display:grid}.metric-line{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.metric-line div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 12px 18px 0}.metric-line div:nth-child(2n){border-right:0;padding-left:18px}.metric-line div:nth-child(n+3){border-bottom:0}.metric-line span,.metric-line strong{display:block}.comparison-notes{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.comparison-notes>div{flex-direction:column;gap:7px;min-width:0;padding:17px 12px 17px 0;display:flex}.comparison-notes>div+div{border-left:1px solid var(--line);padding-left:18px}.comparison-notes span,.comparison-notes small{color:var(--muted);font-size:9px;line-height:1.35}.comparison-notes strong{font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recap-awards{border-top:1px solid var(--line);padding:42px 0 0}.recap-awards h2{margin:13px 0 24px;font-size:clamp(30px,5vw,56px)}.recap-awards>div:last-child{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.recap-awards article{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:12px;min-height:150px;padding:20px;display:flex}.recap-awards article:first-child{padding-left:0}.recap-awards article:last-child{border-right:0}.recap-awards span,.recap-awards small{color:var(--muted);font-size:9px;line-height:1.45}.recap-awards span{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.recap-awards strong{font-size:20px}.metric-line span{color:var(--muted);margin-bottom:8px;font-size:10px}.metric-line strong{font-family:var(--font-geist-mono), monospace;font-size:17px}.rival-select{justify-content:space-between;align-items:center;gap:16px;padding:24px 0 14px;display:flex}.rival-select label{color:var(--muted);font-size:11px}select,input[type=date],input[type=email]{border:1px solid var(--line-bright);background:var(--ink-soft);min-height:44px;color:var(--paper);border-radius:0;padding:0 12px}.invite-panel{border-block:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(28px,7vw,100px);padding:32px 0;display:grid}.invite-panel h2{margin:12px 0 8px;font-size:clamp(28px,4vw,46px)}.invite-panel p{max-width:600px;margin:0}.invite-fields,.invite-fields label{flex-direction:column;display:flex}.invite-fields{gap:14px}.invite-fields label{color:var(--muted);gap:7px;font-size:10px}.invite-created{min-height:52px;color:var(--acid);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.lap-chart{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 22px}.chart-key{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:9px;display:flex}.chart-key span{background:var(--acid);width:8px;height:8px;margin-left:8px}.chart-key span.key-rival{background:var(--line-bright);background-image:repeating-linear-gradient(135deg, transparent 0 2px, var(--ink) 2px 3px)}.lap-bars{align-items:stretch;gap:4px;height:190px;display:flex}.lap-column{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.bars-pair{border-bottom:1px solid var(--line-bright);justify-content:center;align-items:flex-end;gap:2px;width:100%;height:160px;display:flex}.active-bar,.rival-bar{background:var(--acid);transform-origin:bottom;width:42%;min-height:4px;animation:.52s cubic-bezier(.2,.8,.2,1) both bar-grow-y;display:block}.rival-bar{background:var(--line-bright);background-image:repeating-linear-gradient(135deg, transparent 0 4px, var(--ink) 4px 6px)}.active-bar.interrupted,.rival-bar.interrupted{background-image:repeating-linear-gradient(135deg,#0000 0 4px,#00000061 4px 7px)}.lap-column small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}.lap-table{color:var(--muted);padding:16px 0;font-size:11px}.lap-table summary{cursor:pointer;min-height:44px;color:var(--paper);align-items:center;font-weight:650;display:flex}.lap-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px}.lap-table caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.lap-table th,.lap-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:top;padding:9px 6px}.lap-table thead th{color:var(--paper);overflow-wrap:anywhere;font-size:9px}.lap-table th:first-child{text-align:left;padding-left:0}.lap-table td small{color:var(--amber);font-size:8px;display:block}.correction-panel{border-top:1px solid var(--line);padding:12px 0 20px}.correction-panel summary{min-height:44px;color:var(--acid);cursor:pointer;align-items:center;font-size:11px;font-weight:750;display:flex}.correction-panel p{color:var(--muted);margin:0 0 14px;font-size:11px}.correction-panel label{color:var(--muted);gap:6px;margin-bottom:10px;font-size:10px;display:grid}.correction-panel input,.correction-panel select{border:1px solid var(--line-bright);background:var(--ink);min-height:44px;color:var(--paper);border-radius:0;padding:10px 12px}.season-grid,.group-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);display:grid}.standings,.roster{border-right:1px solid var(--line)}.standing-row{border-bottom:1px solid var(--line);grid-template-columns:36px 42px minmax(150px,1fr) minmax(70px,.7fr) 60px;align-items:center;gap:12px;min-height:72px;padding-right:24px;display:grid}.standing-row>div strong,.standing-row>div small,.points small{display:block}.standing-row>div small{color:var(--muted);margin-top:4px;font-size:10px}.standing-track{background:var(--line);height:3px}.standing-track span{background:var(--acid);transform-origin:0;height:100%;animation:.64s both bar-grow;display:block}.points{color:var(--acid);text-align:right;font-size:17px}.points small{color:var(--muted);letter-spacing:.1em;margin-top:2px;font-size:7px}.season-explainer,.import-zone{padding:34px 0 34px 34px}.season-explainer h2,.import-zone h2,.roster h2,.track-suggestions h2{margin:14px 0;font-size:clamp(28px,4vw,44px)}.formula{border:1px solid var(--line-bright);color:var(--acid);font-family:var(--font-geist-mono), monospace;text-align:center;margin:26px 0;padding:22px;font-size:15px;line-height:1.2}.formula span{color:var(--muted)}.season-explainer ul,.import-review ul{margin:0;padding:0;list-style:none}.season-explainer li,.import-review li{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:14px 0;font-size:11px;display:flex}.season-explainer li strong,.import-review li strong{color:var(--paper)}.poll-status{color:var(--muted);align-items:center;gap:10px;padding-bottom:12px;font-size:12px;display:flex}.poll-options{border-bottom:1px solid var(--line)}.plan-empty{border:1px solid var(--line-bright);background:var(--ink-soft);padding:34px}.plan-empty h2{margin:12px 0 8px;font-size:clamp(28px,5vw,48px)}.plan-empty p{max-width:680px;margin:0 0 22px}.poll-option{border-bottom:1px solid var(--line);grid-template-columns:42px 78px minmax(220px,1fr) auto;align-items:center;gap:22px;min-height:150px;transition:background .16s;display:grid}.poll-option:last-child{border-bottom:0}.poll-option.voted{background:var(--ink-soft)}.option-index{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:10px}.date-block{border:1px solid var(--line-bright);flex-direction:column;align-items:center;padding:12px 0;display:flex}.date-block strong{font-family:var(--font-geist-mono), monospace;font-size:27px}.date-block span{color:var(--muted);letter-spacing:.14em;font-size:8px}.option-main h2{margin:0 0 7px;font-size:clamp(24px,4vw,40px)}.option-main p{margin:0;font-size:12px}.vote-controls{gap:7px;padding-right:8px;display:flex}.vote-controls button{border:1px solid var(--line-bright);min-width:58px;min-height:44px;color:var(--muted);cursor:pointer;text-transform:capitalize;background:0 0;font-size:10px;font-weight:700}.vote-controls button.selected{border-color:var(--acid);background:var(--acid);color:var(--ink)}.finalize-panel{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:36px 0;display:flex}.finalize-panel h2{margin:12px 0 8px;font-size:clamp(26px,4vw,44px)}.finalize-panel p{margin:0}.calendar-actions{flex-wrap:wrap;gap:10px;display:flex}.booking-fields{gap:11px;width:min(440px,100%);display:grid}.booking-fields label,.suggest-track label{color:var(--muted);gap:6px;font-size:10px;font-weight:650;display:grid}.booking-fields input,.booking-fields textarea,.suggest-track input{border:1px solid var(--line-bright);background:var(--ink);width:100%;min-height:44px;color:var(--paper);border-radius:0;padding:11px 12px}.booking-fields textarea{resize:vertical}.track-suggestions{padding:38px 0 0}.track-suggestions>a{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) auto;align-items:center;gap:20px;min-height:70px;display:grid}.track-suggestions>a:hover strong{color:var(--acid)}.track-suggestions>a span,.track-suggestions>a small{color:var(--muted);font-size:11px}.suggest-track{border:1px solid var(--line-bright);background:var(--ink-soft);grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:14px;margin-top:26px;padding:24px;display:grid}.suggest-track>div strong,.suggest-track>div span{display:block}.suggest-track>div span{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.45}.suggestion-queue{border-top:1px solid var(--line);margin-top:18px}.suggestion-queue article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-height:76px;display:grid}.suggestion-queue article div:first-child>*{display:block}.suggestion-queue article span{color:var(--acid);text-transform:uppercase;margin-bottom:4px;font-size:8px}.suggestion-queue article small,.suggestion-queue article>a{color:var(--muted);margin-top:4px;font-size:10px}.suggestion-actions{gap:8px;display:flex}.suggestion-actions button{border:1px solid var(--line-bright);min-height:44px;color:var(--paper);background:0 0;padding:0 12px}.suggestion-actions button:first-child{border-color:var(--acid);color:var(--acid)}.roster{padding-top:34px}.member-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:64px;padding-right:24px;display:grid}.member-row>span:nth-child(2) strong,.member-row>span:nth-child(2) small{display:block}.member-row>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:10px}.member-row input{width:22px;height:22px;accent-color:var(--acid)}.drop-zone{border:1px dashed var(--line-bright);background:var(--ink-soft);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:220px;margin:24px 0 18px;display:flex}.drop-zone:hover{border-color:var(--acid)}.import-parsing,.import-error{border-left:2px solid var(--acid);background:var(--ink-soft);color:var(--muted);margin:18px 0;padding:16px;font-size:11px;line-height:1.5}.import-error{border-left-color:var(--danger);color:#ffb8ae}.import-file-name{align-items:center;gap:10px;margin-top:22px;display:flex;overflow:hidden}.import-file-name span{background:var(--acid);color:var(--ink);font-family:var(--font-geist-mono), monospace;padding:5px 7px;font-size:8px;font-weight:900}.import-file-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.drop-zone span,.drop-zone small{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:8px}.drop-zone strong{margin:16px 0 6px}.import-score{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:26px 0 18px;display:flex}.import-score strong{color:var(--acid);font-family:var(--font-geist-mono), monospace;font-size:40px}.import-score span{color:var(--muted);font-size:11px}.import-review label{color:var(--muted);flex-direction:column;gap:8px;margin:18px 0;font-size:10px;display:flex}.import-review .primary-action{width:100%;margin-top:8px}.primary-action:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.import-warnings{border-block:1px solid var(--line);color:var(--muted);margin:16px 0;font-size:10px}.import-warnings summary{cursor:pointer;min-height:44px;padding:14px 0}.import-warnings ul li{border-bottom:0;padding:9px 0;line-height:1.45;display:block}.privacy-note{font-size:10px}.published-actions{gap:10px;display:grid}.published-actions>span{color:var(--acid);font-size:10px}.toast{z-index:70;right:16px;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 14px);background:var(--acid);max-width:min(340px,100vw - 32px);color:var(--ink);opacity:0;pointer-events:none;padding:13px 16px;font-size:12px;font-weight:700;transition:opacity .17s,transform .17s;position:fixed;transform:translateY(12px)}.toast.show{opacity:1;transform:translateY(0)}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes podium-rise{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes bar-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes nav-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width>=960px){.app-shell{padding-bottom:0;padding-left:108px}.topbar{margin-left:-108px;padding-left:24px}.app-nav{border-top:0;border-right:1px solid var(--line);background:var(--ink);grid-template-rows:repeat(5,86px);grid-template-columns:1fr;width:108px;height:calc(100vh - 68px);padding:12px;top:68px;right:auto}.nav-item{align-items:flex-start;padding-left:18px}.nav-item.active:before{width:2px;height:34px;top:17px;left:-13px}.page{padding:58px 44px 90px}.toast{bottom:22px}}@media (width<=820px){.group-context{display:none}.topbar{grid-template-columns:1fr auto}.home-lead,.results-heading,.season-hero,.plan-heading,.group-heading,.finalize-panel{flex-direction:column;align-items:flex-start}.results-layout,.season-grid,.group-grid{grid-template-columns:1fr}.group-grid .import-zone{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-row:2;padding-top:34px;padding-bottom:34px}.group-grid .roster{grid-row:1}.invite-panel{grid-template-columns:1fr}.leaderboard,.standings,.roster{border-right:0}.telemetry,.season-explainer,.import-zone{padding:34px 0 0}.telemetry{border-top:1px solid var(--line)}.poll-option{grid-template-columns:34px 66px 1fr;padding:22px 0}.vote-controls{grid-column:2/-1;padding:0}.vote-controls button{flex:1}.track-suggestions>a{grid-template-columns:1fr auto;padding:16px 0}.track-suggestions>a span{grid-area:2/1/auto/-1}.suggest-track{grid-template-columns:1fr 1fr}.suggest-track>div{grid-column:1/-1}}@media (width<=580px){.page{padding:30px 16px 52px}.topbar{min-height:60px;padding:0 16px}.workspace{min-height:calc(100vh - 60px)}h1{font-size:clamp(42px,15vw,64px)}.home-lead{padding-top:18px}.podium-stage{grid-template-columns:.92fr 1.2fr .92fr;min-height:270px}.podium-place{padding:16px 10px}.podium-place.place-1{min-height:220px}.podium-place.place-2{min-height:205px}.podium-place.place-3{min-height:190px}.podium-place .position{margin-bottom:18px}.podium-name{margin-top:0;font-size:11px}.podium-place strong{font-size:17px}.podium-place small{font-size:8px}.home-grid{grid-template-columns:1fr}.next-session,.your-pace{border-left:0;padding:28px 0}.leader-row{grid-template-columns:30px minmax(110px,1fr) auto 55px;gap:8px;min-height:58px;padding-right:6px}.gap-visual{display:none}.leader-row>strong,.racer-name{font-size:12px}.lap-bars{gap:2px}.recap-awards>div:last-child{grid-template-columns:1fr}.recap-awards article,.recap-awards article:first-child{border-right:0;border-bottom:1px solid var(--line);min-height:118px;padding:18px 0}.recap-awards article:last-child{border-bottom:0}.chart-key{font-size:8px}.standing-row{grid-template-columns:26px 36px minmax(100px,1fr) 50px;gap:9px;padding-right:0}.standing-row .standing-track{display:none}.standing-row>div strong{font-size:12px}.poll-option{grid-template-columns:58px 1fr;gap:14px}.option-index{display:none}.option-main h2{font-size:22px}.vote-controls{grid-column:1/-1}.calendar-actions{flex-direction:column;width:100%}.calendar-actions a,.calendar-actions button,.booking-fields .primary-action{width:100%}.plan-empty{padding:24px 18px}.suggest-track{grid-template-columns:1fr;padding:20px 16px}.suggest-track>div{grid-column:auto}.suggestion-queue article{grid-template-columns:1fr;gap:10px;padding:16px 0}.suggestion-actions,.suggestion-actions button{width:100%}.track-suggestions>a{grid-template-columns:1fr;gap:7px}.track-suggestions>a span,.track-suggestions>a small{grid-area:auto}.group-actions,.group-actions .primary-action,.group-actions .secondary-action{width:100%}.group-actions{flex-direction:column-reverse}.member-row{padding-right:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.demo-ribbon{z-index:45;background:var(--acid-dark);color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;border:1px solid #d9ff4347;padding:6px 9px;font-size:8px;font-weight:800;position:fixed;top:21px;right:72px}.member-note{color:var(--muted);font-size:12px}.member-row input:disabled{opacity:.42;cursor:not-allowed}.member-import-note{min-height:320px}.auth-poster,.access-screen{min-height:100svh;color:var(--paper);background:#080a08;position:relative;overflow:hidden}.auth-poster:before{content:"";border:22px solid #1b1f1a;border-radius:48% 0 0;height:92vh;position:absolute;inset:auto -8vw -28vh 32vw;transform:rotate(-9deg);box-shadow:inset 0 0 0 1px #353b34,0 0 0 1px #131613}.auth-poster:after{content:"01";color:#101310;font-family:var(--font-geist-mono), monospace;letter-spacing:-.15em;font-size:min(48vw,620px);font-weight:900;line-height:1;position:absolute;bottom:-.21em;right:-.05em}.poster-header{z-index:2;border-bottom:1px solid var(--line);min-height:80px;font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;justify-content:space-between;align-items:center;padding:0 5vw;font-size:9px;font-weight:700;display:flex;position:relative}.poster-wordmark{font-family:var(--font-geist-mono), monospace;letter-spacing:-.07em;font-size:20px;font-weight:900}.poster-wordmark span{color:var(--acid)}.poster-copy{z-index:3;width:min(760px,88vw);padding:9vh 5vw 8vh;position:relative}.poster-round{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.15em;margin-bottom:22px;font-size:10px;font-weight:800}.poster-copy h1{letter-spacing:-.085em;text-transform:uppercase;margin:0;font-size:clamp(68px,10vw,148px);line-height:.76}.poster-copy h1 em{color:var(--acid);font-style:normal}.poster-copy>p{color:#c0c5bb;max-width:440px;margin:36px 0 24px;font-size:16px;line-height:1.55}.google-action{background:var(--paper);min-height:52px;color:var(--ink);cursor:pointer;border:0;align-items:center;gap:12px;padding:0 22px;font-weight:800;display:inline-flex}.google-action span{border:1px solid #a8ada4;border-radius:50%;place-items:center;width:24px;height:24px;font-family:Arial,sans-serif;font-size:13px;display:grid}.google-action:disabled{opacity:.6;cursor:wait}.poster-copy>small{color:var(--muted);margin-top:16px;font-size:10px;display:block}.auth-error{color:var(--danger)!important;font-size:12px!important}.poster-time{z-index:3;font-family:var(--font-geist-mono), monospace;flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:18vh;right:5vw}.poster-time strong{color:var(--acid);letter-spacing:-.08em;font-size:clamp(24px,4vw,62px)}.poster-time span{color:var(--muted);letter-spacing:.16em;font-size:8px;font-weight:800}.poster-track{z-index:1;gap:9px;display:flex;position:absolute;bottom:6vh;right:6vw;transform:rotate(-9deg)}.poster-track span{background:var(--acid);width:clamp(48px,8vw,100px);height:14px}.poster-track span:nth-child(2){opacity:.45}.poster-track span:nth-child(3){opacity:.12}.access-screen{grid-template-rows:auto 1fr;padding:28px clamp(22px,6vw,90px);display:grid}.access-copy{align-self:center;width:min(680px,100%);padding-bottom:8vh}.access-copy h1{margin:20px 0;font-size:clamp(52px,8vw,96px);line-height:.91}.access-copy>p{max-width:560px;color:var(--muted);line-height:1.6}.signed-in-as{border-block:1px solid var(--line);flex-direction:column;gap:5px;max-width:560px;margin:28px 0 18px;padding:16px 0;display:flex}.signed-in-as span{color:var(--muted);text-transform:uppercase;font-size:10px}@media (width<=580px){.demo-ribbon{text-align:center;border-inline:0;width:100%;display:block;position:static}.poster-header{min-height:64px;padding:0 18px}.poster-copy{width:100%;padding:8vh 18px 20vh}.poster-copy h1{font-size:clamp(58px,20vw,84px)}.poster-time{top:auto;bottom:8vh;right:18px}.google-action{justify-content:center;width:100%}.auth-poster:before{inset:auto -52vw -40vh 20vw}}.scope-strip,.results-scope-bar{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:16px 0;display:flex}.scope-strip>div:first-child{flex-direction:column;gap:4px;min-width:112px;display:flex}.scope-strip>div:first-child>strong{font-family:var(--font-geist-mono), monospace;font-size:13px}.results-scope-bar{margin-bottom:18px}.results-scope-bar>p{color:var(--muted);text-align:right;margin:0;font-size:10px}.racer-scope-control{border:0;width:min(100%,520px);margin:0;padding:0}.racer-scope-options{border:1px solid var(--line-bright);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.racer-scope-option{border-right:1px solid var(--line-bright);background:var(--ink-soft);min-width:0;min-height:48px;color:var(--muted);cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:0 13px;display:grid;position:relative}.racer-scope-option:last-child{border-right:0}.racer-scope-option.selected{background:var(--acid);color:var(--ink)}.racer-scope-radio{opacity:0;width:1px;height:1px;position:absolute}.racer-scope-option:has(.racer-scope-radio:focus-visible){outline:2px solid var(--acid);outline-offset:3px}.racer-scope-option.selected:has(.racer-scope-radio:focus-visible){outline-color:var(--paper)}.racer-scope-label{text-overflow:ellipsis;font-size:10px;font-weight:750;overflow:hidden}.racer-scope-count{font-family:var(--font-geist-mono), monospace;font-size:10px}.scope-empty,.leaderboard-empty,.roster-empty{border-bottom:1px solid var(--line);min-height:150px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.scope-empty strong,.leaderboard-empty strong{color:var(--paper)}.overall-position{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-top:12px;font-size:8px;font-weight:750}.rank-stack,.rank-stack>span{flex-direction:column;display:flex}.rank-stack{gap:2px}.rank-stack>small{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:7px}.leader-row.group-racer{box-shadow:inset 2px 0 0 var(--acid);padding-left:6px}.leader-row.guest-racer{background-image:repeating-linear-gradient(-45deg,#0000 0 10px,#9da29906 10px 20px)}.leader-row.selected.group-racer{box-shadow:inset 4px 0 0 var(--acid);padding-left:10px}.racer-name>span:first-child{text-overflow:ellipsis;flex-direction:column;min-width:0;display:flex;overflow:hidden}.racer-name .raced-as{max-width:100%;color:var(--muted);text-overflow:ellipsis;text-transform:none;background:0 0;margin-top:3px;padding:0;overflow:hidden}.racer-kind.group,.racer-kind.guest,.roster-badges small,.you-badge{width:max-content;min-height:19px;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:2px 6px;font-size:7px;font-weight:800;display:inline-flex}.racer-kind.group,.you-badge{background:var(--acid);color:var(--ink)}.racer-kind.guest{border:1px solid var(--line-bright);color:var(--muted);background:0 0}.access-role-card{border:1px solid var(--line-bright);background:var(--ink-soft);grid-template-columns:150px minmax(0,1fr) minmax(260px,.75fr);align-items:center;gap:22px;margin:4px 0 26px;padding:18px 20px;display:grid}.access-role-card.admin{box-shadow:inset 3px 0 0 var(--acid)}.access-role-card>span{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.access-role-card>strong{font-size:13px}.access-role-card>p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.roster-heading{justify-content:space-between;align-items:baseline;gap:16px;padding-right:24px;display:flex}.roster-heading>span{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:9px}.roster .racer-scope-control{width:calc(100% - 24px);margin:4px 24px 14px 0}.scope-explainer{color:var(--muted);margin:0 24px 8px 0;font-size:10px;line-height:1.55}.group-key,.guest-key{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;padding:1px 5px;font-size:8px;font-weight:800;display:inline-block}.group-key{background:var(--acid);color:var(--ink)}.guest-key{border:1px solid var(--line-bright);color:var(--muted)}.roster-list{margin-top:16px}.roster-row{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(150px,1fr) minmax(190px,auto);align-items:center;gap:12px;min-height:96px;padding:14px 24px 14px 10px;display:grid}.roster-row.group-profile{box-shadow:inset 2px 0 0 var(--acid)}.roster-row.guest-profile{background-image:repeating-linear-gradient(-45deg,#0000 0 12px,#9da29907 12px 24px)}.roster-identity{min-width:0}.roster-identity>strong{align-items:center;gap:8px;display:flex}.roster-identity>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;display:block;overflow:hidden}.roster-badges{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.roster-badges>small:not(.racer-kind){border:1px solid var(--line);color:var(--muted)}.roster-controls{flex-direction:column;align-items:stretch;gap:7px;min-width:0;display:flex}.kind-switch{grid-template-columns:1fr 1fr;display:grid}.kind-switch button,.admin-toggle{border:1px solid var(--line-bright);background:var(--ink);min-height:44px;color:var(--muted);cursor:pointer;font-size:9px}.kind-switch button+button{border-left:0}.kind-switch button.selected{border-color:var(--acid);background:var(--acid-dark);color:var(--acid)}.season-toggle{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:9px;font-size:9px;display:flex}.season-toggle input,.import-season-choice input{width:20px;height:20px;accent-color:var(--acid);flex:none}.admin-toggle{color:var(--paper)}.import-identities{border-block:1px solid var(--line);margin:20px 0}.import-identities>summary{min-height:48px;color:var(--paper);cursor:pointer;padding:15px 0;font-size:11px;font-weight:750}.import-identities>p{color:var(--muted);font-size:10px;line-height:1.5}.import-identity-list{gap:10px;padding-bottom:16px;display:grid}.import-identity-row{border:1px solid var(--line);background:var(--ink-soft);gap:10px;padding:13px;display:grid}.import-source-racer{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.import-source-racer>span{color:var(--acid);font-family:var(--font-geist-mono), monospace;font-size:9px}.import-source-racer strong,.import-source-racer small{display:block}.import-source-racer small{color:var(--muted);margin-top:3px;font-size:8px}.import-identity-row>label{margin:0}.import-kind-control{grid-template-columns:1fr 1fr;display:grid}.import-kind-control button{border:1px solid var(--line-bright);background:var(--ink);min-height:44px;color:var(--muted)}.import-kind-control button+button{border-left:0}.import-kind-control button.selected{background:var(--acid-dark);color:var(--acid)}.import-review .import-season-choice{flex-direction:row;align-items:center;min-height:44px;margin:0}.claim-candidates{width:min(620px,100%);margin:22px 0}.claim-candidates>p{margin-bottom:10px;font-size:11px}.claim-candidate{border:1px solid var(--line);background:var(--ink-soft);cursor:pointer;border-bottom:0;grid-template-columns:22px 1fr;align-items:center;gap:13px;min-height:72px;padding:13px 14px;display:grid;position:relative}.claim-candidate:last-child{border-bottom:1px solid var(--line)}.claim-candidate.selected{border-color:var(--acid);background:var(--acid-dark)}.claim-candidate>input{opacity:0;width:1px;height:1px;position:absolute}.claim-candidate:has(input:focus-visible){outline:2px solid var(--acid);outline-offset:3px}.claim-radio-mark{border:1px solid var(--line-bright);width:18px;height:18px;box-shadow:inset 0 0 0 4px var(--ink-soft);border-radius:50%}.claim-candidate.selected .claim-radio-mark{background:var(--acid);border-color:var(--acid);box-shadow:inset 0 0 0 4px var(--acid-dark)}.claim-candidate-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.claim-candidate-copy>small{color:var(--acid);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800}.claim-candidate-copy>span{color:var(--muted);overflow-wrap:anywhere;font-size:9px;line-height:1.45}@media (width<=820px){.access-role-card{grid-template-columns:1fr;gap:8px}.access-role-card>p{max-width:620px}}@media (width<=580px){.scope-strip,.results-scope-bar{flex-direction:column;align-items:stretch;gap:11px}.results-scope-bar>p{text-align:left}.racer-scope-control{width:100%}.racer-scope-option{min-height:52px;padding:0 9px}.racer-scope-label,.racer-scope-count{font-size:9px}.racer-name{flex-direction:column;align-items:flex-start;gap:4px}.access-role-card{margin-bottom:22px;padding:16px}.roster-heading{padding-right:0}.roster .racer-scope-control,.scope-explainer{width:100%;margin-right:0}.roster-row{grid-template-columns:38px minmax(0,1fr);padding:14px 0 16px 8px}.roster-controls{grid-column:1/-1;padding-left:50px}.import-identity-row{padding:11px}.claim-candidate{min-height:78px}}
