.race-list{gap:10px;display:grid}.race-row{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:box-shadow .18s var(--ease), border-color .18s;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;display:grid}.race-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.race-row .race-main>.row strong{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em}.race-row.status-completed,.race-row.status-archived{background:var(--surface-2)}.race-row.status-archived{opacity:.75}.race-main{gap:3px;min-width:0;display:grid}.race-actions{gap:2px;display:flex}.race-priority{width:40px;height:40px;font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.priority-A{background:var(--ink-bg);color:var(--on-ink-accent)}.priority-B{background:var(--accent-soft);color:var(--accent-ink)}.priority-C{background:var(--surface-3);color:var(--muted);border:1px solid var(--line)}.race-event{grid-template-columns:84px minmax(0,1fr);gap:18px;display:grid}.race-date-tile{border-radius:var(--radius);background:var(--surface-3);text-align:center;align-self:start;padding:10px 6px}.race-date-tile .day{font-family:var(--font-display);font-size:var(--text-figure);font-weight:700;line-height:1.1}.race-date-tile .month{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.race-month{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.05em;color:var(--subtle);margin:8px 0 -4px;font-weight:650}@media (width<=760px){.race-row{grid-template-columns:auto minmax(0,1fr)}.race-actions{grid-column:1/-1;justify-content:flex-end}.race-event{grid-template-columns:minmax(0,1fr);gap:10px}.race-date-tile{justify-self:start;align-items:baseline;gap:8px;padding:6px 10px;display:flex}.race-date-tile .day{font-size:var(--text-xl)}}.race-filters{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-items:end;gap:12px;display:grid}.race-filters-clear{justify-self:start}.race-scope{scrollbar-width:none;overflow-x:auto}.race-cat-list{gap:8px;display:grid}.race-cat-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:14px;padding:12px 14px;display:grid}.race-cat-row .race-date-tile{padding:8px 4px}.race-cat-row .race-date-tile .day{font-size:var(--text-2xl)}.race-cat-main{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.race-cat-main h3{font-size:var(--text-lg);overflow-wrap:anywhere;margin:0}.race-cat-meta{flex-wrap:wrap;gap:4px 12px;display:flex}.race-cat-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.race-cat-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.race-series{flex-wrap:wrap;gap:6px;display:inline-flex}.race-subhead{font-size:var(--text-md);text-transform:uppercase;letter-spacing:.05em;color:var(--subtle);margin:0}.race-facts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;margin:0;display:grid}.race-facts dt{font-size:var(--text-md);color:var(--muted);margin-bottom:3px}.race-facts dd{margin:0}.race-links{gap:6px;margin:0;padding:0;list-style:none;display:grid}.race-revisions{gap:10px;margin:0;padding:0;list-style:none;display:grid}.race-revisions li{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.race-series-picker{margin-top:18px}.race-series-picker legend{margin-bottom:4px}.race-series-picker .hint{font-size:var(--text-md);color:var(--muted);margin:0 0 10px}.race-series-options{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 16px;display:grid}.race-product-row{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.race-product-row legend{font-size:var(--text-base);margin-bottom:4px;padding:0 4px}.race-product-remove{justify-content:flex-end;margin-top:8px;display:flex}.form-grid .span-2{grid-column:1/-1}.race-month-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.race-month-head h2{font-size:var(--text-xl);margin:0}.race-month-grid{border-collapse:collapse;table-layout:fixed;width:100%}.race-month-grid th{font-size:var(--text-sm);color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:8px 6px;font-weight:600}.race-month-grid td{vertical-align:top;border:1px solid var(--line);border-width:0 1px 1px 0;height:92px;padding:6px}.race-month-grid td:last-child{border-right:0}.race-month-grid td.outside{background:var(--surface-2)}.race-month-grid td[aria-current=date] .race-month-day{background:var(--ink-bg);color:var(--on-ink-accent)}.race-month-day{border-radius:var(--radius-sm);min-width:22px;height:22px;font-size:var(--text-md);place-items:center;margin-bottom:4px;font-weight:600;display:inline-grid}.race-chip{text-align:left;width:100%;font:inherit;font-size:var(--text-sm);border-radius:var(--radius-sm);background:var(--surface-3);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:0;margin-bottom:3px;padding:3px 6px;line-height:1.3;display:block;overflow:hidden}.race-chip:hover{background:var(--accent-soft)}.race-chip:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.race-month-list{gap:12px;padding:12px 14px;display:none}.race-month-list-day{gap:4px;display:grid}.race-month-list .race-chip{white-space:normal}.race-month-empty{margin:8px 0 0;padding:0 14px 12px}@media (width<=760px){.race-month-grid{display:none}.race-month-list{display:grid}.race-month-empty{display:none}.race-cat-row{grid-template-columns:minmax(0,1fr);gap:8px}.race-cat-row .race-date-tile{display:none}.race-cat-actions{justify-content:flex-start}}@media (width<=480px){.race-cat-tags .badge{white-space:normal;border-radius:var(--radius-control);max-width:100%}}.race-picker{gap:6px;max-height:55vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.race-picker-row{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=760px){.race-picker-row{flex-direction:column;align-items:flex-start}}.participation-row{border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:10px 12px;display:grid}.participation-main{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.participation-people{gap:6px;margin:0;padding:0;list-style:none;display:grid}.participation-people li{justify-content:space-between;align-items:center;gap:10px;display:flex}.participation-people li>span{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.participation-preview{margin-top:var(--sp-8);border-radius:var(--radius);background:var(--surface-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:12px;display:grid}.participation-preview-title{align-items:center;gap:var(--sp-6);font-weight:var(--weight-bold);display:inline-flex}.participation-preview p{margin-top:var(--sp-4)}.import-mapping{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.import-groups{gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;padding:10px 12px;display:grid}.import-group.is-invalid{border-color:var(--danger)}.import-group.is-duplicate{border-color:var(--warning)}.import-group.is-imported{opacity:.7}.import-group-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.import-issues{gap:3px;margin:0;padding:0;list-style:none;display:grid}.proposal-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.proposal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;min-width:0;padding:12px 14px;display:grid}.proposal-main{min-width:0}.cell-sub{display:block}.lookup-url{overflow-wrap:anywhere}.proposal-link{display:inline-flex}.proposal-text.added li::marker{content:"+ "}.proposal-text.removed li::marker{content:"- "}.proposal-evidence summary{cursor:pointer}.proposal-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);background:var(--surface-2);border-radius:var(--radius-sm);max-height:220px;margin:6px 0 0;padding:8px;overflow:auto}.registration-cell{gap:2px;display:inline-grid}.race-entry-route{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.race-row.status-deferred,.race-row.status-cancelled{background:var(--surface-2)}.race-status-options{gap:6px;display:grid}.race-status-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.race-status-option:has(input:checked){border-color:var(--ink)}.race-status-option input{margin-top:3px}.race-status-option>span{gap:2px;display:grid}.race-status-option-title{font-weight:600}.race-cancel-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;padding:12px 14px;display:grid}.racing-next{margin:0;padding:0;list-style:none}.race-cancel-group ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.race-cancel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;display:flex}.race-overview-bar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 16px;display:flex}.race-overview-search{flex:260px;max-width:420px;position:relative}.race-overview-search>svg{color:var(--muted);pointer-events:none;position:absolute;bottom:12px;left:11px}.race-overview-search input{padding-left:34px}.race-overview-filters{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.race-overview-dates{grid-template-columns:repeat(auto-fill,minmax(160px,220px));gap:12px;display:grid}.race-overview-groups{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start;gap:16px 20px;display:grid}.race-overview-group{gap:6px;max-height:260px;display:grid;overflow-y:auto}.race-overview-group legend{font-size:var(--text-md);margin-bottom:6px}.race-overview-summary{border-bottom:1px solid var(--line);font-size:var(--text-md);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 14px;display:flex}.race-overview-table td{vertical-align:top}.race-overview-table .race-overview-date{white-space:nowrap}.race-review-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:16px;display:grid}.race-split-fields{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.race-split-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,130px),1fr));gap:12px;display:grid}.race-comparison th[scope=row]{color:var(--ink);background:0 0;font-weight:600}.review-setting{border-top:1px solid var(--line);gap:8px;padding:12px 0;display:grid}.review-setting:first-of-type{border-top:0;padding-top:0}.review-preset-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;display:grid}.quick-filters{gap:8px;display:grid}.quick-filter-row{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;display:grid}.quick-filter-label{font-size:var(--text-sm);color:var(--muted);padding-top:6px;font-weight:600}.quick-filter-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.quick-filter-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:32px;display:flex}@media (width<=760px){.quick-filter-row{grid-template-columns:minmax(0,1fr);gap:4px}.quick-filter-label{padding-top:0}.quick-filter-chips{scrollbar-width:thin;flex-wrap:nowrap;padding:2px 2px 6px;overflow-x:auto}}.races-band{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;display:grid}.races-band.is-loading{min-height:140px}.races-next{align-content:start;gap:10px;display:grid}.races-season .race-priority{width:30px;height:30px;font-size:var(--text-base);box-shadow:0 0 0 1px color-mix(in srgb, var(--on-ink) 25%, transparent)}.races-season{align-content:start;gap:12px;display:grid}.races-season-counts{gap:20px;display:flex}.races-season-item{align-items:center;gap:8px;display:inline-flex}.races-season-n{font-family:var(--font-display);font-size:var(--text-figure);color:var(--on-ink);font-weight:750}.races-after{border-top:1px solid color-mix(in srgb, var(--on-ink) 14%, transparent);font-size:var(--text-base);color:var(--on-ink);gap:6px;margin:0;padding:10px 0 0;list-style:none;display:grid}.races-after li{justify-content:space-between;gap:10px;min-width:0;display:flex}.races-after a{color:inherit;text-decoration:none}.races-after a:hover{text-underline-offset:3px;text-decoration:underline}.races-find{font-size:var(--text-base);color:var(--on-ink-accent);align-items:center;gap:5px;margin-top:auto;font-weight:650;text-decoration:none;display:inline-flex}.races-find:hover{text-underline-offset:3px;text-decoration:underline}@media (width<=760px){.races-band{grid-template-columns:minmax(0,1fr);gap:10px}.races-next{gap:8px}.races-season .race-priority{width:24px;height:24px;font-size:var(--text-sm)}.races-season{border-top:1px solid color-mix(in srgb, var(--on-ink) 14%, transparent);grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding-top:8px}.races-season>.train-figure-label{grid-column:1/-1}.races-find{white-space:nowrap}.races-season-counts{gap:12px}.races-season-n{font-size:var(--text-xl)}.races-season-item{gap:5px}.races-after{display:none}.races-find{font-size:var(--text-md);margin-top:0}}.race-review-band{gap:6px;display:grid}.race-review-band-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--on-ink);font-size:clamp(26px,3.2vw,38px);font-weight:750;line-height:1.1}.race-review-band-badges{margin-top:6px}.interested-list{margin:0;padding:0;list-style:none;display:grid}.interested-row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 0;display:flex}.interested-row:first-child{padding-top:0}.interested-row:last-child{border-bottom:0;padding-bottom:0}.interested-main{flex:1;gap:4px;min-width:min(100%,240px);display:grid}.interested-main svg{vertical-align:-2px}.interested-actions{flex-wrap:wrap;gap:4px;display:flex}.race-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-width:0;display:grid;position:relative}.race-card-count{justify-items:center;min-width:56px;margin:0;display:grid}.race-card-number{font-family:var(--font-display);font-size:var(--text-figure-lg);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:800;line-height:.95}.race-card-unit{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;font-weight:650}.race-card-leaf{border-radius:var(--radius);background:var(--surface-2);align-content:center;justify-items:center;min-width:56px;margin:0;padding:6px 4px;line-height:1.1;display:grid}.race-card-leaf-day{font-family:var(--font-display);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:750}.race-card-leaf-month{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}.race-card-text{gap:4px;min-width:0;display:grid}.race-card-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);overflow-wrap:anywhere;font-weight:750;line-height:1.2;text-decoration:none}.race-card-name:after{content:"";border-radius:inherit;position:absolute;inset:0}.race-card-name:hover{text-underline-offset:3px;text-decoration:underline}.race-card-name:focus-visible{outline:none}.race-card:has(.race-card-name:focus-visible){box-shadow:0 0 0 2px var(--focus)}.race-card-line{font-size:var(--text-md);color:var(--muted)}.race-card-meta{font-size:var(--text-md);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.race-card-meta .race-priority{width:28px;height:28px;font-size:var(--text-base)}.race-card-inline{align-items:center;gap:5px;min-width:0;display:inline-flex}.race-card.is-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:14px 16px}.race-card.is-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.race-card.is-card .race-card-number{color:var(--ink)}.race-card.is-card.status-archived,.race-card.is-card.status-completed,.race-card.is-card.status-deferred,.race-card.is-card.status-cancelled{background:var(--surface-2)}.race-card.is-card.status-archived{opacity:.75}.race-card.is-card.status-archived .race-card-leaf,.race-card.is-card.status-completed .race-card-leaf{background:var(--surface-3)}.race-card.is-highlighted{border-color:var(--ink);box-shadow:0 0 0 2px var(--accent)}.race-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.race-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:10px;display:grid}.race-card.is-band{gap:24px}.race-card.is-band .race-card-count{justify-items:start}.race-card.is-band .race-card-number{color:var(--on-ink);font-size:clamp(52px,6vw,72px)}.race-card.is-band .race-card-unit{font-size:var(--text-base);color:color-mix(in srgb, var(--on-ink) 75%, transparent)}.race-card.is-band .race-card-text{gap:6px}.race-card.is-band .race-card-name{font-size:var(--text-2xl);color:var(--on-ink)}.race-card.is-band .race-card-line,.race-card.is-band .race-card-meta{font-size:var(--text-base);color:color-mix(in srgb, var(--on-ink) 75%, transparent)}.race-card.is-band .race-card-meta .race-priority{width:30px;height:30px;box-shadow:0 0 0 1px color-mix(in srgb, var(--on-ink) 25%, transparent)}.race-card.is-band .race-card-leaf{background:color-mix(in srgb, var(--on-ink) 12%, transparent);color:var(--on-ink)}@media (width<=760px){.race-card{align-items:start;gap:12px}.race-card.is-card{padding:12px 14px}.race-card-number{font-size:var(--text-figure)}.race-card-unit{font-size:var(--text-xs)}.race-card-name{font-size:var(--text-lg)}.race-card-meta .race-priority{width:24px;height:24px;font-size:var(--text-sm)}.race-card.is-band{gap:14px}.race-card.is-band .race-card-number{font-size:var(--text-figure-lg)}.race-card.is-band .race-card-unit{font-size:var(--text-sm)}.race-card.is-band .race-card-text{gap:3px}.race-card.is-band .race-card-name{font-size:var(--text-xl)}.race-card.is-band .race-card-line,.race-card.is-band .race-card-meta{font-size:var(--text-md)}.race-card.is-band .race-card-meta .race-priority{width:24px;height:24px}}.race-goal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:14px;display:grid}.race-goal-links-list{gap:4px;display:grid}.race-goal-link{border-radius:var(--radius-control);min-height:40px;color:var(--ink);align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.race-goal-link:hover{background:var(--surface-2)}.race-goal-link:focus-visible{box-shadow:0 0 0 2px var(--focus);outline:none}.race-goal-link-text{flex:1;gap:2px;min-width:0;display:grid}.race-goal-link>svg:last-child{color:var(--muted)}.race-card-count.is-on-band{justify-items:end}.race-card-count.is-on-band .race-card-number{color:var(--on-ink)}.race-card-count.is-on-band .race-card-unit{color:color-mix(in srgb, var(--on-ink) 75%, transparent)}@media (width<=760px){.race-card-count.is-on-band{justify-items:start}}
