.home-race{--home-swim:var(--dashboard-chart-swim);--home-bike:var(--dashboard-chart-bike);--home-run:var(--dashboard-chart-run);--home-swim-text:#0f766e;--home-bike-text:#b45309;--home-run-text:#0369a1;--home-tsb-text:#15803d;--home-finish:rgb(var(--accent-rgb))}:root[data-theme=dark] .home-race{--home-swim-text:#2dd4bf;--home-bike-text:#fbbf24;--home-run-text:#38bdf8;--home-tsb-text:#4ade80}.home-leg-text--swim{color:var(--home-swim-text)}.home-leg-text--bike{color:var(--home-bike-text)}.home-leg-text--run{color:var(--home-run-text)}.home-leg-text--coach{color:var(--text-main)}.home-leg-text--finish{color:rgb(var(--accent-rgb))}.home-leg-stroke--swim{stroke:var(--home-swim)}.home-leg-stroke--bike{stroke:var(--home-bike)}.home-leg-stroke--run{stroke:var(--home-run)}.home-leg-stroke--coach{stroke:var(--text-main)}.home-leg-stroke--finish{stroke:var(--home-finish);fill:var(--home-finish);fill-opacity:.25}.home-leg{padding-top:6rem;padding-bottom:6rem;scroll-margin-top:4rem;position:relative}@media (min-width:640px){.home-leg{padding-top:8rem;padding-bottom:8rem}}.home-leg-label{letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;font-size:.75rem;font-weight:700;display:flex}.home-leg-label__rule{opacity:.7;background:currentColor;border-radius:999px;width:2.5rem;height:2px;display:inline-block}.home-leg-cta{border-radius:.5rem;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.home-leg-cta svg{transition:transform .2s}.home-leg-cta:hover svg{transform:translate(4px)}.home-leg-cta:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:4px}.home-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;display:inline-flex}.home-kicker__bib{border:2px solid var(--text-main);min-width:2.4rem;color:var(--text-main);letter-spacing:.02em;border-radius:.4rem;justify-content:center;align-items:center;padding:.2rem .5rem;font-size:.8rem;font-weight:900;display:inline-flex}.home-rise{animation:.8s cubic-bezier(.2,.7,.2,1) both home-rise}@keyframes home-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.home-scroll-cue{letter-spacing:.14em;text-transform:uppercase;border-radius:.5rem;align-items:center;gap:.4rem;margin-top:2.5rem;font-size:.7rem;font-weight:800;display:inline-flex}.home-scroll-cue:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:4px}.home-scroll-cue__arrow{animation:1.6s ease-in-out infinite home-bounce}@keyframes home-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@supports (animation-timeline:scroll()){.home-scroll-cue{animation:linear both home-cue-fade;animation-timeline:scroll(root);animation-range:0 240px}}@keyframes home-cue-fade{to{opacity:0;transform:translateY(-6px)}}.home-typewriter{min-height:1em;display:inline-block}.home-typewriter__cursor{vertical-align:-.05em;background:currentColor;width:.08em;height:.85em;margin-left:.06em;animation:.9s step-end infinite home-blink;display:inline-block}@keyframes home-blink{50%{opacity:0}}.home-cockpit__glow{background:radial-gradient(60% 60% at 30% 30%, color-mix(in srgb, var(--dashboard-chart-ctl) 28%, transparent), transparent 70%), radial-gradient(50% 50% at 80% 70%, color-mix(in srgb, var(--dashboard-chart-tsb) 22%, transparent), transparent 70%);filter:blur(40px);opacity:.8;pointer-events:none;border-radius:3rem;position:absolute;inset:8% -6% -8% 10%}.home-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.8s cubic-bezier(.45,0,.2,1) forwards home-draw}@keyframes home-draw{to{stroke-dashoffset:0}}.home-fade{opacity:0;animation:.7s forwards home-fade}@keyframes home-fade{to{opacity:1}}.home-ping{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out 2.2s 3 home-ping}@keyframes home-ping{0%{opacity:.45;transform:scale(.6)}80%,to{opacity:0;transform:scale(2.2)}}@property --home-num{syntax:"<integer>";inherits:false;initial-value:0}.home-count{--home-num:var(--home-count);counter-reset:home-num var(--home-num);animation:home-count 1.6s cubic-bezier(.2, .7, .2, 1) var(--home-delay,0s) both}.home-count:after{content:counter(home-num)}@keyframes home-count{0%{--home-num:0}to{--home-num:var(--home-count)}}.home-profile{max-width:64rem}.home-profile__svg{width:100%;height:auto;display:block;overflow:visible}.home-profile__ground{stroke:var(--border-main);stroke-width:1px;vector-effect:non-scaling-stroke}.home-profile__transition{stroke:var(--text-muted);stroke-opacity:.45;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.home-profile__path{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.1s ease-out forwards home-draw}.home-profile__athlete{offset-distance:0%;offset-rotate:0deg;opacity:0;animation:.4s 2.4s forwards home-fade}.home-profile__athlete-dot{r:6;fill:var(--text-main);stroke:var(--bg-main);stroke-width:3px;vector-effect:non-scaling-stroke}.home-profile__athlete-halo{r:13;fill:var(--text-main);fill-opacity:.18}@media (max-width:1023.98px){.home-profile__athlete-dot{r:8}.home-profile__athlete-halo{r:17}}@media (max-width:639.98px){.home-profile__athlete-dot{r:13}.home-profile__athlete-halo{r:26}}@supports (animation-timeline:scroll()){.home-profile__athlete{animation:.4s 2.4s forwards home-fade,linear both home-athlete;animation-timeline:auto,scroll(root)}}@keyframes home-athlete{to{offset-distance:100%}}.home-profile__legs{grid-template-columns:25fr 40.5fr 19.5fr 7fr 8fr;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.home-profile__leg{border-radius:.5rem;flex-direction:column;gap:.1rem;padding:.35rem .25rem .35rem 0;display:flex}.home-profile__leg:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:2px}.home-profile__label{letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:800}.home-profile__topic{color:var(--text-muted);font-size:.8rem;transition:color .16s}.home-profile__leg:hover .home-profile__topic{color:var(--text-main)}@media (max-width:480px){.home-profile__legs{grid-template-columns:repeat(5,1fr)}.home-profile__topic{display:none}}@property --home-leg-color{syntax:"<color>";inherits:false;initial-value:#0000}.home-backdrop{--home-leg-color:rgb(var(--accent-rgb) / .6);z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 90% 10%, color-mix(in srgb, var(--home-leg-color) 14%, transparent), transparent 70%), radial-gradient(50rem 36rem at 0% 100%, color-mix(in srgb, var(--home-leg-color) 9%, transparent), transparent 70%);transition:--home-leg-color .9s;position:fixed;inset:0}.home-backdrop[data-leg=swim]{--home-leg-color:var(--dashboard-chart-swim)}.home-backdrop[data-leg=bike]{--home-leg-color:var(--dashboard-chart-bike)}.home-backdrop[data-leg=run]{--home-leg-color:var(--dashboard-chart-run)}.home-progress{--home-leg-color:rgb(var(--accent-rgb));z-index:40;background:var(--home-leg-color);transform-origin:0;height:3px;transition:--home-leg-color .7s;display:none;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.home-progress[data-leg=swim]{--home-leg-color:var(--dashboard-chart-swim)}.home-progress[data-leg=bike]{--home-leg-color:var(--dashboard-chart-bike)}.home-progress[data-leg=run]{--home-leg-color:var(--dashboard-chart-run)}@supports (animation-timeline:scroll()){.home-progress{animation:linear both home-progress;animation-timeline:scroll(root);display:block}}@keyframes home-progress{to{transform:scaleX(1)}}.home-rail{display:none}@media (min-width:1440px){.home-rail{z-index:20;display:block;position:fixed;top:50%;left:1.5rem;transform:translateY(-50%)}}.home-rail ol{flex-direction:column;gap:1.4rem;margin:0;padding:0;list-style:none;display:flex;position:relative}.home-rail ol:before{content:"";background:var(--border-main);border-radius:999px;width:2px;position:absolute;top:6px;bottom:6px;left:5px}.home-rail__stop{--stop-color:rgb(var(--accent-rgb));letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-radius:.5rem;align-items:center;gap:.75rem;font-size:.7rem;font-weight:700;transition:color .2s;display:flex;position:relative}.home-rail__stop--swim{--stop-color:var(--dashboard-chart-swim)}.home-rail__stop--bike{--stop-color:var(--dashboard-chart-bike)}.home-rail__stop--run{--stop-color:var(--dashboard-chart-run)}.home-rail__stop--coach{--stop-color:var(--text-main)}.home-rail__dot{border:2px solid var(--border-main);background:var(--bg-main);border-radius:999px;width:12px;height:12px;transition:background .25s,border-color .25s,transform .25s}.home-rail__stop.is-passed .home-rail__dot{border-color:var(--stop-color);background:var(--stop-color)}.home-rail__stop.is-active{color:var(--text-main)}.home-rail__stop.is-active .home-rail__dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--stop-color) 25%, transparent);transform:scale(1.35)}.home-rail__label{opacity:0;transition:opacity .2s,transform .2s;transform:translate(-4px)}.home-rail:hover .home-rail__label,.home-rail__stop.is-active .home-rail__label,.home-rail__stop:focus-visible .home-rail__label{opacity:1;transform:none}.home-rail__stop:focus-visible{outline:2px solid rgb(var(--accent-rgb));outline-offset:4px}[data-reveal-ready] [data-reveal]{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}[data-reveal-ready] [data-reveal].home-stagger{transition-delay:calc(var(--i,0) * .11s)}[data-reveal-ready] [data-reveal].home-pop{transform:translateY(12px)scale(.85)}[data-reveal-ready] [data-reveal].is-in{opacity:1;transform:none}.home-transition{max-width:72rem;color:var(--text-muted);align-items:center;gap:1rem;margin:0 auto;font-size:.9rem;display:flex}.home-transition:before,.home-transition:after{content:"";border-top:2px dashed var(--border-main);flex:1;height:0}.home-transition__name{border:2px solid var(--border-main);background:var(--surface-main);width:2.75rem;height:2.75rem;color:var(--text-main);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:900;display:inline-flex}.home-transition__split{font-variant-numeric:tabular-nums;color:var(--text-main);flex-shrink:0;font-size:.85rem;font-weight:800;display:inline-flex}.home-transition__count{--home-num:var(--home-count);counter-reset:home-num var(--home-num);animation:1.4s cubic-bezier(.2,.7,.2,1) .3s both paused home-count}.home-transition__count:after{content:counter(home-num, decimal-leading-zero)}.home-transition.is-in .home-transition__count{animation-play-state:running}.home-transition__text{text-align:left;max-width:22rem;line-height:1.4}@media (max-width:639.98px){.home-transition:after{display:none}.home-transition:before{flex:0 0 1.25rem}}.home-lanes{background:repeating-linear-gradient(180deg, transparent 0 2.6rem, color-mix(in srgb, var(--dashboard-chart-swim) 26%, transparent) 2.6rem calc(2.6rem + 2px));pointer-events:none;border-radius:2rem;animation:7s linear infinite home-lanes;position:absolute;inset:-1.5rem -1rem;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000);mask-image:radial-gradient(closest-side,#000 55%,#0000)}@keyframes home-lanes{to{background-position-y:calc(2.6rem + 2px)}}.home-live-dot{background:var(--dashboard-chart-tsb);border-radius:999px;width:8px;height:8px;position:relative}.home-live-dot:after{content:"";border-radius:inherit;background:inherit;animation:1.8s ease-out infinite home-live;position:absolute;inset:0}@keyframes home-live{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}[data-reveal-ready] .home-stream .home-stream__item{opacity:0;transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(.25s + var(--i,0) * .26s);transform:translate(24px)}[data-reveal-ready] .home-stream.is-in .home-stream__item{opacity:1;transform:none}.home-tilt{perspective:1600px}@supports (animation-timeline:view()){.home-tilt>*{transform-origin:50% 100%;animation:linear both home-tilt;animation-timeline:view();animation-range:entry cover 45%}}@keyframes home-tilt{0%{opacity:.65;transform:rotateX(18deg)scale(.94)}to{opacity:1;transform:none}}.home-plan__bar{height:calc(var(--h) * 100%);transform-origin:50% 100%;border-radius:.4rem .4rem .15rem .15rem;flex:1}.home-plan__bar--p0{background:color-mix(in srgb, var(--dashboard-chart-run) 40%, transparent)}.home-plan__bar--p1{background:color-mix(in srgb, var(--dashboard-chart-run) 70%, transparent)}.home-plan__bar--p2{background:var(--dashboard-chart-run)}.home-plan__bar--p3{background:color-mix(in srgb, var(--dashboard-chart-run) 45%, transparent)}.home-plan__bar--p4{background:rgb(var(--accent-rgb))}[data-reveal-ready] .home-plan .home-plan__bar{transition:transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(.2s + var(--i,0) * 55ms);transform:scaleY(0)}[data-reveal-ready] .home-plan.is-in .home-plan__bar{transform:none}.home-bubble{border-radius:1rem;max-width:92%;padding:.6rem .85rem;font-size:.85rem;line-height:1.45}.home-bubble--me{background:rgb(var(--accent-rgb));color:#fff;border-bottom-right-radius:.3rem;width:fit-content;margin-left:auto}.home-bubble--ai{background:var(--surface-muted);border:1px solid var(--border-main);color:var(--text-main);border-bottom-left-radius:.3rem}.home-chat__typing{display:none}.home-chat__typing-inner{min-height:0;overflow:hidden}.home-chat__dots{gap:.3rem;padding:.75rem .9rem;display:inline-flex}.home-chat__dots i{background:var(--text-muted);border-radius:999px;width:6px;height:6px;animation:1s ease-in-out infinite home-dot}.home-chat__dots i:nth-child(2){animation-delay:.15s}.home-chat__dots i:nth-child(3){animation-delay:.3s}@keyframes home-dot{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}[data-reveal-ready] .home-chat .home-chat__me{opacity:0;animation:home-bubble-in .4s cubic-bezier(.2, .7, .2, 1) var(--d) both paused}[data-reveal-ready] .home-chat .home-chat__typing{opacity:0;animation:home-typing 1.45s ease calc(var(--d) + .35s) both paused;grid-template-rows:0fr;display:grid}[data-reveal-ready] .home-chat .home-chat__ai{opacity:0;animation:home-bubble-in .45s cubic-bezier(.2, .7, .2, 1) calc(var(--d) + 1.75s) both paused}[data-reveal-ready] .home-chat.is-in .home-chat__me,[data-reveal-ready] .home-chat.is-in .home-chat__typing,[data-reveal-ready] .home-chat.is-in .home-chat__ai{animation-play-state:running}@keyframes home-bubble-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}@keyframes home-typing{0%{opacity:0;grid-template-rows:0fr}18%{opacity:1;grid-template-rows:1fr}82%{opacity:1;grid-template-rows:1fr}to{opacity:0;grid-template-rows:0fr}}.home-finish__tape{height:5px;display:flex;position:absolute;top:2.6rem;left:0;right:0}.home-finish__tape-half{background:var(--text-main);opacity:.75;transform-origin:0;flex:1;transition:transform .9s cubic-bezier(.2,.7,.2,1) .5s,opacity .9s .5s}.home-finish__tape-half--r{transform-origin:100%}.home-finish.is-in .home-finish__tape-half--l{opacity:0;transform:translate(-12%)rotate(5deg)}.home-finish.is-in .home-finish__tape-half--r{opacity:0;transform:translate(12%)rotate(-5deg)}.home-finish__checker{background:repeating-conic-gradient(var(--text-main) 0% 25%, transparent 0% 50%) 0 0 / 1.25rem 1.25rem;opacity:.85;height:1.25rem;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}@media (prefers-reduced-motion:reduce){.home-rise,.home-fade,.home-draw,.home-profile__path,.home-count,.home-ping,.home-live-dot:after{opacity:1;stroke-dashoffset:0;animation:none!important}.home-count{--home-num:var(--home-count)}.home-progress,.home-tilt>*,.home-scroll-cue,.home-scroll-cue__arrow,.home-profile__athlete,.home-lanes,.home-chat__dots i{animation:none!important}.home-profile__athlete{opacity:1}.home-transition__count,[data-reveal-ready] .home-chat .home-chat__me,[data-reveal-ready] .home-chat .home-chat__ai{opacity:1;--home-num:var(--home-count);transform:none;animation:none!important}[data-reveal-ready] .home-chat .home-chat__typing,.home-finish__tape,.home-progress{display:none}[data-reveal-ready] [data-reveal],[data-reveal-ready] .home-stream .home-stream__item,[data-reveal-ready] .home-plan .home-plan__bar{opacity:1;transition:none;transform:none}}
