.upgrade-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:upgrade-fade .2s var(--ease);background:#07101f8c;position:fixed;inset:0}.upgrade{z-index:61;background:var(--surface);width:min(560px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:0 24px 64px #07101f66, var(--sh-panel-hover);padding:var(--s5) var(--s5) var(--s4);animation:upgrade-in .24s var(--ease);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.upgrade>*{z-index:1;position:relative}.upgrade__glow{z-index:0;pointer-events:none;background:radial-gradient(58% 80% at 22% 0%, color-mix(in srgb, var(--brand) 28%, transparent), transparent 70%), radial-gradient(52% 74% at 86% 6%, color-mix(in srgb, var(--brand) 18%, transparent), transparent 72%);filter:blur(30px);opacity:.9;height:220px;position:absolute;inset:0 0 auto}.upgrade-backdrop.is-closing{opacity:0;transition:opacity .15s var(--ease);pointer-events:none;animation:none}.upgrade.is-closing{opacity:0;transition:opacity .15s var(--ease), transform .15s var(--ease);pointer-events:none;animation:none;transform:translate(-50%,-48%)scale(.98)}.upgrade__head{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.upgrade__eyebrow{font-size:var(--fs-11);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-700);border:1px solid var(--brand);border-radius:var(--r);align-items:center;gap:7px;padding:3px 10px;font-weight:700;display:inline-flex}.upgrade__eyebrow:before{content:"";background:var(--brand);width:6px;height:6px;box-shadow:0 0 8px color-mix(in srgb, var(--brand) 70%, transparent)}.upgrade__close{font-size:var(--fs-20);line-height:1}.upgrade__title{margin:var(--s3) 0 0;font-size:var(--fs-30);letter-spacing:-.01em;line-height:1.1}.upgrade__sub{color:var(--muted);margin:var(--s2) 0 var(--s4);font-size:var(--fs-15)}.upgrade__features{margin:0 0 var(--s4);gap:var(--s3);padding:0;list-style:none;display:grid}.upgrade__features li{animation:upgrade-rise var(--dur-slow) both var(--ease);padding-left:1.95em;line-height:1.3;position:relative}.upgrade__features li:before{content:"✓";background:color-mix(in srgb, var(--brand) 14%, transparent);width:1.25em;height:1.25em;color:var(--brand-700);border-radius:var(--r);place-items:center;font-size:.82em;font-weight:700;display:grid;position:absolute;top:0;left:0}.upgrade__features li:first-child{animation-delay:40ms}.upgrade__features li:nth-child(2){animation-delay:.1s}.upgrade__features li:nth-child(3){animation-delay:.16s}.upgrade__features li:nth-child(4){animation-delay:.22s}.upgrade__plans{gap:var(--s2);margin-bottom:var(--s4);grid-template-columns:1fr 1fr;display:grid}.upgrade__plan{padding:var(--s3);border:1px solid var(--line-strong);background:var(--surface-2);cursor:pointer;text-align:left;border-radius:var(--r);color:inherit;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;align-items:flex-start;gap:5px;display:flex;position:relative}.upgrade__plan:hover{border-color:var(--brand-400)}@media (hover:hover) and (pointer:fine){.upgrade__plan:hover{transform:translateY(-1px)}}.upgrade__plan.is-on{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 7%, var(--surface));box-shadow:inset 0 0 0 1px var(--brand), 0 8px 20px color-mix(in srgb, var(--brand) 22%, transparent)}.upgrade__plan:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.upgrade__planName{font-weight:700;font-size:var(--fs-12);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.upgrade__plan.is-on .upgrade__planName{color:var(--brand-700)}.upgrade__planPriceRow{align-items:baseline;gap:4px;display:flex}.upgrade__planPrice{font-size:var(--fs-30);line-height:1}.upgrade__planPer{color:var(--muted);font-size:var(--fs-13)}.upgrade__planNote{color:var(--muted);font-size:var(--fs-12);min-height:1.4em}.upgrade__ribbon{margin-right:var(--s2);font-size:var(--fs-11);letter-spacing:.04em;background:var(--good-bg);color:var(--good-700);border:1px solid color-mix(in srgb, var(--good-700) 40%, transparent);border-radius:var(--r);padding:2px 7px;font-weight:700;position:absolute;top:0;right:0;transform:translateY(-50%)}.upgrade__code{margin:0 0 var(--s3)}.upgrade__code-toggle{color:var(--muted);font-size:var(--fs-13);cursor:pointer;text-underline-offset:2px;transition:color var(--dur) var(--ease);background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.upgrade__code-toggle:hover{color:var(--text)}.upgrade__code-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.upgrade__code-row{gap:var(--s2);display:flex}.upgrade__code-input{padding:8px var(--s2);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);border-radius:var(--r);font-size:var(--fs-14);text-transform:uppercase;letter-spacing:.06em;flex:1;font-family:inherit}.upgrade__code-input:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--brand)}.upgrade__code-apply{padding:8px var(--s3);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:var(--r);font-size:var(--fs-13);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-shrink:0;font-family:inherit;font-weight:600}.upgrade__code-apply:hover:not(:disabled){background:var(--surface-2);border-color:var(--brand-400)}.upgrade__code-apply:disabled{opacity:.5;cursor:default}.upgrade__code-apply:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.upgrade__code-success{color:var(--good-700);font-size:var(--fs-14);margin:0;font-weight:600}.upgrade__error{color:var(--bad);margin:0 0 var(--s2);font-size:var(--fs-13)}.upgrade__start{width:100%;margin-top:var(--s1);padding-block:11px;font-weight:700;position:relative;overflow:hidden}.upgrade__start:after{content:"";background:linear-gradient(100deg,#0000,#ffffff61,#0000);width:55%;height:100%;position:absolute;top:0;left:0;transform:translate(-291%)skew(-18deg)}@media (hover:hover) and (pointer:fine){.upgrade__start:not(:disabled):hover{transform:translateY(-1px)}.upgrade__start:not(:disabled):hover:after{animation:upgrade-shine .6s var(--ease)}}.upgrade__trial{margin:var(--s2) 0 0;text-align:center}.upgrade__details{width:100%;margin-top:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--text);font-weight:600;font-size:var(--fs-13);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);justify-content:center;align-items:center;gap:6px;padding:10px 16px;text-decoration:none;display:flex}.upgrade__details:hover{background:var(--surface-2);border-color:var(--brand-400)}.upgrade__details:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.upgrade__details-arrow{transition:transform var(--dur) var(--ease);display:inline-block}@media (hover:hover) and (pointer:fine){.upgrade__details:hover .upgrade__details-arrow{transform:translate(3px)}}.upgrade__tax{margin-top:var(--s3);text-align:center}@keyframes upgrade-fade{0%{opacity:0}to{opacity:1}}@keyframes upgrade-in{0%{opacity:0;transform:translate(-50%,-44%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes upgrade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes upgrade-shine{to{transform:translate(291%)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.upgrade-backdrop,.upgrade,.upgrade__features li{animation:none}.upgrade-backdrop.is-closing,.upgrade.is-closing{transition:none}.upgrade__plan:hover,.upgrade__start:not(:disabled):hover{transform:none}.upgrade__start:after{display:none}.upgrade__details-arrow{transition:none}.upgrade__details:hover .upgrade__details-arrow{transform:none}}.upgrade-topbar-btn{background:var(--brand);color:#fff;border-radius:var(--r);font-size:var(--fs-13);letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);border:none;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-weight:700;display:inline-flex}.upgrade-topbar-btn:hover{opacity:.88}.upgrade-topbar-btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.upgrade-topbar-btn:hover{transform:translateY(-1px)}}.upgrade-topbar-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.upgrade-topbar-btn:active{transform:none}.upgrade-topbar-btn{transition:none}.upgrade-topbar-btn:hover{transform:none}}.pro-topbar-badge{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-100);border-radius:var(--r);font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;padding:4px 10px;font-family:inherit;font-weight:800;line-height:1;display:inline-flex}.prolock{position:relative}.prolock__banner{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);margin-bottom:var(--s3);border:1px solid var(--line-strong);border-radius:var(--r);background:linear-gradient(120deg, var(--surface), var(--surface-2));flex-wrap:wrap;display:flex}.prolock__badge{font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700);border:1px solid var(--brand);border-radius:var(--r);align-items:center;gap:5px;padding:2px 8px;font-weight:700;display:inline-flex}.prolock__badge:before{content:"";background:currentColor;flex:none;width:10px;height:10px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") 50%/contain no-repeat}.prolock__bannerText{flex-direction:column;flex:260px;gap:2px;min-width:200px;display:flex}.prolock__bannerTitle{font-size:var(--fs-16)}.prolock__bannerSub{color:var(--muted);font-size:var(--fs-13)}.prolock__sampleTag{font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-strong);border-radius:var(--r);padding:1px 7px;font-weight:700}.prolock__live{pointer-events:none}.prolock-panel{gap:var(--s2);min-height:160px;padding:var(--s3) 0;align-content:center;justify-items:start;display:grid}.prolock-panel p{color:var(--muted);max-width:46ch;margin:0}.devswitch button{font-size:var(--fs-12);padding-left:8px;padding-right:8px}.demobar{align-items:center;gap:var(--s3);padding:9px var(--s7);background:linear-gradient(90deg, var(--brand-50), var(--surface) 70%);border-bottom:1px solid var(--line);font-size:var(--fs-13);line-height:1.4;display:flex}.demobar__mark{background:var(--carbon);flex:none;place-items:center;width:20px;height:20px;display:grid}.demobar__tag{text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-12);color:var(--brand-700);flex:none;font-weight:800}.demobar__text{color:var(--text);min-width:0}.demobar__actions{align-items:center;gap:var(--s2);flex:none;margin-left:auto;display:flex}.demobar__connect{cursor:pointer;background:var(--strava);color:#fff;border:1px solid var(--strava);font:inherit;font-weight:700;font-size:var(--fs-13);transition:filter var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:7px;padding:7px 14px;display:inline-flex}.demobar__connect:hover{filter:brightness(1.05)}.demobar__connect:active{transform:translateY(1px)}.demobar__exit{cursor:pointer;border:1px solid var(--line);color:var(--muted);font:inherit;font-weight:600;font-size:var(--fs-13);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:var(--r);background:0 0;padding:7px 12px}.demobar__exit:hover{background:var(--surface-3);color:var(--ink)}@media (width<=760px){.demobar{padding:8px var(--s4);gap:var(--s2);flex-wrap:wrap}.demobar__text{flex-basis:100%;order:3}}.appfooter{border-top:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:var(--s3) var(--s5);padding:var(--s4) var(--s7);font-size:var(--fs-12);color:var(--faint);flex-wrap:wrap;margin-top:auto;display:flex}.appfooter__links{gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.appfooter__links a{color:var(--muted);transition:color var(--dur) var(--ease);text-decoration:none}.appfooter__links a:hover{color:var(--brand-700)}.appfooter__end{align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.appfooter__copy{color:var(--faint)}@media (width<=900px){.appfooter{padding:var(--s4) var(--s4) calc(84px + env(safe-area-inset-bottom));justify-content:flex-start}}.landing{background:radial-gradient(1200px 600px at 50% -10%, var(--brand-50), transparent 60%), var(--bg);padding:clamp(24px, 7vh, 80px) var(--s5);place-items:start center;display:grid;position:fixed;inset:0;overflow:auto}.landing--loading{background:var(--bg);place-items:center}.landing__lang{top:var(--s4);right:var(--s4);position:fixed}.landing__inner{text-align:center;width:100%;max-width:760px}.landing--loading .landing__inner{justify-items:center;gap:var(--s6);display:grid}.landing__brand{margin-bottom:var(--s6);align-items:center;gap:10px;display:inline-flex}.landing__mark{background:var(--carbon);border-radius:var(--r);place-items:center;width:34px;height:34px;display:grid}.landing__name{font-size:var(--fs-24);letter-spacing:-.02em;font-weight:800}.landing__name b{color:var(--brand-700)}.landing__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-12);color:var(--muted);margin-bottom:var(--s3);font-weight:700}.landing__hero{letter-spacing:-.03em;color:var(--ink);margin:0 auto var(--s4);max-width:14ch;font-size:clamp(30px,6vw,52px);font-weight:800;line-height:1.05}.landing__lead{font-size:var(--fs-17);color:var(--text);max-width:56ch;margin:0 auto var(--s6);line-height:1.6}.landing__cta{cursor:pointer;background:var(--strava);color:#fff;border:1px solid var(--strava);font:inherit;font-weight:700;font-size:var(--fs-15);border-radius:var(--r);transition:filter var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:8px;padding:12px 22px;display:inline-flex}.landing__cta:hover{filter:brightness(1.05)}.landing__cta:active{transform:translateY(1px)}.landing__cta:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.landing__cta-mark{color:#fff}.landing__demo-link{margin:var(--s5) auto 0;cursor:pointer;font:inherit;font-size:var(--fs-13);color:var(--faint);text-underline-offset:3px;transition:color var(--dur) var(--ease);background:0 0;border:none;text-decoration:underline;display:block}.landing__demo-link:hover{color:var(--brand-700)}.landing__demo-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.landing__features{gap:var(--s3);margin:var(--s8) auto 0;text-align:left;grid-template-columns:1fr 1fr;max-width:680px;list-style:none;display:grid}.landing__feature{background:var(--surface);border:1px solid var(--line);padding:var(--s4);border-radius:var(--r)}.landing__feature-t{font-weight:700;font-size:var(--fs-14);color:var(--ink);margin-bottom:4px}.landing__feature-b{font-size:var(--fs-13);color:var(--muted);line-height:1.5}.landing__powered{margin-top:var(--s7);color:var(--faint);font-size:var(--fs-12);align-items:center;gap:6px;display:inline-flex}.landing__legal{margin-top:var(--s3);justify-content:center;gap:var(--s2) var(--s4);font-size:var(--fs-12);flex-wrap:wrap;display:flex}.landing__legal a{color:var(--muted);transition:color var(--dur) var(--ease);text-decoration:none}.landing__legal a:hover{color:var(--brand-700)}.landing__loading{place-items:center;gap:var(--s5);margin-top:var(--s8);color:var(--muted);display:grid}.landing--loading .landing__brand,.landing--loading .landing__loading{margin:0}.landing__plot-label{font-size:var(--fs-13);letter-spacing:.04em;color:var(--muted);margin:0}.kc{aspect-ratio:220/116;-webkit-mask-composite:source-in;width:clamp(280px,64vw,420px);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%),linear-gradient(#0000 0%,#000 14% 78%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%),linear-gradient(#0000 0%,#000 14% 78%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.kc__svg{width:100%;height:100%;display:block;overflow:visible}.kc__sky{fill:url(#kc-sky)}.kc__sun-core{fill:var(--brand-300)}.kc__sun{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite kc-sun}@keyframes kc-sun{0%,to{opacity:.72}50%{opacity:1}}.kc__cloud ellipse{fill:var(--brand-300)}.kc__cloud--a{opacity:.4;animation:30s linear infinite kc-cloud-a}.kc__cloud--b{opacity:.3;animation:38s linear infinite kc-cloud-b}.kc__cloud--c{opacity:.22;animation:34s linear infinite kc-cloud-c}@keyframes kc-cloud-a{0%{transform:translate(-34px)}to{transform:translate(254px)}}@keyframes kc-cloud-b{0%{transform:translate(-46px)}to{transform:translate(262px)}}@keyframes kc-cloud-c{0%{transform:translate(-54px)}to{transform:translate(270px)}}.kc__range path{fill:var(--good,#009a43)}.kc__range--far path{opacity:.24}.kc__range--mid path{opacity:.4}.kc__range--near path{opacity:.56}.kc__range--far{animation:44s linear infinite kc-par-far}.kc__range--mid{animation:28s linear infinite kc-par-mid}.kc__range--near{animation:17s linear infinite kc-par-near}@keyframes kc-par-far{0%{transform:translate(0)}to{transform:translate(-24px)}}@keyframes kc-par-mid{0%{transform:translate(0)}to{transform:translate(-36px)}}@keyframes kc-par-near{0%{transform:translate(0)}to{transform:translate(-50px)}}.kc__ghost{stroke:var(--brand-400);stroke-width:1.4px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 3.5;opacity:.32}.kc__roadfill{fill:var(--good,#009a43);opacity:.64}.kc__road{stroke:url(#kc-road-stroke);stroke-width:2.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100px;will-change:stroke-dashoffset;animation:7s ease-in-out infinite kc-draw}@keyframes kc-draw{0%{stroke-dashoffset:100px}16%{stroke-dashoffset:0}84%{stroke-dashoffset:0}to{stroke-dashoffset:-100px}}.kc__road-ticks line{stroke:var(--brand-300);stroke-width:.8px;opacity:.45;stroke-linecap:round}.kc__rider{will-change:transform, opacity;animation:7s linear infinite kc-ride-x}@keyframes kc-ride-x{0%{opacity:0;transform:translate(18px,104px)}5%{opacity:1}19.6%{transform:translate(54px,92px)}40.2%{transform:translate(92px,66px)}55.4%{transform:translate(120px,72px)}71.7%{transform:translate(150px,40px)}85.9%{transform:translate(176px,30px)}93%{opacity:1}to{opacity:0;transform:translate(202px,58px)}}.kc__rider-tilt{transform-box:fill-box;transform-origin:50%;will-change:transform;animation:7s ease-in-out infinite kc-ride-tilt}@keyframes kc-ride-tilt{0%{transform:rotate(-18deg)}19.6%{transform:rotate(-24deg)}40.2%{transform:rotate(-11deg)}55.4%{transform:rotate(-16deg)}71.7%{transform:rotate(-26deg)}85.9%{transform:rotate(10deg)}to{transform:rotate(26deg)}}.kc__dust circle{fill:var(--brand-300);opacity:0;transform-box:fill-box;transform-origin:50%}.kc__dust1{animation:.8s linear infinite kc-dust}.kc__dust2{animation:.8s linear .27s infinite kc-dust}.kc__dust3{animation:.8s linear .54s infinite kc-dust}@keyframes kc-dust{0%{opacity:0;transform:translate(0)scale(.5)}30%{opacity:.4}to{opacity:0;transform:translate(-7px,2px)scale(1.6)}}.kc__shadow{fill:#17191b2e}.kc__tire{fill:none;stroke:var(--carbon);stroke-width:.9px;opacity:.85}.kc__rim{fill:none;stroke:var(--brand-300);stroke-width:.5px;opacity:.7}.kc__hub{fill:var(--brand)}.kc__spin{transform-box:fill-box;transform-origin:50%;stroke:var(--brand-400);stroke-width:.45px;opacity:.85;animation:.5s linear infinite kc-roll}@keyframes kc-roll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kc__frame{stroke:var(--brand);stroke-width:1px;fill:none;stroke-linecap:round;stroke-linejoin:round}.kc__ring{stroke:var(--brand-700,#303438);stroke-width:.6px;fill:none}.kc__saddle{stroke:var(--carbon);stroke-width:1.4px;fill:none;stroke-linecap:round}.kc__bars{stroke:var(--carbon);stroke-width:1.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.kc__far{opacity:.5}.kc__crankarm{stroke:var(--brand-700,#303438);stroke-width:.8px;fill:none;stroke-linecap:round}.kc__leg{stroke:var(--brand-700,#303438);stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.kc__foot{fill:var(--carbon)}.kc__torso{stroke:var(--brand);stroke-width:2.8px;fill:none;stroke-linecap:round}.kc__arm{stroke:var(--brand-700,#303438);stroke-width:1.5px;fill:none;stroke-linecap:round}.kc__head{fill:var(--carbon)}.kc__helmet{fill:var(--brand)}@media (prefers-reduced-motion:reduce){.kc__sun,.kc__cloud--a,.kc__cloud--b,.kc__cloud--c,.kc__range--far,.kc__range--mid,.kc__range--near,.kc__dust1,.kc__dust2,.kc__dust3,.kc__spin{animation:none!important}.kc__road{stroke-dashoffset:0;animation:none!important}.kc__rider{opacity:1;transform:translate(120px,72px);animation:none!important}.kc__rider-tilt{transform:rotate(-22deg);animation:none!important}.kc__dust circle{opacity:0}}.landing__eyebrow,.landing__hero,.landing__lead,.landing__cta{animation:landing-rise .5s var(--ease) both}.landing__hero{animation-delay:40ms}.landing__lead{animation-delay:90ms}.landing__cta{animation-delay:.14s}.landing__feature{animation:landing-rise .5s var(--ease) both}@keyframes landing-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=640px){.landing__features{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.landing__eyebrow,.landing__hero,.landing__lead,.landing__cta,.landing__feature{animation:none}}.panel-error{align-items:flex-start;gap:var(--s3);max-width:560px;padding:var(--s6);animation:panel-error-in var(--dur) var(--ease-out) both;flex-direction:column;display:flex}.panel-error__icn{width:40px;height:40px;color:var(--bad);background:var(--bad-bg);flex:none;place-items:center;display:grid}.panel-error__icn svg{width:22px;height:22px}.panel-error__title{font-size:var(--fs-20);letter-spacing:-.01em;color:var(--ink);font-weight:800}.panel-error__body{margin:var(--s2) 0 0;font-size:var(--fs-15);color:var(--muted);line-height:1.6}.panel-error__actions{align-items:center;gap:var(--s2);margin-top:var(--s1);flex-wrap:wrap;display:flex}.panel-error__details{width:100%;margin-top:var(--s2)}.panel-error__details>summary{cursor:pointer;font-size:var(--fs-12);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.panel-error__trace{margin:var(--s2) 0 0;padding:var(--s3);background:var(--surface-2);border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--text);white-space:pre-wrap;border-radius:var(--r);line-height:1.5;overflow-x:auto}@keyframes panel-error-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.panel-error{animation:none}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2)format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2)format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2)format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2)format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2)format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2)format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-900:#172554;--brand-800:#1e3a8a;--brand-700:#1d4ed8;--brand:#2563eb;--brand-400:#60a5fa;--brand-300:#93c5fd;--brand-100:#dbeafe;--brand-50:#eff6ff;--focus-ring:var(--brand);--ink:#17191b;--carbon:#17191b;--bg:#f5f5f5;--surface:#fff;--surface-2:#f7f7f7;--surface-3:#efefef;--dot-grid:#17191b0b;--wash-h:linear-gradient(90deg, var(--surface) 0%, var(--surface) 32%, #ffffffd9 55%, #ffffff8c 100%);--wash-v:linear-gradient(180deg, var(--surface) 0%, var(--surface) 36%, #ffffffd9 58%, #ffffff8c 100%);--wash-h-deep:linear-gradient(90deg, var(--surface) 0%, var(--surface) 28%, #fffc 52%, #ffffff6b 100%);--line:#e1e1e1;--line-strong:#c9cccf;--line-ink:#17191b;--border:#e1e1e1;--border-2:#efefef;--border-strong:#c9cccf;--text:#232629;--muted:#595f65;--faint:#666d73;--on-dark:#f5f5f5;--chart-compare:#8b9197;--good:#009a43;--good-bg:#e7f7ee;--good-700:#15803d;--warn:#e08700;--warn-bg:#fbf1dd;--warn-700:#b45309;--bad:#e81f2b;--bad-bg:#fceded;--bad-700:#c41728;--info:#7042c1;--info-bg:#f0ebfa;--z1:#89919a;--z2:#6f8c36;--z3:#009a5a;--z4:#d39a00;--z5:#ed6a00;--z6:#d93645;--z7:#7c4dcc;--strava:#fc5200;--font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;--font-cjk:"Noto Sans TC","PingFang TC","Microsoft JhengHei",var(--font);--font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-15:15px;--fs-16:16px;--fs-17:17px;--fs-20:20px;--fs-24:24px;--fs-30:30px;--fs-38:38px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:56px;--section-gap:var(--s6);--z-dropdown:30;--z-sticky:40;--z-nav:50;--z-backdrop:90;--z-modal:100;--z-popover:200;--z-glossary:300;--z-toast:400;--z-tooltip:500;--z-fly:10;--z-skip:200;--r-xs:4px;--r-sm:6px;--r:8px;--r-lg:12px;--r-pill:999px;--sh-1:0 1px 0 var(--line);--sh-2:none;--sh-3:none;--sh-pop:0 10px 30px #17191b24, 0 2px 8px #17191b14;--bench:#f0f0ef;--sh-panel:0 1px 2px #17191b0a, 0 3px 10px #17191b08;--sh-panel-hover:0 2px 4px #17191b0f, 0 8px 18px #17191b0d;--sh-topbar:0 4px 14px #17191b0a;--sh-card-3d:0 1px 0 #fff9 inset, 0 1px 1px #17191b0d, 0 3px 5px #17191b12, 0 8px 14px #17191b0f;--sh-card-3d-hover:0 1px 0 #ffffffb3 inset, 0 2px 3px #17191b14, 0 8px 14px #17191b1a, 0 16px 26px #17191b1a;--acc-analyze:#2563eb;--acc-coach:#007a64;--acc-tools:#7042c1;--sec:var(--acc-analyze);--ease:cubic-bezier(.2,.7,.3,1);--ease-out:cubic-bezier(.23,1,.32,1);--dur:.16s;--dur-decay:.5s;--rail-w:232px;--rail-w-collapsed:68px;--dur-fast:80ms;--dur-slow:.4s;--map-h:clamp(440px, 58vh, 620px);--map-h-hero:clamp(480px, 66vh, 720px);--map-h-bleed:clamp(520px, 78vh, 900px)}input,select,textarea,.input,.select,.card,.panel,.btn,.iconbtn,.cr10__btn,.cat-chip,.cat-badge,.seg,.chip,.pill,.well,.kit-rec,.hover-readout,.cmp-chip,.popover,.popover__abbr,.popover__formula,.gterm__abbr,.gterm__formula,.moremenu,.toast,.importmodal__card,.dropzone,.tag--import,.tag--note,.empty__icn,.thumb-noroute,.routethumb,.mapview,.chart-empty,.settings-hero,.syncchip,.filterbar,.actscroll,.comparebar,.cta{border-radius:var(--r)}.seg,.moremenu{overflow:hidden}.avatar{border-radius:50%}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-900:#172554;--brand-800:#1e3a8a;--brand-700:#93c5fd;--brand:#2563eb;--brand-400:#60a5fa;--brand-300:#3b82f6;--brand-100:#60a5fa3d;--brand-50:#60a5fa1c;--focus-ring:#60a5fa;--ink:#f5f5f5;--carbon:#f5f5f5;--bg:#101112;--surface:#181a1b;--surface-2:#1e2022;--surface-3:#25282a;--bench:#0b0c0d;--dot-grid:#f5f5f50d;--wash-h:linear-gradient(90deg, var(--surface) 0%, var(--surface) 32%, #181a1bd9 55%, #181a1b8c 100%);--wash-v:linear-gradient(180deg, var(--surface) 0%, var(--surface) 36%, #181a1bd9 58%, #181a1b8c 100%);--wash-h-deep:linear-gradient(90deg, var(--surface) 0%, var(--surface) 28%, #181a1bcc 52%, #181a1b6b 100%);--line:#303336;--line-strong:#474b4f;--line-ink:#f5f5f5;--border:#303336;--border-2:#25282a;--border-strong:#474b4f;--text:#e7e9ea;--muted:#a8adb1;--faint:#949a9f;--good:#18dd7c;--good-bg:#3be8833d;--good-700:#74f2a2;--warn:#ffc21a;--warn-bg:#ffcb3d42;--warn-700:#ffd874;--bad:#ff5862;--bad-bg:#ff90993d;--bad-700:#ffb0b6;--info:#b391f0;--info-bg:#b391f02e;--z1:#aab0b5;--z2:#a6c85a;--z3:#32c97a;--z4:#f0be2f;--z5:#ff8c3a;--z6:#ff6370;--z7:#b391f0;--acc-analyze:#60a5fa;--acc-coach:#2bc4a5;--acc-tools:#b391f0;--sh-pop:0 10px 30px #0000008c, 0 2px 8px #00000073;--sh-panel:0 1px 2px #00000073, 0 3px 10px #00000059;--sh-panel-hover:0 2px 4px #00000080, 0 8px 18px #00000073;--sh-topbar:0 4px 14px #0000008c;--sh-card-3d:0 1px 0 #f4f7fb0f inset, 0 1px 1px #0006, 0 3px 5px #00000073, 0 8px 14px #00000073;--sh-card-3d-hover:0 1px 0 #f4f7fb14 inset, 0 2px 3px #00000080, 0 8px 14px #00000080, 0 16px 26px #00000080}html[data-theme=dark] .avatar,html[data-theme=dark] .seg button.is-on,html[data-theme=dark] .cr10__btn.is-on,html[data-theme=dark] .today-lastride__chip,html[data-theme=dark] .ai-badge,html[data-theme=dark] .engine-zones__z,html[data-theme=dark] .actcard__head{color:var(--bg)}html[data-theme=dark] .btn--primary:hover,html[data-theme=dark] .chip--pr,html[data-theme=dark] .avail__day[aria-pressed=true]:hover:not(:disabled){background:var(--brand-800);border-color:var(--brand-800);color:#fff}html[data-theme=dark] .btn--ai,html[data-theme=dark] .btn--ai:hover{background:linear-gradient(120deg, var(--brand-800) 0%, #4338ca 48%, #0f766e 100%)}html[data-theme=dark] .btn--ai:disabled{background:linear-gradient(120deg, var(--brand-800) 0%, var(--acc-coach) 100%)}html[data-theme=dark] .landing__mark,html[data-theme=dark] .demobar__mark{background:var(--brand)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-15);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}html[lang^=zh] body{font-family:var(--font-cjk)}@media (prefers-reduced-motion:no-preference){body,.rail,.topbar,.main,.panel,.card:not(.card--link){transition:background-color var(--dur-slow) var(--ease), border-color var(--dur-slow) var(--ease), color var(--dur-slow) var(--ease)}}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.014em;margin:0;font-weight:750}a{color:inherit}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:var(--fs-13)}.error{color:var(--bad)}.streamlegend{margin-bottom:var(--s2);flex-wrap:wrap;align-items:center;gap:10px;padding:4px 2px 2px;display:flex}.streamlegend__item{align-items:center;gap:4px;display:inline-flex}.streamlegend__sw{border:1px solid #0000001f;width:10px;height:10px;display:inline-block}.streams-stack .uplot-host+.uplot-host{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.scroll-region:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.app{grid-template-columns:var(--rail-w) 1fr;grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.app>.demobar{grid-area:1/1/auto/-1}.topbar{grid-area:2/1/auto/-1}.rail{background:var(--surface);color:var(--muted);gap:var(--s1);padding:var(--s5) var(--s3);top:var(--shell-top,0px);height:calc(100vh - var(--shell-top,0px));border-right:1px solid var(--line);flex-direction:column;grid-area:3/1;display:flex;position:sticky}.main{grid-area:3/2}.brand{padding:0 var(--s4) 0 0;margin-right:var(--s2);border-right:1px solid var(--line);color:var(--ink);align-self:stretch;align-items:center;gap:10px;display:flex}.brand__mark{background:var(--brand);flex:none;place-items:center;width:28px;height:28px;display:grid}.brand__name{font-weight:820;font-size:var(--fs-20);letter-spacing:-.02em;color:var(--ink);flex:1}.brand__name b{color:var(--brand-700);font-weight:820}.rail-toggle{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--muted);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;flex:none;place-items:center;display:grid}.rail-toggle:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}.rail-toggle:active{transform:scale(.95)}.rail-toggle svg{width:14px;height:14px}.nav{flex-direction:column;gap:1px;display:flex;position:relative}.nav__ind{background:color-mix(in srgb, var(--sec) 12%, var(--surface));border-radius:var(--r);pointer-events:none;transition:transform .22s var(--ease);position:absolute;top:0;left:0;right:0}.nav--ind .navbtn{z-index:var(--z-fly);position:relative}.nav--ind .navbtn.is-active{background:0 0}.nav__divider{background:var(--line);height:1px;margin:6px 10px}.navbtn{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-14);text-align:left;border-radius:var(--r);width:100%;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-top-color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:11px;padding:9px 11px;font-weight:600;text-decoration:none;display:flex}.navbtn svg{opacity:.85;flex:none;width:18px;height:18px}@media (hover:hover) and (pointer:fine){.navbtn:hover{background:var(--surface-3);color:var(--ink)}}.navbtn:active{transform:scale(.95)}.navbtn.is-active{background:color-mix(in srgb, var(--sec) 12%, var(--surface));color:var(--sec);font-weight:800}.navbtn.is-active svg{opacity:1;color:var(--sec)}.navbtn--more{display:none}.rail__foot{padding:var(--s3) 10px 2px;border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--faint);margin-top:auto}@media (width>=901px){.app[data-collapsed=true]{grid-template-columns:var(--rail-w-collapsed) 1fr}.app[data-collapsed=true] .navbtn{justify-content:center;padding-left:0;padding-right:0}.app[data-collapsed=true] .rail__foot,.app[data-collapsed=true] .navbtn span,.app[data-collapsed=true] .rail-pulse__row{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.powered{color:var(--faint);font-size:var(--fs-11);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:7px;margin-top:8px;font-weight:700;display:flex}.powered__sb{background:var(--strava);flex:none;width:13px;height:13px}.main{background-color:var(--bench);background-image:radial-gradient(circle, var(--dot-grid) 1px, transparent 1.6px);background-position:12px 12px;background-size:24px 24px;flex-direction:column;min-width:0;display:flex}@media print{.main{background:0 0!important}.panel,.card{box-shadow:none!important}}.topbar{align-items:center;gap:var(--s3);padding:var(--s4) var(--s7);padding-top:max(var(--s4), env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--line);z-index:var(--z-sticky);box-shadow:var(--sh-topbar);display:flex;position:sticky;top:0}.topbar__title{min-width:0}.topbar__controls{align-items:center;gap:var(--s3);display:flex}.topbar__title h1{align-items:center;gap:var(--s3);font-size:var(--fs-24);letter-spacing:-.02em;font-weight:800;display:flex}.topbar__title-icn{color:var(--ink);flex:none;place-items:center;display:inline-grid}.topbar__title-icn svg{width:20px;height:20px}.topbar__sub{color:var(--muted);font-size:var(--fs-13);margin-top:1px}.spacer{flex:1}.syncchip{align-items:center;gap:var(--s2);border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:var(--fs-12);animation:tab-in .22s var(--ease) backwards;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);flex:none;padding:4px 10px;display:flex}.syncchip--paused{color:var(--warn);border-color:var(--warn-bg);background:var(--warn-bg)}.syncchip__bar{background:var(--surface-3);width:48px;height:4px;overflow:hidden}.syncchip__fill{background:var(--brand);height:100%;transition:width .4s var(--ease);display:block}.syncchip--paused .syncchip__fill{background:var(--warn)}.syncchip__txt{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=720px){.syncchip__txt{display:none}}.iconbtn{cursor:pointer;background:var(--surface);border:1px solid var(--line-strong);width:34px;height:34px;color:var(--muted);font:inherit;font-weight:800;font-size:var(--fs-15);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.iconbtn:active{transform:scale(.93)}.iconbtn:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}}.avatar{cursor:pointer;color:#fff;width:34px;height:34px;font-weight:800;font-size:var(--fs-13);background:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;transition:background-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease);border:0;flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.avatar:hover{background:var(--brand-700)}}@media (prefers-reduced-motion:no-preference){.avatar:active{transform:scale(.95)}}.seg{background:var(--surface);border:1px solid var(--line-strong);padding:0;display:inline-flex;position:relative}.seg button{color:var(--muted);font:inherit;font-size:var(--fs-13);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);border:0;border-right:1px solid var(--line);background:0 0;padding:6px 13px;font-weight:700}.seg button:last-child{border-right:0}.seg button.is-on{background:var(--ink);color:#fff}.seg--ind .seg__ind{background:var(--ink);transform-origin:0;width:1px;transition:transform .22s var(--ease);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.seg--ind button{z-index:var(--z-fly);position:relative}.seg--ind button.is-on{background:0 0}.page{padding:var(--s6) var(--s7) var(--s9);width:100%;max-width:min(1640px,100%);margin-inline:auto}.page__sections{gap:var(--section-gap);flex-direction:column;display:flex}.page__sections>.page__head{margin-top:0;margin-bottom:0}.page__sections>.fit-bar,.page__sections>.rise.fit-bar{margin-bottom:0}.page__head{margin:var(--s7) 2px var(--s3);align-items:baseline;gap:10px;display:flex}.page__head:first-child{margin-top:0}.page__head:after{content:"";background:var(--line);flex:auto;align-self:center;min-width:24px;height:1px}.page__head h2{font-size:var(--fs-13);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);font-weight:800}.page__head .q{color:var(--muted);font-size:var(--fs-13)}.eyebrow{font-size:var(--fs-11);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}@media (width>=1500px){.page{padding-inline:var(--s9)}}.panel--glance{min-height:124px}.panel--glance>.statcell__label:first-child{padding-bottom:var(--s2);margin-bottom:var(--s3);border-bottom:1px solid var(--line);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-weight:800}.grid{gap:var(--s4);grid-template-columns:repeat(3,1fr);display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--4>.panel:nth-child(4n+1):last-child{grid-column:span 4}.grid--4>.panel:nth-child(4n+2):last-child{grid-column:span 3}.grid--4>.panel:nth-child(4n+3):last-child{grid-column:span 2}.card,.panel{background:var(--surface);border:1px solid var(--line);border-bottom-color:var(--line-strong);box-shadow:var(--sh-panel)}.card--pad,.panel--pad{padding:var(--s5) var(--s5)}.panel--fill{flex-direction:column;display:flex}.fill-grow{flex:auto;min-height:0}.card__head{margin-bottom:var(--s4);justify-content:space-between;align-items:center;display:flex}.card__title,.panelhead{font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin:0;font-weight:800;display:flex}.panelhead{padding-bottom:var(--s2);border-bottom:1px solid var(--line);margin-bottom:var(--s3)}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.panel-read{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r);padding:var(--s3) var(--s4);margin:0 0 var(--s4);color:var(--text);font-size:var(--fs-14);max-width:70ch;line-height:1.55}.panel-read--brand{background:var(--brand-50)}.panel-read--muted{margin-top:var(--s2);color:var(--muted);background:0 0;border:0;padding-left:0;padding-right:0}.panel-read--titled{flex-direction:column;gap:4px;display:flex}.panel-read__title{font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}.panel-read__body{display:block}.stat-row{gap:var(--s6);flex-wrap:wrap;display:flex}.statgrid{gap:var(--s5) var(--s4);grid-template-columns:repeat(auto-fit,minmax(104px,1fr));display:grid}.stat,.statcell{min-width:84px}.stat__label,.statcell__label{font-size:var(--fs-12);color:var(--muted);align-items:center;gap:5px;font-weight:600;display:flex}.stat__value,.statcell__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-24);color:var(--ink);letter-spacing:-.02em;font-weight:700}.stat__value small,.statcell__value small{font-size:var(--fs-13);color:var(--muted);font-weight:600;font-family:var(--font)}.stat__value--md{font-size:var(--fs-17)}.stat__value--lg{font-size:var(--fs-38);line-height:1.1}.statcell__sub{font-size:var(--fs-13);color:var(--muted);margin-top:var(--s1)}.val-dot{align-items:center;gap:5px;display:inline-flex}.val-dot:before{content:"";background:var(--dot-color,var(--line-strong));border-radius:50%;flex:none;width:8px;height:8px}.callout{border:1px solid var(--line-strong);border-radius:var(--r)}.callout--good{border-color:var(--good);background:var(--good-bg)}.callout--warn{border-color:var(--warn);background:var(--warn-bg)}.callout--bad{border-color:var(--bad);background:var(--bad-bg)}.callout--info{border-color:var(--info);background:var(--info-bg)}.callout--brand{border-color:var(--line-strong);background:var(--brand-50)}.callout--coach{background:#0d948814;border-color:#0d948852}.pill{font-size:var(--fs-12);background:var(--surface-3);color:var(--muted);border:1px solid var(--line);align-items:center;gap:6px;padding:3px 9px;font-weight:700;display:inline-flex}.pill--good{background:var(--good-bg);color:var(--good-700);border-color:#0000}.pill--warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.pill--bad{background:var(--bad-bg);color:var(--bad);border-color:#0000}.pill--info{background:var(--info-bg);color:var(--info);border-color:#0000}.pill--bt{border-color:var(--warn);color:var(--warn);font-weight:800}.pill--dot:before{content:"";background:currentColor;width:7px;height:7px}.chip{font-size:var(--fs-11);background:var(--surface-3);border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:var(--r-pill);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);padding:2px 8px;font-weight:700}.chip--up{color:var(--good-700);background:var(--good-bg);border-color:#0000}.chip--down{color:var(--bad);background:var(--bad-bg);border-color:#0000}.chip--good{color:var(--good-700);background:var(--good-bg);border-color:#0000}.chip--warn{color:var(--warn);background:var(--warn-bg);border-color:#0000}.chip--bad{color:var(--bad);background:var(--bad-bg);border-color:#0000}.chip--info{color:var(--info);background:var(--info-bg);border-color:#0000}.chiprow{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.cr10{margin-top:var(--s2);flex-wrap:wrap;gap:8px;display:flex}.cr10__btn{border:1px solid var(--line-strong);background:var(--surface);min-width:44px;min-height:44px;color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);padding:0 10px;font-weight:700}@media (hover:hover) and (pointer:fine){.cr10__btn:hover{border-color:var(--brand);color:var(--brand-700)}}.cr10__btn.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}.cr10__word{margin-top:var(--s2);font-size:var(--fs-13);color:var(--muted);font-weight:600}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:700;font-size:var(--fs-14);cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), opacity var(--dur) var(--ease);padding:9px 16px}.btn:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}}.btn--primary{background:var(--brand);color:#fff;border-color:var(--brand);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);box-shadow:var(--sh-1)}.btn--primary:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--brand-700);color:#fff;border-color:var(--brand-700)}}.btn--ghost{color:var(--muted);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border-color:#0000}.btn--ghost:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.btn--ghost:hover{background:var(--surface-3);color:var(--ink);border-color:#0000}}.btn--sm{font-size:var(--fs-13);padding:6px 12px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ai{color:#fff;transition:opacity var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:linear-gradient(120deg, var(--brand) 0%, #4f46e5 48%, var(--acc-coach) 100%);border:1px solid #0000;position:relative;overflow:hidden;box-shadow:0 2px 12px #0d94884d,inset 0 1px #ffffff2e}@media (hover:hover) and (pointer:fine){.btn--ai:hover{color:#fff;background:linear-gradient(120deg, var(--brand-700) 0%, #4338ca 48%, #0f766e 100%);border-color:#0000;box-shadow:0 4px 18px #0d948866,inset 0 1px #ffffff38}}.btn--ai:disabled{background:linear-gradient(120deg, var(--brand) 0%, var(--acc-coach) 100%)}.btn--ai:active{transform:scale(.97)}.btn-ai__spark{margin-right:6px;font-weight:900;display:inline-block;transform:translateY(.5px)}.btn--ai:after{content:"";pointer-events:none;width:42%;height:100%;animation:ai-sheen 2.8s var(--ease) 1;background:linear-gradient(100deg,#0000,#ffffff73,#0000);position:absolute;top:0;left:0;transform:translate(-150%)skew(-18deg)}.btn--ai:disabled:after{opacity:0;animation:none}@keyframes ai-sheen{0%{transform:translate(-150%)skew(-18deg)}55%,to{transform:translate(320%)skew(-18deg)}}@media (prefers-reduced-motion:reduce){.btn--ai:after{opacity:0;animation:none}}.ai-powered{font:700 var(--fs-12)/1.4 var(--font-mono);color:var(--acc-coach,#00897a);letter-spacing:.04em;align-items:center;gap:5px;display:inline-flex}.ai-powered__spark{font-weight:900}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:var(--z-toast);align-items:center;gap:var(--s4);background:var(--surface);border:1px solid var(--line-strong);max-width:min(92vw,440px);animation:toast-in .22s var(--ease);padding:12px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #17191b1f}.toast__title{font-weight:700;font-size:var(--fs-13);color:var(--brand-700)}.toast__text{font-size:var(--fs-14);color:var(--text)}.toast__actions{flex-shrink:0;gap:6px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.toast--out{opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);animation:none;transform:translate(-50%,8px)}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.importmodal{z-index:var(--z-backdrop);padding:var(--s5);animation:fade-in .16s var(--ease) backwards;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.importmodal__card{background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh-pop);width:100%;max-width:480px;max-height:80vh;animation:pop-in .22s var(--ease) backwards;overflow-y:auto}.importmodal__head{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex}.importmodal__title{font-weight:700;font-size:var(--fs-15)}.importmodal__body{padding:var(--s4) var(--s5)}.dropzone{justify-content:center;align-items:center;gap:var(--s2);border:2px dashed var(--line-strong);padding:var(--s6) var(--s5);text-align:center;cursor:pointer;background:var(--surface-2);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;display:flex}@media (hover:hover) and (pointer:fine){.dropzone:hover,.dropzone.is-drag{border-color:var(--brand);background:var(--brand-50)}}.dropzone__hint{font-size:var(--fs-12);color:var(--faint)}.importmodal__progress{background:var(--surface-3);width:100%;height:4px;overflow:hidden}.importmodal__progress i{background:var(--brand);width:40%;height:100%;animation:sweep-x 1.1s var(--ease) infinite;display:block}@keyframes sweep-x{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (width<=560px){.importmodal{padding:var(--s3);align-items:flex-end}.importmodal__card{max-height:90vh}}.kit-recs{gap:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kit-rec{border:1px solid var(--line);padding:10px 12px}.kit-rec__label{font-size:var(--fs-12);color:var(--muted);font-weight:500}.kit-rec__pick{font-weight:700;font-size:var(--fs-16);margin:2px 0 4px}.kit-inputs{gap:var(--s4);margin-top:var(--s3);flex-wrap:wrap;display:flex}.kit-inputs .field{min-width:140px}.suggest-row{justify-content:space-between;align-items:center;gap:var(--s4);margin-top:var(--s2);flex-wrap:wrap;display:flex}.btnrow{gap:var(--s2);flex-wrap:wrap;display:flex}.link{color:var(--brand-700);font-weight:700;font-size:var(--fs-13);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-family:inherit;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.link:hover{color:var(--brand-900);text-decoration:underline}}.viewstrava{color:var(--strava);font-weight:700;font-size:var(--fs-13);align-items:center;gap:5px;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.viewstrava:hover{text-decoration:underline}}.tag--import{font-size:var(--fs-11);background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-100);margin-left:var(--s2);vertical-align:middle;padding:1px 6px;font-weight:700;display:inline-block}.actrow__import{color:var(--brand-700);font-size:var(--fs-13);font-weight:700}.tag--note{font-size:var(--fs-11);background:var(--surface-2,var(--surface));color:var(--muted);border:1px solid var(--line);margin-left:var(--s2);vertical-align:middle;padding:1px 5px;font-weight:600;display:inline-block}.info-dot{box-sizing:border-box;background:var(--brand-50);color:var(--brand-700);cursor:help;border:1px solid var(--brand-100);vertical-align:middle;font-size:10px;font-weight:800;line-height:1;font-family:var(--font-mono);transition:background var(--dur), color var(--dur);flex:none;place-items:center;margin:0 1px;padding:0;display:inline-grid;position:relative;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important}@media (hover:hover) and (pointer:fine){.info-dot:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.info-dot:active{transform:scale(.85)}}.info-dot:before{content:"";position:absolute;inset:-4px}.term{border-bottom:1.5px dotted var(--brand-300);cursor:help;color:var(--ink);font-weight:650}.popover-backdrop{z-index:var(--z-popover);position:fixed;inset:0}.popover{z-index:calc(var(--z-popover) + 1);background:var(--surface);border:1px solid var(--line-strong);width:min(340px,100vw - 32px);box-shadow:var(--sh-pop);padding:var(--s4) var(--s5);position:fixed}.popover__title{font-weight:800;font-size:var(--fs-15);align-items:center;gap:8px;display:flex}.popover__abbr{font-size:var(--fs-11);color:var(--brand-700);background:var(--brand-50);font-weight:800;font-family:var(--font-mono);padding:2px 7px}.popover__body{color:var(--text);font-size:var(--fs-14);margin-top:var(--s2);white-space:pre-line;line-height:1.55}.popover__formula{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--surface-3);border:1px solid var(--line);margin-top:var(--s3);color:var(--muted);padding:6px 9px;overflow-x:auto}.popover__range{margin-top:var(--s3);font-size:var(--fs-13)}.popover__src{margin-top:var(--s3);font-size:var(--fs-11);color:var(--faint)}.popover__more{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}@media (width<=560px){.popover{width:auto;bottom:16px;right:16px;top:auto!important;left:16px!important}}.scale{margin-top:var(--s3)}.scale__track{border:1px solid var(--line);width:100%;height:9px;display:flex;position:relative;overflow:hidden}.scale__band{height:100%}.scale__marker{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px}.scale__caption{font-size:var(--fs-11);color:var(--faint);font-family:var(--font-mono);justify-content:space-between;margin-top:5px;display:flex}.table{border-collapse:collapse;width:100%;font-size:var(--fs-14)}.table th{text-align:left;color:var(--muted);font-weight:800;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line-strong);background:var(--surface);padding:8px 10px}.table thead.sticky th{z-index:var(--z-sticky);position:sticky;top:0}.table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:9px 10px}.table td.num,.table .num{font-family:var(--font-mono)}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur)}.table tbody tr:nth-child(2n){background:var(--surface-2)}.table tbody tr.is-clickable{cursor:pointer}@media (hover:hover) and (pointer:fine){.table tbody tr.is-clickable:hover{background:var(--surface-3)}}.table-scroll{overflow-x:auto}.zonebars{gap:var(--s2);flex-direction:column;display:flex}.zonebar{align-items:center;gap:var(--s3);font-size:var(--fs-13);grid-template-columns:120px 1fr 56px;display:grid}.zonebar__label{color:var(--muted)}.zonebar__track{background:var(--surface-3);border:1px solid var(--line);height:11px;overflow:hidden}.zonebar__fill{min-width:2px;height:100%;transition:width .4s var(--ease)}.zonebar__val{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.uplot-host{width:100%;min-width:0;max-width:100%;overflow:hidden}.uplot-wrap{width:100%;min-width:0;max-width:100%;position:relative}.uplot-toolbar{z-index:var(--z-fly);position:absolute;top:4px;right:4px}.u-legend{color:var(--muted);font-size:var(--fs-13);font-family:var(--font-mono)}.u-title{color:var(--ink);font-weight:800}.u-axis{color:var(--muted)}.uplot,.u-legend .u-value{font-family:var(--font-mono)}.chart-empty{width:100%;color:var(--faint);font-size:var(--fs-13);border:1px solid var(--line);background:var(--surface);place-items:center;display:grid;position:relative;overflow:hidden}.mapview{background:var(--surface-3);border:1px solid var(--line);width:100%;position:relative;overflow:hidden}.mapview .maplibregl-map{font-family:var(--font)}.mapview .maplibregl-ctrl-group,.mapview .maplibregl-ctrl-group button,.mapview .maplibregl-ctrl-attrib{border-radius:var(--r)}.mapview .maplibregl-ctrl-attrib,.mapview .maplibregl-ctrl-attrib-button{background-color:#ffffffe0!important}.mapview .maplibregl-ctrl-attrib a{color:#000000d1!important}.mapview__missing{width:100%;height:100%;color:var(--faint);font-size:var(--fs-13);text-align:center;padding:var(--s5);place-items:center;display:grid}.routethumb{background:var(--surface-3);border:1px solid var(--line);display:block}.verdict{position:relative;overflow:hidden}.verdict h2{font-size:var(--fs-30);letter-spacing:-.02em;max-width:24ch;margin:10px 0 4px;font-weight:820;line-height:1.22}.verdict h2 .hl{color:var(--brand-700)}.verdict .lead{color:var(--muted);font-size:var(--fs-15);max-width:48ch}.cta{align-items:center;gap:var(--s4);margin-top:var(--s4);background:var(--brand-50);border:1px solid var(--line-strong);border-radius:var(--r);padding:var(--s4) var(--s5);color:var(--text);display:flex}.gauge2{flex-direction:column;flex:none;align-items:center;width:196px;display:flex}.gauge2__svg{width:196px;height:auto;display:block}.gauge2__needle{transition:transform .9s var(--ease)}.gauge2__read{flex-direction:column;align-items:center;gap:2px;margin-top:8px;line-height:1.12;display:flex}.gauge2__read b{font-size:var(--fs-38);letter-spacing:-.03em;font-weight:820;line-height:1.08}.gauge2__read b small{font-size:var(--fs-15);color:var(--muted);font-weight:600;font-family:var(--font);letter-spacing:0}.gauge2__band{font-size:var(--fs-15);font-weight:750}.gauge2__cap{font-size:var(--fs-11);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-weight:700}.spark{width:100%;margin-top:8px;display:block}.spark-wrap{width:100%;min-width:0;margin-top:8px;display:block;position:relative}.spark-wrap .spark{margin-top:0;position:absolute;top:0;left:0}.spark-lab{font-family:var(--font-mono);font-size:var(--fs-11);color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums;line-height:1;position:absolute}.spark-lab--max{background:var(--surface);padding:1px 3px 1px 0;top:0;left:0}.spark-lab--min{background:var(--surface);padding:1px 3px 1px 0;bottom:0;left:0}.spark-lab--end{color:inherit;background:var(--surface);padding:1px 0 1px 3px;font-weight:700;top:50%;right:0;transform:translateY(-50%)}.spark-lab--xl{bottom:0;left:0}.spark-lab--xr{bottom:0;right:0}.legend{gap:var(--s3);font-size:var(--fs-12);color:var(--muted);flex-wrap:wrap;display:flex}.legend__item{align-items:center;gap:6px;display:inline-flex}.legend__sw{flex:none;width:12px;height:12px}.legend__sw--heat{background:linear-gradient(90deg,#454a4f 0%,#6a1fe8 40%,#f59300 70%,#ef4444 100%);width:48px;height:8px}.windsplit{border:1px solid var(--line);height:10px;display:flex}.windsplit>span{height:100%;display:block}.uplot-tooltip{z-index:var(--z-dropdown);pointer-events:none;min-width:120px;padding:var(--s2) var(--s3);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh-pop);font-size:var(--fs-12);color:var(--text);border-radius:var(--r);will-change:transform;position:absolute;top:0;left:0}.uplot-tooltip__head{font-family:var(--font-mono);color:var(--muted);margin-bottom:4px}.uplot-tooltip__row{align-items:center;gap:6px;line-height:1.7;display:flex}.uplot-tooltip__label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.uplot-tooltip__val{padding-left:var(--s3);color:var(--ink);white-space:nowrap;flex-shrink:0;margin-left:auto}.svgtt__guide{background:var(--line-strong);pointer-events:none;width:1px;z-index:var(--z-fly);position:absolute;top:0;bottom:0;transform:translate(-.5px)}.svgtt__dot{pointer-events:none;width:6px;height:6px;z-index:var(--z-dropdown);box-shadow:0 0 0 1.5px var(--surface);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.barchart{flex-direction:column;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.barchart__plot{align-items:stretch;gap:3px;display:flex}.barchart__col{flex:1 1 0;min-width:0}.barchart__bars{align-items:flex-end;height:100%;display:flex}.barchart__bars--grouped{gap:1px}.barchart__bars--stacked{flex-direction:column-reverse;align-items:stretch}.barchart__bar{flex:1 1 0;min-width:1px}.barchart__seg{width:100%}.barchart__xaxis{gap:3px;margin-top:4px;display:flex}.barchart__xlabel{text-align:center;min-width:0;font-size:var(--fs-11);color:var(--faint);white-space:nowrap;flex:1 1 0;overflow:visible}.barchart-wrap{flex-direction:column;width:100%;min-width:0;display:flex}.barchart-row{align-items:flex-start;gap:6px;min-width:0;max-width:100%;display:flex;overflow:hidden}.barchart-row>.barchart{flex:1 1 0;min-width:0}.barchart__yaxis{font-size:var(--fs-11);color:var(--faint);white-space:nowrap;flex-direction:column;flex:none;justify-content:space-between;align-items:flex-end;display:flex}.barchart__ytitle{margin:0 0 3px}.barchart__xtitle{text-align:center;margin-top:3px}.cat-badge{font-size:var(--fs-11);color:#fff;letter-spacing:.02em;white-space:nowrap;border-radius:var(--r-pill);padding:0 6px;font-weight:700;display:inline-block}tr.climb-row{cursor:pointer}@media (hover:hover) and (pointer:fine){tr.climb-row:hover td{background:var(--surface-2)}}tr.climb-row[aria-expanded=true] td{background:var(--brand-50)}.climb-name{color:var(--text)}.climb-name__sub,.climb-row__caret{color:var(--faint);font-size:var(--fs-11)}tr.climb-detail-row>td{background:var(--surface-2);padding:var(--s3) var(--s4)}.climb-detail__layout{gap:var(--s3);align-items:stretch;display:flex}.climb-detail__map{flex:0 0 340px}.climb-detail__content{gap:var(--s2);flex-direction:column;flex:1;min-width:0;display:flex}.climb-filters{align-items:flex-end;gap:var(--s3);margin:var(--s3) 0;flex-wrap:wrap;display:flex}.climb-filters__search{flex:200px;min-width:200px}.climb-filters__cats{flex-wrap:wrap;gap:4px;display:flex}.cat-chip{font-size:var(--fs-12);background:var(--surface);border:1px solid var(--line-strong);cursor:pointer;border-radius:var(--r-pill);padding:2px 8px;font-weight:700}.climb-h2h__select{margin-bottom:var(--s3)}.climb-h2h__id{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.field{margin-bottom:var(--s3);flex-direction:column;gap:6px;display:flex}.field--sep{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3)}.field label{font-size:var(--fs-13);color:var(--muted);font-weight:650}.input,.select{background:var(--surface);border:1px solid var(--line-strong);font:inherit;font-size:var(--fs-14);color:var(--text);width:100%;padding:9px 11px}.input:focus,.select:focus{border-color:var(--brand);outline:none}.well{background:var(--surface-2);border:1px solid var(--line);padding:var(--s3) var(--s4)}.hover-readout{gap:var(--s5);border:1px solid var(--line);background:var(--surface-2);flex-wrap:nowrap;align-items:center;height:58px;padding:8px 12px;display:flex;overflow-x:auto}.hover-readout--idle{color:var(--faint)}.hover-readout__cell{flex-direction:column;flex:none;gap:2px;display:flex}.hover-readout__label{font-size:var(--fs-11);color:var(--muted)}.hover-readout__value{font-size:var(--fs-17);color:var(--text);font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.range{width:100%;accent-color:var(--brand)}.controls label{align-items:center;gap:var(--s3);font-size:var(--fs-13);color:var(--muted);margin-bottom:8px;display:flex}.controls strong{color:var(--ink);text-align:right;min-width:3rem;font-family:var(--font-mono)}.scrubber{flex-direction:column;gap:4px;min-width:200px;display:flex}.scrubber__head{align-items:center;gap:var(--s2);justify-content:space-between;display:flex}.scrubber__time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-13);color:var(--text)}.scrubber__readout{font-size:var(--fs-11);color:var(--muted);font-variant-numeric:tabular-nums}.actrow__check{text-align:center}.actrow__check input{cursor:pointer;width:16px;height:16px}.comparebar{z-index:var(--z-dropdown);align-items:center;gap:var(--s3);background:var(--brand-50);border:1px solid var(--brand);padding:var(--s2) var(--s3);margin-bottom:var(--s3);animation:tab-in .26s var(--ease) backwards;flex-wrap:wrap;display:flex;position:sticky;top:0}.comparebar__names{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.comparebar__actions{gap:var(--s2);display:flex}.cmp-chart-label{margin-top:var(--s2);text-transform:uppercase;letter-spacing:.05em}.cmp-stats td,.cmp-stats th{padding:6px 10px}.cmp-est{color:var(--muted);font-size:var(--fs-11)}.cmp-legend{gap:var(--s2) var(--s5);margin:var(--s2) 0 var(--s3);flex-wrap:wrap;display:flex}.cmp-picker{gap:var(--s2);margin-bottom:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.cmp-chip{border:1px solid var(--line-strong);font-size:var(--fs-13);background:var(--surface);border-radius:var(--r-pill);animation:pop-in .18s var(--ease);align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.cmp-chip__sw{flex:none;width:10px;height:10px}.cmp-chip__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.cmp-chip__x{cursor:pointer;font-size:var(--fs-15);color:var(--muted);transition:color var(--dur);background:0 0;border:none;padding:0 3px;font-weight:700;line-height:1}@media (hover:hover) and (pointer:fine){.cmp-chip__x:hover{color:var(--bad)}}.cmp-add{width:auto;height:34px;font-size:var(--fs-13);padding:4px 9px}.cmp-offset-label{flex:none}.cmpl{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3)}.cmpl__head{font-size:var(--fs-13);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--s2);font-weight:700}.cmpl-bars{height:80px;margin-bottom:var(--s3);align-items:stretch;gap:4px;display:flex}.cmpl-bar{flex-direction:column;flex:1 1 0;align-items:center;gap:2px;display:flex}.cmpl-bar__track{background:var(--surface-2);border:1px solid var(--line);flex:1;width:100%;position:relative}.cmpl-bar__fill{min-height:2px;position:absolute;bottom:0;left:0;right:0}.cmpl-bar__target{background:var(--ink);height:2px;position:absolute;left:-1px;right:-1px}.cmpl-bar__idx{font-size:var(--fs-11);color:var(--muted)}.cmpl-table td,.cmpl-table th{padding:4px 8px}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,var(--line) 37%,var(--surface-3) 63%);animation:shimmer 1.3s var(--ease) infinite;background-size:400% 100%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{text-align:center;color:var(--muted);padding:var(--s7) var(--s4)}.empty__icn{background:color-mix(in srgb, var(--sec) 12%, var(--surface));width:44px;height:44px;color:var(--sec);margin:0 auto var(--s3);place-items:center;display:grid}.empty--photo{text-align:left;background-image:var(--wash-h), var(--photo);background-size:cover;background-position:var(--photo-pos,right center);background-repeat:no-repeat;flex-direction:column;justify-content:center;min-height:240px;display:flex}.empty--photo>div{max-width:56%}.empty__act{margin-top:var(--s3);justify-content:center;gap:var(--s2);display:flex}.empty--photo .empty__act{justify-content:flex-start}@media (width<=640px){.empty--photo{background-image:var(--wash-v), var(--photo);background-position:var(--photo-pos,center bottom);justify-content:flex-start;min-height:300px}.empty--photo>div{max-width:100%}}@media print{.empty--photo{background-image:none!important}}.settings-hero{border:1px solid var(--line-strong);margin-bottom:var(--s4);height:150px;position:relative;overflow:hidden}.settings-hero img{object-fit:cover;width:100%;height:100%;display:block}.settings-hero p{background:var(--surface);border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);font-size:var(--fs-12);color:var(--muted);margin:0;padding:5px 12px;position:absolute;bottom:0;left:0}.intlegend{gap:var(--s3);font-size:var(--fs-11);color:var(--muted);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.intlegend i{vertical-align:0;width:8px;height:8px;margin-right:4px;display:inline-block}.intlegend__sw--easy{background:var(--good)}.intlegend__sw--moderate{background:var(--warn)}.intlegend__sw--hard{background:var(--bad)}.glossary-backdrop{z-index:var(--z-glossary);animation:fade-in .16s var(--ease) backwards;background:#17191b47;position:fixed;inset:0}.glossary{background:var(--surface);border-left:1px solid var(--line-strong);width:min(520px,100vw);box-shadow:var(--sh-pop);z-index:calc(var(--z-glossary) + 1);animation:glossary-in .28s var(--ease) backwards;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes glossary-in{0%{opacity:0;transform:translate(48px)}}.glossary__head{align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);display:flex}.glossary__head h2{font-size:var(--fs-17);flex:1;font-weight:800}.glossary__search{padding:var(--s3) var(--s5);border-bottom:1px solid var(--line)}.glossary__list{padding:var(--s2) var(--s5) var(--s6);overflow-y:auto}.gterm{padding:var(--s4) 0;border-bottom:1px solid var(--line);scroll-margin:var(--s5)}.gterm:last-child{border-bottom:0}.gterm--focus{border-radius:var(--r);padding:var(--s2) var(--s3);background:var(--surface-2);animation:gterm-pulse .9s var(--ease)}@keyframes gterm-pulse{0%{background:var(--brand-100)}}.gterm__name{font-weight:800;font-size:var(--fs-15);align-items:center;gap:8px;display:flex}.gterm__abbr{font-size:var(--fs-11);color:var(--brand-700);background:var(--brand-50);font-weight:800;font-family:var(--font-mono);padding:2px 7px}.gterm__body{color:var(--text);font-size:var(--fs-14);margin-top:5px;line-height:1.55}.gterm__formula{font-family:var(--font-mono);font-size:var(--fs-12);background:var(--surface-3);border:1px solid var(--line);color:var(--muted);margin-top:8px;padding:5px 8px}.gterm__meta{font-size:var(--fs-12);color:var(--faint);margin-top:8px}.moremenu{z-index:var(--z-popover);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--sh-pop);flex-direction:column;display:flex;position:fixed}.moremenu button{border:0;border-bottom:1px solid var(--line);min-height:44px;font:inherit;font-size:var(--fs-14);color:var(--text);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:11px 16px;font-weight:650;display:flex}.moremenu button:last-child{border-bottom:0}.moremenu button.is-active{background:var(--surface-3);color:var(--brand-700)}@media (hover:hover) and (pointer:fine){.moremenu button:hover{background:var(--surface-3);color:var(--brand-700)}}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.app,.topbar,.main,.page,.page__sections{min-width:0;max-width:100%}.main{grid-column:1/-1}.nav__ind{display:none}.nav--ind .navbtn.is-active{background:color-mix(in srgb, var(--sec) 10%, var(--surface))}.rail{width:100%;height:auto;z-index:var(--z-nav);border-top:1px solid var(--line-strong);padding:0;padding-bottom:env(safe-area-inset-bottom);border-right:0;flex-direction:row;justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.brand,.rail__foot{display:none}.nav{flex-direction:row;justify-content:space-around;gap:0;width:100%}.nav__divider{display:none}.navbtn{border-top:2px solid #0000;border-left:0;flex-direction:column;flex:1 1 0;justify-content:center;gap:3px;min-width:0;min-height:44px;padding:7px 4px;font-size:10px}.navbtn span{font-size:10px}.navbtn.is-active{background:color-mix(in srgb, var(--sec) 10%, var(--surface));color:var(--sec);border-left:0;border-top-color:var(--sec)}.navbtn--secondary{display:none}.navbtn--more{display:flex}.page{padding:var(--s4) var(--s4) 84px}.grid,.grid--2,.grid--4{grid-template-columns:1fr}.span-2,.span-3,.grid--4>.panel:last-child{grid-column:auto}.grid>.panel,.grid--2>.panel,.grid--4>.panel{min-width:0}.topbar{padding:var(--s3) var(--s4)}.glossary{width:100vw}.seg button,.btn,.link{min-height:44px}.iconbtn,.avatar{min-width:44px;min-height:44px}.input,.select{min-height:44px}.info-dot{position:relative}.info-dot:before{content:"";position:absolute;inset:-14px}}@media (width>=481px) and (width<=900px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--4>.panel:nth-child(4n+1):last-child,.grid--4>.panel:nth-child(4n+2):last-child,.grid--4>.panel:nth-child(4n+3):last-child{grid-column:auto}}@media (width<=560px){.topbar{gap:var(--s2);padding:var(--s3) var(--s4);padding-top:max(var(--s3), env(safe-area-inset-top));flex-wrap:nowrap}.topbar__title{flex:none;min-width:0}.topbar__title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar__sub,.spacer{display:none}.topbar__controls{gap:var(--s2);overscroll-behavior-x:contain;scrollbar-width:none;flex:1 1 0;min-width:0;overflow-x:auto}.topbar__controls::-webkit-scrollbar{display:none}.topbar__controls>*{flex:none}.topbar .seg button{padding-inline:10px}}.rise{animation:rise-in var(--dur-slow) var(--ease) backwards;animation-delay:calc(var(--i,0) * 60ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}}.page-in{animation:rise-in .28s var(--ease) backwards}.chart-in{animation:rise-in .3s var(--ease) backwards}.zonebars .zonebar__fill{transform-origin:0;animation:grow-x .5s var(--ease) backwards;animation-delay:calc(var(--zi,0) * 40ms)}@keyframes grow-x{0%{transform:scaleX(0)}}.skeleton:nth-child(2n){animation-delay:-.45s}.skeleton:nth-child(3n){animation-delay:-.9s}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(20px)}.reveal.is-in{opacity:1;transform:none}.draw-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw-in 1.1s var(--ease) forwards}@keyframes draw-in{to{stroke-dashoffset:0}}@keyframes fade-in{0%{opacity:0}}.note-in{animation:note-in .22s var(--ease) backwards}@keyframes note-in{0%{opacity:0;transform:translateY(8px)}}.disclose{transition:grid-template-rows .28s var(--ease), opacity .28s var(--ease);grid-template-rows:1fr;display:grid}.disclose>*{min-height:0;margin:-4px;padding:4px;overflow:hidden}@starting-style{.disclose{opacity:0;grid-template-rows:0fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-delay:0s!important}.reveal{opacity:1!important;transform:none!important}.draw-line{stroke-dashoffset:0!important;animation:none!important}.rise,.page-in,.chart-in{animation:none!important}.zonebar__fill{animation:none!important;transform:none!important}.skeleton{animation-delay:0s!important}.syncchip,.glossary,.glossary-backdrop,.importmodal,.importmodal__card,.comparebar,.note-in,.cmp-chip,.gterm--focus{animation:none!important}.importmodal__progress i{width:100%!important;animation:none!important}.toast--out,.disclose,.seg--ind .seg__ind,.nav__ind{transition:none!important}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-nav{top:var(--s3);left:var(--s3);z-index:var(--z-skip);background:var(--surface);border:2px solid var(--brand);color:var(--brand-700);font-weight:700;font-size:var(--fs-14);padding:10px 16px;position:fixed}.skip-nav:not(:focus-visible){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.map-overlay{z-index:var(--z-dropdown);gap:var(--s2);max-width:calc(100% - 2 * var(--s3));flex-wrap:wrap;align-items:center;display:flex;position:absolute}.map-overlay--top{top:var(--s3);left:var(--s3)}.map-overlay--bottom{bottom:var(--s3);left:var(--s3);flex-direction:column;align-items:flex-start}.map-box{background:var(--surface);border:1px solid var(--line-strong);align-items:center;gap:var(--s2);flex-wrap:wrap;padding:5px 7px;display:flex}.map-weather-hint{flex-basis:100%;max-width:240px;margin-top:2px;line-height:1.3}.tyre-grid{gap:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.tyre-grid .field{min-width:0}.map-box .legend{gap:var(--s3)}.map-box .legend__sw--line{height:3px}.page-in:has(.maps-bleed){flex-direction:column;flex:auto;min-height:0;display:flex}.maps-bleed{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.maps-bleed__map{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;position:relative}.maps-bleed__map .mapview{flex:auto;min-height:0}.grade-legend{align-items:center;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.grade-legend__title{margin-right:var(--s1)}.grade-legend__item{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.grade-legend__sw{border-radius:var(--r);flex:none;width:16px;height:8px}.fly{gap:var(--s2);width:min(520px,80vw)}.fly__scrub{flex:auto;min-width:120px}.fly__pct{text-align:right;min-width:2.8rem;font-size:var(--fs-12);color:var(--muted);flex:none}.maps-statgrid{gap:var(--s5) var(--s4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.maps-statblock .panel-read{margin:var(--s2) 0 0;font-size:var(--fs-13)}.route-search{margin-bottom:var(--s3)}.routes{border-top:1px solid var(--line);flex-direction:column;gap:0;max-height:560px;display:flex;overflow:auto}.route-row{align-items:center;gap:var(--s2);border-bottom:1px solid var(--line);display:flex}.route-row.is-sel{background:var(--brand-50)}.route-row__hit{align-items:center;gap:var(--s3);min-width:0;padding:var(--s3) var(--s2);font:inherit;text-align:left;cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:0;flex:auto;display:flex}@media (hover:hover) and (pointer:fine){.route-row__hit:hover{background:var(--surface-3)}}.route-row__main{flex:auto;min-width:0}.route-row__name{font-size:var(--fs-14);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.route-row__meta{gap:var(--s3);font-size:var(--fs-12);color:var(--faint);align-items:center;margin-top:2px;display:flex}.route-row__links{gap:var(--s3);padding-right:var(--s3);flex:none;align-items:center;display:flex}.wp-list{border:1px solid var(--line);flex-direction:column;max-height:280px;display:flex;overflow-y:auto}.wp-row{align-items:center;gap:var(--s2);padding:6px var(--s2);border-bottom:1px solid var(--line);display:flex}.wp-row:last-child{border-bottom:0}.wp-row__n{text-align:center;width:20px;color:var(--faint);flex:none}.wp-row__coord{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:var(--fs-12);flex:auto;overflow:hidden}.wp-row__actions{flex:none;gap:2px;display:flex}@media (width<=900px){.map-overlay--top,.map-overlay--bottom{right:var(--s3)}.route-row__links{gap:var(--s2);flex-direction:column;align-items:flex-end}.fly .iconbtn{min-width:44px;min-height:44px}}.fit-bar{align-items:center;gap:var(--s3);margin:0 2px var(--s4);flex-wrap:wrap;display:flex}.fit-customrange{gap:var(--s4);margin:0 2px var(--s4);flex-wrap:wrap;display:flex}.fit-customrange label{align-items:center;gap:var(--s2);font-size:var(--fs-13);color:var(--muted);display:flex}.fit-customrange .input{width:auto}.fit-summary{margin-bottom:var(--s4)}.fit-summary__body{gap:var(--s6);flex-wrap:wrap;align-items:stretch;display:flex}.fit-summary__instruments{align-items:center;gap:var(--s6);flex-wrap:wrap;flex:0 auto;min-width:0;display:flex}.fit-summary__stats{gap:var(--s4);flex-direction:column;flex:none;display:flex}.fit-summary__stats .statcell__value{font-size:var(--fs-30)}.fit-summary__read{flex-direction:column;flex:300px;justify-content:center;align-self:stretch;min-width:0;display:flex}.fit-summary__read .panel-read{font-size:var(--fs-15);margin-bottom:0}.fit-summary__foot{align-items:center;gap:var(--s4);margin-top:var(--s4);flex-wrap:wrap;display:flex}.fit-summary__engine{justify-content:center;gap:var(--s2);flex-direction:column;flex:270px;min-width:0;display:flex}.fit-summary__engine-head{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.fit-summary__engine-head .eyebrow{color:var(--faint)}.fit-summary__type{font:800 var(--fs-12)/1 var(--font);text-transform:capitalize;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-pill);padding:3px 10px}.fit-summary__engine-stats{gap:var(--s6);margin-top:var(--s1);font-size:var(--fs-13);color:var(--text);display:flex}.fit-summary__engine-stat .num{font-size:var(--fs-17);font-weight:700}.fit-summary__engine-k{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:1px;display:block}@media (width>=721px){.fit-summary__read,.fit-summary__engine{border-left:1px solid var(--line);padding-left:var(--s6)}}@media (width<=720px){.fit-summary__read,.fit-summary__engine{border-top:1px solid var(--line);padding-top:var(--s4)}.fit-summary__instruments{width:100%}}@media (width<=900px){.fit-summary__stats{gap:var(--s5);flex-flow:wrap}.fit-bar .seg{width:100%;overflow-x:auto}.fit-bar .seg button{min-height:44px}}.filterbar{z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--line);border-bottom-color:var(--line-strong);box-shadow:var(--sh-panel);padding:var(--s4);margin-bottom:var(--s4);gap:var(--s3);flex-direction:column;display:flex;position:sticky;top:0}.filterbar__row{gap:var(--s3) var(--s4);flex-wrap:wrap;align-items:flex-end;display:flex}.filterbar .field{margin-bottom:0}.filterbar .field label{align-items:center;gap:4px;display:flex}.filterbar__search{flex:220px}.filterbar__range{align-items:center;gap:6px;display:flex}.filterbar__range .input{width:74px}.filterbar__range .input--date{width:140px}.filterbar__foot{align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.filterbar__count{font-size:var(--fs-13);color:var(--muted);font-variant-numeric:tabular-nums}.filterbar__more{display:none}@media (width<=640px){.filterbar__more{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);font:inherit;font-size:var(--fs-13);cursor:pointer;border-radius:var(--r);align-self:flex-start;align-items:center;gap:6px;padding:8px 12px;font-weight:650;display:inline-flex}.filterbar__more:hover{border-color:var(--brand);color:var(--brand-700);background:var(--brand-50)}.filterbar__ranges{display:none}.filterbar__ranges.is-open{display:flex}}.filterbar__spacer{flex:auto}.actscroll{border:1px solid var(--line);background:var(--surface);height:calc(100vh - 250px);min-height:360px;overflow:auto}.actscroll .table td{height:84px}.thumb-noroute{background:var(--surface-3);border:1px solid var(--line);color:var(--faint);font-size:var(--fs-12);text-align:center;place-items:center;display:grid}.actrow__name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-weight:650;display:block;overflow:hidden}.actrow__date,.actrow__pr{white-space:nowrap}.chip--pr{color:#fff;background:var(--brand-700);border-color:var(--brand-700);border-radius:var(--r-pill)}.table th.th-sort{padding:0}.th-inner{align-items:center;gap:4px;padding:8px 10px;display:flex}.th-sortbtn{font:inherit;font-weight:800;font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sortbtn:active{transform:scale(.95)}@media (hover:hover) and (pointer:fine){.th-sortbtn:hover{color:var(--brand-700)}}.table th[aria-sort=ascending] .th-sortbtn,.table th[aria-sort=descending] .th-sortbtn{color:var(--ink)}.sort-arrow{font-size:9px}.intbar{border:1px solid var(--line);height:8px;margin:var(--s2) 0;display:flex;overflow:hidden}.intbar__seg--easy{background:var(--good)}.intbar__seg--moderate{background:var(--warn)}.intbar__seg--hard{background:var(--bad)}.weekgrid{gap:var(--s4);flex-direction:column;display:flex}.weekcard__head{justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}@media (width<=900px){.actrow__name{max-width:140px}}.querybar-row{align-items:flex-start;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.querybar{flex-direction:column;flex:1;gap:2px;min-width:260px;display:flex}.querybar__input{width:100%;font-family:var(--font-mono,ui-monospace, monospace)}.querybar__help{align-items:center;gap:4px;display:inline-flex}.querybar__hint{color:var(--warn,#e08700)}.querybar__count{color:var(--brand-700);white-space:nowrap}.colpick{position:relative}.colpick__menu{z-index:var(--z-dropdown);background:var(--surface,#fff);border:1px solid var(--line-strong,#c9cfd8);padding:var(--s2) var(--s3);flex-direction:column;gap:4px;min-width:160px;max-height:60vh;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.colpick__row{cursor:pointer;align-items:center;gap:6px;min-height:44px;display:flex}.histo-row{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.histo{flex-direction:column;gap:4px;display:flex}.seg-efforts{margin:0 0 var(--s3);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.seg-efforts__row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.seg-namer{align-items:center;gap:6px;display:inline-flex}.seg-namer .input{width:180px}.seg-table{margin-top:var(--s2)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.navbtn svg{transition:transform var(--dur) var(--ease)}.navbtn:hover svg{transform:translate(2px)}}@media (prefers-reduced-motion:no-preference){.navbtn:active{transform:translateY(1px)}}@media (width>=901px) and (prefers-reduced-motion:no-preference){.navbtn{z-index:0;position:relative}.navbtn:before{content:"";z-index:-1;border-radius:var(--r);background:color-mix(in srgb, var(--sec) 12%, var(--surface));opacity:0;transition:opacity var(--dur) var(--ease);position:absolute;inset:0}.navbtn.is-active:before{opacity:1}}.app[data-section=coach],.app[data-section=nutrition],.app[data-section=readiness],.app[data-section=plan]{--sec:var(--acc-coach)}.app[data-section=predict],.app[data-section=maps],.app[data-section=aero],.app[data-section=power],.app[data-section=fit]{--sec:var(--acc-tools)}.rail-pulse{padding:var(--s3) 10px;border:0;border-top:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:0 0;flex-direction:column;gap:6px;width:100%;margin-top:auto;display:flex}.rail-pulse__bars{align-items:flex-end;gap:2px;height:28px;display:flex}.rail-pulse__bars i{background:var(--brand-300);flex:1 1 0;min-height:2px}.rail-pulse__bars i.is-today{background:var(--ink)}.rail-pulse__row{justify-content:space-between;align-items:center;gap:var(--s2);font-size:var(--fs-11);color:var(--faint);font-weight:650;display:flex}.rail-pulse__total{color:var(--muted)}.rail-pulse__row,.rail-pulse__total{transition:color var(--dur) var(--ease)}@media (hover:hover) and (pointer:fine){.rail-pulse:hover .rail-pulse__row,.rail-pulse:hover .rail-pulse__total{color:var(--brand-700)}}.syncchip--done{color:var(--good-700);background:var(--good-bg);border-color:#0000}.syncchip--done .syncchip__fill{background:var(--good)}@media (prefers-reduced-motion:no-preference){.syncchip:not(.syncchip--done) .syncchip__fill{position:relative;overflow:hidden}.syncchip:not(.syncchip--done) .syncchip__fill:after{content:"";animation:shimmer 1.3s var(--ease) infinite;background:linear-gradient(90deg,#0000 25%,#ffffff80 50%,#0000 75%) 0 0/400% 100%;position:absolute;inset:0}}@media (hover:hover) and (pointer:fine){.panel{transition:border-color var(--dur) var(--ease)}.panel:hover{border-color:var(--line-strong)}}.table tbody tr.is-clickable td:first-child{transition:box-shadow var(--dur) var(--ease)}@media (hover:hover) and (pointer:fine){.table tbody tr.is-clickable:hover td:first-child{box-shadow:inset 2px 0 0 var(--brand)}}.panel--photo{--photo-wash:var(--wash-h);background-image:var(--photo-wash), var(--photo);background-size:cover;background-position:var(--photo-pos,right center);background-repeat:no-repeat}.panel--photo-deep{--photo-wash:var(--wash-h-deep)}.panel--photo .empty{text-align:left}.panel--photo .empty>div{max-width:56%}.panel--photo .empty .empty__act{justify-content:flex-start}@media (width<=640px){.panel--photo:has(.empty){background-image:var(--wash-v), var(--photo);background-position:var(--photo-pos,center bottom)}.panel--photo .empty>div{max-width:100%}}@media print{.panel--photo{background-image:none!important;background:var(--surface)!important}}.panelhead:before{content:"";background:var(--panel-accent,var(--line-strong));flex:none;width:3px;height:11px}@media (prefers-reduced-motion:no-preference){.btn:active,.seg button:active,.iconbtn:active,.cr10__btn:active,.info-dot:active{transition-duration:var(--dur-fast);transform:scale(.98)}.rail-pulse:active{transform:translateY(1px)}}.tab-in{animation:tab-in .26s var(--ease) backwards}@keyframes tab-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:no-preference){.popover,.moremenu,.pc-jump__panel,.colpick__menu{animation:.18s cubic-bezier(.23,1,.32,1) pop-in}.popover{transform-origin:0 0}.popover[data-placement=above]{transform-origin:0 100%}.popover[data-placement=below-right]{transform-origin:100% 0}.popover[data-placement=above-right],.moremenu{transform-origin:100% 100%}.pc-jump__panel,.colpick__menu{transform-origin:100% 0}@media (width<=560px){.popover{animation:.22s cubic-bezier(.23,1,.32,1) sheet-in}}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)scale(.95)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(14px)}}.popover.is-closing{opacity:0;transition:opacity .1s var(--ease), transform .1s var(--ease);pointer-events:none;animation:none;transform:translateY(2px)scale(.99)}.popover-backdrop.is-closing{pointer-events:none}.uplot.u-hz .u-cursor-x{border-right:1px dashed #17191b59}.uplot.u-hz .u-cursor-y{border-bottom:1px dashed #17191b59}.uplot .u-cursor-pt{box-shadow:0 0 0 1px #17191b40}.uplot .u-select{background:#454a4f14}html[data-theme=dark] .uplot.u-hz .u-cursor-x{border-right-color:#f4f7fb6b}html[data-theme=dark] .uplot.u-hz .u-cursor-y{border-bottom-color:#f4f7fb6b}html[data-theme=dark] .uplot .u-cursor-pt{box-shadow:0 0 0 1px #f4f7fb52}.chart-empty__art{width:100%;height:100%;position:absolute;inset:0}.chart-empty__msg{text-align:center;align-items:center;gap:var(--s2);padding:var(--s4);flex-direction:column;display:flex;position:relative}.chart-empty__action{margin-top:var(--s1);padding:var(--s1) var(--s3);font-size:var(--fs-12);color:var(--brand-700);border-radius:var(--r);cursor:pointer;letter-spacing:.03em;transition:background var(--dur) var(--ease);background:0 0;border:1px solid;font-weight:600}@media (hover:hover) and (pointer:fine){.chart-empty__action:hover{background:color-mix(in srgb, var(--brand) 8%, transparent)}}.empty__art{margin:0 auto var(--s3);color:var(--line-strong);place-items:center;display:grid}@media (width<=900px){.rail-pulse{display:none}}@media (prefers-reduced-motion:reduce){.tab-in{opacity:1!important;animation:none!important;transform:none!important}.popover,.moremenu,.pc-jump__panel,.colpick__menu{animation:none!important}.popover.is-closing{transition:none!important}.navbtn svg,.navbtn:active,.btn:active,.seg button:active,.iconbtn:active,.cr10__btn:active,.info-dot:active,.rail-pulse:active{transform:none!important}.navbtn:before,.rail-pulse__row,.rail-pulse__total{transition:none!important}.syncchip__fill:after{content:none!important;animation:none!important}}
