.race-filters{gap:12px;margin-bottom:22px;display:grid;position:relative}.race-filters-top{gap:10px;display:grid}.race-filters-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.race-search input,.race-filter-group button,.race-filters-toggle,.race-filters-clear,.race-active-chip{border:1px solid var(--line);background:var(--band-card);border-radius:999px;min-height:44px;padding:0 16px}.race-search input{width:100%}.race-filter-group{flex-wrap:wrap;gap:8px;display:flex}.race-filter-row{gap:8px;display:grid}.race-filter-row p{color:var(--stone);text-transform:uppercase}.race-filter-group button.is-active,.race-filters-toggle.is-active,.race-filters-clear,.race-active-chip{color:var(--white);background:var(--inverse);border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.race-filters-toggle,.race-active-chip{align-items:center;gap:8px;display:inline-flex}.race-active-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.race-filter-group button:disabled{opacity:.42;cursor:not-allowed}.race-filter-group button:focus-visible,.race-filters-toggle:focus-visible,.race-filters-clear:focus-visible,.race-active-chip:focus-visible,.race-search input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calendar-count{color:var(--ink-muted)}.race-filters-fields{gap:16px;display:grid}@media (width>=720px){.race-filters-top{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.calendar-index-section,.calendar-related-section{--band-card:var(--sand-light);background:var(--paper)}.race-when button,.race-filter-selects select,.calendar-view-toggle button{border:1px solid var(--line);background:var(--band-card);border-radius:999px;min-height:44px;padding:0 16px}.race-when,.calendar-view-toggle{flex-wrap:wrap;gap:8px;display:flex}.race-filter-selects span{color:var(--stone);text-transform:uppercase;margin-bottom:8px}.race-filter-selects{gap:12px;display:grid}.race-filter-selects label{min-width:0;display:grid}.race-filter-selects select{border-radius:14px;width:100%}.race-when button.is-active,.calendar-view-toggle button.is-active,.lab-switch a.is-active{color:var(--white);background:var(--inverse);border-color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.lab-switch{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.lab-switch a{border:1px solid var(--line);background:var(--band-card);min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.calendar-more{min-height:44px}.calendar-empty-actions{flex-wrap:wrap;gap:10px;display:flex}.race-unconfirmed-note,.race-unconfirmed-chip{align-items:center;gap:4px;display:inline-flex}.race-card-site.is-primary{color:var(--ink);font-weight:700}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.calendar-toolbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-switch{min-height:44px;color:var(--accent-dark);align-items:center;text-decoration:none;display:inline-flex}.calendar-view-toggle button{align-items:center;gap:8px;display:inline-flex}.calendar-workspace{gap:18px;display:grid}.calendar-workspace.is-map .calendar-list,.calendar-workspace:not(.is-map) .calendar-map-wrap{display:none}.calendar-month+.calendar-month{margin-top:28px}.calendar-month h2,.calendar-related-section h2{margin-bottom:14px}.calendar-cards{gap:12px;display:grid}.race-card{border:1px solid var(--line);background:var(--band-card);border-radius:18px;min-width:0;transition:border-color .18s ease-out,transform .18s ease-out;display:grid;overflow:hidden}.race-card.is-active,.race-card:hover{border-color:var(--accent);transform:translateY(-2px)}.race-card-main{color:inherit;grid-template-columns:56px 56px minmax(0,1fr);align-items:start;gap:12px;padding:14px;text-decoration:none;display:grid}.race-card-main:not(:has(.race-logo)){grid-template-columns:56px minmax(0,1fr)}.race-card-date{background:var(--inverse);min-height:56px;color:var(--white);border-radius:14px;align-content:center;justify-items:center;line-height:1.1;display:grid}.race-card-date span:first-child{font-size:1.15rem;font-weight:700}.race-card-date span:last-child{text-transform:uppercase}.race-logo{object-fit:contain;background:var(--paper);border-radius:14px;width:56px;height:56px}.race-card-copy{gap:6px;min-width:0;display:grid}.race-card-copy p{color:var(--ink-muted)}.race-chips{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.race-chips li{border:1px solid var(--line);color:var(--ink-muted);border-radius:999px;padding:3px 8px}.race-chips .is-unconfirmed,.race-chips .is-national{color:var(--ink);border-color:var(--ink)}.race-card-links{flex-wrap:wrap;gap:4px 16px;margin:0 14px 4px;display:flex}.race-card-site{min-height:44px;color:var(--accent-dark);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.calendar-map-wrap{border:1px solid var(--line);background:var(--band-card);border-radius:18px;min-width:0;height:min(70vh,560px);overflow:hidden}.race-map{width:100%;height:100%}.race-pin{border:2px solid var(--paper);background:var(--inverse);color:var(--white);border-radius:999px;place-items:center;font-size:.7rem;font-weight:700;display:grid;box-shadow:0 4px 12px #0000002e}.race-pin.is-active{background:var(--accent);color:var(--on-accent)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--paper);color:var(--ink);border-radius:14px;box-shadow:0 10px 28px #0000001f}.race-popup p{margin:0 0 8px;font-weight:700}.race-popup ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.race-popup a{color:var(--ink);font-weight:700;text-decoration:none;display:block}.race-popup small{color:var(--ink-muted);display:block}.calendar-empty{justify-items:start;gap:16px;padding-block:12px;display:grid}.calendar-source{color:var(--stone);margin-top:22px}.calendar-source a{color:inherit}.race-hero{--band-card:var(--paper);border-bottom:1px solid var(--line);background:var(--sand);padding-block:clamp(28px,5vw,56px) clamp(36px,6vw,72px)}.race-panel{border:1px solid var(--line);background:var(--paper);border-radius:22px;justify-items:start;gap:18px;min-width:0;padding:clamp(18px,3.2vw,28px);display:grid}.race-panel-top{grid-template-columns:56px 56px minmax(0,1fr);align-items:start;gap:14px;width:100%;display:grid}.race-panel-top:not(:has(.race-logo)){grid-template-columns:56px minmax(0,1fr)}.race-panel-copy{gap:8px;min-width:0;display:grid}.race-panel-chips{flex-wrap:wrap;gap:8px;display:flex}.race-hero-logo{width:56px;height:56px}.race-hero h1{max-width:18em;margin:0}.race-unconfirmed{background:var(--sand);max-width:68ch;color:var(--ink);border-radius:14px;margin:0;padding:12px 14px;line-height:1.65}.race-hero-lede,.race-distances-text{max-width:68ch;color:var(--ink-muted);margin:0}.race-distances-text{line-height:1.65}.race-panel .race-chips{margin:0}.race-facts{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;width:100%;margin:0;padding:16px 0 0;display:grid}.race-facts dt{color:var(--stone);text-transform:uppercase}.race-facts dd{color:var(--ink);margin:5px 0 0}.race-panel-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.race-panel .button{margin-top:0}.race-event-layout{gap:16px;margin-top:22px;display:grid}.race-event-map-col{align-content:start;min-width:0;display:grid}.calendar-related-section .calendar-cards{margin-top:8px}@media (width>=720px){.calendar-results .calendar-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.race-filter-selects{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}}@media (width>=960px){.calendar-view-toggle{display:none}.calendar-workspace,.calendar-workspace.is-map{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);align-items:start}.calendar-workspace .calendar-list,.calendar-workspace.is-map .calendar-list,.calendar-workspace .calendar-map-wrap,.calendar-workspace:not(.is-map) .calendar-map-wrap{display:block}.calendar-map-wrap{top:calc(88px + var(--dev-bar-h,0px));height:calc(100vh - 120px - var(--dev-bar-h,0px));position:sticky}.race-event-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start}.race-event-map{height:min(52vh,420px);position:static}}@media (width<=419px){.race-card-main,.race-panel-top{grid-template-columns:48px minmax(0,1fr)}:is(.race-card-main:not(:has(.race-logo)),.race-panel-top:not(:has(.race-logo))){grid-template-columns:minmax(0,1fr)}.race-card-date{display:none}.race-facts{grid-template-columns:minmax(0,1fr)}}
