@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-display:swap;src:url(/assets/ibm-plex-sans-latin-ext-variable-DYbAH_n4.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ibm-plex-sans-condensed-600-latin-ext-WT1q_vOZ.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ibm-plex-mono-400-latin-ext-BZmQoE4P.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ibm-plex-mono-600-latin-ext-CqzbDPD_.woff2) format("woff2")}:root{--ground: #dce6ea;--panel: #f4f8f9;--raised: #ffffff;--on-filled: #ffffff;--ink: #0c1a21;--muted: #506069;--line: #bccbd2;--course: #1a4c5e;--terrain: #d3dee2;--signal: #a8391f;--display: "IBM Plex Sans Condensed", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--shape-xs: 4px;--shape-sm: 8px;--shape-md: 12px;--shape-lg: 16px;--shape-full: 999px;--lift-1: 0 1px 2px rgb(12 26 33 / .1), 0 1px 3px 1px rgb(12 26 33 / .06);--lift-2: 0 1px 2px rgb(12 26 33 / .1), 0 2px 6px 2px rgb(12 26 33 / .07);--lift-3: 0 4px 8px 3px rgb(12 26 33 / .09), 0 1px 3px rgb(12 26 33 / .13);--state-hover: rgb(12 26 33 / .06);--state-chosen: rgb(26 76 94 / .1);--state-on-filled: rgb(255 255 255 / .14);--quick: .15s;--standard: .25s;--ease: cubic-bezier(.2, 0, 0, 1);--control: 40px;--touch: 48px;--row: 56px;--row-single: 40px;--ridge: 16rem}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column}:where(a){color:inherit;text-decoration:none}:where(button,a,input):focus-visible{outline:3px solid var(--course);outline-offset:2px}.gate-title{font-size:40px;line-height:44px;font-weight:600;letter-spacing:-.5px}.race-head h1,.screen-title{font-size:24px;line-height:32px;font-weight:400;letter-spacing:0}.setup-count,.transport-elapsed,.gate-line{font-size:22px;line-height:28px;font-weight:400;letter-spacing:0}.card-name,.landing-title,.setup-size{font-size:16px;line-height:24px;font-weight:600;letter-spacing:.15px}.gate-lead,.demo-lead{font-size:16px;line-height:24px;font-weight:400;letter-spacing:.5px}body,.notice,.picker,.landing-line,.landed-name,.standings.is-empty,.standing-name,.standing-time,.bay-field,.bay-dates input,.bay-inputs input,.bay-inputs select,.roster-ask input{font-size:14px;line-height:20px;font-weight:400;letter-spacing:.25px}.card-facts,.line-year,.card-aside,.gate-note,.demo-note,.landing-aside,.landed-facts,.race-facts,.side-state,.standing-place,.standing-date,.setup-units,.setup-hint,.setup-warning,.transport-total,.bay-failure,.bay-dates,.bay-inputs,.bay-note,.roster-list,.side-arriving,.terrain-sections .tt-pace,.terrain-sections .tt-range,.terrain-sections .terrain-absent,.browser-filters label,.browser-row-figures,.bay-chosen-figures{font-size:12px;line-height:16px;font-weight:400;letter-spacing:.4px}.bar-back,.gate-action,.gate-quiet,.demo-in,.bay-action,.bay-quiet,.linkish,.setup-mode,.roster-ask button{font-size:14px;line-height:20px;font-weight:600;letter-spacing:.1px}.speed,.map-edge{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.5px}.library-title,.bay-title,.side-title,.setup-title,.profile-scale,.card-gutter,.standing-partial,.map-tag,.terrain-sections .terrain-table thead th{font-size:11px;line-height:16px;font-weight:600;letter-spacing:.5px}.library-title,.bay-title,.side-title,.setup-title,.bar-back,.standing-partial,.profile-name,.terrain-sections .terrain-table thead th{letter-spacing:.12em;text-transform:uppercase}.transport-clock,.card-gutter,.line-year,.standing-time,.state-pace,.state-figure,.standing-place,.card-facts,.race-facts,.landed-facts,.profile-scale,.setup-count,.setup-size,.setup-units,.speed{font-family:var(--mono);font-variant-numeric:tabular-nums}.standing-partial,.profile-name{font-family:var(--display)}.line-year .card-mark,.state-pace.is-going{font-family:var(--sans);font-variant-numeric:normal}.gate-title,.race-head h1,.screen-title,.library-title,.bay-title,.side-title,.setup-title,.bar-back,.terrain-sections .terrain-table thead th{font-family:var(--display)}.wordmark{display:flex;align-items:baseline;gap:var(--space-sm);margin:0;font-family:var(--display);font-weight:600;letter-spacing:-.015em;line-height:1.05;color:var(--course)}.wordmark-tail{color:var(--signal)}.wordmark-beta{font-family:var(--sans);font-size:12px;line-height:16px;font-weight:400;letter-spacing:.4px;color:var(--muted);white-space:nowrap}.wordmark-small .wordmark-beta-more{display:none}.wordmark-small{font-size:1.35rem}.bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--panel);border-bottom:1px solid var(--line)}.bar-back{display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-sm);margin-left:calc(var(--space-sm) * -1);border-radius:var(--shape-sm);color:var(--muted);transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.bar-back:hover{color:var(--ink);background:var(--state-hover)}.bar-nav{display:flex;align-items:center;gap:var(--space-xs)}.bar-nav-rest{margin-left:auto}.bar-rest-narrow{display:none}.bar-menu{position:absolute;top:calc(100% + var(--space-xs));right:0;z-index:5;display:flex;flex-direction:column;align-items:stretch;min-width:12rem;padding:var(--space-xs);background:var(--panel);border:1px solid var(--line);border-radius:var(--shape-sm);box-shadow:var(--lift-3)}.bar-menu .bar-back{justify-content:flex-start;padding:0 var(--space-sm)}.bar-nav .bar-back{margin-left:0}.bar-back.is-here{color:var(--ink);background:var(--state-chosen)}.page{flex:1;min-height:0;padding:var(--space-lg)}.notice{margin:0;padding:var(--space-md) 0;color:var(--muted)}.gate{flex:1;display:grid;grid-template-rows:minmax(0,1fr) var(--ridge);overflow:hidden}.gate-sky{display:flex;min-height:0;overflow-y:auto}.gate-reading{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:clamp(40rem,40rem + (100vw - 68rem),64rem);margin:auto auto 0;padding:var(--space-xl)}.gate-column{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);width:100%;max-width:40rem}.gate-ridge{display:block;width:100%;height:100%}.gate-ridge-ground{fill:color-mix(in srgb,var(--course) 14%,var(--ground))}.gate-ridge-line{fill:none;stroke:var(--course);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.gate-runner{stroke:#fff;vector-effect:non-scaling-stroke}.gate .wordmark{font-size:clamp(1.35rem,3vw,1.5rem)}.gate-title{margin:0;color:var(--ink);text-wrap:balance}.gate-lead{max-width:30rem;margin:var(--space-sm) 0 0;color:var(--muted);text-wrap:pretty}.gate-line{max-width:30rem;margin:var(--space-sm) 0 0;color:var(--ink);text-wrap:balance}.gate-note{max-width:26rem;margin:calc(var(--space-xl) * 2) 0 0;color:var(--muted)}.gate-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md) var(--space-xl);margin-top:var(--space-sm)}.gate-action{display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-xl);background:var(--course);color:var(--on-filled);border-radius:var(--shape-full);transition:box-shadow var(--quick) var(--ease),background-image var(--quick) var(--ease)}.gate-quiet{display:inline-flex;align-items:center;min-height:var(--control);color:var(--course);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--course) 40%,transparent);transition:text-decoration-color var(--quick) var(--ease)}.gate-quiet:hover{text-decoration-color:var(--course)}.gate-action:hover{background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled));box-shadow:var(--lift-1)}@media(max-height:44rem){:root{--ridge: 8rem}.gate-column{gap:var(--space-sm)}.gate-note{margin-top:var(--space-xl)}}.library{display:grid;gap:var(--space-xl);max-width:62rem;margin:0 auto}.library-title{margin:0 0 var(--space-md);color:var(--muted)}.landing-title{margin:0 0 var(--space-sm);color:var(--ink)}.library-subtitle{margin:0 0 var(--space-sm);font-size:.9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-md);margin:0;padding:0;list-style:none}.card,.lines{display:grid;gap:var(--space-xs);padding:var(--space-lg);background:var(--panel);border:1px solid var(--line);border-radius:var(--shape-sm);transition:border-color var(--quick) var(--ease),box-shadow var(--quick) var(--ease)}.card:hover{border-color:var(--course);box-shadow:var(--lift-1)}.card-ground{display:flex;align-items:stretch;gap:var(--space-xs);min-width:0}.card-gutter{display:flex;flex-direction:column;justify-content:space-between;min-width:2.75rem;padding-right:var(--space-xs);border-right:1px solid var(--line);color:var(--muted);text-align:right;white-space:nowrap}.card-skyline{display:block;flex:1;min-width:0;height:2.75rem}.card-ridge{fill:none;stroke:var(--course);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.card-facts{display:flex;flex-wrap:wrap;gap:var(--space-md);color:var(--muted)}.card-facts>*{white-space:nowrap}.card-note{color:var(--signal);font-size:.85rem;line-height:1.35}.card-mark{color:var(--course);font-size:.85rem;font-weight:600}.line-years{display:flex;flex-direction:column;margin:var(--space-xs) calc(-1 * var(--space-lg)) calc(-1 * var(--space-lg));padding:0;list-style:none}.line-year{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--line);color:var(--muted);text-decoration:none}.line-year:hover{background:var(--state-hover)}.line-year-when{min-width:2.75rem;font-weight:500;color:var(--ink)}.line-year-field{margin-left:auto}.card-slot{display:grid;gap:var(--space-xs)}.card-aside{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0;padding:0 var(--space-xs);color:var(--muted)}.suggestion:hover{border-color:var(--line);box-shadow:none}.suggestion-shape{width:100%;height:7rem;stroke:var(--course);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.linkish{padding:0;font-family:inherit;color:var(--course);background:none;border:none;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.linkish:disabled{color:var(--muted);text-decoration:none;cursor:default}.rail{display:grid;gap:var(--space-md)}.rail-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.rail-action{display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-xl);background:var(--course);color:var(--on-filled);border:none;border-radius:var(--shape-full);font-family:inherit;cursor:pointer;transition:box-shadow var(--quick) var(--ease),background-image var(--quick) var(--ease),background var(--quick) var(--ease),color var(--quick) var(--ease)}.rail-action:hover{background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled));box-shadow:var(--lift-1)}.rail-action.is-open{background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled))}.rail .bay{max-width:34rem}.bay{display:grid;align-content:start;gap:var(--space-md);padding:var(--space-lg);background:var(--panel);border:1px solid var(--line);border-radius:var(--shape-sm)}.bay-title{margin:0;color:var(--muted)}.bay-field{min-height:var(--control);padding:var(--space-sm) var(--space-md);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit}.bay-field::placeholder{color:var(--muted)}.bay-action{justify-self:start;display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-xl);background:var(--course);color:var(--on-filled);border:none;border-radius:var(--shape-full);cursor:pointer;transition:box-shadow var(--quick) var(--ease),background-image var(--quick) var(--ease)}.bay-action:hover:not(:disabled){background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled));box-shadow:var(--lift-1)}.bay-action:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.bay-failure{margin:0;color:var(--signal)}.bay-list{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.bay-list li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--line)}.bay-list-note{color:var(--muted)}.bay-list-action{display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-md);background:none;color:var(--muted);border:1px solid var(--line);border-radius:var(--shape-full);cursor:pointer;font-family:inherit;transition:color var(--quick) var(--ease),border-color var(--quick) var(--ease)}.bay-list-action:hover:not(:disabled){color:var(--signal);border-color:var(--signal)}.bay-list-action:disabled{cursor:not-allowed;opacity:.5}.bay-quiet{justify-self:start;display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-md);margin-left:calc(var(--space-md) * -1);background:none;border:none;border-radius:var(--shape-full);color:var(--muted);font-family:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.bay-quiet:hover:not(:disabled){color:var(--signal);background:var(--state-hover)}.bay-quiet:disabled{cursor:not-allowed;opacity:.6}.picker{display:grid;place-items:center;min-height:4.5rem;padding:var(--space-lg);background:var(--ground);border:1px dashed var(--line);border-radius:var(--shape-sm);color:var(--muted);text-align:center;cursor:pointer;transition:border-color var(--quick) var(--ease),color var(--quick) var(--ease),background var(--quick) var(--ease)}.picker:hover:not(.is-disabled),.picker.is-over{border-color:var(--course);color:var(--ink)}.picker.is-over{background:var(--terrain);border-style:solid}.picker.is-loaded{border-style:solid;border-color:var(--course);color:var(--ink)}.picker.is-disabled{cursor:progress}.picker.is-compact{place-items:center start;min-height:var(--control);padding:var(--space-sm) var(--space-md);text-align:left}.picker-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.picker-face{overflow-wrap:anywhere}.picker-input:focus-visible+.picker-face{outline:3px solid var(--course);outline-offset:4px}.landing{display:grid;gap:var(--space-xs);padding:var(--space-md);background:var(--ground);border-radius:var(--shape-sm)}.landing-line{margin:0}.landing-aside{margin:0;color:var(--muted)}.landed{display:grid;gap:var(--space-xs);margin:0;padding:0;list-style:none}.landed-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.landed-link{color:var(--course);font-weight:600;text-decoration:underline;text-underline-offset:2px}.landed-link:hover{color:var(--ink)}.landed-name{overflow-wrap:anywhere}.landed-facts{display:flex;flex-shrink:0;gap:var(--space-sm);color:var(--muted)}.landed-partial{color:var(--signal)}.challenge-page{display:grid;gap:var(--space-md);max-width:82rem;margin:0 auto}.challenge-page.has-race{grid-template-rows:auto minmax(0,1fr);height:100%}.challenge-page>.race{margin:0}.challenge-strip{display:grid;gap:var(--space-sm)}.screen-title{margin:0 0 var(--space-md)}.race{display:grid;grid-template-rows:auto minmax(18rem,1fr) auto;gap:var(--space-md);height:100%;max-width:82rem;margin:0 auto}.race-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-bottom:var(--space-sm);border-bottom:1px solid var(--line)}.race-head h1{margin:0}.race-facts{display:flex;gap:var(--space-lg);margin:0;color:var(--muted)}.race-stage{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:var(--space-md);min-height:0;position:relative}.course-map{position:relative;height:100%;min-height:18rem;border:1px solid var(--line);border-radius:var(--shape-sm);overflow:hidden;touch-action:none}.course-map-canvas{height:100%}.course-map-runners{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.map-edge{position:absolute;top:0;left:0;max-width:9rem;padding:var(--space-xs) var(--space-sm);overflow:hidden;font-family:inherit;white-space:nowrap;text-overflow:ellipsis;color:var(--on-filled);background:var(--course);border:none;border-radius:var(--shape-full);box-shadow:var(--lift-2);cursor:pointer;transition:background-image var(--quick) var(--ease)}.map-edge:hover{background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled))}.map-tag{position:absolute;top:0;left:0;max-width:7rem;padding:0 var(--space-xs);overflow:hidden;font-family:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);background:#ffffffc7;border:none;border-radius:var(--shape-xs);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.map-tag:hover{color:var(--ink);background:#fffffff2}.map-tag.is-chosen{color:var(--ink);background:#ffffffeb;box-shadow:var(--lift-1)}.race-side{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;padding:var(--space-lg);background:var(--panel);border:1px solid var(--line);border-radius:var(--shape-sm)}.race-side.is-terrain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.demo-stage{display:grid;grid-template-columns:minmax(0,1fr) 17rem;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-md);min-height:0;position:relative}.demo-stage .race-side{grid-column:2;grid-row:1 / -1}.demo-stage .race-side.is-terrain{grid-column:1 / -1;grid-row:1 / -1}.demo-stage .course-map{grid-column:1;grid-row:1}.demo-aside{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:var(--space-sm);max-width:42rem}.demo-lead{margin:0;color:var(--ink);text-wrap:balance}.demo-note{margin:0;color:var(--muted);text-wrap:pretty}.demo-in{margin-left:auto;color:var(--course);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--course) 40%,transparent);transition:text-decoration-color var(--quick) var(--ease)}.demo-in:hover{text-decoration-color:var(--course)}@media(max-width:52rem){.demo-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(14rem,1fr) auto auto}.demo-stage .race-side{grid-column:1;grid-row:2}.demo-aside{grid-column:1;grid-row:3;max-width:none}}.side-head{display:grid;gap:var(--space-xs)}.side-title,.side-state{margin:0;color:var(--muted)}.side-controls{display:flex;justify-content:flex-end;gap:var(--space-md);margin:0}.side-state .linkish,.side-controls .linkish{font-size:inherit}.side-unit{margin-right:auto}.side-arriving{margin:0;color:var(--muted)}.side-terrain{float:right;font-size:inherit}.standings{margin:0;padding:0;list-style:none;overflow-y:auto;position:relative}.standing-row{position:relative;transition:transform var(--carry, .32s) var(--ease);min-height:var(--row);content-visibility:auto;contain-intrinsic-size:auto var(--row)}.standing-row.is-rising{z-index:2}.standing-row.is-rising .standing{background:var(--panel);box-shadow:var(--lift-3);border-bottom-color:transparent}.standing-row .standing{transition:background var(--quick) var(--ease),box-shadow var(--standard) var(--ease)}@media(prefers-reduced-motion:reduce){.standing-row,.standing-row .standing{transition:none}}.standings.is-empty{color:var(--muted)}.standings.is-empty p{margin:0 0 var(--space-xs)}.standings-hint{color:var(--muted);opacity:.8}.standings.is-undated,.standings.is-undated .standing-row{--row: var(--row-single)}.standing{display:grid;grid-template-columns:var(--space-xl) var(--space-sm) minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);width:100%;min-height:var(--row);padding:var(--space-sm) 0;font-family:inherit;color:inherit;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);border-radius:0;cursor:pointer}.standings>li:last-child .standing{border-bottom:none}.standing:hover{background:var(--state-hover)}.standing:focus-visible{outline:3px solid var(--course);outline-offset:-3px}.standing[aria-pressed=true]{background:var(--state-chosen)}.standing[aria-pressed=true] .standing-name,.standing[aria-pressed=true] .standing-time{font-weight:600}.standing[aria-pressed=true] .standing-partial{font-weight:400}.standing-place{color:var(--muted);font-weight:600}.standing-swatch{width:var(--space-sm);height:var(--space-sm);border-radius:50%}.standing-who{display:grid;min-width:0}.standing-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.standing-date{color:var(--muted)}.standing-time{display:grid;justify-items:end}.standing-gap{color:var(--muted)}.standing-nothing{color:var(--muted);opacity:.7}.standing-partial{color:var(--signal)}.terrain-sections{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0}.terrain-sections .terrain-scroll{flex:1;min-height:0;overflow:auto}.terrain-sections .terrain-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.terrain-sections .terrain-table th,.terrain-sections .terrain-table td{padding:var(--space-xs) var(--space-sm);text-align:left;vertical-align:middle;background:var(--panel);border-bottom:1px solid var(--line)}.terrain-sections .terrain-table thead th{position:sticky;top:0;z-index:2;color:var(--muted);white-space:nowrap}.terrain-sections .tt-place{position:sticky;left:0;z-index:1;width:2.5rem;min-width:2.5rem;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:400}.terrain-sections .tt-who{position:sticky;left:2.5rem;z-index:1;width:9.5rem;min-width:9.5rem}.terrain-sections .tt-result{position:sticky;left:12rem;z-index:1;width:5.5rem;min-width:5.5rem;border-right:1px solid var(--line);font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.terrain-sections .terrain-table thead th.tt-place,.terrain-sections .terrain-table thead th.tt-who,.terrain-sections .terrain-table thead th.tt-result{z-index:3}.terrain-sections .tt-row th,.terrain-sections .tt-row td{height:var(--row)}.terrain-sections .tt-row:hover th,.terrain-sections .tt-row:hover td{background-image:linear-gradient(var(--state-hover),var(--state-hover))}.terrain-sections .tt-row.is-followed th,.terrain-sections .tt-row.is-followed td{background-image:linear-gradient(var(--state-chosen),var(--state-chosen))}.terrain-sections .tt-runner{display:grid;grid-template-columns:var(--space-sm) minmax(0,1fr);align-items:center;gap:var(--space-sm);width:100%;padding:0;font-family:inherit;font-size:inherit;color:inherit;text-align:left;background:none;border:none;cursor:pointer}.terrain-sections .tt-runner:focus-visible{outline:3px solid var(--course);outline-offset:2px}.terrain-sections .tt-runner[aria-pressed=true] .standing-name,.terrain-sections .tt-row.is-followed .tt-result{font-weight:600}.terrain-sections .tt-lines{display:grid;min-width:0}.terrain-sections .tt-result .tt-lines{justify-items:end}.terrain-sections .tt-section{min-width:4.5rem;text-align:right}.terrain-sections .tt-class{display:block}.terrain-sections .tt-range{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:400;text-transform:none;opacity:.8}.terrain-sections .tt-clipped{margin-left:.25em;cursor:help}.terrain-sections .tt-cell{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.terrain-sections .tt-time{display:block}.terrain-sections .tt-pace{display:block;color:var(--muted)}.terrain-sections .tt-cell.is-fastest .tt-time{font-weight:700}.terrain-sections .tt-nothing{color:var(--muted);opacity:.7}.terrain-sections .tt-quiet{opacity:.6}.terrain-sections .terrain-absent{margin:0;color:var(--muted)}.setup{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:var(--space-md);min-height:0}.setup-panel,.setup-list{display:flex;flex-direction:column;gap:var(--space-md);min-height:0;padding:var(--space-lg);background:var(--panel);border:1px solid var(--line);border-radius:var(--shape-md);box-shadow:var(--lift-3)}.setup-panel{align-self:center;justify-self:center;width:min(32rem,100%)}.setup-head{display:grid;gap:var(--space-xs)}.setup-title{margin:0;color:var(--muted)}.setup-count{margin:0}.setup-count strong{font-weight:650}.setup-modes{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.setup-mode{display:inline-flex;align-items:center;min-height:var(--control);padding:0 var(--space-lg);font-family:inherit;color:var(--muted);background:var(--ground);border:1px solid transparent;border-radius:var(--shape-full);cursor:pointer;transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.setup-mode:hover:not(.is-chosen){color:var(--ink)}.setup-mode.is-chosen{color:var(--course);background:var(--state-chosen);border-color:var(--course)}.setup-sizes{display:flex;gap:var(--space-sm)}.setup-size{flex:1;min-height:var(--touch);color:var(--muted);background:var(--ground);border:1px solid var(--line);border-radius:var(--shape-sm);cursor:pointer;transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.setup-size:hover:not(.is-chosen){color:var(--ink)}.setup-size.is-chosen{color:var(--course);background:var(--state-chosen);border-color:var(--course)}.setup-units,.setup-hint{margin:0;color:var(--muted)}.setup-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-lg)}.setup-warning{margin:0;color:var(--muted);text-align:right}.setup-list .standings{flex:1}.setup-entry{grid-template-columns:var(--space-xl) minmax(0,1fr) auto}.setup-list .standing-row,.setup-list .standing{min-height:0}.setup-list .standing-row{contain-intrinsic-size:auto var(--control)}.setup-entry.is-out{opacity:.45}.setup-entry:disabled{cursor:default}.race-controls{display:grid;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) 0;background:var(--panel);border:1px solid var(--line);border-bottom:0;border-radius:var(--shape-sm) var(--shape-sm) 0 0}.race-controls[inert],.transport[inert]{opacity:.5}.profile{margin:0}.profile-chart{display:block;width:100%;height:132px}.profile-ground{fill:var(--terrain)}.profile-band{stroke:none}.profile-ridge{fill:none;stroke:var(--course);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.profile-drop{stroke-width:1;stroke-opacity:.55;vector-effect:non-scaling-stroke}.profile-dot{vector-effect:non-scaling-stroke}.profile-scale{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.profile-fold{display:none}.profile-chart-editing{cursor:crosshair}.profile-boundary{stroke:var(--course);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;pointer-events:none}.profile-grip{fill:transparent;cursor:ew-resize}.terrain-corrections{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding-top:var(--space-sm)}.terrain-button{min-height:var(--control);padding:0 var(--space-md);font-family:inherit;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:var(--shape-sm);cursor:pointer;transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.terrain-button:hover:not(:disabled){color:var(--ink);background:var(--state-hover)}.terrain-button:disabled{color:var(--line);cursor:default}.terrain-button[aria-pressed=true]{color:var(--course);background:var(--state-chosen);border-color:var(--course)}.terrain-hint{color:var(--muted);padding:0 var(--space-xs)}.terrain-refusal{color:var(--signal);padding:0 var(--space-xs)}.page-wide{max-width:none;padding:0}.browser{display:grid;grid-template-columns:1fr minmax(18rem,24rem);height:100%;min-height:0}.browser-map{height:100%;min-width:0}.browser-side{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);overflow-y:auto;background:var(--panel);border-left:1px solid var(--line)}.browser-filters{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.browser-filters label{display:grid;gap:var(--space-xs);color:var(--muted)}.browser-filters select{min-height:var(--control);padding:0 var(--space-xl) 0 var(--space-md);color:var(--ink);background-color:var(--ground);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231a4c5e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;cursor:pointer}.browser-filters select:hover{border-color:var(--course)}.browser-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}.browser-row{display:grid;gap:var(--space-xs);width:100%;padding:var(--space-sm);text-align:left;background:none;border:1px solid transparent;border-radius:var(--shape-sm);cursor:pointer;font:inherit;color:inherit}.browser-row:hover{background:var(--state-hover)}.browser-row-on{border-color:var(--course);background:var(--state-chosen)}.browser-row-name{font-weight:600}.browser-row-figures{color:var(--muted)}@media(max-width:40rem){.terrain-button{min-height:var(--touch)}}.transport{display:grid;grid-template-columns:auto auto minmax(6rem,1fr) auto;align-items:center;gap:var(--space-lg);margin-top:calc(var(--space-md) * -1);padding:var(--space-md) var(--space-lg) var(--space-lg);background:var(--panel);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--shape-sm) var(--shape-sm)}.transport-play{display:grid;place-items:center;width:var(--touch);height:var(--touch);background:var(--course);color:var(--on-filled);border:none;border-radius:var(--shape-full);cursor:pointer;transition:box-shadow var(--quick) var(--ease),background-image var(--quick) var(--ease)}.transport-play:hover{background-image:linear-gradient(var(--state-on-filled),var(--state-on-filled));box-shadow:var(--lift-2)}.transport-play svg{display:block;fill:currentColor}.transport-clock{display:flex;align-items:baseline;gap:var(--space-sm);margin:0}.transport-elapsed{font-weight:600}.transport-total{color:var(--muted)}.transport-total:before{content:"/ "}.transport-seek{width:100%;accent-color:var(--course)}.transport-speeds{display:flex;overflow:hidden;background:var(--raised);border:1px solid var(--line);border-radius:var(--shape-sm)}.speed{min-width:var(--control);min-height:var(--control);padding:0 var(--space-sm);background:transparent;color:var(--muted);border:none;border-left:1px solid var(--line);border-radius:0;cursor:pointer;transition:background var(--quick) var(--ease),color var(--quick) var(--ease)}.speed:first-child{border-left:none}.speed:hover:not(.is-current){color:var(--ink);background:var(--state-hover)}.speed.is-current{background:var(--state-chosen);color:var(--course)}.speed:focus-visible{outline-offset:-3px}.bay-dates,.bay-inputs{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:end;color:var(--muted)}.bay-dates label,.bay-inputs label{display:grid;gap:var(--space-xs)}.bay-dates input,.bay-inputs input,.bay-inputs select{min-height:var(--control);padding:var(--space-sm) var(--space-md);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit}.bay-inputs input[type=file]{padding:0;background:none;border:none}.bay-note{margin:0;color:var(--muted)}.import-races{display:grid;gap:var(--space-md);margin:0;padding:0;list-style:none}.import-race{display:grid;gap:var(--space-xs);padding-left:var(--space-md);border-left:2px solid var(--line)}.import-race.is-refused{border-left-color:var(--signal)}.import-race-name{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between;margin:0}.import-race-summary,.import-running{color:var(--muted);font-size:.85em}.import-runnings{display:grid;gap:.15rem;margin:0;padding:0;list-style:none}.import-running{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.import-running-when{font-variant-numeric:tabular-nums}.import-running-action{margin-left:auto}.bay-warns{color:var(--signal)}.bay-rows{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.bay-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;color:var(--muted)}.bay-row-name{display:flex;gap:var(--space-sm);align-items:center;min-width:12rem;color:var(--ink)}.bay-row input[type=datetime-local],.bay-row select{min-height:var(--control);padding:var(--space-sm) var(--space-md);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit}.is-awaited{color:var(--ink);font-weight:600}.roster{display:grid;gap:var(--space-sm);padding:var(--space-sm) var(--space-xs) var(--space-xs);border-top:1px solid var(--line);max-width:34rem}.roster-ask{display:flex;gap:var(--space-sm)}.roster-ask input{flex:1;min-width:0;min-height:var(--control);padding:var(--space-sm) var(--space-md);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit}.roster-ask button{min-height:var(--control);padding:0 var(--space-lg);background:var(--panel);color:var(--course);border:1px solid var(--line);border-radius:var(--shape-full);font-family:inherit;cursor:pointer;transition:background var(--quick) var(--ease)}.roster-ask button:hover{background:var(--state-hover)}.roster-list{display:grid;gap:var(--space-xs);margin:0;padding:0;list-style:none;color:var(--muted)}.roster-list li{display:flex;gap:var(--space-sm);align-items:baseline}.roster-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-state{color:var(--ink)}.bay-chosen{display:grid;gap:var(--space-xs)}.bay-chosen-name{font-weight:600}.bay-chosen-figures{color:var(--muted)}.corrections{display:grid}.correction{display:grid;gap:var(--space-sm);padding:var(--space-md) 0;border-top:1px solid var(--line)}.correction:first-child{padding-top:0;border-top:none}.correction:last-child{padding-bottom:0}.correction-subject{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:baseline;margin:0;color:var(--ink);font-weight:600}.correction-aside{color:var(--muted);font-weight:400;font-family:var(--mono);font-size:.9em}.correction-controls{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:end}.correction-controls label{display:grid;gap:var(--space-xs);color:var(--muted)}.correction-controls input{min-height:var(--control);padding:var(--space-sm) var(--space-md);background:var(--ground);color:var(--ink);border:1px solid var(--line);border-radius:var(--shape-sm);font-family:inherit}.correction-controls input[type=text]{min-width:16rem}.correction-hours input{width:6rem}.correction-remove{display:grid;gap:var(--space-sm);justify-items:start}.correction-remove.is-asking{padding:var(--space-sm) var(--space-md);background:var(--ground);border:1px solid var(--line);border-radius:var(--shape-sm)}.correction-remove-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}@media(max-width:46rem),(max-height:43rem){.page{overflow-y:auto;overscroll-behavior:contain}.race,.challenge-page.has-race{height:auto;min-height:100%}.page{padding-bottom:0}.transport{position:sticky;bottom:0;z-index:2;margin:0 calc(var(--space-lg) * -1);padding:var(--space-md) var(--space-lg);border:0;border-top:1px solid var(--line);border-radius:0}.race-controls{padding-bottom:var(--space-lg);border-bottom:1px solid var(--line);border-radius:var(--shape-sm)}.standings{overflow-y:visible}.setup{position:fixed;top:0;right:0;bottom:0;left:0;padding:var(--space-lg);background:var(--ground)}.race-side.is-terrain{position:static;z-index:auto}.terrain-sections .terrain-scroll{flex:none;min-height:auto;overscroll-behavior:contain}.terrain-sections .tt-result{left:auto;border-right:0}.terrain-sections tbody .tt-result{position:static}.terrain-sections .terrain-table thead th.tt-result{z-index:2}.terrain-sections .tt-who{border-right:1px solid var(--line)}.browser{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto}.browser-map{height:50svh;min-height:14rem}.browser-side{overflow-y:visible;border-left:0;border-top:1px solid var(--line)}}@media(max-width:46rem){.race-stage,.demo-stage{display:contents}.race{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(6,auto)}.race-head{grid-row:1}.race-stage .course-map,.demo-stage .course-map{grid-row:2}.race-controls{grid-row:3}.race-stage .race-side,.demo-stage .race-side,.demo-stage .race-side.is-terrain{grid-row:4}.demo-aside{grid-row:5}.transport{grid-row:6}.race>*,.race-stage>*,.demo-stage>*{grid-column:1}.setup{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow-y:auto}.bar-back,.gate-action,.gate-quiet,.bay-action,.bay-quiet,.rail-action,.setup-mode,.speed,.bay-field,.browser-filters select,.bay-dates input,.bay-inputs input,.bay-inputs select,.bay-row input[type=datetime-local],.bay-row select,.roster-ask input,.roster-ask button,.correction-controls input,.demo-in,.side-terrain,.profile-fold{min-height:var(--touch)}.bar .wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:var(--touch)}.side-terrain{display:inline-flex;align-items:center}.transport-seek{height:var(--touch)}.transport{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"play seek speeds";gap:var(--space-md);padding:var(--space-sm) var(--space-md) var(--space-md)}.speed{min-width:34px;padding:0}.transport-clock{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.profile-fold{display:inline-flex;align-items:center}.profile-collapsed .profile-chart{height:2.75rem}.profile-collapsed .profile-end,.profile-collapsed .profile-name{display:none}.profile-collapsed .profile-scale{justify-content:flex-end}.profile-collapsed .profile-dot,.profile-collapsed .profile-drop{display:none}.transport-play{grid-area:play}.transport-seek{grid-area:seek}.transport-speeds{grid-area:speeds}.bar-rest-wide{display:none}.bar-rest-narrow{display:block;position:relative;margin-left:auto}}@media(max-height:43rem)and (min-width:40rem){.page{overflow-y:hidden;padding:var(--space-sm)}.race,.challenge-page.has-race{height:100%;min-height:0}.transport{position:static;margin:0}.race-head{display:none}.race-stage,.demo-stage{display:contents}.race{grid-template-columns:auto auto minmax(0,1fr) auto 17rem;grid-template-rows:minmax(0,1fr) auto auto;gap:var(--space-sm)}.race-stage .course-map,.demo-stage .course-map{grid-column:1 / span 4;grid-row:1;min-height:0}.transport{display:contents}.transport-play{grid-column:1;grid-row:2 / span 2;align-self:center}.race-controls{grid-column:3;grid-row:2;padding:0;border:0;background:none;align-self:end}.transport-seek{grid-column:3;grid-row:3;width:100%}.transport-speeds{grid-column:4;grid-row:2 / span 2;align-self:center}.transport-clock{grid-column:2;grid-row:2 / span 2;align-self:center;margin:0}.transport-total{display:none}.transport-speeds .speed{min-width:34px;padding-inline:0}.profile-chart{height:2.75rem}.profile-end,.profile-name,.profile-fold{display:none}.profile-scale{justify-content:flex-end}.race-stage .race-side,.demo-stage .race-side,.demo-stage .race-side.is-terrain{grid-column:5;grid-row:1 / span 3}.standings{overflow-y:auto}.demo-aside{display:none}}.policy{max-width:40rem;margin-inline:auto}.policy .gate-lead,.policy .gate-note{max-width:none}.policy-mark{margin-bottom:var(--space-lg)}.policy h2{margin-top:var(--space-xl)}.policy p{margin-top:var(--space-md)}@media(max-width:22rem){.bar .wordmark{display:none}}@media(prefers-reduced-motion:reduce){.card{transition:none}}.photographs-intro{max-width:48rem;margin:0 auto;padding:var(--space-lg)}.bay-field-label{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-sm);margin:0;padding:0;list-style:none}.gallery-cell{aspect-ratio:1}.gallery-open{width:100%;height:100%;padding:0;background:none;border:none;border-radius:var(--shape-sm);overflow:hidden;cursor:pointer}.gallery-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.gallery-which{display:flex;gap:var(--space-sm)}.gallery-tab{min-height:var(--control);padding:0 var(--space-md);background:var(--ground);color:var(--muted);border:1px solid var(--line);border-radius:var(--shape-full);cursor:pointer}.gallery-tab.is-here{background:var(--course);color:var(--on-filled);border-color:transparent}.gallery-opened{display:grid;gap:var(--space-sm)}.gallery-display{width:100%;height:auto;border-radius:var(--shape-sm)}.gallery-opened-row{display:flex;align-items:center;gap:var(--space-md)}.line-year-aside{display:inline-block;padding:var(--space-xs) var(--space-sm);color:var(--muted)}
