@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-condensed-latin-400-normal-DKyD6XsY.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-400-normal-5i361Byk.woff)format("woff")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-500-normal-BqaLkUoX.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-500-normal-BLe87hIu.woff)format("woff")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-600-normal-CRd5VyFf.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-600-normal-6XnkKYvF.woff)format("woff")}@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")}@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")}@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")}:root{--page:#e3e1db;--bg:#f6f5f1;--bg-lift:#eeece6;--bg-sink:#efeee9;--rule:#d5d2c9;--rule-soft:#e5e3dc;--rule-loud:#b5b1a7;--ink:#141819;--text:#2a3032;--dim:#4d5657;--faint:#596263;--data:#a85a00;--on-data:#fbfcfb;--ride:#a85a00;--run:#0d6f80;--swim:#6b4fd8;--good:#1c7a4f;--on-good:#f1f3f2;--warn:#806400;--bad:#b3352a;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"IBM Plex Sans Condensed", "Helvetica Neue", Arial, sans-serif;--light-only:inline;--dark-only:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--page:#070909;--bg:#111617;--bg-lift:#172021;--bg-sink:#0b0f10;--rule:#253032;--rule-soft:#1b2425;--rule-loud:#354244;--ink:#f2f5f5;--text:#dae0e0;--dim:#a6b0b0;--faint:#909b9b;--data:#ffa62b;--on-data:#0a0d0e;--ride:#ffa62b;--run:#5fc9d8;--swim:#a68cff;--good:#58c98a;--on-good:#0a0d0e;--warn:#f2c94c;--bad:#ff6b5f;--light-only:none;--dark-only:inline;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--page:#070909;--bg:#111617;--bg-lift:#172021;--bg-sink:#0b0f10;--rule:#253032;--rule-soft:#1b2425;--rule-loud:#354244;--ink:#f2f5f5;--text:#dae0e0;--dim:#a6b0b0;--faint:#909b9b;--data:#ffa62b;--on-data:#0a0d0e;--ride:#ffa62b;--run:#5fc9d8;--swim:#a68cff;--good:#58c98a;--on-good:#0a0d0e;--warn:#f2c94c;--bad:#ff6b5f;--light-only:none;--dark-only:inline;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--page);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}.metrics dt{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.readout{font-family:var(--mono);font-variant-numeric:tabular-nums}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.005em;margin:0;font-weight:600}h1{font-size:19px}h2,h3{font-size:16px}h4{font-size:15px}p{margin:0}a{color:var(--data)}button{color:var(--text);border:1px solid var(--rule-loud);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:0;padding:7px 12px;font-size:12px}button:hover:not(:disabled){border-color:var(--data);color:var(--data)}button:disabled{opacity:.45;cursor:default}.disclose>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.disclose>summary::-webkit-details-marker{display:none}.disclose>summary:before{content:"+";font-family:var(--mono);color:var(--faint);flex-shrink:0;line-height:1}.disclose[open]>summary:before{content:"−"}.disclose>summary:hover:before{color:var(--data)}input,select{background:var(--bg-sink);color:var(--ink);border:1px solid var(--rule-loud);font-family:var(--mono);border-radius:0;width:100%;padding:7px 9px;font-size:13px}input:focus,select:focus{border-color:var(--data);outline:none}label,.field{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}:focus-visible{outline:2px solid var(--data);outline-offset:1px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.header,.day,.history,.intent,.pause,.outlook,.goals,.settings,.destinations,.benchmark,.issue,.totals,.chart,.ladder,.onboarding fieldset,.consent{background:var(--bg)}.light-only{display:var(--light-only)}.dark-only{display:var(--dark-only)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.term{min-height:24px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:5px;margin:0;padding:0;display:inline-flex}.term:hover:not(:disabled){color:var(--ink)}.term__mark{letter-spacing:0;opacity:.8;border:1px solid;border-radius:50%;place-items:center;width:15px;height:15px;font-size:12px;line-height:1;display:inline-grid}.term__pop{border:1px solid var(--rule-loud);background:var(--bg);max-width:min(360px,100vw - 32px);color:var(--text);font-family:var(--sans);letter-spacing:normal;text-transform:none;white-space:normal;margin:auto;padding:16px;font-size:15px;line-height:1.45}.term__pop:popover-open{flex-direction:column;gap:6px;display:flex}.term__pop strong{color:var(--ink)}.term__why{color:var(--dim)}.term__pop button{align-self:flex-end;min-height:44px;margin-top:6px}.term__pop::backdrop{background:#00000059}@media (pointer:coarse){button:not(.term),.disclose>summary{min-height:44px}}.app{max-width:1000px;padding:0 calc(16px + env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));flex-direction:column;gap:18px;margin:0 auto;display:flex}.topbar{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.topbar>:only-child{margin-left:auto}.mode{border:1px solid var(--rule);display:flex}.mode button{border:0;border-right:1px solid var(--rule);letter-spacing:.13em;color:var(--faint);padding:4px 9px;font-size:12px}.mode button:last-child{border-right:0}.mode button:hover:not(:disabled){color:var(--ink)}.mode button[aria-pressed=true]{background:var(--data);color:var(--on-data);font-weight:600}.header{border:1px solid var(--rule);flex-direction:column;display:flex}.header__top{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.header__top h1{min-width:0;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.header__actions{flex-wrap:wrap;gap:8px;display:flex}.header__summary{border-left:3px solid var(--good);color:var(--ink);margin:0;padding:12px 14px;font-size:16px}.header__summary--amber{border-left-color:var(--warn)}.header__summary--red{border-left-color:var(--bad)}.metrics{border-top:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(6,1fr);gap:1px;margin:12px 0 0;display:grid}.metrics div{background:var(--bg);min-width:0;padding:11px 14px}.metrics dt{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.metrics dd{font-family:var(--mono);color:var(--data);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:24px;font-weight:500;line-height:1}.kpis{border:1px solid var(--rule);background:var(--bg)}.kpis>summary{min-height:44px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:12px 14px;font-size:12px;font-weight:500}.kpis .metrics{margin:0}@media (min-width:861px){.kpis .metrics{grid-template-columns:repeat(4,1fr)}}.datasource{border-top:1px solid var(--rule);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 14px;font-size:12.5px;display:flex}.datasource strong{color:var(--ink);font-weight:600}.datasource__count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.history{border:1px solid var(--rule);flex-direction:column;display:flex}.history__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding:11px 14px;display:flex}.history__summary{font-family:var(--mono);letter-spacing:.06em;color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.history__strip{grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.history__day{text-align:center;border-right:1px solid var(--rule);padding:10px 4px 12px;position:relative}.history__day:last-child{border-right:0}.history__day:after{content:"";background:var(--rule);height:2px;position:absolute;bottom:0;left:0;right:0}.history__day--done:after{background:var(--good)}.history__day--missed:after{background:var(--bad)}.history__day--race:after,.history__day--switched:after,.history__day--unplanned:after{background:var(--dim)}.history__mark{font-family:var(--mono);color:var(--dim);margin-top:2px;font-size:13px;line-height:1;display:block}.history__day--done .history__mark{color:var(--good)}.history__day--missed .history__mark{color:var(--bad)}.history__weekday{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:12px;display:block}.history__load{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:15px;font-weight:500;display:block}.history__last{border-top:1px solid var(--rule);color:var(--dim);padding:10px 14px;font-size:12.5px}.history__last strong{color:var(--ink);font-weight:600}.history__ok{color:var(--good)}.history__alt{color:var(--text)}.history__miss{color:var(--bad)}.history__key{border-top:1px solid var(--rule);padding:9px 14px}.history__key>summary{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.history__legend{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex-wrap:wrap;gap:4px 14px;padding:9px 0 2px 20px;font-size:12px;display:flex}.history__legend span{align-items:center;gap:5px;display:inline-flex}.history__dot{text-align:center;min-width:12px;color:var(--dim);font-style:normal;display:inline-block}.history__dot:after{content:none}.history__dot.history__day--done{color:var(--good)}.history__dot.history__day--missed{color:var(--bad)}.intent{border:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:0;display:flex}.intent__label{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);border-right:1px solid var(--rule);align-self:stretch;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:flex}.intent button{border:0;border-right:1px solid var(--rule);flex:1;padding:9px 14px}.intent button:last-child{border-right:0}.intent__on{background:var(--data);color:var(--on-data);font-weight:600}.intent__on:hover:not(:disabled){color:var(--on-data)}.error{color:var(--bad);font-size:13px}.error--block{border:1px solid var(--bad);color:var(--text);border-left-width:3px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.loading{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:24px 0;font-size:12px}.footer{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:center;padding-top:14px;font-size:12px}.footer__account{text-transform:none;margin-top:6px;display:block}@media (max-width:860px){.metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.metrics{grid-template-columns:repeat(2,1fr)}.intent__label{display:none}.intent button{padding:9px 8px}}.pause{border:1px solid var(--rule);flex-direction:column;gap:8px;padding:11px 14px;display:flex}.pause--on{border-color:var(--warn);border-left-width:3px}.pause__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pause__head select,.pause__head input{width:auto;min-width:0}.pause__head input{width:68px}.pause__label,.pause__unit{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.pause__left{letter-spacing:.06em;color:var(--warn);font-size:12px}.pause__head button:last-child,.pause--on .pause__head button{margin-left:auto}.pause__note{color:var(--dim);max-width:78ch;font-size:12.5px}.badge--pause{color:var(--warn);border-color:var(--warn)}.day{border:1px solid var(--rule);flex-direction:column;display:flex}.day__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 14px;display:flex}.day__head h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;font-size:13px;font-weight:600}.day__date{color:var(--faint);font-weight:400}.day__head--tags{justify-content:flex-end;padding:9px 14px}.day__tags{flex-wrap:wrap;gap:6px;display:flex}.badge{border:1px solid var(--rule-loud);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:2px 7px;font-size:12px;font-weight:500}.badge--ride{color:var(--ride);border-color:var(--ride)}.badge--run{color:var(--run);border-color:var(--run)}.badge--swim{color:var(--swim);border-color:var(--swim)}.badge--pick,.badge--key,.badge--optional,.badge--strength{color:var(--data);border-color:var(--data)}.badge--easy,.badge--done,.badge--on-track{color:var(--good);border-color:var(--good)}.badge--ambitious{color:var(--warn);border-color:var(--warn)}.badge--unrealistic{color:var(--bad);border-color:var(--bad)}.day__reason{color:var(--text);padding:11px 14px 4px;font-size:14px}.day__why{border-bottom:1px solid var(--rule)}.day__why>summary{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:4px 14px 10px;font-size:12px}.day__reason--alone{border-bottom:1px solid var(--rule);padding-bottom:11px}.notes{flex-direction:column;gap:3px;margin:0;padding:0 14px 10px;list-style:none;display:flex}.notes:empty{display:none}.notes li{color:var(--dim);font-size:13px}.rest-hint{border-bottom:1px solid var(--rule);border-left:3px solid var(--rule-loud);color:var(--dim);margin:0;padding:11px 14px;font-size:13px}.rest-hint>span{max-width:78ch;display:block}.rest-hint strong{color:var(--ink);font-weight:600}.done{border-bottom:1px solid var(--rule);border-left:3px solid var(--good);flex-direction:column;gap:6px;padding:11px 14px;display:flex}.done__entry{flex-direction:column;gap:4px;display:flex}.done__item{flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin:0;font-size:13px;display:flex}.done__item strong{overflow-wrap:anywhere;font-weight:600}.done__meta{color:var(--dim);font-size:12px}.done__note{color:var(--dim);max-width:78ch;margin:0;font-size:12.5px}.day__options{background:var(--rule);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;display:grid}.day__options--optional .session:not(.session--done){opacity:.62}.session__race{color:var(--dim);margin:0;font-size:12px}.session__sent{color:var(--good);margin:0;font-size:12px}.session--done{box-shadow:inset 3px 0 0 var(--good)}.day__options--optional:hover .session{opacity:1}@media (hover:none){.day__options--optional .session:not(.session--done){opacity:1}}.session{background:var(--bg);flex-direction:column;gap:10px;padding:14px;display:flex}.session--recommended{background:var(--bg-lift);box-shadow:inset 3px 0 0 var(--data)}.session__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.session__meta{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.session h3{font-size:17px}.session__reason,.session__note{color:var(--dim);font-size:12.5px}.variants{border:1px solid var(--rule-loud);display:flex}.variants__pick{border:0;border-right:1px solid var(--rule-loud);letter-spacing:.06em;color:var(--faint);font-variant-numeric:tabular-nums;flex:1;padding:6px 4px;font-size:12px}.variants__pick:last-child{border-right:0}.variants__pick span{letter-spacing:.11em;opacity:.85;font-size:12px;display:block}.variants__pick--on{background:var(--data);color:var(--on-data);font-weight:600}.variants__pick--on:hover:not(:disabled){color:var(--on-data)}.steps{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.steps li{border-bottom:1px solid var(--rule-soft);font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:4px 0;font-size:12px;display:flex}.steps li span{color:var(--faint);white-space:nowrap}.steps li em{text-align:right;font-style:normal}.session__duration{letter-spacing:.06em;color:var(--faint);font-size:12px}.strength{border-top:1px solid var(--rule);padding:11px 14px}.strength__meta{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:12px}.strength__table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.strength__table td{border-bottom:1px solid var(--rule-soft);padding:5px 0}.strength__table td:nth-child(2),.strength__table td:nth-child(3){text-align:right;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;padding-left:10px;font-size:12px}.strength__table td:nth-child(3){color:var(--faint)}.strength__done{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin-top:12px;font-size:13px}.strength__done input{width:auto;accent-color:var(--data)}.strength__note{color:var(--dim);margin-top:10px;font-size:12.5px}.day--folded>summary{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;padding:11px 14px;font-size:12px}.day--folded[open]>summary{border-bottom:1px solid var(--rule)}.fold__date{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.fold__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--sans);color:var(--ink);flex:1;font-size:14px;overflow:hidden}.fold__name--rest{color:var(--faint);font-style:italic}.fold__meta{color:var(--faint);white-space:nowrap}.day--trained>summary .fold__name{color:var(--good)}.profile{flex-direction:column;gap:5px;margin:0;display:flex}.profile__plot{width:100%;height:52px;display:block}.profile__scale{letter-spacing:.08em;color:var(--faint);justify-content:space-between;gap:10px;margin:0;font-size:12px;display:flex}.session__why .session__note{margin-top:8px}@media (max-width:720px){.day__options{grid-template-columns:1fr}}.session__steps>summary,.session__why>summary{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.session__steps>summary:after,.session__why>summary:after{content:"";background:var(--rule);flex:1;height:1px}.session__steps .steps{margin-top:6px}@media (max-width:520px){.day--folded>summary{flex-wrap:wrap}.fold__meta{order:2;margin-left:auto}.fold__name{flex-basis:100%;order:3;padding-left:20px}}.exec{border-top:1px solid var(--rule-soft);flex-direction:column;margin-top:4px;display:flex}.history .exec{border-top-color:var(--rule);margin-top:0;padding:0 14px 12px}.exec__quiet{color:var(--faint);margin:0;padding:6px 0 0;font-size:12px}.history .exec__quiet{border-top:1px solid var(--rule);padding:8px 14px}.exec__kpis{border-bottom:1px solid var(--rule-soft);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0;display:grid}.exec__kpis div{padding:10px 12px 10px 0}.exec__kpis div+div{border-left:1px solid var(--rule-soft);padding-left:12px}.exec__kpis dt{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:3px;font-size:12px}.exec__kpis dd{font-family:var(--sans);color:var(--ink);margin:0;font-size:20px;font-weight:600}.exec__kpis small{color:var(--dim);font-size:12px;font-weight:400}.exec__strip{padding:22px 0 6px;position:relative}.exec__strip--plain{padding-top:10px}.exec__svg{width:100%;height:48px;display:block}.exec__marks{height:16px;position:absolute;top:4px;left:0;right:0}.exec__mark{font-family:var(--mono);color:var(--text);font-size:12px;font-weight:600;position:absolute;transform:translate(-50%)}.exec__rest{fill:color-mix(in srgb, var(--rule-loud) 70%, transparent)}.exec__hit{fill:var(--data)}.exec__off{fill:#0000;stroke:var(--data);stroke-width:2px;vector-effect:non-scaling-stroke}.exec__missing{fill:none;stroke:var(--faint);stroke-width:1px;vector-effect:non-scaling-stroke}.exec__note{color:var(--dim);margin:4px 0 0;font-size:12px}.exec__note--heart{color:var(--text)}.exec__benchmark{color:var(--text);margin:8px 0 0;font-size:13px}.exec__legend{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex-wrap:wrap;gap:4px 14px;margin:4px 0 0;font-size:12px;display:flex}.exec__legend span{align-items:center;gap:6px;display:inline-flex}.exec__key{width:12px;height:9px;display:inline-block}.exec__key--hit{background:var(--data)}.exec__key--off{border:2px solid var(--data)}.exec__key--missing{border:1px solid var(--faint)}.exec__more{margin-top:8px}.exec__more>summary{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text);padding:6px 0;font-size:12px}.exec__more>summary .readout{color:var(--faint);margin-left:auto}.exec__rows{flex-direction:column;gap:14px;margin:0;padding:8px 0 0;list-style:none;display:flex}.exec__row{grid-template-columns:16px minmax(0,1fr) 180px;grid-template-areas:"n track value""n time word";align-items:center;gap:5px 12px;display:grid}.exec__index{color:var(--faint);grid-area:n;align-self:start;padding-top:2px;font-size:12px}.exec__track{border-bottom:1px solid var(--rule);grid-area:track;height:18px;position:relative}.exec__band{background:color-mix(in srgb, var(--ink) 14%, transparent);position:absolute;top:2px;bottom:2px}.exec__dot{background:var(--data);width:11px;height:11px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.exec__dot--on{background:var(--ink)}.exec__value{color:var(--text);white-space:nowrap;text-align:right;grid-area:value;font-size:12px}.exec__time{color:var(--faint);grid-area:time;align-items:center;gap:9px;font-size:12px;display:flex}.exec__time .readout{text-align:right;min-width:13ch}.exec__meter{background:var(--rule-soft);border-radius:2px;flex:1;height:4px;overflow:hidden}.exec__meter span{background:var(--dim);border-radius:2px;height:100%;display:block}.exec__word{color:var(--dim);text-align:right;white-space:nowrap;grid-area:word;font-size:12px}.exec__scale{color:var(--faint);justify-content:space-between;margin:6px 192px 0 28px;font-size:12px;display:flex}@media (max-width:560px){.exec__kpis dd{font-size:16px}.exec__kpis small{font-size:12px;display:block}.exec__row{grid-template-columns:14px minmax(0,1fr);grid-template-areas:"n track""n value""n time""n word"}.exec__value,.exec__word{text-align:left}.exec__scale{margin-left:26px;margin-right:0}}.trace{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex-direction:column;margin:0;padding-top:8px;display:flex}.trace__labels{height:18px;position:relative}.trace__label{color:var(--ink);white-space:nowrap;font-size:12px;font-weight:600;position:absolute;top:0;transform:translate(-50%)}.trace__plot,.trace__heart{position:relative}.trace__plot svg,.trace__heart svg{width:100%;display:block}.trace__plot svg{height:170px}.trace__heart{border-bottom:1px solid var(--rule);margin-top:10px}.trace__heart svg{height:40px}.trace__grid{stroke:var(--rule);stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.trace__grid--threshold{stroke:var(--rule-loud);stroke-dasharray:none}.trace__band{fill:color-mix(in srgb, var(--dim) 22%, transparent)}.trace__hit{fill:color-mix(in srgb, var(--data) 45%, transparent)}.trace__area{fill:color-mix(in srgb, var(--data) 13%, transparent)}.trace__line{fill:none;stroke:var(--data);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trace__shade{fill:var(--rule-soft)}.trace__pulse{fill:none;stroke:var(--dim);stroke-width:1.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trace__pulse--estimated{stroke-dasharray:4 3}.trace__tick{color:var(--faint);pointer-events:none;font-size:12px;position:absolute;left:0;transform:translateY(-115%)}.trace__tick--top{top:0;transform:none}.trace__tick--bottom{top:auto;bottom:0;transform:none}.trace__beat{color:var(--text);white-space:nowrap;font-size:12px;position:absolute;bottom:2px;transform:translate(-50%)}.trace__cursor{background:var(--ink);opacity:.55;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.trace__axis{height:16px;margin-top:3px;position:relative}.trace__time{color:var(--faint);white-space:nowrap;font-size:12px;position:absolute;top:0;transform:translate(-50%)}.trace__time--first{transform:none}.trace__time--last{transform:translate(-100%)}.trace__readout{min-height:16px;color:var(--ink);margin:2px 0 0;font-size:12px}.trace__readout--hint{color:var(--faint)}.exec__key--band{background:color-mix(in srgb, var(--dim) 22%, transparent)}.exec__key--inband{background:color-mix(in srgb, var(--data) 45%, transparent)}.exec__key--line{background:var(--data);height:2px}.exec__key--pulse{background:var(--dim);height:2px}.exec__key--estimated{background:repeating-linear-gradient(90deg, var(--dim) 0 3px, transparent 3px 5px);height:2px}.exec__actions{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px;display:flex}.history .exec__actions{padding:0 14px 12px}.exec__heartfix{margin-top:10px}.exec__heartfix .exec__actions{margin-top:6px}.history .exec__heartfix{padding:0 14px}.history .exec__heartfix .exec__actions{padding:0}.exec__sent{color:var(--faint);font-size:12px}.exec__note--action{flex-basis:100%;margin:0}.goals,.settings,.destinations,.benchmark,.issue{border:1px solid var(--rule);flex-direction:column;display:flex}.goals,.settings,.destinations,.benchmark{gap:12px;padding:14px}.settings__head,.destinations__head,.benchmark__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;padding-bottom:10px;display:flex}.settings__head h2,.destinations__head h2,.benchmark__head h2,.goals h2,.history__head h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.settings__actions{flex-wrap:wrap;gap:8px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.grid--goal{border-top:1px solid var(--rule);padding-top:12px}.goal{border-left:2px solid var(--rule-loud);padding:2px 0 2px 12px}.goal__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.goal__value{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12px}.goal__message{color:var(--dim);margin-top:6px;font-size:13px}.benchmark__meta{font-family:var(--mono);color:var(--faint);font-size:12px}.benchmark__result{font-variant-numeric:tabular-nums;font-size:13px}.benchmark__due{color:var(--text);max-width:78ch;font-size:13px}.benchmark__actions{flex-wrap:wrap;gap:8px;display:flex}.destinations__meta{font-family:var(--mono);color:var(--faint);font-size:12px}.destinations__row{flex-wrap:wrap;gap:8px;display:flex}.destinations__on,.destinations__on:hover:not(:disabled){border-color:var(--good);color:var(--good)}.destinations__note{color:var(--dim);max-width:78ch;font-size:12.5px}.destinations__note>summary{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:12px}.issue{border-color:var(--warn);border-left-width:3px;gap:10px;padding:14px}.issue h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--warn);font-size:12px;font-weight:600}.issue p{color:var(--text);max-width:78ch;font-size:13.5px}.issue a{color:var(--warn)}.threshold{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.threshold p{flex:1;min-width:min(260px,100%)}.sports{background:var(--rule);border:1px solid var(--rule);flex-direction:column;gap:1px;display:flex}.sports__row{background:var(--bg);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:11px 12px;display:flex}.sports__row--on{background:var(--bg-lift);box-shadow:inset 3px 0 0 var(--data)}.sports__toggle,.zrl__toggle{min-width:150px;font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:14px}.sports__toggle input,.zrl__toggle input{width:auto;accent-color:var(--data)}.sports__threshold{flex:1;min-width:170px}.strava{border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:10px;margin-top:4px;padding-top:14px;display:flex}.strava h3{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.strava__result{color:var(--ink);font-size:14px}.strava__connect{margin:6px 0;line-height:0;display:inline-block}.strava__connect img{width:auto;max-width:none;height:48px}.strava__connect:focus-visible{outline-offset:3px}.strava__compatible{margin-top:6px;padding-top:12px;line-height:0}.strava__compatible img{width:auto;height:18px}.danger{border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:10px;margin-top:4px;padding-top:14px;display:flex}.danger h3{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.danger__go{border-color:var(--bad);color:var(--bad)}.danger__go:hover:not(:disabled){background:var(--bad);border-color:var(--bad);color:var(--on-data)}.zrl__switches{flex-direction:column;gap:8px;display:flex}.zrl__hint{color:var(--dim);max-width:78ch;margin:0;font-size:12.5px}.zrl__races{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.zrl__race{border-top:1px solid var(--rule);grid-template-columns:76px minmax(130px,1fr) minmax(180px,2fr) 76px auto;align-items:end;gap:8px;padding-top:10px;display:grid}.zrl__date{padding-bottom:8px;font-size:13px}@media (max-width:640px){.zrl__race{grid-template-columns:1fr auto}.zrl__race label{grid-column:1/-1}}.destinations__sport{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:10px;display:flex}.destinations__sport .destinations__row{flex:1}.outlook{border:1px solid var(--rule);border-left:2px solid var(--data);flex-direction:column;display:flex}.outlook__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:11px 14px;display:flex}.outlook__title{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:600}.outlook__span{letter-spacing:.08em;color:var(--faint);text-transform:uppercase;font-size:12px}.outlook__counts{flex-wrap:wrap;gap:10px 28px;margin:0;padding:12px 14px;display:flex}.outlook__counts dt{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-bottom:5px;font-size:12px}.outlook__counts dd{align-items:center;gap:9px;margin:0;display:flex}.outlook__ticks{gap:3px;display:inline-flex}.tick{border:1px solid var(--rule-loud);width:14px;height:6px;display:inline-block}.tick--done{background:var(--data);border-color:var(--data)}.outlook__line{color:var(--dim);padding:0 14px 12px;font-size:13px}.outlook__gaps{font-family:var(--mono);letter-spacing:.04em;color:var(--faint);flex-direction:column;gap:4px;margin:0;padding:0 14px 12px;font-size:12px;list-style:none;display:flex}.outlook__gaps li{border-top:1px dotted var(--rule);justify-content:space-between;gap:12px;padding-top:4px;display:flex}.span-switch{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.span-switch__title{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.totals--stale{opacity:.55}.totals,.chart,.ladder{border:1px solid var(--rule);flex-direction:column;margin:0;display:flex}.totals__head,.chart__head,.ladder__head{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding:11px 14px;display:flex}.totals__head h2,.chart__title,.ladder__head h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:12px;font-weight:600}.totals__span,.chart__span,.ladder__hint{letter-spacing:.06em;color:var(--faint);font-size:12px}.ladder__rule{color:var(--dim);padding:10px 14px;font-size:12.5px}.totals .metrics{border-top:0;margin:0}.totals__split{border-top:1px solid var(--rule);letter-spacing:.08em;color:var(--faint);padding:9px 14px;font-size:12px}.plot{height:180px;margin:14px 14px 0 44px;position:relative}.plot__svg{width:100%;height:100%;display:block;overflow:visible}.plot__tick{letter-spacing:.06em;color:var(--faint);white-space:nowrap;margin-right:8px;font-size:12px;position:absolute;right:100%;transform:translateY(-50%)}.chart__axis{letter-spacing:.08em;color:var(--faint);justify-content:space-between;gap:10px;padding:5px 14px 0 44px;font-size:12px;display:flex}.chart__legend{border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);flex-wrap:wrap;gap:4px 16px;margin:0;padding:10px 14px;font-size:12px;display:flex}.chart__legend span{align-items:center;gap:6px;display:inline-flex}.chart__key{flex-shrink:0;width:12px;height:3px;display:inline-block}.chart__key--ctl{background:var(--data)}.chart__key--atl{background:var(--run)}.chart__key--partial{border:1px solid var(--data);background:0 0;height:9px}.weeks{align-items:flex-end;gap:1px;height:190px;margin:0;padding:16px 14px 0;list-style:none;display:flex}.weeks__item{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:0;height:100%;display:flex}.weeks__value{color:var(--faint);white-space:nowrap;flex:none;font-size:12px}.weeks__track{flex:1;align-items:flex-end;width:100%;min-height:0;display:flex}.weeks__bar{background:var(--dim);width:100%;min-height:1px}.weeks__bar--peak{background:var(--data)}.weeks__bar--partial{border:1px solid var(--data);background:0 0}.weeks__item--quiet .weeks__label,.weeks__item--quiet .weeks__value{visibility:hidden}.weeks__label{letter-spacing:.02em;color:var(--faint);white-space:nowrap;flex:none;padding-bottom:10px;font-size:12px}.rung{border-top:1px solid var(--rule-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.rung:first-of-type{border-top:0}.rung__name{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:500}.pips{align-items:center;gap:4px;display:flex}.pip{border:1px solid var(--rule-loud);width:11px;height:11px;display:inline-block}.pip--on{background:var(--data);border-color:var(--data)}.rung__state{color:var(--text);margin-left:auto;font-size:12px}.rung__next{color:var(--dim);flex-basis:100%;max-width:78ch;font-size:12.5px}@media (max-width:560px){.plot{height:150px;margin-left:38px}.chart__axis{padding-left:38px}.weeks{height:160px}.weeks__item--quiet-narrow .weeks__label,.weeks__item--quiet-narrow .weeks__value{visibility:hidden}}.band{gap:2px;margin:0;padding:14px;list-style:none;display:flex}.band__week{border:1px solid var(--rule);background:var(--bg-sink);flex:1;justify-content:center;align-items:flex-end;min-width:0;height:34px;padding-bottom:3px;display:flex;overflow:hidden}.band__week--base{background:color-mix(in srgb, var(--data) 18%, transparent)}.band__week--build{background:color-mix(in srgb, var(--data) 42%, transparent)}.band__week--specific{background:color-mix(in srgb, var(--data) 66%, transparent)}.band__week--taper{background:color-mix(in srgb, var(--data) 26%, transparent);border-style:dashed}.band__week--recovery{background:repeating-linear-gradient(-45deg, transparent, transparent 3px, color-mix(in srgb, var(--data) 22%, transparent) 3px, color-mix(in srgb, var(--data) 22%, transparent) 6px)}.band__week--current{outline:2px solid var(--data);outline-offset:-1px}.band__week--goal{border-color:var(--ink);border-width:2px}.band__label{letter-spacing:.02em;color:var(--faint);font-size:8.5px}@media (max-width:560px){.band__label{display:none}.band{gap:1px;padding:14px 10px}}.chart__key--current{outline:2px solid var(--data);outline-offset:-1px;background:0 0;height:11px}.chart__key--recovery{background:repeating-linear-gradient(-45deg, transparent, transparent 2px, color-mix(in srgb, var(--data) 40%, transparent) 2px, color-mix(in srgb, var(--data) 40%, transparent) 4px);border:1px solid var(--rule);height:11px}.early__text{color:var(--dim);max-width:70ch;padding:12px 14px;font-size:14px}.landing{flex-direction:column;gap:0;padding:8px 0 24px;display:flex}.landing__hero{border-bottom:1px solid var(--rule);flex-direction:column;gap:16px;padding:40px 0 36px;display:flex}.landing__eyebrow{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--data);font-size:12px;font-weight:500}.landing h1{letter-spacing:-.02em;text-wrap:balance;max-width:22ch;font-size:clamp(30px,6vw,46px);font-weight:600;line-height:1.05}.landing__lead{color:var(--dim);max-width:58ch;font-size:17px}.landing__lead em{color:var(--ink);font-style:normal;font-weight:600}.landing__hint{font-family:var(--mono);letter-spacing:.08em;color:var(--faint);font-size:12px}.cta{background:var(--data);color:var(--on-data);border:1px solid var(--data);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;align-self:flex-start;padding:12px 22px;font-size:12px;font-weight:600;text-decoration:none}.cta:hover{color:var(--data);background:0 0}.cta--button{font-size:12px}.landing__section{border-bottom:1px solid var(--rule);flex-direction:column;gap:12px;padding:26px 0;display:flex}.landing__section h2{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:12px;font-weight:600}.landing__section p{color:var(--dim);max-width:66ch}.landing__section--muted{color:var(--faint);font-size:13.5px}.landing__steps{counter-reset:step;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.landing__steps li{counter-increment:step;border-top:1px solid var(--rule-soft);grid-template-columns:44px 1fr;gap:14px;padding:12px 0;display:grid}.landing__steps li:before{content:counter(step, decimal-leading-zero);font-family:var(--mono);letter-spacing:.1em;color:var(--data);padding-top:2px;font-size:12px}.landing__steps strong{color:var(--ink);display:block}.landing__steps span{color:var(--dim);grid-column:2;font-size:14px}.landing__list{color:var(--dim);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.landing__list li{padding-left:16px;position:relative}.landing__list li:before{content:"";background:var(--data);width:7px;height:1px;position:absolute;top:.62em;left:0}.landing__legal{border-bottom:0;font-size:12.5px}.waitlist{flex-direction:column;gap:8px;max-width:520px;display:flex}.waitlist__field{gap:8px}.waitlist__row{gap:8px;display:flex}.waitlist__row input{flex:1;min-width:0;padding:11px 12px;font-size:15px}.waitlist__row .cta{flex:none;align-self:stretch}.waitlist .landing__hint{letter-spacing:.02em;line-height:1.5}.waitlist .landing__hint a{color:inherit}.waitlist__trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.waitlist__done{border-left:3px solid var(--good);background:var(--bg);max-width:520px;color:var(--text);padding:12px 14px}.shots{scroll-snap-type:x mandatory;grid-auto-columns:min(78%,300px);grid-auto-flow:column;align-items:start;gap:14px;padding-bottom:6px;display:grid;overflow-x:auto}@media (min-width:760px){.shots{grid-template-columns:repeat(3,1fr);grid-auto-flow:row;overflow:visible}}.shots__item{scroll-snap-align:start;flex-direction:column;gap:8px;margin:0;display:flex}.shots__item img{border:1px solid var(--rule);background:var(--bg-sink);width:100%;height:auto;display:block}.shots__item figcaption{color:var(--dim);font-size:13.5px}.onboarding{flex-direction:column;gap:18px;padding:28px 0;display:flex}.onboarding h1{letter-spacing:-.015em;font-size:26px}.onboarding__lead{color:var(--dim);max-width:62ch}.onboarding fieldset{border:1px solid var(--rule);flex-direction:column;gap:12px;margin:0;padding:14px;display:flex}.onboarding legend{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--data);padding:0 6px;font-size:12px;font-weight:600}.hint{color:var(--dim);max-width:68ch;font-size:12.5px}.attribution{color:var(--faint);margin-top:6px;font-size:12px;line-height:1.4}.legal{flex-direction:column;gap:12px;max-width:70ch;padding:28px 0;display:flex}.legal h1{letter-spacing:-.015em;font-size:26px}.legal h2{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:14px;font-size:12px;font-weight:600}.legal p,.legal li{color:var(--dim);font-size:14.5px}.legal ul{flex-direction:column;gap:8px;margin:0;padding-left:18px;display:flex}.legal__back{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:12px}.consent{border:1px solid var(--rule);border-left:3px solid var(--data);max-width:66ch;font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--dim);cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;padding:12px;font-size:13px}.consent input{width:auto;accent-color:var(--data);flex:none;margin-top:2px}.consent a{color:var(--data)}.cta--locked{color:var(--faint);border-color:var(--rule);cursor:not-allowed;background:0 0}.cta--locked:hover{color:var(--faint);background:0 0}.login{flex-direction:column;align-items:flex-start;gap:18px;max-width:34ch;padding:48px 0 32px;display:flex}.login h1{letter-spacing:-.02em;font-size:clamp(26px,5vw,34px);font-weight:600}.login__lead{color:var(--dim);font-size:14px}.login__field{gap:6px;width:100%}.login__legal{font-family:var(--mono);letter-spacing:.08em;color:var(--faint);padding-top:8px;font-size:12px}.example{border:1px solid var(--rule);background:var(--bg);max-width:520px;box-shadow:inset 3px 0 0 var(--data);margin:4px 0}.example__head{border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.example__reason{color:var(--text);padding:10px 14px 4px}.example__options{flex-direction:column;margin:0;padding:4px 14px 8px;list-style:none;display:flex}.example__options li{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 0;display:flex}.example__options strong{min-width:3ch;color:var(--data);font-size:18px}.example__or{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);flex-basis:100%;font-size:12px}.example__note{border-top:1px solid var(--rule-soft);color:var(--dim);padding:8px 14px 12px;font-size:13px}
