.race-shell{--race-bg:var(--background);--race-surface:var(--card);--race-surface-2:var(--muted);--race-line:color-mix(in oklab, var(--foreground) 14%, transparent);--race-ink:var(--foreground);--race-ink-2:var(--muted-foreground);--race-ink-3:var(--muted-foreground);--race-live:var(--primary);--race-on-primary:var(--primary-foreground);--race-live-soft:color-mix(in oklab, var(--primary) 12%, var(--card));--race-pace:var(--streak-amber,#d97706);--race-pace-text:color-mix(in oklab, var(--race-pace) 65%, var(--foreground) 35%);--race-pace-soft:color-mix(in oklab, var(--race-pace) 12%, var(--card));--race-away:var(--muted-foreground);--race-trackbg:color-mix(in oklab, var(--foreground) 10%, transparent);--race-trackfill:var(--primary);--race-trackfill-soft:color-mix(in oklab, var(--primary) 58%, var(--card));--race-shadow-1:var(--shadow-sm);--race-shadow-2:var(--shadow-lg);--race-radius-s:var(--radius-lg,.5rem);--race-radius-m:var(--radius-xl,.75rem);--race-radius-l:1rem;--race-font-display:var(--font-display,ui-sans-serif, system-ui, sans-serif);--race-font-code:var(--font-mono,ui-monospace, monospace);--race-ease:cubic-bezier(.32, .72, 0, 1);--race-fill:var(--race-live);--race-fill-soft:var(--race-trackfill-soft);--race-amber:var(--race-pace);--race-ink-legacy:var(--race-ink);--race-track:var(--race-trackbg);background:var(--race-bg);color:var(--race-ink)}.race-shell--pad{padding-bottom:clamp(96px,22vh,160px)}.race-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--race-ink-3);font-size:.6875rem;font-weight:600}.race-display{font-family:var(--race-font-display);letter-spacing:-.01em;font-weight:700}.race-display--hero{font-size:clamp(1.75rem,5.5vw,2.25rem);line-height:1.05}.race-display--numeral{font-variant-numeric:tabular-nums;font-size:clamp(2.75rem,11vw,4rem);line-height:1}.race-code{font-family:var(--race-font-code);letter-spacing:.12em;font-weight:600}.race-tint{color:var(--race-ink-3)}.race-num{font-variant-numeric:tabular-nums}.race-card{background:var(--race-surface);border:1px solid var(--race-line);border-radius:var(--race-radius-m);box-shadow:var(--race-shadow-1)}.race-card--flat{background:var(--race-surface-2);border-radius:var(--race-radius-m);box-shadow:none;border:0}.race-hair{border:0;border-top:1px solid var(--race-line)}.race-wash-live{background:var(--race-live-soft)}.race-wash-pace{background:var(--race-pace-soft)}.race-actionbar{left:0;right:0;bottom:var(--dock-clearance,0px);z-index:40;padding-block:.625rem max(.625rem, calc(env(safe-area-inset-bottom,0px) - var(--dock-clearance,0px)));padding-inline:max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));background:color-mix(in srgb, var(--race-surface) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--race-line);justify-content:center;gap:.5rem;display:flex;position:fixed}.race-actionbar__inner{gap:.5rem;width:100%;max-width:42rem;display:flex}.race-seg{border-radius:var(--race-radius-s);background:var(--race-surface-2);align-items:center;gap:.25rem;width:100%;padding:4px;display:flex}.race-seg__item{white-space:nowrap;border-radius:calc(var(--race-radius-s) - 4px);min-height:44px;color:var(--race-ink-2);cursor:pointer;background:0 0;border:0;flex:1 1 0;padding:0 .5rem;font-size:.875rem;font-weight:600}.race-seg__item--on{background:var(--race-surface);color:var(--race-ink);box-shadow:var(--race-shadow-1)}.race-seg__item:focus-visible{outline:2px solid var(--race-live);outline-offset:2px}.race-dot{border-radius:999px;width:.5rem;height:.5rem;display:inline-block}.race-dot--live{background:var(--race-live)}.race-dot--pace{background:var(--race-pace)}.race-dot--away{background:var(--race-away)}.race-dot--pulse{animation:race-pulse 1.6s var(--race-ease) infinite}@keyframes race-pulse{0%,to{opacity:1}50%{opacity:.35}}.race-clock{flex-direction:column;gap:.125rem;line-height:1;display:inline-flex}.race-clock__value{font-family:var(--race-font-code);font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,5vw,1.75rem);font-weight:700;line-height:1.05}.race-clock--urgent{color:var(--race-pace);animation:1s ease-in-out infinite race-pulse}.race-countveil{z-index:50;background:color-mix(in srgb, var(--race-bg) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.race-countbeat{font-family:var(--race-font-display);animation:race-beat .42s var(--race-ease) both;font-size:clamp(4.5rem,18vw,7rem);font-weight:700;line-height:1}.race-countbeat--go{color:var(--race-live)}@keyframes race-beat{0%{opacity:0;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}.race-track{background:var(--race-surface);border:1px solid var(--race-line);border-radius:var(--race-radius-m);flex-direction:column;display:flex;overflow:hidden}.race-track__lane{border-bottom:1px solid var(--race-line);grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2.4rem;padding:.35rem .6rem;display:grid}.race-track__lane:last-child{border-bottom:0}.race-track__lane--self{background:color-mix(in srgb, var(--race-live) 7%, transparent)}.race-track__pos{color:var(--race-ink-3);text-align:center;font-size:.6875rem;font-weight:700}.race-track__lane--self .race-track__pos{color:var(--race-live)}.race-track__rail{min-width:0;height:1.75rem;position:relative}.race-track__inner{height:100%;margin:0 1.2rem 0 .35rem;position:relative}.race-track__fill{background:linear-gradient(90deg, var(--race-live), var(--race-trackfill-soft));max-width:100%;height:.375rem;transition:width .32s var(--race-ease);border-radius:999px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.race-track__lane--dnf .race-track__fill,.race-track__lane--not_started .race-track__fill{background:color-mix(in srgb, var(--race-ink-3) 45%, transparent)}.race-track__chip{top:50%;left:calc(var(--race-pct,0) * 1%);transform:translateX(calc(var(--race-pct,0) * -1%)) translateY(-50%);background:var(--race-surface-2);border:1px solid var(--race-line);max-width:8rem;box-shadow:var(--race-shadow-1);white-space:nowrap;transition:left .34s var(--race-ease), transform .34s var(--race-ease);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .45rem .15rem .2rem;display:inline-flex;position:absolute}.race-track__lane--dnf .race-track__chip,.race-track__lane--not_started .race-track__chip{opacity:.7}.race-track__avatar{flex-shrink:0;width:1.25rem;height:1.25rem}.race-track__name{color:var(--race-ink);text-overflow:ellipsis;min-width:0;font-size:.6875rem;font-weight:600;overflow:hidden}.race-track__lane--self .race-track__name{color:var(--race-live)}.race-track__flag{background-color:var(--race-surface);background-image:repeating-conic-gradient(color-mix(in srgb, var(--race-ink) 85%, transparent) 0% 25%, transparent 0% 50%);background-size:.5rem .5rem;border-radius:3px;width:.5rem;position:absolute;top:.1rem;bottom:.1rem;right:.5rem}.race-track__meta{font-variant-numeric:tabular-nums;color:var(--race-ink-2);white-space:nowrap;font-size:.6875rem}.race-track__lane--dnf .race-track__meta,.race-track__lane--not_started .race-track__meta{color:var(--race-away)}.race-track--compact .race-track__lane{gap:.4rem;min-height:2rem;padding:.2rem .5rem}.race-track--compact .race-track__rail{height:1.5rem}.race-track--compact .race-track__inner{margin:0 1.1rem 0 .3rem}.race-track--compact .race-track__name,.race-track--compact .race-track__meta{font-size:.625rem}.race-track__lane--overtaken{animation:.9s ease-out race-overtake}@media (prefers-reduced-motion:reduce){.race-track__chip,.race-track__fill{transition:none}}@keyframes race-overtake{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--race-pace) 55%, transparent)}to{box-shadow:0 0 0 12px #0000}}.race-podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.5rem;display:grid}.race-podium__step{border:1px solid var(--race-line);border-radius:var(--race-radius-m);background:var(--race-surface);box-shadow:var(--race-shadow-1);text-align:center;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;display:flex}.race-podium__step:only-child{grid-column:2}.race-podium__step--first{border-color:color-mix(in srgb, var(--race-pace) 55%, transparent);box-shadow:var(--race-shadow-2);padding-top:1.25rem}.race-podium__step--second{border-color:color-mix(in srgb, var(--race-ink-3) 45%, transparent)}.race-podium__step--third{border-color:color-mix(in srgb, var(--race-pace) 30%, transparent)}.race-podium__place{background:var(--race-surface-2);letter-spacing:.06em;text-transform:uppercase;color:var(--race-ink-3);border-radius:999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.race-podium__place--first{background:var(--race-pace-soft);color:var(--race-pace-text)}.race-podium__rank{color:var(--race-ink-3);line-height:.9}.race-podium__step--first .race-podium__rank{color:var(--race-pace)}.race-podium__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.9375rem;font-weight:600;overflow:hidden}.race-podium__result{align-items:baseline;gap:.375rem;font-size:.75rem;display:inline-flex}.race-podium__score{font-weight:600}.race-podium__time{color:var(--race-ink-3)}.race-countdown{font-variant-numeric:tabular-nums;font-weight:700}@media (prefers-reduced-motion:reduce){.race-track__lane--overtaken,.race-dot--pulse,.race-clock--urgent,.race-countbeat{animation:none}}@keyframes race-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.race-rise{animation:race-rise .32s var(--race-ease) both}.race-skeleton{background:var(--race-surface-2);border-radius:var(--race-radius-s)}.race-btn{border-radius:var(--race-radius-m);cursor:pointer;height:3rem;transition:background-color .16s var(--race-ease), border-color .16s var(--race-ease), transform .16s var(--race-ease);border:0;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:.9375rem;font-weight:600;line-height:1;display:inline-flex}.race-btn:active{transform:scale(.985)}.race-btn:disabled{cursor:not-allowed}.race-btn--primary:disabled{background:var(--muted);color:var(--muted-foreground)}.race-btn--outline:disabled{border-color:var(--race-line);background:var(--muted);color:color-mix(in oklab, var(--muted-foreground) 75%, transparent)}.race-btn--ghost:disabled,.race-btn--quiet:disabled{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}.race-btn:focus-visible{outline:2px solid var(--race-live);outline-offset:2px}.race-btn--primary{background:var(--race-live);color:var(--race-on-primary)}.race-btn--primary:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 88%, var(--foreground))}.race-btn--outline{border:1px solid var(--race-line);background:var(--race-surface);color:var(--race-ink)}.race-btn--outline:hover:not(:disabled){background:var(--muted)}.race-hub{flex-direction:column;gap:1.5rem;display:flex}.race-hub__hero{flex-direction:column;gap:.375rem;display:flex}.race-hub__sub{max-width:34ch;color:var(--race-ink-2);font-size:.875rem;line-height:1.5}.race-hub__section{flex-direction:column;gap:.75rem;display:flex}.race-hub__section-head{align-items:center;gap:.5rem;display:flex}.race-hub__count{color:var(--race-ink-3);font-size:.75rem}.race-hub__grid{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@media (min-width:480px){.race-hub__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.race-hub__card{color:inherit;transition:border-color .16s var(--race-ease);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.race-hub__card:hover{border-color:color-mix(in srgb, var(--race-live) 35%, var(--race-line))}.race-hub__card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.race-hub__status{min-width:0;color:var(--race-ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:inline-flex;overflow:hidden}.race-chip{letter-spacing:.02em;border-radius:999px;flex-shrink:0;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.race-chip--live{background:var(--race-live-soft);color:var(--race-live)}.race-chip--muted{background:var(--race-surface-2);color:var(--race-ink-2)}.race-hub__card-title{color:var(--race-ink);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.race-hub__card-bottom{justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.race-code--chip{background:var(--race-surface-2);color:var(--race-ink-2);border-radius:.5rem;padding:.125rem .5rem;font-size:.75rem;display:inline-block}.race-hub__open{color:var(--race-ink-3);white-space:nowrap;font-size:.8125rem;font-weight:600}.race-hub__past{flex-direction:column;display:flex;overflow:hidden}.race-hub__past-row{color:inherit;transition:background-color .16s var(--race-ease);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.race-hub__past-row+.race-hub__past-row{border-top:1px solid var(--race-line)}.race-hub__past-row:hover{background:color-mix(in srgb, var(--race-surface) 55%, transparent)}.race-hub__past-main{flex-direction:column;gap:.125rem;min-width:0;display:flex}.race-hub__past-title{color:var(--race-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.race-hub__past-meta{color:var(--race-ink-3);font-size:.75rem}.race-hub__past-code{color:var(--race-ink-3);flex-shrink:0;font-size:.75rem}.race-hub__ladder-head{flex-direction:column;gap:.125rem;display:flex}.race-hub__ladder-sub{color:var(--race-ink-3);font-size:.75rem}.race-hub__ladder{flex-direction:column;display:flex;overflow:hidden}.race-hub__ladder-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.race-hub__ladder-row+.race-hub__ladder-row{border-top:1px solid var(--race-line)}.race-hub__ladder-id{align-items:center;gap:.5rem;min-width:0;display:flex}.race-hub__rank{text-align:center;min-width:1.25rem;font-family:var(--race-font-display);font-variant-numeric:tabular-nums;color:var(--race-ink-3);flex-shrink:0;font-size:1.25rem;font-weight:700;line-height:1}.race-hub__rank--first{color:var(--race-pace)}.race-hub__ladder-name{color:var(--race-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:500;overflow:hidden}.race-hub__ladder-meta{color:var(--race-ink-3);flex-shrink:0;font-size:.8125rem}.race-hub__you{background:var(--race-live-soft);color:var(--race-live);letter-spacing:.02em;border-radius:999px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.race-hub__ladder-note{color:var(--race-ink-3);padding:0 1rem .75rem;font-size:.75rem}.race-hub__ladder-empty{color:var(--race-ink-3);padding:1.5rem 1rem;font-size:.875rem}.race-hub__live-empty{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:2rem 1rem;display:flex}.race-hub__live-empty p{color:var(--race-ink-3);font-size:.875rem}.race-join__input{border:1px solid var(--race-line);border-radius:var(--race-radius-m);background:var(--race-surface);width:100%;height:3rem;color:var(--race-ink);font-family:var(--race-font-code);letter-spacing:.18em;text-align:center;text-transform:uppercase;padding:0 .875rem;font-size:1.125rem;font-weight:600}.race-join__input::placeholder{color:var(--race-ink-3);letter-spacing:.18em}.race-join__input:focus-visible{outline:2px solid var(--race-live);outline-offset:2px}.race-join__input--bar{flex:none;width:12rem;font-size:1rem}.race-sheet{background:var(--race-surface)}.race-sheet__hint{color:var(--race-ink-3);font-size:.75rem;line-height:1.45}.race-sheet__footer{border-top:1px solid var(--race-line)}.race-sheet__footnote{text-align:center;color:var(--race-ink-3);font-size:.6875rem}.race-tile{border:1px solid var(--race-line);border-radius:var(--race-radius-m);background:var(--race-surface);min-height:3rem;color:var(--race-ink);text-align:left;cursor:pointer;transition:background-color .16s var(--race-ease), border-color .16s var(--race-ease);justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.9375rem;font-weight:600;display:flex}.race-tile:focus-visible{outline:2px solid var(--race-live);outline-offset:2px}.race-tile--on{background:var(--race-live-soft);box-shadow:0 0 0 1px var(--race-live);border-color:#0000}.race-tile__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.race-tile__check{width:1rem;height:1rem;color:var(--race-live);flex-shrink:0}.race-tile--stacked{flex-direction:column;justify-content:center;align-items:flex-start;gap:.125rem}.race-tile__label{font-size:1rem;font-weight:600}.race-tile__blurb{color:var(--race-ink-3);font-size:.75rem;font-weight:400;line-height:1.35}@media (min-width:640px){.race-hub .race-actionbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-top:none;padding:0;position:static}.race-hub .race-actionbar__inner{max-width:none}.race-hub .race-hub__join-mobile{display:none}.race-hub.race-shell--pad{padding-bottom:2.5rem}}@media (prefers-reduced-motion:reduce){.race-rise{animation:none}.race-btn,.race-tile{transition:none}.race-btn:active{transform:none}}.race-roombar{z-index:30;background:color-mix(in srgb, var(--race-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--race-line);position:sticky;top:0}.race-roombar__inner{align-items:center;gap:.75rem;width:100%;max-width:42rem;margin-inline:auto;padding:.5rem 1rem;display:flex}.race-roombar__back{color:var(--race-ink-2);white-space:nowrap;flex-shrink:0;margin:-.75rem 0;padding:.75rem .25rem;font-size:.9375rem}.race-roombar__title{font-family:var(--race-font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.125rem;font-weight:700;overflow:hidden}.race-roombar__status{color:var(--race-ink-2);white-space:nowrap;flex-shrink:0;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:inline-flex}.race-roombar__clock{flex-shrink:0;margin-left:auto}.race-roombar__back:focus-visible,.race-invite__btn:focus-visible{outline:2px solid var(--race-live);outline-offset:2px}@media (max-width:639px){.race-roombar__inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"back title title""status status clock";row-gap:.25rem;display:grid}.race-roombar__back{grid-area:back;align-self:stretch;margin:0}.race-roombar__title{grid-area:title}.race-roombar__status{grid-area:status}.race-roombar__clock{grid-area:clock;justify-self:end}}.race-room__body{flex-direction:column;gap:1rem;width:100%;max-width:42rem;margin:0 auto;padding:1rem;display:flex}.race-room__meta{color:var(--race-ink-2);font-size:.875rem;line-height:1.5}.race-room__result{color:var(--race-ink-2);font-size:1.0625rem;line-height:1.45}.race-room__note{color:var(--race-ink-2);font-size:.875rem;line-height:1.5}.race-room__roster{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.race-room__roster-head{align-items:center;gap:.5rem;display:flex}.race-room__roster-count{color:var(--race-ink-3);font-size:.75rem}.race-room__roster-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.race-room__roster-row{border-radius:var(--race-radius-s);align-items:center;gap:.625rem;padding:.375rem .5rem;display:flex}.race-room__roster-name{min-width:0;color:var(--race-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:500;overflow:hidden}.race-room__roster-note{color:var(--race-ink-2);font-size:.875rem;line-height:1.5}.race-invite{align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.race-invite__code{border-radius:var(--race-radius-s);background:var(--race-surface);color:var(--race-ink);padding:.375rem .625rem;font-size:1rem;display:inline-block}.race-invite__actions{align-items:center;gap:.375rem;margin-left:auto;display:flex}.race-invite__btn{border:1px solid var(--race-line);border-radius:var(--race-radius-s);background:var(--race-surface);width:2.75rem;height:2.75rem;color:var(--race-ink-2);cursor:pointer;transition:border-color .16s var(--race-ease), color .16s var(--race-ease);justify-content:center;align-items:center;display:inline-flex}.race-invite__btn:hover{border-color:color-mix(in srgb, var(--race-live) 35%, var(--race-line));color:var(--race-ink)}.race-room__count{color:var(--race-ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.race-room__count-window{color:var(--race-ink-3);font-size:.75rem}.race-room__standings{flex-direction:column;gap:.75rem;display:flex}.race-standings{flex-direction:column;gap:.375rem;display:flex}.race-standings__row{border:1px solid var(--race-line);border-radius:var(--race-radius-s);background:var(--race-surface);align-items:center;gap:.625rem;padding:.625rem .75rem;display:flex}.race-standings__row.race-wash-live{background:var(--race-live-soft)}.race-standings__rank{text-align:center;min-width:1.25rem;font-family:var(--race-font-display);font-variant-numeric:tabular-nums;color:var(--race-ink-3);flex-shrink:0;font-size:1.25rem;font-weight:700;line-height:1}.race-standings__rank--first{color:var(--race-pace)}.race-standings__who{flex-direction:column;flex:auto;gap:.0625rem;min-width:0;display:flex}.race-standings__name{color:var(--race-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.race-standings__sub{color:var(--race-ink-3);font-size:.75rem}.race-standings__right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.race-standings__score{font-size:.9375rem;font-weight:600}.race-standings__footnote{color:var(--race-ink-3);font-size:.6875rem}.race-xp{color:var(--race-ink);white-space:nowrap;border-radius:999px;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:600;display:inline-flex}.race-btn--ghost{color:var(--race-ink-2);background:0 0}.race-btn--ghost:hover:not(:disabled){background:var(--muted);color:var(--race-ink)}.race-btn--quiet{color:var(--race-ink-3);background:0 0;padding:0 .75rem;font-weight:500}.race-btn--quiet:hover:not(:disabled){background:var(--muted);color:var(--race-ink)}.race-room .race-actionbar__inner{flex-wrap:wrap}.race-room .race-actionbar__inner>.race-btn--primary{flex:100%}.race-room .race-actionbar__inner>.race-btn--outline{flex:1 1 0}@media (min-width:640px){.race-room .race-actionbar__inner{flex-wrap:nowrap}.race-room .race-actionbar__inner>.race-btn--primary,.race-room .race-actionbar__inner>.race-btn--outline{flex:1 1 0}}.race-run{flex-direction:column;min-height:100dvh;display:flex}.race-run__bar{z-index:20;border-bottom:1px solid var(--race-line);background:color-mix(in oklab, var(--race-bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:2.25rem minmax(0,1fr) 4rem;align-items:center;gap:.75rem;padding:.6rem 1rem;display:grid;position:sticky;top:0}.race-run__exit{border-radius:var(--race-radius-s);border:1px solid var(--race-line);background:var(--race-surface);width:2.25rem;height:2.25rem;color:var(--race-ink-2);cursor:pointer;transition:color .14s var(--race-ease), border-color .14s var(--race-ease);justify-content:center;align-items:center;display:inline-flex}.race-run__exit:hover{color:var(--race-ink);border-color:color-mix(in oklab, var(--race-live) 35%, var(--race-line))}.race-run__heading{flex-direction:column;align-items:center;gap:.05rem;min-width:0;display:flex}.race-run__count{color:var(--race-ink);font-size:.8125rem;font-weight:700}.race-run__clock{color:var(--race-ink);text-align:right;justify-self:end;font-size:1rem;font-weight:700}.race-run__clock--low{color:var(--race-pace-text)}.race-run__body{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:42rem;margin:0 auto;padding:1rem;display:flex}.race-run__banner{border:1px solid color-mix(in oklab, var(--race-pace) 45%, var(--race-line));background:var(--race-pace-soft);border-radius:var(--race-radius-s);color:var(--race-ink);padding:.5rem .75rem;font-size:.8125rem}.race-run__card{border:1px solid var(--race-line);border-radius:var(--race-radius-m);background:var(--race-surface);box-shadow:var(--race-shadow-1);flex-direction:column;gap:.875rem;padding:1rem;display:flex}.race-run__prompt{color:var(--race-ink);font-size:1.0625rem;font-weight:600;line-height:1.5}.race-run__options{flex-direction:column;gap:.5rem;display:flex}.race-run__option{border:2px solid var(--race-line);border-radius:var(--race-radius-s);background:var(--race-surface);width:100%;min-height:3rem;color:var(--race-ink);text-align:left;cursor:pointer;transition:border-color .14s var(--race-ease), background .14s var(--race-ease), transform .14s var(--race-ease);align-items:center;gap:.75rem;padding:.55rem .9rem;font-size:.9375rem;display:flex}.race-run__option:hover:not(:disabled){border-color:color-mix(in oklab, var(--race-live) 40%, var(--race-line))}.race-run__option:active:not(:disabled){transform:scale(.99)}.race-run__option:disabled{cursor:default}.race-run__option--picked{border-color:var(--race-live);background:var(--race-live-soft)}.race-run__option--dim{opacity:.55}.race-run__option-letter{background:var(--race-surface-2);border:1px solid var(--race-line);width:1.625rem;height:1.625rem;color:var(--race-ink-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.race-run__option--picked .race-run__option-letter{background:var(--race-live);border-color:var(--race-live);color:var(--race-on-primary)}.race-run__option-text{flex:auto;min-width:0}.race-run__option-check{width:1.1rem;height:1.1rem;color:var(--race-live);flex-shrink:0}.race-run__note{color:var(--race-ink-3);text-align:center;font-size:.75rem}.race-run__resume{flex-direction:column;align-items:center;gap:.5rem;padding-top:.25rem;display:flex}.race-run__resume-note{color:var(--race-ink-2);text-align:center;font-size:.8125rem}.race-run__overlay{z-index:40;background:color-mix(in oklab, var(--race-bg) 82%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.race-run__overlay-card{border:1px solid var(--race-line);border-radius:var(--race-radius-m);background:var(--race-surface);width:min(92vw,24rem);box-shadow:var(--race-shadow-2);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.25rem;display:flex}.race-run__overlay-title{color:var(--race-ink);font-size:1rem;font-weight:700}.race-run__overlay-sub{color:var(--race-ink-2);font-size:.8125rem}.race-run__spinner{border:3px solid color-mix(in oklab, var(--race-live) 25%, transparent);border-top-color:var(--race-live);border-radius:999px;width:2rem;height:2rem;animation:.8s linear infinite race-run-spin}@keyframes race-run-spin{to{transform:rotate(360deg)}}.race-finish{flex-direction:column;gap:1rem;width:100%;max-width:48rem;margin:0 auto;display:flex}.race-finish__hero{border:1px solid var(--race-line);border-radius:var(--race-radius-l);background:var(--race-surface);box-shadow:var(--race-shadow-1);overflow:hidden}.race-finish__scene{border-bottom:1px solid var(--race-line);background:repeating-linear-gradient(180deg, transparent 0 1.35rem, color-mix(in oklab, var(--foreground) 7%, transparent) 1.35rem 1.4rem), linear-gradient(180deg, var(--race-live-soft), color-mix(in oklab, var(--race-bg) 40%, transparent) 75%);height:7rem;position:relative}.race-finish__line{background-color:var(--race-surface);background-image:repeating-conic-gradient(color-mix(in srgb, var(--race-ink) 85%, transparent) 0% 25%, transparent 0% 50%);background-size:.75rem .75rem;border-radius:4px;width:.75rem;position:absolute;top:.75rem;bottom:.75rem;right:1.5rem}.race-finish__avatar{background:var(--race-surface);border:1px solid var(--race-line);max-width:72%;box-shadow:var(--race-shadow-2);animation:race-finish-brake .62s var(--race-ease) 1;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .3rem;display:flex;position:absolute;top:50%;right:2.5rem;transform:translateY(-50%)}@keyframes race-finish-brake{0%{transform:translate(45%,-50%)}to{transform:translateY(-50%)}}.race-finish__avatar-name{color:var(--race-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:700;overflow:hidden}.race-finish__body{flex-direction:column;gap:.5rem;padding:1rem 1.25rem 1.25rem;display:flex}.race-finish__topline{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.race-finish__headline{color:var(--race-ink);font-size:1rem;font-weight:600}.race-finish__subline{color:var(--race-ink-2);font-size:.8125rem}.race-finish__chips{flex-wrap:wrap;gap:.4rem;padding-top:.25rem;display:flex}.race-finish__chip{border:1px solid var(--race-line);background:var(--race-surface-2);color:var(--race-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.race-finish__chip--xp{background:var(--race-pace-soft);border-color:color-mix(in oklab, var(--race-pace) 35%, var(--race-line))}.race-finish__actions{flex-wrap:wrap;gap:.5rem;padding-top:.35rem;display:flex}.race-finish__actions .race-btn--primary{flex:100%}@media (min-width:640px){.race-finish__actions .race-btn--primary{flex:auto}}.race-finish__section{flex-direction:column;gap:.75rem;display:flex}.race-share__preview{border-radius:var(--race-radius-m);background:var(--race-surface-2);justify-content:center;align-items:center;min-height:12rem;display:flex;overflow:hidden}.race-share__image{object-fit:contain;width:100%;max-height:60vh;display:block}.race-share__fallback{color:var(--race-ink-2);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:.875rem;display:flex}.race-share__actions{flex-wrap:wrap;gap:.5rem;display:flex}.race-share__actions .race-btn{flex:auto}@media (prefers-reduced-motion:reduce){.race-invite__btn,.race-run__option,.race-run__exit{transition:none}.race-finish__avatar{animation:none}.race-podium__step{opacity:1!important;transform:none!important}}
