.ThemeToggle-module__3b5zuq__toggle{width:var(--target-min);height:var(--target-min);border:1.5px solid var(--line);border-radius:var(--r-round);color:var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.ThemeToggle-module__3b5zuq__toggle:hover{border-color:var(--ink)}.ThemeToggle-module__3b5zuq__dark{display:none}[data-theme=dark] .ThemeToggle-module__3b5zuq__dark{display:block}[data-theme=dark] .ThemeToggle-module__3b5zuq__light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ThemeToggle-module__3b5zuq__dark{display:block}:root:not([data-theme=light]) .ThemeToggle-module__3b5zuq__light{display:none}}
.Header-module__Af2_WG__header{background:var(--card);border-bottom:1px solid var(--line)}.Header-module__Af2_WG__stripe{background:var(--track);height:6px}.Header-module__Af2_WG__inner{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.Header-module__Af2_WG__top{justify-content:space-between;align-items:center;gap:var(--gap-row);padding:14px 0;display:flex}.Header-module__Af2_WG__brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.Header-module__Af2_WG__wordmark{font:var(--type-logo);letter-spacing:var(--tracking-display);text-transform:uppercase;white-space:nowrap}.Header-module__Af2_WG__nav{overscroll-behavior-x:contain;scrollbar-width:none;gap:24px;display:flex;overflow-x:auto}.Header-module__Af2_WG__nav::-webkit-scrollbar{display:none}.Header-module__Af2_WG__tab{min-height:var(--target-min);color:var(--mute);font:var(--type-strong);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;padding:0 2px;font-weight:600;text-decoration:none;display:inline-flex}.Header-module__Af2_WG__tab:hover{color:var(--ink)}.Header-module__Af2_WG__active{color:var(--ink);border-bottom-color:var(--track);font-weight:700}
.Footer-module__EZoWya__footer{background:var(--card);border-top:1px solid var(--line);margin-top:var(--gap-section)}.Footer-module__EZoWya__checker{background:repeating-conic-gradient(var(--ink) 0% 25%, var(--card) 0% 50%) 0 0 / 14px 14px;height:14px}.Footer-module__EZoWya__inner{max-width:var(--page-max);padding:24px var(--gutter) 32px;justify-content:space-between;align-items:baseline;gap:var(--gap-row);flex-wrap:wrap;margin:0 auto;display:flex}.Footer-module__EZoWya__wordmark{font:var(--type-year);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink)}.Footer-module__EZoWya__note{font:var(--type-small);color:var(--mute)}
.GoalLane-module__qB1NPG__block{flex:999 420px;min-width:0}.GoalLane-module__qB1NPG__labels{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mute);justify-content:space-between;align-items:baseline;gap:8px;min-height:14px;margin-bottom:8px;display:flex}.GoalLane-module__qB1NPG__best{color:var(--ink)}.GoalLane-module__qB1NPG__targetOver{white-space:nowrap;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mute);position:absolute;bottom:calc(100% + 8px);transform:translate(-50%)}.GoalLane-module__qB1NPG__lane{height:var(--lane-h);border-radius:var(--r-lane);background:var(--track-faint);position:relative}.GoalLane-module__qB1NPG__fill{border-radius:var(--r-lane);background:var(--track);box-shadow:var(--lane-sheen);position:absolute;inset:0 auto 0 0}.GoalLane-module__qB1NPG__fillMuted{background:var(--mute)}.GoalLane-module__qB1NPG__volt{background:var(--volt);box-shadow:var(--lane-sheen);position:absolute;top:0;bottom:0}.GoalLane-module__qB1NPG__hatch{border-radius:0 var(--r-lane) var(--r-lane) 0;background:repeating-linear-gradient(135deg, var(--mute) 0 1.5px, transparent 1.5px 7px);opacity:.55;position:absolute;top:0;bottom:0}.GoalLane-module__qB1NPG__start{width:var(--start-line-w);background:var(--ink);border-radius:1px;position:absolute;top:-5px;bottom:-5px;left:0}.GoalLane-module__qB1NPG__finish{width:var(--finish-w);background:repeating-conic-gradient(var(--ink) 0% 25%, var(--card) 0% 50%) 0 0 / 6px 6px;position:absolute;top:-5px;bottom:-5px}.GoalLane-module__qB1NPG__marker{width:var(--marker);height:var(--marker);margin-top:calc(var(--marker) / -2);border:3px solid var(--ink);border-radius:var(--r-round);background:var(--volt);box-shadow:0 0 0 3px var(--card);position:absolute;top:50%}.GoalLane-module__qB1NPG__markerMissed{background:var(--inv-bg)}.GoalLane-module__qB1NPG__skeleton{background:var(--soft)}
.GoalRow-module__zeE1uW__row{align-items:center;gap:var(--gap-card);background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);flex-wrap:wrap;padding:18px clamp(16px,3%,24px);display:flex}.GoalRow-module__zeE1uW__identity{flex:380px;align-items:stretch;gap:14px;min-width:0;display:flex}.GoalRow-module__zeE1uW__pill{border-radius:var(--r-pill-date);width:59px;min-height:44px;font:var(--type-date-pill);letter-spacing:var(--tracking-display);text-transform:uppercase;text-align:center;flex:none;place-items:center;display:grid}.GoalRow-module__zeE1uW__pillOpen{background:var(--track);color:var(--on-track)}.GoalRow-module__zeE1uW__pillWon{background:var(--volt);color:var(--on-volt)}.GoalRow-module__zeE1uW__pillLost{background:var(--soft);color:var(--mute)}.GoalRow-module__zeE1uW__text{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.GoalRow-module__zeE1uW__name{font:var(--type-goal-name);color:var(--ink)}.GoalRow-module__zeE1uW__status{font:var(--type-small);color:var(--mute);min-height:20px;margin:0}.GoalRow-module__zeE1uW__statusSkeleton{border-radius:var(--r-tag);background:var(--soft);width:9ch;height:12px;display:inline-block}
.YearSegments-module__Egi7TG__track{background:var(--soft);border-radius:var(--r-round);gap:4px;padding:4px;display:inline-flex}.YearSegments-module__Egi7TG__segment{min-height:var(--target-min);border-radius:var(--r-round);color:var(--ink);font:var(--type-segment);letter-spacing:var(--tracking-display);cursor:pointer;background:0 0;border:none;padding:0 18px}.YearSegments-module__Egi7TG__selected{background:var(--inv-bg);color:var(--inv-ink)}
.GoalsSection-module__ubrEGa__section{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto;scroll-margin-top:12px}.GoalsSection-module__ubrEGa__heading{font:var(--type-section);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink);margin:0 0 16px}.GoalsSection-module__ubrEGa__controls{margin-bottom:var(--gap-card)}.GoalsSection-module__ubrEGa__list{gap:var(--gap-row);margin:0;padding:0;list-style:none;display:grid}
.ForecastPanel-module__nprETa__panel{background:var(--card);border-radius:var(--r-card);max-width:440px;color:var(--ink);flex:300px;padding:16px 18px;container-type:inline-size}.ForecastPanel-module__nprETa__labelRow{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ForecastPanel-module__nprETa__label{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mute);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ForecastPanel-module__nprETa__tag{border-radius:var(--r-tag);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;flex:none;padding:3px 7px}.ForecastPanel-module__nprETa__live{background:var(--volt);color:var(--on-volt)}.ForecastPanel-module__nprETa__seasonal{background:var(--soft);color:var(--mute)}.ForecastPanel-module__nprETa__reading{align-items:center;gap:14px;display:flex}.ForecastPanel-module__nprETa__icon{color:var(--track-text);flex:none}.ForecastPanel-module__nprETa__temps{align-items:baseline;gap:6px;min-width:0;display:flex}.ForecastPanel-module__nprETa__high{font:var(--type-figure);letter-spacing:var(--tracking-display);font-size:min(56px,17cqi)}.ForecastPanel-module__nprETa__low{font:var(--type-figure);color:var(--mute);font-size:min(32px,10cqi)}.ForecastPanel-module__nprETa__condition{font:var(--type-strong);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;overflow:hidden}.ForecastPanel-module__nprETa__unavailable{font:var(--type-strong);color:var(--mute);margin:0}.ForecastPanel-module__nprETa__skeleton{border-radius:var(--r-lane);background:var(--soft)}
.NextStartBanner-module__FvQt8W__banner{align-items:center;gap:var(--gap-card);border-radius:var(--r-section);color:var(--on-track);background:repeating-linear-gradient(180deg, transparent 0 54px, var(--banner-stripe) 54px 56px), var(--track);flex-wrap:wrap;flex:2 620px;padding:24px 24px 24px 60px;display:flex;position:relative;container-type:inline-size}.NextStartBanner-module__FvQt8W__startLine{background:#fff;width:8px;position:absolute;top:0;bottom:0;left:36px}.NextStartBanner-module__FvQt8W__countdown{flex-wrap:wrap;flex:260px;align-items:flex-end;gap:14px;display:flex}.NextStartBanner-module__FvQt8W__days{font:var(--type-countdown);letter-spacing:var(--tracking-display);font-size:min(160px,46cqi)}.NextStartBanner-module__FvQt8W__caption{font:var(--type-banner-caption);letter-spacing:var(--tracking-display);text-transform:uppercase;white-space:nowrap;padding-bottom:.1em;font-size:min(40px,11.5cqi)}@container (max-width:560px){.NextStartBanner-module__FvQt8W__countdown{flex-direction:column;align-items:flex-start;gap:6px}.NextStartBanner-module__FvQt8W__caption{white-space:normal}}.NextStartBanner-module__FvQt8W__captionLine{display:block}.NextStartBanner-module__FvQt8W__skeleton{border-radius:var(--r-lane);background:#ffffff38;display:inline-block}.NextStartBanner-module__FvQt8W__empty{font:var(--type-banner-caption);letter-spacing:var(--tracking-display);text-transform:uppercase;flex:100%;margin:0;font-size:min(40px,11.5cqi)}
.PersonalBests-module__8VLona__card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-section);flex-direction:column;flex:340px;display:flex;overflow:hidden}.PersonalBests-module__8VLona__checker{background:repeating-conic-gradient(var(--ink) 0% 25%, var(--card) 0% 50%) 0 0 / 16px 16px;flex:none;height:16px}.PersonalBests-module__8VLona__body{flex:1;padding:16px 18px 18px}.PersonalBests-module__8VLona__eyebrow{font:var(--type-label-l);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--track-text);margin-bottom:10px;display:block}.PersonalBests-module__8VLona__list{margin:0;padding:0;list-style:none}.PersonalBests-module__8VLona__row{justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.PersonalBests-module__8VLona__row+.PersonalBests-module__8VLona__row{border-top:1px dashed var(--line)}.PersonalBests-module__8VLona__type{font:var(--type-caption);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink)}.PersonalBests-module__8VLona__where{font:var(--type-small);color:var(--mute);display:block}.PersonalBests-module__8VLona__time{font:var(--type-pb-time);letter-spacing:-.02em;color:var(--ink);flex:none}.PersonalBests-module__8VLona__empty{font:var(--type-small);color:var(--mute);margin:0}
.OverviewRow-module__P629QW__section{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.OverviewRow-module__P629QW__row{align-items:stretch;gap:var(--gap-card);flex-wrap:wrap;display:flex}
.CityImage-module__I9gT6a__figure{aspect-ratio:8/5;background:var(--sky-bg);flex:420px;min-width:0;min-height:240px;margin:0;position:relative;overflow:hidden}.CityImage-module__I9gT6a__image{object-fit:cover;object-position:center bottom;width:100%;height:100%;position:absolute;inset:0}.CityImage-module__I9gT6a__night{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .CityImage-module__I9gT6a__night{display:block}:root:not([data-theme=light]) .CityImage-module__I9gT6a__day{display:none}}:root[data-theme=dark] .CityImage-module__I9gT6a__night{display:block}:root[data-theme=dark] .CityImage-module__I9gT6a__day{display:none}
.RaceCard-module__L9GOoa__card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-section);flex-wrap:wrap;display:flex;overflow:hidden;container-type:inline-size}.RaceCard-module__L9GOoa__details{flex-direction:column;flex:340px;min-width:0;max-width:max(380px,759240px - 99900cqi);padding:clamp(20px,3%,32px);display:flex;container-type:inline-size}.RaceCard-module__L9GOoa__chip{border-radius:var(--r-tag);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;align-self:flex-start;padding:3px 7px}.RaceCard-module__L9GOoa__chipUpcoming{background:var(--volt);color:var(--on-volt)}.RaceCard-module__L9GOoa__chipPast{background:var(--soft);color:var(--mute)}.RaceCard-module__L9GOoa__title{font:var(--type-race-title);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:10px 0 0;font-size:min(56px,17cqi);overflow:hidden}.RaceCard-module__L9GOoa__date{font:var(--type-date);color:var(--mute);margin:6px 0 0}.RaceCard-module__L9GOoa__state{height:var(--race-details-h);margin-top:14px;display:grid}.RaceCard-module__L9GOoa__pane{flex-direction:column;grid-area:1/1;min-width:0;display:flex}.RaceCard-module__L9GOoa__paneHidden{visibility:hidden}.RaceCard-module__L9GOoa__hero{flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;display:flex}.RaceCard-module__L9GOoa__heroNumber{font:var(--type-hero-number);letter-spacing:var(--tracking-display);color:var(--ink);font-size:min(96px,20cqi)}.RaceCard-module__L9GOoa__heroUpcoming{color:var(--track-text)}.RaceCard-module__L9GOoa__heroMuted{color:var(--mute)}.RaceCard-module__L9GOoa__heroCaption{font:var(--type-caption);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--mute);white-space:nowrap;padding-bottom:.25em}.RaceCard-module__L9GOoa__captionAccent{color:var(--track-text)}.RaceCard-module__L9GOoa__captionLine{display:block}.RaceCard-module__L9GOoa__box{background:var(--soft);border-radius:var(--r-inset);min-width:0;margin-top:auto;padding:12px 14px}.RaceCard-module__L9GOoa__boxLabel{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mute);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.RaceCard-module__L9GOoa__boxBody{align-items:center;gap:12px;min-width:0;margin-top:8px;display:flex}.RaceCard-module__L9GOoa__boxIcon{color:var(--track-text);flex:none}.RaceCard-module__L9GOoa__boxText{min-width:0}.RaceCard-module__L9GOoa__boxFigure{font:var(--type-figure);letter-spacing:var(--tracking-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.RaceCard-module__L9GOoa__boxLine{font:var(--type-small);color:var(--mute);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.RaceCard-module__L9GOoa__skeleton{border-radius:var(--r-lane);background:var(--line);display:inline-block}.RaceCard-module__L9GOoa__footer{border-top:1px dashed var(--line);justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;display:flex}.RaceCard-module__L9GOoa__step{min-height:var(--target-min);border:1.5px solid var(--line);border-radius:var(--r-round);max-width:48%;color:var(--ink);font:var(--type-small);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;padding:0 14px;font-weight:600;overflow:hidden}.RaceCard-module__L9GOoa__step:hover:not(:disabled){border-color:var(--ink)}.RaceCard-module__L9GOoa__step:disabled{opacity:.4;cursor:default}
.RaceTimeline-module__PWeQeq__head{max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.RaceTimeline-module__PWeQeq__heading{font:var(--type-section);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink);margin:0}.RaceTimeline-module__PWeQeq__scroller{width:100vw;margin-left:calc(50% - 50vw);margin-top:var(--gap-card);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;overflow-x:auto}.RaceTimeline-module__PWeQeq__scroller::-webkit-scrollbar{display:none}.RaceTimeline-module__PWeQeq__rail{--lead:max(var(--gutter), calc((100vw - var(--page-max)) / 2 + 40px));--track-top:52px;padding:0 var(--lead);width:max-content;display:flex;position:relative}.RaceTimeline-module__PWeQeq__track{top:var(--track-top);height:var(--lane-h);border-radius:var(--r-lane);background:var(--track-faint);position:absolute}.RaceTimeline-module__PWeQeq__trackRun{top:var(--track-top);height:var(--lane-h);border-radius:var(--r-lane);background:var(--track);box-shadow:var(--lane-sheen);position:absolute}.RaceTimeline-module__PWeQeq__todayPost{top:calc(var(--track-top) - 10px);width:4px;height:calc(var(--lane-h) + 20px);background:var(--ink);border-radius:1px;position:absolute}.RaceTimeline-module__PWeQeq__todayTag{top:calc(var(--track-top) - 28px);border-radius:var(--r-tag);background:var(--inv-bg);color:var(--inv-ink);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;padding:2px 6px;font-size:10px;position:absolute;transform:translate(-50%)}.RaceTimeline-module__PWeQeq__yearRule{width:0;height:calc(var(--track-top) - 22px);border-left:2px dashed var(--line);position:absolute;top:22px}.RaceTimeline-module__PWeQeq__yearLabel{font:var(--type-year);letter-spacing:var(--tracking-display);color:var(--mute);position:absolute;top:0;transform:translate(6px)}.RaceTimeline-module__PWeQeq__slot{width:var(--timeline-slot);padding:var(--track-top) 0 8px;text-align:center;cursor:pointer;scroll-snap-align:center;background:0 0;border:none;flex-direction:column;flex:none;justify-content:flex-start;align-items:center;display:flex;position:relative}.RaceTimeline-module__PWeQeq__dotRow{width:100%;height:var(--lane-h);justify-content:center;align-items:center;display:flex}.RaceTimeline-module__PWeQeq__dot{border-radius:var(--r-round);width:22px;height:22px;box-shadow:0 0 0 4px var(--bg);flex:none}.RaceTimeline-module__PWeQeq__dotFinished{background:var(--inv-bg)}.RaceTimeline-module__PWeQeq__dotNotFinished{border:2.5px dashed var(--ink);background:0 0}.RaceTimeline-module__PWeQeq__dotUpcoming{background:var(--card);border:3px solid var(--ink)}.RaceTimeline-module__PWeQeq__dotSelected{background:var(--volt);border:3px solid #15171a;width:38px;height:38px}.RaceTimeline-module__PWeQeq__slotCity{border-radius:var(--r-lane);max-width:calc(100% - 8px);font:var(--type-chip);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;padding:2px 8px;display:inline-block;overflow:hidden}.RaceTimeline-module__PWeQeq__slotCityOn{background:var(--inv-bg);color:var(--inv-ink)}.RaceTimeline-module__PWeQeq__slotType{max-width:100%;font:var(--type-tiny);color:var(--mute);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.RaceTimeline-module__PWeQeq__slotDate{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--mute);margin-top:14px;display:block}.RaceTimeline-module__PWeQeq__slotDateOn{color:var(--ink)}.RaceTimeline-module__PWeQeq__dotPending{background:var(--soft);border:3px solid var(--line)}.RaceTimeline-module__PWeQeq__srOnly{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.RacesSection-module__3WibAq__section{scroll-margin-top:12px}.RacesSection-module__3WibAq__cardWrap{max-width:var(--page-max);margin:var(--gap-card) auto 0;padding:0 var(--gutter)}.RacesSection-module__3WibAq__placeholder{border:1px solid var(--line);border-radius:var(--r-section);background:var(--card);min-height:340px}
.not-found-module__sxuMuG__main{max-width:var(--page-max);padding:var(--gap-section) var(--gutter);margin:0 auto}.not-found-module__sxuMuG__code{font:var(--type-section);letter-spacing:var(--tracking-display);text-transform:uppercase;color:var(--track-text);margin:0}.not-found-module__sxuMuG__message{font:var(--type-goal-name);color:var(--ink);margin:8px 0 0}.not-found-module__sxuMuG__back{min-height:var(--target-min);border:1.5px solid var(--ink);border-radius:var(--r-round);color:var(--ink);font:var(--type-strong);align-items:center;margin-top:20px;padding:0 18px;text-decoration:none;display:inline-flex}
.page-module__E0kJGG__main{padding:var(--gap-section) 0}.page-module__E0kJGG__main>*+*{margin-top:var(--gap-section)}
