@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.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{--ground:#eef6f7;--paper:#fff;--ink:#0e2f3a;--muted:#557079;--rule:#cfe3e7;--rule-strong:#a9cbd2;--accent:#007a96;--accent-ink:#fff;--stripe:#00b8b2;--danger:#c62828;--black:#007a96;--on-black:#fff;--on-black-muted:#ffffffc7;--chrome-line:#ffffff38;--lane:#d2f0ee;--lane-edge:#00a39e;--marker:#0e2f3a;--off:#9e5800;--swim:#1d5fb0;--bike:#2e8540;--run:#b4501a;--strength:#6b4fa0;--deep:#134e5e;--rem:#3f93a6;--light:#b9e1e6;--focus:#007a96;--text:"Public Sans", system-ui, sans-serif;--num:"Public Sans", system-ui, sans-serif;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ground:#071a20;--paper:#0d262e;--ink:#e6f3f5;--muted:#8fb0b8;--rule:#1c3d47;--rule-strong:#2b5662;--accent:#1aa9c6;--accent-ink:#04161b;--stripe:#2ed3cb;--danger:#ef5350;--black:#062b35;--on-black:#fff;--on-black-muted:#ffffffb8;--chrome-line:#ffffff24;--lane:#0f3d42;--lane-edge:#2ed3cb;--marker:#e6f3f5;--off:#f0a030;--swim:#5ea2f0;--bike:#57c26e;--run:#f28a45;--strength:#a68be0;--deep:#2b7d90;--rem:#4fb3c4;--light:#1d4752;--focus:#2ed3cb}}*,:before,:after{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font:400 1rem/1.45 var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}.page{max-width:34rem;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 2.5rem max(1rem, env(safe-area-inset-left));margin:0 auto}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}p{margin:0}.top{flex-direction:column;gap:.25rem;margin-bottom:1.75rem;display:flex}.date{font:600 1.375rem/1.2 var(--text);letter-spacing:-.005em;margin:0}.syncbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.syncbar-status{color:var(--muted);font-size:.9375rem}.syncbar-button{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;min-height:2.5rem;padding:.375rem .875rem;font-size:.9375rem;font-weight:500}.syncbar-button:disabled{opacity:.6;cursor:progress}.notice{border-left:3px solid var(--off);margin-bottom:1.5rem;padding:.25rem 0 .25rem .875rem}.notice p+pre{margin-top:.5rem}.notice pre,.notice code{font-family:ui-monospace,monospace;font-size:.875rem}.notice pre{white-space:pre-wrap;margin:.5rem 0 0}.empty{color:var(--muted);padding:2rem 0}.hero{margin-bottom:2rem}.hero-label{font:500 1rem/1.3 var(--text);color:var(--muted);margin:0 0 .125rem}.hero-value{align-items:baseline;gap:.375rem;display:flex}.hero-number{font:600 6rem/.9 var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.hero-unit{font:500 1.25rem var(--num);color:var(--muted)}.hero-empty{color:var(--muted);max-width:30ch}.lane{background:linear-gradient(var(--rule), var(--rule)) center / 100% 2px no-repeat;border-radius:999px;height:1.75rem;margin:1.25rem 0 .25rem;position:relative}.lane-band{background:var(--lane);box-shadow:inset 0 0 0 1.5px var(--lane-edge);border-radius:999px;position:absolute;top:0;bottom:0}.lane-week{background:var(--muted);width:2px;margin-left:-1px;position:absolute;top:-.25rem;bottom:-.25rem}.lane-marker{background:var(--paper);width:1.375rem;height:1.375rem;box-shadow:inset 0 0 0 .4375rem var(--marker);border-radius:50%;margin:-.6875rem 0 0 -.6875rem;position:absolute;top:50%}.hero--below .lane-marker,.hero--above .lane-marker{box-shadow:inset 0 0 0 .4375rem var(--off)}.lane-scale{height:1.25rem;font:500 .875rem var(--num);color:var(--muted);position:relative}.lane-scale span{font-variant-numeric:tabular-nums;position:absolute;transform:translate(-50%)}.hero-headline{margin-top:.75rem;font-size:1.125rem;font-weight:600}.hero-sub{color:var(--muted);max-width:38ch}.vitals{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 2.5rem;display:grid}.vital+.vital{border-left:1px solid var(--rule);padding-left:.875rem}.vital dt{color:var(--muted);font-size:.875rem}.vital dd{margin:0}.vital-number{font:600 2rem/1.15 var(--num);font-variant-numeric:tabular-nums}.vital-unit{color:var(--muted);font:500 .9375rem var(--num);margin-left:.25rem}.vital-note{color:var(--muted);margin-top:.125rem;font-size:.8125rem;line-height:1.3}.vital-note--warn{color:var(--off)}.section-title{font:600 1.125rem/1.3 var(--text);margin:0 0 1rem}.trends{margin-bottom:2.5rem}.trend+.trend{margin-top:1rem}.trend-head{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.trend-label{font-size:.9375rem;font-weight:500}.trend-latest{font:500 .9375rem var(--num);color:var(--muted);font-variant-numeric:tabular-nums}.trend-chart{width:100%;height:3rem;display:block;overflow:visible}.trend-axis{color:var(--muted);font:500 .8125rem var(--num);justify-content:space-between;margin-top:.375rem;display:flex}.c-band{fill:var(--lane)}.c-line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.c-deep{fill:var(--deep)}.c-rem{fill:var(--rem)}.c-light{fill:var(--light)}.c-bar{fill:var(--lane-edge)}.c-swim{fill:var(--swim)}.c-bike{fill:var(--bike)}.c-run{fill:var(--run)}.c-strength{fill:var(--strength)}.legend{color:var(--muted);gap:1rem;margin:.375rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:flex}.legend li:before{content:"";vertical-align:-.05em;border-radius:2px;width:.625rem;height:.625rem;margin-right:.375rem;display:inline-block}.legend-swim:before{background:var(--swim)}.legend-bike:before{background:var(--bike)}.legend-run:before{background:var(--run)}.session-list{margin:0;padding:0;list-style:none}.session{border-top:1px solid var(--rule);grid-template-columns:4.75rem minmax(0,1fr);gap:.75rem;padding:.875rem 0;display:grid}.session-day{color:var(--muted);padding-top:.0625rem;font-size:.9375rem}.session-title{align-items:baseline;gap:.5rem;min-width:0;display:flex}.session-sport{flex:none;font-weight:600}.session--swim .session-sport{color:var(--swim)}.session--bike .session-sport{color:var(--bike)}.session--run .session-sport{color:var(--run)}.session--strength .session-sport{color:var(--strength)}.session-name{overflow-wrap:anywhere}.session-meta{color:var(--muted);font:500 .9375rem var(--num);font-variant-numeric:tabular-nums;flex-wrap:wrap;column-gap:.875rem;display:flex}.effort{margin-top:.5rem}.effort-toggle{border:1px dashed var(--rule);min-height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem;font-size:.875rem}.effort-toggle--set{color:var(--ink);border-style:solid;font-weight:500}.effort-scale{grid-template-columns:repeat(10,minmax(0,1fr));gap:.25rem;margin-top:.5rem;display:grid}.effort-scale button{border:1px solid var(--rule);min-height:2.75rem;font:600 1rem var(--num);cursor:pointer;background:0 0;border-radius:6px}.effort-scale button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.effort-ends{color:var(--muted);grid-column:1/-1;justify-content:space-between;font-size:.75rem;display:flex}.effort-error{color:var(--off);margin-top:.25rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.top-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.top--row{flex-direction:row;margin-bottom:.5rem}.page--narrow{max-width:24rem}.page-title{font:600 1.625rem/1.2 var(--text);margin:0 0 .25rem}.page-hint{margin-bottom:.5rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.switcher select{appearance:none;font:500 1rem var(--text);color:var(--ink);background:0 0;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);cursor:pointer;background-position:right .4rem center,right .1rem center;background-repeat:no-repeat;background-size:.3rem .3rem;border:0;min-height:2.5rem;padding:.25rem 1.25rem .25rem 0}.button{border:1px solid var(--rule);min-height:2.75rem;font:500 .9375rem var(--text);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:.375rem 1rem;display:inline-flex}.button:disabled{opacity:.6;cursor:progress}.button--primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button--quiet{color:var(--muted);border-color:#0000;padding-inline:.5rem}.back{margin-left:-.5rem}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.button-row--end{justify-content:space-between;align-items:flex-end}.stack{flex-direction:column;gap:.875rem;display:flex}.field{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.field input,.field select{font:400 1rem var(--text);color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;width:100%;min-height:2.75rem;padding:.625rem .75rem}.field input:disabled,.field select:disabled{color:var(--muted);border-style:dashed}.field--short input{letter-spacing:.15em;max-width:10rem;font-family:var(--num);font-size:1.25rem}.field--inline{flex-direction:row;align-items:center;gap:.5rem}.field--inline input{width:auto}.input-unit{align-items:center;gap:.5rem;display:flex}.input-unit>span{color:var(--muted);font:500 .875rem var(--num);flex:none;min-width:3.25rem}.input-unit input{font-family:var(--num);font-variant-numeric:tabular-nums}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem 1rem;display:grid}@media (width<=22rem){.field-grid{grid-template-columns:1fr}}.hint{color:var(--muted);max-width:46ch;font-size:.875rem}.form-error{color:var(--off);font-size:.9375rem}.form-ok{color:var(--lane-edge);font-size:.9375rem;font-weight:500}.status-line{margin-bottom:.75rem;font-weight:500}.status-line--warn{color:var(--off)}.settings-section{border-top:1px solid var(--rule);padding:1.5rem 0}.settings-section:first-of-type{margin-top:1rem}.settings-section .section-title{margin-bottom:.5rem}.settings-section .hint+.stack,.settings-section .hint+.device-list{margin-top:.75rem}.history{color:var(--muted);margin-top:1rem;font-size:.875rem}.history summary{cursor:pointer;min-height:2rem}.history ul{margin:.5rem 0 0;padding-left:1rem}.device-list{margin:0;padding:0;list-style:none}.device-list li{justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.device-list select{font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;min-height:2.75rem;padding:.5rem}.login{flex-direction:column;gap:1rem;padding-top:18vh;display:flex}.login-title{font:600 2rem/1.1 var(--num);letter-spacing:-.01em;margin:0}.login-sub{color:var(--muted);margin-bottom:.5rem}.login .button{margin-top:.5rem}.empty-state{flex-direction:column;align-items:flex-start;gap:1rem;padding:2.5rem 0;display:flex}.empty-state p{max-width:34ch}.notice .button{margin-top:.625rem}.vitals--two{grid-template-columns:repeat(2,minmax(0,1fr))}.session-rpe{color:var(--muted);margin-top:.375rem;font-size:.875rem}.syncbar{margin-top:.125rem}.field input::placeholder{color:var(--muted);opacity:.55}:root{--tabbar-h:3.75rem;--sidebar-w:14.5rem}.sidebar{display:none}.content{min-width:0;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.desktop-only{display:none}.tabbar{z-index:20;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--rule);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.tabbar a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.125rem;font-size:.75rem;font-weight:500;text-decoration:none;display:flex;position:relative}.tabbar a[aria-current=page]:before{content:"";background:var(--lane-edge);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.tabbar svg,.nav svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1.375rem;height:1.375rem}.page-head{flex-direction:column;gap:.25rem;margin-bottom:1.75rem;display:flex}@media (width>=960px){.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.tabbar,.mobile-only{display:none}.desktop-only{display:block}.content{padding-bottom:0}.sidebar{border-right:1px solid var(--rule);flex-direction:column;gap:1.25rem;height:100vh;padding:1.5rem 1rem 1.25rem 1.25rem;display:flex;position:sticky;top:0}.wordmark{font:600 1.375rem/1 var(--num);letter-spacing:-.01em;margin:.25rem 0 0}.sidebar .switcher select{width:100%}.nav{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.nav a{color:var(--muted);border-radius:8px;align-items:center;gap:.75rem;margin-left:-.75rem;padding:.625rem .75rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--rule) 45%, transparent)}.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]:before{content:"";background:var(--lane-edge);border-radius:3px;width:3px;position:absolute;top:22%;bottom:22%;left:-.5rem}.sidebar-sync{border-top:1px solid var(--rule);margin-top:auto;padding-top:1rem}.sidebar-sync .syncbar{flex-direction:column;align-items:flex-start;gap:.5rem}.page{max-width:none;margin:0;padding:2rem 2.5rem 3rem}.page--today{max-width:72rem}.page--settings{max-width:64rem}.page-head{margin-bottom:2rem}.date{font-size:1.625rem}.today-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:3.5rem;display:grid}.today-col{min-width:0;display:block}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:0 3rem;display:grid}.settings-grid .settings-section:first-of-type{margin-top:1rem}}.session-title{text-align:left;cursor:pointer;width:100%;min-width:0;font:inherit;color:inherit;background:0 0;border:0;align-items:baseline;gap:.5rem;padding:0;display:flex}.session-title:hover .session-name{text-underline-offset:3px;text-decoration:underline}.link{color:var(--swim);text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.button--icon{width:2.75rem;padding:0}.button--icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.button--danger{background:var(--danger);color:#fff;border-color:var(--danger)}.sport-text--swim{color:var(--swim)}.sport-text--bike{color:var(--bike)}.sport-text--run{color:var(--run)}.sport-text--strength{color:var(--strength)}.sport-text--swim,.sport-text--bike,.sport-text--run,.sport-text--strength,.sport-text--multisport,.sport-text--transition,.sport-text--other{font-weight:600}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:.5rem;display:flex}.cal-head .page-title{margin:0}.cal-nav{align-items:center;gap:.375rem;display:flex}.cal-nav .button--primary{margin-left:.75rem}.cal-hint{margin-bottom:1rem}.is-loading{opacity:.6;transition:opacity .2s}.cal-item{--c:var(--muted);text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);border-radius:6px;flex-direction:column;justify-content:center;align-items:stretch;gap:.0625rem;min-height:2.75rem;padding:.3125rem .5rem .3125rem .625rem;display:flex}.cal-item--swim{--c:var(--swim)}.cal-item--bike{--c:var(--bike)}.cal-item--run{--c:var(--run)}.cal-item--strength{--c:var(--strength)}.cal-item--multisport{--c:var(--ink)}.cal-item--planned{border:1.5px dashed var(--c);background:0 0}.cal-item--planned[draggable=true]{cursor:grab}.cal-item--key{border-style:solid}.cal-item--optional{opacity:.75}.cal-item--done{box-shadow:inset 3px 0 0 var(--c);background:color-mix(in srgb, var(--c) 11%, transparent);border:0}.cal-item-title{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:.875rem;font-weight:500;line-height:1.25}.cal-item-meta{color:var(--muted);font:500 .8125rem/1.2 var(--num);font-variant-numeric:tabular-nums;white-space:pre;gap:.5rem;display:flex}.key-mark{color:var(--c);font-weight:600}.rpe-mark{margin-left:auto}.cal-item:hover{background:color-mix(in srgb, var(--c) 16%, transparent)}.cal-day{flex-direction:column;gap:.25rem;height:100%;display:flex}.cal-day-head{justify-content:space-between;align-items:center;min-height:1.75rem;display:flex}.cal-day-num{font:500 .875rem var(--num);color:var(--muted);font-variant-numeric:tabular-nums}.cal-day--today .cal-day-num{color:var(--paper);background:var(--ink);border-radius:999px;padding:.0625rem .5rem}.cal-day-items{flex-direction:column;gap:.25rem;display:flex}.cal-add{width:1.75rem;height:1.75rem;color:var(--muted);font:500 1.125rem/1 var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px}.cal-add:hover,.cal-add:focus-visible{border-color:var(--rule);color:var(--ink)}.month{border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.month-row{grid-template-columns:repeat(7,minmax(0,1fr)) minmax(9.5rem,.95fr);display:grid}.month-row--head{z-index:2;background:var(--paper);position:sticky;top:0}.month-dow{color:var(--muted);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.5rem .625rem;font-size:.8125rem;font-weight:500}.month-cell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);min-width:0;min-height:8.5rem;padding:.375rem}.month-cell--week{background:color-mix(in srgb, var(--rule) 22%, transparent);padding:.625rem .75rem}.cal-day--out{opacity:.45}.cal-day--drop{outline:2px dashed var(--lane-edge);outline-offset:2px;border-radius:6px}@media (hover:hover){.month .cal-add{opacity:0}.month .cal-day:hover .cal-add,.month .cal-add:focus-visible{opacity:1}}.totals{flex-direction:column;gap:.25rem;margin:0;display:flex}.total{justify-content:space-between;gap:.5rem;font-size:.875rem;display:flex}.total dt{color:var(--muted)}.total dd{font:600 .9375rem var(--num);font-variant-numeric:tabular-nums;text-align:right;margin:0}.total .of{color:var(--muted);font-weight:500}.total--swim dt{color:var(--swim)}.total--bike dt{color:var(--bike)}.total--run dt{color:var(--run)}.total--strength dt{color:var(--strength)}.total--all{border-top:1px solid var(--rule);margin-top:.25rem;padding-top:.375rem}.total--all dt{color:var(--ink);font-weight:500}.totals--compact .total dd{font-size:.875rem}.totals-empty{color:var(--muted);font-size:.8125rem}.week-summary{border-bottom:1px solid var(--rule);padding:.75rem 0 1rem}.week-summary .totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1.5rem;display:grid}.week-summary .total--all{grid-column:1/-1}.week-days{margin:0;padding:0;list-style:none}.week-days>li{border-bottom:1px solid var(--rule);padding:.75rem 0}.week .cal-day-num{font-size:.9375rem}.week .cal-day-items:empty:after{content:"Rest";color:var(--muted);opacity:.7;font-size:.875rem}.week .cal-add{border-color:var(--rule)}.dialog{color:var(--ink);background:var(--paper);border:0;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:0}.dialog::backdrop{background:#0f1a2273}.dialog-inner{flex-direction:column;height:100%;display:flex}.dialog-head{padding:max(.75rem, env(safe-area-inset-top)) 1rem .75rem;border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-title{font:600 1.125rem/1.3 var(--text);overflow-wrap:anywhere;margin:0}.dialog-close{cursor:pointer;width:2.75rem;height:2.75rem;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none}.dialog-close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.375rem;height:1.375rem}.dialog-body{overscroll-behavior-x:none;padding:1rem 1rem calc(1.5rem + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}@media (width>=960px){.dialog--modal{border-radius:14px;width:min(36rem,92vw);height:auto;max-height:88vh;margin:auto}.dialog--drawer{border-left:1px solid var(--rule);width:min(34rem,92vw);height:100vh;max-height:100vh;margin:0 0 0 auto}.dialog-head{padding:1rem 1.25rem}.dialog-body{padding:1.25rem 1.5rem 1.75rem}}@media (prefers-reduced-motion:no-preference){.dialog--drawer[open]{animation:.18s ease-out drawer-in}@keyframes drawer-in{0%{opacity:0;transform:translate(1.5rem)}}}.sport-pick{border:0;flex-wrap:wrap;gap:.375rem;margin:0;padding:0;display:flex}.sport-chip{--c:var(--muted);position:relative}.sport-chip--swim{--c:var(--swim)}.sport-chip--bike{--c:var(--bike)}.sport-chip--run{--c:var(--run)}.sport-chip--strength{--c:var(--strength)}.sport-chip--multisport{--c:var(--ink)}.sport-chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.sport-chip span{border:1.5px solid var(--rule);border-radius:999px;align-items:center;min-height:2.5rem;padding:0 .875rem;font-size:.9375rem;font-weight:500;display:inline-flex}.sport-chip input:checked+span{border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 10%, transparent)}.sport-chip input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.field-grid--3{grid-template-columns:1.4fr 1fr 1fr}@media (width<=30rem){.field-grid--3{grid-template-columns:1fr 1fr}.field-grid--3>:first-child{grid-column:1/-1}}.field textarea,.notes{font:400 1rem/1.45 var(--text);color:var(--ink);border:1px solid var(--rule);resize:vertical;background:0 0;border-radius:8px;width:100%;padding:.625rem .75rem}.priority-pick{border:0;flex-direction:column;gap:.25rem;margin:0;padding:0;display:flex}.priority-pick legend{color:var(--muted);margin-bottom:.25rem;font-size:.875rem}.priority-option{cursor:pointer;align-items:center;gap:.625rem;min-height:2.5rem;display:flex}.priority-option input{width:1.125rem;height:1.125rem;accent-color:var(--ink)}.priority-option strong{margin-right:.25rem;font-weight:600}.priority-option span{color:var(--muted)}.priority-option strong{color:var(--ink)}.editor-actions{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1rem;display:flex}.editor-actions .spacer{flex:1}.confirm{align-items:center;gap:.5rem;font-size:.9375rem;display:inline-flex}.activity{flex-direction:column;gap:1.25rem;display:flex}.activity-kicker{color:var(--muted)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem 1rem;margin:0;display:grid}.stat dt{color:var(--muted);font-size:.8125rem}.stat dd{font:600 1.375rem/1.2 var(--num);font-variant-numeric:tabular-nums;margin:0}.subhead{font:600 1rem var(--text);margin:0 0 .5rem}.legs{margin:0;padding:0;list-style:none}.leg{text-align:left;border:0;border-top:1px solid var(--rule);width:100%;font:500 .9375rem var(--num);color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:6rem 1fr 1fr;padding:.625rem 0;display:grid}.leg:hover{background:color-mix(in srgb, var(--rule) 30%, transparent)}.effort-scale--inline{margin-top:0}.notes-read{white-space:pre-wrap}.table-wrap{margin:0 -.25rem;overflow-x:auto}.laps{border-collapse:collapse;width:100%;font:500 .875rem var(--num);font-variant-numeric:tabular-nums}.laps th{text-align:right;color:var(--muted);border-bottom:1px solid var(--rule);white-space:nowrap;padding:.375rem .5rem;font-weight:500}.laps td{text-align:right;border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);white-space:nowrap;padding:.375rem .5rem}.laps th:first-child,.laps td:first-child{text-align:left;color:var(--muted)}@media (width>=960px){.dialog--wide{border-radius:14px;width:min(76rem,94vw);height:92vh;max-height:92vh;margin:auto}.editor{grid-template-columns:minmax(17rem,21rem) minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.editor-workout{min-width:0}.editor-details{position:sticky;top:0}}.editor{flex-direction:column;gap:1.5rem;display:flex}.editor>*,.builder,.steps,.steps>li,.step,.repeat{min-width:0}.field input,.field select,.step-field select,.step-field input{min-width:0;max-width:100%}@media (width>=960px){.editor{display:grid}}.field--computed{flex-direction:column;grid-column:span 2;gap:.25rem;margin:0;display:flex}.field--computed span:last-child{color:var(--ink);padding:.625rem 0;font-size:.9375rem}.profile{border-bottom:1px solid var(--rule);--c:var(--muted);width:100%;min-width:0;display:block;position:relative;overflow:hidden}.profile-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.profile--swim{--c:var(--swim)}.profile--bike{--c:var(--bike)}.profile--run{--c:var(--run)}.profile--strength{--c:var(--strength)}.profile-block{fill:var(--c)}.profile-block--guess{fill:none;stroke:var(--c);stroke-dasharray:3 3}.profile-threshold{stroke:var(--muted);stroke-dasharray:2 4;stroke-width:1px;opacity:.6}.profile--empty{color:var(--muted);border:1px dashed var(--rule);border-radius:8px;justify-content:center;align-items:center;font-size:.875rem;display:flex}.builder-totals{color:var(--muted);margin:.5rem 0 1rem;font-size:.9375rem}.builder-totals strong{color:var(--ink);font:600 1.0625rem var(--num)}.steps{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.steps--inner{gap:.375rem}.step{--c:var(--muted);border:1px solid var(--rule);border-left:3px solid var(--c);border-radius:8px;padding:.5rem .625rem .625rem .75rem}.step--warmup,.step--cooldown{--c:var(--lane-edge)}.step--recovery,.step--rest{--c:var(--rule)}.step--problem{border-color:var(--off)}.step-head{align-items:center;gap:.25rem .5rem;min-width:0;display:flex}.step-type{font:600 .9375rem var(--text);color:var(--ink);cursor:pointer;background:0 0;border:0;min-height:2.25rem;padding:.25rem 1.25rem .25rem 0}.step-est{text-align:right;min-width:0;color:var(--muted);font:500 .875rem var(--num);font-variant-numeric:tabular-nums;flex:auto}.step-est>span{white-space:nowrap}.step-actions{flex:none;gap:.125rem;display:inline-flex}.icon-btn{width:2.25rem;height:2.25rem;color:var(--muted);font:500 1.0625rem/1 var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px}.icon-btn:hover:not(:disabled){background:color-mix(in srgb, var(--rule) 50%, transparent);color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:default}.step-fields{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.step-field{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;display:flex}.step-field select,.step-field input,.step-note,.repeat-head input{font:400 .9375rem var(--text);color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:6px;min-height:2.5rem;padding:.375rem .5rem}.step-field select{padding-right:.25rem}.in-short{font-variant-numeric:tabular-nums;width:5.5rem;font-family:var(--num)!important}.in-num{font-variant-numeric:tabular-nums;text-align:center;width:4.25rem;font-family:var(--num)!important}.in-num--tiny{width:3.25rem}.is-bad{border-color:var(--off)!important}.range{align-items:center;gap:.375rem;display:inline-flex}.range-unit{color:var(--muted);font:500 .875rem var(--num)}.resolved{font:600 .9375rem var(--num);color:var(--ink);background:color-mix(in srgb, var(--lane) 70%, transparent);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:.125rem .5rem}.field-label{color:var(--muted);min-width:4.5rem;font-size:.875rem}.step-note{width:100%}.step-problem{color:var(--off);margin-top:.375rem;font-size:.875rem}.input-unit--tight>span{min-width:0}.link--quiet{color:var(--muted);align-self:flex-start;font-size:.875rem}.repeat{border:1px solid var(--rule);background:color-mix(in srgb, var(--rule) 18%, transparent);border-radius:10px;padding:.5rem .625rem .625rem}.repeat-head{flex-wrap:wrap;align-items:center;gap:.375rem .5rem;margin-bottom:.5rem;display:flex}.repeat-head .step-actions{margin-left:auto}.repeat-label{font-weight:600}.check{color:var(--muted);align-items:center;gap:.375rem;min-height:2.25rem;margin-left:.5rem;font-size:.875rem;display:inline-flex}.check input{width:1.0625rem;height:1.0625rem;accent-color:var(--ink)}.add-row{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.add-row--inner{margin-top:.5rem}.add-btn{border:1px dashed var(--rule);min-height:2.375rem;font:500 .875rem var(--text);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.25rem .75rem}.add-btn:hover{color:var(--ink);border-color:var(--muted)}.library{flex-direction:column;gap:1rem;display:flex}.library-top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-top select{font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;min-height:2.75rem;padding:.5rem}.library-list{margin:0;padding:0;list-style:none}.library-item{border-top:1px solid var(--rule);flex-direction:column;gap:.375rem;padding:.75rem 0;display:flex}.library-item-main{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.library-item-title{font-weight:500}.library-item-meta{color:var(--muted);font:500 .875rem var(--num);white-space:pre;margin-left:auto}.library-item-actions{flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.9375rem;display:flex}.library-item-actions input{font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;min-height:2.75rem;padding:.5rem}.confirm input[type=date]{font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;min-height:2.5rem;padding:.4rem .5rem}.editor-actions{bottom:calc(-1.5rem - env(safe-area-inset-bottom));background:var(--paper);padding-bottom:calc(.75rem + env(safe-area-inset-bottom));margin-bottom:calc(-1.5rem - env(safe-area-inset-bottom));z-index:3;position:sticky}@media (width>=960px){.builder-head{z-index:2;background:var(--paper);padding-top:.25rem;position:sticky;top:-1.25rem}.editor-workout>.subhead{margin-bottom:.25rem}.editor-actions{margin-bottom:-1.75rem;padding-bottom:1.25rem;bottom:-1.75rem}}.hero,.vitals,.trends,.sessions,.settings-section,.week,.month,.empty-state,.login,.notice{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius)}.hero{border-top:4px solid var(--stripe);margin-bottom:1rem;padding:1rem 1.125rem 1.25rem}.vitals{margin-bottom:1rem}.vital{padding:.875rem .75rem 1rem 1rem}.vital+.vital{padding-left:.875rem}.trends{margin-bottom:1rem;padding:1rem 1.125rem 1.125rem}.sessions{margin-bottom:1rem;padding:1rem 1.125rem .25rem}.session:last-child{border-bottom:0}.empty-state{padding:1.5rem 1.25rem}.notice{border-left:4px solid var(--off);padding:.875rem 1rem}.section-title{font:700 1.125rem/1.2 var(--num);letter-spacing:.005em;border-bottom:1px solid var(--rule);margin-bottom:.75rem;padding-bottom:.625rem}.hero-label{font:600 1rem var(--num);color:var(--muted)}.date,.page-title{font-family:var(--num);letter-spacing:-.005em;font-weight:700}.date{font-size:1.5rem}.page-title{font-size:1.75rem}.settings-section{margin-bottom:1rem;padding:1.125rem 1.25rem 1.25rem}.settings-section:first-of-type,.settings-grid .settings-section:first-of-type{margin-top:.75rem}.button{background:var(--paper);border-color:var(--rule-strong)}.button--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.button--primary:hover:not(:disabled){filter:brightness(1.08)}.button--quiet{background:0 0;border-color:#0000}.syncbar-button{background:var(--paper);border-color:var(--rule-strong)}.effort-scale button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tabbar{background:var(--black);border-top:0}.tabbar a{color:var(--on-black-muted)}.tabbar a[aria-current=page]{color:var(--on-black)}.tabbar a[aria-current=page]:before{background:var(--on-black);height:3px;left:25%;right:25%}@media (width>=960px){.sidebar{background:var(--black);color:var(--on-black);border-right:0}.wordmark{color:var(--on-black);border-bottom:3px solid var(--stripe);align-self:flex-start;padding-bottom:.75rem;font-size:1.5rem;font-weight:700}.sidebar .switcher select{color:var(--on-black);border:1px solid var(--chrome-line);background-color:#0000;background-position:right .85rem center,right .55rem center;border-radius:8px;padding:.5rem 1.75rem .5rem .75rem}.sidebar .switcher select option{color:#0e2f3a;background:#fff}.nav a{color:var(--on-black-muted)}.nav a:hover{color:var(--on-black);background:#ffffff1a}.nav a[aria-current=page]{color:var(--on-black);background:#ffffff29}.nav a[aria-current=page]:before{background:var(--on-black);width:4px;top:18%;bottom:18%;left:-.5rem}.sidebar-sync{border-top-color:var(--chrome-line)}.sidebar .syncbar-status{color:var(--on-black-muted)}.sidebar .syncbar-button{color:var(--on-black);border-color:var(--chrome-line);background:0 0}.hero{padding:1.25rem 1.5rem 1.5rem}.trends,.sessions{padding-left:1.5rem;padding-right:1.5rem}.today-grid{gap:1.25rem}}.month{border-left:1px solid var(--rule);overflow:hidden}.month-row--head{background:var(--paper)}.month-dow{font:700 .8125rem var(--num);color:var(--ink);background:color-mix(in srgb, var(--ground) 60%, var(--paper))}.month-cell{border-color:var(--rule)}.month-row>.month-cell:last-child,.month-row>.month-dow:last-child{border-right:0}.month-row:last-child>.month-cell{border-bottom:0}.month-cell--week{background:color-mix(in srgb, var(--ground) 55%, var(--paper))}.cal-day--today .cal-day-num{background:var(--accent);color:var(--accent-ink);font-weight:700}.cal-item--key{border-width:2px}.key-mark{color:var(--accent)}.week{padding:0 1rem}.week-days>li:last-child{border-bottom:0}.week-summary{padding:.875rem 0}.dialog{background:var(--paper)}.dialog-head{border-bottom:1px solid var(--rule)}.dialog-title{font-family:var(--num);font-size:1.25rem;font-weight:700}@media (width>=960px){.dialog--modal,.dialog--wide{border:1px solid var(--rule)}.dialog--drawer{border-left:4px solid var(--stripe)}}.step{background:var(--paper)}.step--interval,.step--main{--c:var(--stripe)}.repeat{background:color-mix(in srgb, var(--ground) 70%, var(--paper));border-color:var(--rule-strong)}.repeat-label{font-family:var(--num);font-weight:700}.login{border-top:4px solid var(--stripe);margin-top:14vh;padding:1.75rem 1.5rem}.login-title{font-weight:700}.hero--below .hero-number,.hero--above .hero-number{color:var(--off)}.garmin-box{border:1px solid var(--rule);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem .875rem;display:flex}.garmin-box--sent{border-color:color-mix(in srgb, var(--bike) 55%, var(--rule))}.garmin-box--out_of_date{border-color:var(--off)}.garmin-box-status{font-size:.9375rem;font-weight:600}.garmin-box--sent .garmin-box-status{color:var(--bike)}.garmin-box--out_of_date .garmin-box-status{color:var(--off)}.g-mark{font:600 .75rem var(--num);align-items:center;gap:.125rem;margin-left:auto;display:inline-flex}.g-mark svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:.875rem;height:.875rem}.g-mark--sent{color:var(--muted)}.g-mark--out_of_date{color:var(--off)}.cal-notice{margin:0 0 .75rem}.import-list{border:1px solid var(--rule);border-radius:8px;max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.import-list li+li{border-top:1px solid var(--rule)}.check--row{color:var(--ink);cursor:pointer;align-items:center;gap:.625rem;min-height:2.75rem;margin:0;padding:.5rem .75rem;font-size:.9375rem;display:flex}.cal-nav{flex-wrap:wrap;justify-content:flex-end}@media (width>=960px){.page.page--narrow{max-width:26rem;margin:0 auto;padding:2rem 1.5rem}}.hero-number{letter-spacing:-.035em;font-size:5.25rem;font-weight:700}.vital-number{letter-spacing:-.02em;font-size:1.75rem}.stat dd{letter-spacing:-.01em;font-size:1.25rem}.cal-item-title{font-size:.8125rem}.cal-item-meta{font-size:.75rem}.total dd,.totals--compact .total dd{font-size:.8125rem}.totals--compact .total{font-size:.75rem}.date{letter-spacing:-.015em;font-size:1.375rem}.page-title{letter-spacing:-.015em;font-size:1.5rem}.section-title,.dialog-title{letter-spacing:-.01em}.wordmark,.login-title{letter-spacing:-.02em}@media (width>=960px){.date{font-size:1.5rem}.page-title{font-size:1.625rem}}.cal-item--missed{border-color:color-mix(in srgb, var(--danger) 70%, var(--c));background:color-mix(in srgb, var(--danger) 5%, transparent)}.cal-item--missed .cal-item-title{color:var(--muted)}.cal-item--skipped{opacity:.6}.cal-item--skipped .cal-item-title{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.status-tag{font:700 .6875rem/1.2 var(--num);text-transform:uppercase;letter-spacing:.04em}.status-tag--missed{color:var(--danger)}.status-tag--skipped{color:var(--muted)}.cal-item--warn{box-shadow:inset 3px 0 0 var(--c), inset 0 0 0 1.5px color-mix(in srgb, var(--off) 55%, transparent)}.cal-item-title .c-mark{margin-right:.3125rem}.c-mark{vertical-align:-.125rem;width:.9375rem;height:.9375rem;font:800 .6875rem/1 var(--num);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.c-mark--good{background:var(--c);color:var(--paper)}.c-mark--good svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:.6875rem;height:.6875rem}.c-mark--warn{background:var(--off);color:#fff}.cal-item-flag{color:var(--off);overflow-wrap:anywhere;font-size:.75rem;font-weight:600;line-height:1.25}.week-compliance{border-top:1px dashed var(--rule-strong);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.125rem .75rem;margin:.5rem 0 0;padding-top:.375rem;font-size:.75rem;display:flex}.week-compliance strong{color:var(--ink);font:700 .8125rem var(--num);font-variant-numeric:tabular-nums}.week-compliance--missed span:first-child strong{color:var(--danger)}.week-summary .week-compliance{justify-content:flex-start;gap:.25rem 1.5rem;font-size:.8125rem}.plan-status{border:1px solid var(--rule);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;margin:0;padding:.625rem .75rem;font-size:.9375rem;display:flex}.plan-status--done{border-color:color-mix(in srgb, var(--bike) 50%, var(--rule));background:color-mix(in srgb, var(--bike) 7%, var(--paper))}.plan-status--done span{color:var(--bike);overflow-wrap:anywhere;font-weight:600}.plan-status--missed{border-color:color-mix(in srgb, var(--danger) 45%, var(--rule));background:color-mix(in srgb, var(--danger) 5%, var(--paper))}.plan-status--skipped{color:var(--muted)}.pvd{border:1px solid var(--rule);border-left:4px solid color-mix(in srgb, var(--bike) 70%, var(--rule));border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem .875rem;display:flex}.pvd--warn{border-left-color:var(--off)}.pvd-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.pvd-head .subhead{margin:0}.pvd-plan{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.375rem;margin:0;font-weight:600;display:flex}.pvd-figures{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.375rem 1rem;margin:0;display:grid}.pvd-figures dt{color:var(--muted);font-size:.75rem}.pvd-figures dd{font:600 .9375rem var(--num);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.125rem .375rem;margin:0;display:flex}.pvd-figures .of{color:var(--muted);font-weight:500}.pct{font:700 .75rem var(--num);color:var(--bike)}.pct--off{color:var(--off)}.pvd-flags{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.pvd-flags li{color:var(--off);font-size:.875rem;font-weight:600}.pvd-flags li:before{content:"! ";font-weight:800}.pvd-ok{color:var(--bike);margin:0;font-size:.875rem;font-weight:600}.pvd-notes{color:var(--muted);flex-direction:column;gap:.125rem;margin:0;padding-left:1.125rem;font-size:.875rem;display:flex}.pvd-steps td:nth-child(n+2){white-space:nowrap}.verdict{font-weight:600}.verdict--on_target{color:var(--bike)}.verdict--under,.verdict--over{color:var(--off)}.verdict--no_data{color:var(--muted)}@media (width<=480px){.icon-btn{width:2rem}.repeat{padding:.5rem .375rem}.step{padding:.5rem .375rem .5rem .625rem}.step-type{padding-right:.75rem}}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}.button--small{min-height:2.25rem;padding:.25rem .75rem;font-size:.875rem}.day-order{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.day-order>span{flex:10rem}.add-choice{flex-direction:column;gap:.625rem;display:flex}.add-choice-btn{text-align:left;cursor:pointer;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;border-radius:10px;flex-direction:column;gap:.125rem;min-height:3.5rem;padding:.875rem 1rem;display:flex}.add-choice-btn strong{font-weight:600}.add-choice-btn span{color:var(--muted);font-size:.875rem}.add-choice-btn:hover,.add-choice-btn:focus-visible{border-color:var(--accent)}.cal-item--insert{box-shadow:0 -3px 0 0 var(--accent)}.week-copy{text-align:left;width:fit-content;margin-top:.5rem;font-size:.8125rem;display:block}.week-summary .week-copy{font-size:.875rem}.logged-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.logged-row .hint{margin:0}.log-effort{border:0;margin:0;padding:0}.log-effort legend{color:var(--muted);margin-bottom:.25rem;font-size:.875rem}.connector-how{border:1px solid var(--rule);border-radius:8px;margin-top:.75rem;padding:.625rem .75rem}.connector-how summary{cursor:pointer;align-items:center;min-height:2rem;font-weight:600;display:flex}.connector-how p{margin:.5rem 0;font-size:.9375rem}.code-block{background:color-mix(in srgb, var(--ground) 70%, var(--paper));border:1px solid var(--rule);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);border-radius:6px;margin:.5rem 0;padding:.625rem .75rem;font:500 .8125rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.token-form{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.token-form .field{flex:12rem}.token-fresh{border:1px solid var(--stripe);border-radius:8px;margin-top:.75rem;padding:.625rem .75rem}.token-fresh p{margin-top:0}.token-list{margin:.75rem 0 0;padding:0;list-style:none}.token-list li{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.token-list .hint{margin:0;font-size:.8125rem;display:block}:root{--fitness:#00809e;--fatigue:#c2410c;--load-bar:#b9cfd4}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--fitness:#1d9fbd;--fatigue:#e26a33;--load-bar:#2c4a53}}:root[data-theme=dark]{--fitness:#1d9fbd;--fatigue:#e26a33;--load-bar:#2c4a53}.key{vertical-align:-.1em;border-radius:2px;flex:none;width:.75rem;height:.75rem;margin-right:.375rem;display:inline-block}.key--fitness{background:var(--fitness);vertical-align:.2em;border-radius:2px;height:3px}.key--fatigue{background:var(--fatigue);vertical-align:.2em;border-radius:2px;height:3px}.key--load{background:var(--load-bar)}.key--fresh{background:var(--fitness);opacity:.75}.key--tired{background:var(--fatigue);opacity:.75}.key--fresh+.key--tired{margin-left:-.25rem}.seg{border:1px solid var(--rule-strong);border-radius:999px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg-btn{color:var(--ink);font:500 .875rem var(--text);cursor:pointer;background:0 0;border:0;min-height:2.5rem;padding:.375rem .875rem}.seg-btn+.seg-btn{border-left:1px solid var(--rule)}.seg-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.pmc-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1.25rem;display:grid}.tile{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);min-width:0;padding:.75rem .875rem}.tile dt{color:var(--muted);align-items:center;font-size:.875rem;display:flex}.tile dd{font:700 2rem/1.1 var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.125rem 0 0}.tile p{color:var(--muted);margin:.125rem 0 0;font-size:.8125rem}@media (width<=480px){.tile{padding:.625rem}.tile dd{font-size:1.5rem}.tile p{font-size:.75rem}}.pmc-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);min-width:0;margin-bottom:1.25rem;padding:1rem}.pmc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:.5rem;display:flex}.pmc-legend{flex-wrap:wrap;gap:.25rem 1rem;margin:0}.pmc-legend li{align-items:center;display:inline-flex}.pmc-legend li:before{display:none}.pmc{touch-action:pan-y;width:100%;min-width:0;position:relative}.pmc svg{display:block;overflow:visible}.pmc-plan{fill:color-mix(in srgb, var(--ground) 65%, transparent)}.pmc-grid{stroke:var(--rule);stroke-width:1px}.pmc-zero{stroke:var(--rule-strong);stroke-width:1px}.pmc-tick{fill:var(--muted);font:500 11px var(--num);font-variant-numeric:tabular-nums}.pmc-panel{fill:var(--muted);font:600 12px var(--text)}.pmc-load{fill:var(--load-bar)}.pmc-load--plan{fill:none;stroke:var(--load-bar);stroke-width:1.5px;stroke-dasharray:3 2}.pmc-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pmc-line--fitness{stroke:var(--fitness)}.pmc-line--fatigue{stroke:var(--fatigue)}.pmc-line--plan{stroke-dasharray:5 4;opacity:.85}.pmc-form--fresh{fill:var(--fitness);opacity:.75}.pmc-form--tired{fill:var(--fatigue);opacity:.75}.pmc-form--plan{opacity:.35}.pmc-today{stroke:var(--ink);stroke-width:1px;opacity:.5}.pmc-today-label{fill:var(--ink);font:600 11px var(--text)}.pmc-dot{stroke:var(--paper);stroke-width:2px}.pmc-dot--fitness{fill:var(--fitness)}.pmc-dot--fatigue{fill:var(--fatigue)}.pmc-end{fill:var(--ink);font:700 12px var(--num)}.pmc-cross{stroke:var(--muted);stroke-width:1px}.pmc-tip{pointer-events:none;z-index:3;background:var(--paper);border:1px solid var(--rule-strong);border-radius:8px;width:180px;padding:.5rem .625rem;font-size:.8125rem;position:absolute;top:0;box-shadow:0 4px 14px #0e2f3a1f}.pmc-tip strong{margin-bottom:.25rem;display:block}.pmc-tip dl{flex-direction:column;gap:.125rem;margin:0;display:flex}.pmc-tip dl div{justify-content:space-between;gap:.5rem;display:flex}.pmc-tip dt{color:var(--muted);align-items:center;display:flex}.pmc-tip dd{font:600 .8125rem var(--num);font-variant-numeric:tabular-nums;margin:0}.weeks-table td:nth-child(n+2){white-space:nowrap}.weeks-table .is-future td{color:var(--muted)}.page--progress .notice code{white-space:nowrap}.week-load{color:var(--muted);justify-content:space-between;gap:.5rem;margin:.375rem 0 0;font-size:.75rem;display:flex}.week-load strong{color:var(--ink);font:700 .8125rem var(--num);font-variant-numeric:tabular-nums}.week-summary .week-load{justify-content:flex-start;gap:.75rem;font-size:.8125rem}.load-how{margin-top:-.5rem}.ready{border:1px solid var(--rule);border-left:4px solid var(--c,var(--rule-strong));border-radius:var(--radius);background:var(--paper);margin-bottom:1.25rem;padding:.875rem 1rem}.ready--good{--c:var(--bike)}.ready--caution{--c:var(--off)}.ready--low{--c:var(--danger)}.ready-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ready-head .section-title{margin:0}.ready-tag{font:700 .8125rem var(--num);color:var(--c);align-items:center;gap:.25rem;display:inline-flex}.ready-tag svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.ready-headline{margin:.375rem 0 .5rem;font-size:1rem;font-weight:600}.ready-signals{color:var(--muted);flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.sig{align-items:baseline;gap:.5rem;display:flex}.sig:before{content:"";border-radius:999px;flex:none;width:.5rem;height:.5rem;transform:translateY(-.05em)}.sig--ok:before{background:var(--bike)}.sig--off:before{background:var(--off)}.sig--bad:before{background:var(--danger)}.ready-suggest{border-top:1px dashed var(--rule-strong);margin-top:.75rem;padding-top:.625rem}.ready-suggest ul{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.ready-suggest p{margin:0 0 .375rem;font-size:.9375rem}.pmc-cap{fill:var(--ink);font:700 11px var(--num);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--paper);stroke-width:3px}.thr-preview{border:1px solid var(--off);background:color-mix(in srgb, var(--off) 5%, var(--paper));border-radius:8px;margin-top:1rem;padding:.75rem .875rem}.thr-preview p{margin:0 0 .5rem;font-size:.9375rem}.thr-changes{flex-direction:column;gap:.375rem;margin:0 0 .5rem;padding:0;font-size:.875rem;list-style:none;display:flex}.thr-changes li{grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem;display:grid}.thr-when{color:var(--muted)}.thr-garmin{color:var(--off);font-weight:600}.thr-held{border:0;margin:.5rem 0;padding:0}.thr-held legend{color:var(--muted);margin-bottom:.25rem;font-size:.875rem}.block-list{margin:0 0 .75rem;padding:0;list-style:none}.block-list li{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.625rem 0;display:flex}.block-main{flex-direction:column;gap:.125rem;min-width:0;display:flex}.block-main .hint{margin:0}.block-pin{font-size:.875rem}.block-newer{color:var(--off);font-size:.875rem;font-weight:600}.block-form{margin-top:.75rem}.week-block{font:700 .75rem var(--text);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;overflow-wrap:anywhere;margin:0 0 .375rem}.coach-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.coach-about{color:var(--muted);font-weight:500}.coach{grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;display:grid}@media (width>=960px){.coach{grid-template-columns:15rem minmax(0,1fr);align-items:start}}.chat-list{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.5rem;min-width:0;padding:.75rem;display:flex}@media (width>=960px){.chat-list{max-height:calc(100vh - 8rem);position:sticky;top:1rem;overflow-y:auto}}.chat-new{width:100%}.chat-list ul{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.chat-list li{border-radius:6px;align-items:center;gap:.25rem;display:flex}.chat-list li.is-current{background:color-mix(in srgb, var(--accent) 12%, transparent)}.chat-list-open{text-align:left;min-width:0;color:var(--ink);font:500 .875rem/1.3 var(--text);cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;flex:1;min-height:2.5rem;padding:.5rem}.chat{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);flex-direction:column;min-width:0;min-height:calc(100vh - 12rem);display:flex}@media (width<=959px){.chat{min-height:calc(100vh - 15rem)}}.chat-scroll{flex:1;min-width:0;padding:1rem;overflow-y:auto}.chat-empty p{color:var(--muted);margin:0 0 .75rem}.chat-suggest{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.chat-suggest button{text-align:left;border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font:500 .9375rem/1.35 var(--text);cursor:pointer;border-radius:10px;min-height:2.75rem;padding:.625rem .75rem}.chat-suggest button:hover{border-color:var(--accent)}.chat-items{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.chat-user{background:color-mix(in srgb, var(--accent) 12%, var(--paper));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--rule));border-radius:12px 12px 4px;align-self:flex-end;max-width:85%;padding:.5rem .75rem}.chat-user p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat-assistant{min-width:0;max-width:100%}.rich{overflow-wrap:anywhere;font-size:.9375rem;line-height:1.55}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich p{margin:0 0 .625rem}.rich ul,.rich ol{margin:0 0 .625rem;padding-left:1.25rem}.rich li{margin:.125rem 0}.rich h3,.rich h4{margin:.75rem 0 .375rem;font-size:1rem}.rich code{background:color-mix(in srgb, var(--ground) 70%, var(--paper));border-radius:4px;padding:0 .25rem;font:.875em ui-monospace,monospace}.rich table{border-collapse:collapse;max-width:100%;margin:0 0 .625rem;font-size:.875rem;display:block;overflow-x:auto}.rich th,.rich td{border-bottom:1px solid var(--rule);text-align:left;padding:.25rem .625rem .25rem 0}.chat-activity{color:var(--muted);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.chat-activity svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;flex:none;width:.875rem;height:.875rem}.chat-activity--error{color:var(--off)}.chat-change{border:1px solid var(--rule-strong);border-left:4px solid var(--accent);background:var(--paper);border-radius:8px;padding:.625rem .75rem}.chat-change--waiting{border-left-color:var(--off);background:color-mix(in srgb, var(--off) 5%, var(--paper))}.chat-change--approved{border-left-color:var(--bike)}.chat-change--declined{border-left-color:var(--rule-strong);opacity:.8}.chat-change--error{border-left-color:var(--danger)}.chat-change-head{justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.chat-change-kind{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.chat-change-status{font-weight:700}.chat-change--waiting .chat-change-status{color:var(--off)}.chat-change--approved .chat-change-status{color:var(--bike)}.chat-change--error .chat-change-status{color:var(--danger)}.chat-change p{overflow-wrap:anywhere;margin:.25rem 0 .5rem;font-weight:600}.chat-change--approved p,.chat-change--declined p{margin-bottom:0}.chat-thinking{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.dots{gap:.1875rem;display:inline-flex}.dots i{background:var(--accent);border-radius:999px;width:.375rem;height:.375rem;animation:1.2s ease-in-out infinite dot}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.dots i{opacity:.7;animation:none}}.chat-error{margin:0 1rem .5rem}.chat-compose{border-top:1px solid var(--rule);align-items:flex-end;gap:.5rem;padding:.75rem;display:flex}.chat-compose textarea{resize:vertical;min-width:0;min-height:2.75rem;max-height:12rem;font:400 1rem/1.4 var(--text);color:var(--ink);border:1px solid var(--rule-strong);background:0 0;border-radius:8px;flex:1;padding:.5rem .625rem}.chat-foot{margin:0 .75rem .625rem;font-size:.75rem}.tc{touch-action:pan-y;width:100%;min-width:0;position:relative}.tc svg{display:block;overflow:visible}.tc-grid{stroke:var(--rule);stroke-width:1px}.tc-tick{fill:var(--muted);font:500 10px var(--num);font-variant-numeric:tabular-nums}.tc:not(.tc--compact) .tc-tick{font-size:11px}.tc-unit{fill:var(--muted);font:600 10px var(--text)}.tc-band{fill:var(--lane);opacity:.85}.tc-line{fill:none;stroke:var(--ink);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.tc-avg{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;stroke-linecap:round;opacity:.9}.tc-dot{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.tc-bar{fill:var(--lane-edge)}.tc-bar--sleep{fill:var(--deep)}.tc-bar--load{fill:var(--load-bar)}.tc-swim{fill:var(--swim)}.tc-bike{fill:var(--bike)}.tc-run{fill:var(--run)}.tc-strength{fill:var(--strength)}.tc-cross{stroke:var(--muted);stroke-width:1px}.tc-tip{pointer-events:none;z-index:4;background:var(--paper);border:1px solid var(--rule-strong);border-radius:8px;flex-direction:column;gap:.0625rem;padding:.375rem .5rem;font-size:.75rem;display:flex;position:absolute;top:-.25rem;transform:translateY(-100%);box-shadow:0 4px 14px #0e2f3a1f}.tc-tip strong{font-size:.75rem}.tc-tip-value{font:700 .875rem var(--num);font-variant-numeric:tabular-nums}.tc-tip-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:.25rem;display:flex}.tc-key{border-radius:2px;width:.5rem;height:.5rem;display:inline-block}.tc-key.c-deep{background:var(--deep)}.tc-key.c-rem{background:var(--rem)}.tc-key.c-light{background:var(--light)}.trend-link,.title-link{color:var(--ink);font-weight:600;text-decoration:none}.trend-link:hover,.title-link:hover,.trend-link:focus-visible,.title-link:focus-visible{color:var(--accent);text-decoration:underline}.trend-link{font-size:.9375rem}.trend-hint{margin:.5rem 0 0;font-size:.75rem}.hero-label a,.vital dt a{color:inherit;text-decoration:none}.hero-label a:hover,.vital dt a:hover,.hero-label a:focus-visible,.vital dt a:focus-visible{color:var(--accent);text-decoration:underline}.crumb{margin:0 0 .25rem;font-size:.875rem}.crumb a{color:var(--accent);text-decoration:none}.crumb a:hover{text-decoration:underline}.metric-tiles{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.tile-warn{font-weight:600;color:var(--off)!important}.metric-legend{margin-bottom:.5rem}.key--line{background:var(--ink);vertical-align:.2em;height:3px}.key--avg{background:repeating-linear-gradient(90deg, var(--accent) 0 5px, transparent 5px 8px);vertical-align:.2em;height:3px}.key--band{background:var(--lane)}.c-deep-k{background:var(--deep)}.c-rem-k{background:var(--rem)}.c-light-k{background:var(--light)}.metric-sub{margin-top:1rem}.metric-about p,.metric-about li{font-size:.9375rem;line-height:1.55}.metric-about ul{padding-left:1.25rem}.strip{flex-wrap:wrap;gap:3px;margin:.25rem 0 .5rem;display:flex}.strip-day{cursor:pointer;border:0;border-radius:3px;width:1.125rem;height:1.625rem;padding:0}.strip-day--good{background:var(--bike)}.strip-day--caution{background:var(--off)}.strip-day--low{background:var(--danger)}.strip-day--unknown{background:var(--rule)}.strip-day.is-open{outline:2px solid var(--ink);outline-offset:1px}.strip-counts{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:0 0 .5rem;font-size:.8125rem;display:flex}.strip-key{vertical-align:-.05em;border-radius:2px;width:.625rem;height:.625rem;margin-right:.25rem;display:inline-block}.strip-detail{border-top:1px solid var(--rule);min-height:4.5rem;padding-top:.5rem}.strip-detail strong{margin-bottom:.25rem;display:block}.factor-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem 1.5rem;display:grid}.factor{flex-direction:column;gap:.25rem;min-width:0;display:flex}.factor-empty{margin:.25rem 0 0}.factor-inj{flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.inj-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.inj{border:1px solid var(--rule);border-left:4px solid var(--danger);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.625rem;min-width:0;padding:.875rem 1rem;display:flex}.inj--resolved{border-left-color:var(--rule-strong)}.inj-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.inj-title{overflow-wrap:anywhere;margin:0;font-size:1.0625rem}.inj-head .hint{margin:.125rem 0 0}.inj-sev{text-align:right;flex:none}.inj-sev span{font:700 1.75rem/1 var(--num)}.inj-sev small{color:var(--muted);font-size:.75rem;display:block}.inj-sev--low span{color:var(--bike)}.inj-sev--mid span{color:var(--off)}.inj-sev--high span{color:var(--danger)}.inj-notes{overflow-wrap:anywhere;margin:0;font-size:.9375rem}.inj-sessions summary,.inj-past summary{cursor:pointer;min-height:2rem;font-weight:600}.inj-sessions ul{margin:.375rem 0 0;padding-left:1.25rem;font-size:.875rem}.inj-checkin{border-top:1px dashed var(--rule-strong);padding-top:.625rem}.inj-checkin .subhead{margin:0 0 .375rem}.inj-checkin-row{gap:.5rem;margin-top:.5rem;display:flex}.inj-checkin-row input{border:1px solid var(--rule-strong);min-width:0;min-height:2.5rem;color:var(--ink);font:inherit;background:0 0;border-radius:8px;flex:1;padding:.375rem .625rem}.sev{grid-template-columns:repeat(11,minmax(0,1fr));gap:.25rem;display:grid}.sev-btn{border:1px solid var(--rule-strong);background:var(--paper);min-width:0;min-height:2.5rem;color:var(--ink);font:600 .875rem var(--num);cursor:pointer;border-radius:6px;padding:0}.sev-btn[aria-pressed=true].sev-btn--low{background:var(--bike);border-color:var(--bike);color:#fff}.sev-btn[aria-pressed=true].sev-btn--mid{background:var(--off);border-color:var(--off);color:#fff}.sev-btn[aria-pressed=true].sev-btn--high{background:var(--danger);border-color:var(--danger);color:#fff}.sev-ends{color:var(--muted);grid-column:1/-1;justify-content:space-between;font-size:.75rem;display:flex}.chips{border:0;flex-wrap:wrap;gap:.375rem;margin:0;padding:0;display:flex}.chips legend{color:var(--muted);width:100%;margin-bottom:.375rem;font-size:.875rem}.inj-today{border:1px solid var(--rule);border-left:4px solid var(--danger);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem;padding:.75rem 1rem}.inj-today .hint{margin:.25rem 0 0}.inj-today-list{flex-direction:column;gap:.25rem;margin:.375rem 0 0;padding:0;font-size:.9375rem;list-style:none;display:flex}.inj-today-list li{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.inj-today-list a{color:var(--ink);text-decoration:none}.inj-today-list .hint{margin:0;font-size:.8125rem}.inj-pill{font:700 .75rem var(--num);color:#fff;border-radius:999px;padding:.0625rem .375rem}.inj-pill--low{background:var(--bike)}.inj-pill--mid{background:var(--off)}.inj-pill--high{background:var(--danger)}.inj-mark{font:700 .625rem/1.3 var(--text);text-transform:uppercase;letter-spacing:.03em;color:var(--danger);border:1px solid;border-radius:3px;padding:0 .2rem}.sess-inj-row{margin-bottom:.625rem}.sess-inj-row p{margin:0 0 .375rem;font-size:.9375rem}.inj-affects{color:var(--danger);font-size:.8125rem;font-weight:600}.metric-about p{margin:0 0 .625rem}.block{position:relative}.block-link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.block :is(button,input,select,textarea,a:not(.block-link),.tc,dialog){z-index:2;position:relative}.block .tc{pointer-events:none}.block .tc .tc-hit{pointer-events:auto}.block:has(.block-link){cursor:pointer;transition:border-color .15s,box-shadow .15s,background-color .15s}:is(.block:has(.block-link:hover),.block:has(.tc-hit:hover)){box-shadow:0 2px 12px #0e2f3a1a}:is(.block:has(.block-link:hover) .block-link,.block:has(.tc-hit:hover) .block-link){color:var(--accent)}.block-link:focus-visible{outline:none}.block-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.vital.block,.trend.block,.factor.block{border-radius:8px}.trend.block,.factor.block{margin-inline:-.5rem;padding-inline:.5rem}:is(.trend.block:has(.block-link:hover),.trend.block:has(.tc-hit:hover),.factor.block:has(.block-link:hover),.factor.block:has(.tc-hit:hover),.vital.block:has(.block-link:hover)){box-shadow:none;background:color-mix(in srgb, var(--accent) 6%, transparent)}.usage{color:var(--muted);align-items:center;gap:.625rem;margin:0 .75rem .625rem;font-size:.8125rem;display:flex}.usage-bar{background:var(--rule);border-radius:999px;flex:1;max-width:12rem;height:6px;overflow:hidden}.usage-fill{border-radius:inherit;background:var(--off);height:100%;display:block}.usage-fill--high{background:var(--danger)}.block .block-link,.block .block-link:hover{text-decoration:none}@media (width<=959px){.today-grid{flex-direction:column;display:flex}.today-col{display:contents}.today-vitals{order:1}.today-plan{order:2}.today-sessions{order:3}.today-trends{order:4}}@media (width>=1600px){.page--today{max-width:118rem}.today-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:1.5rem}.today-col--left{grid-area:1/1}.today-col--right{display:contents}.today-trends{grid-area:1/2;position:sticky;top:2rem}.today-plan{grid-area:1/3}}.inj-today--none{border-left-color:var(--rule-strong)}.grow{flex:1}.prio{font:700 .75rem/1 var(--num);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.3125rem .5rem;display:inline-block}.prio--A{background:var(--accent);color:#fff}.prio--B{border:1.5px solid var(--accent);color:var(--accent)}.prio--C{border:1px solid var(--rule-strong);color:var(--muted)}.prio-dot{width:1.25rem;height:1.25rem;font:700 .6875rem var(--num);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.next-race{border:1px solid var(--rule);border-top:4px solid var(--accent);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.625rem;margin-bottom:1rem;padding:.875rem 1rem 1rem;display:flex}.next-race--C{border-top-color:var(--rule-strong)}.next-race .hint{margin:0}.next-race-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.next-race-what{flex:12rem;min-width:0}.next-race-name{overflow-wrap:anywhere;margin:0 0 .125rem;font-size:1.25rem;font-weight:700;line-height:1.25}.race-count{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:0 .3rem;margin:0;font-size:.875rem;display:flex}.race-count strong{font:700 2.5rem/1 var(--num);color:var(--accent);font-variant-numeric:tabular-nums}.race-count span:first-of-type{color:var(--ink);font-weight:600}.race-goal{overflow-wrap:anywhere;margin:0;font-size:.9375rem}.race-goal>span:first-child{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-right:.375rem;font-size:.75rem;font-weight:700;display:inline-block}.race-proj{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;display:flex}.race-proj div{min-width:0}.race-proj dt{color:var(--muted);font-size:.75rem}.race-proj dd{font:700 1.125rem var(--num);margin:0}.race-proj dd small{font:500 .8125rem var(--text);color:var(--muted)}p.race-proj{font-size:.8125rem;display:block}.race-later{border-top:1px solid var(--rule);flex-direction:column;gap:.375rem;margin:0;padding:.625rem 0 0;font-size:.875rem;list-style:none;display:flex}.race-later li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.race-later .hint{font-size:.8125rem}.race-list{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.race-past .race-list{margin-top:.75rem}.race-card{border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.625rem;min-width:0;padding:.875rem 1rem;display:flex}.race-card--C,.race-card--past{border-left-color:var(--rule-strong)}.race-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.race-card-title{min-width:0}.race-card-title h3{overflow-wrap:anywhere;margin:0;font-size:1.125rem}.race-card-title .hint{margin:.125rem 0 0}.race-card .race-count strong{font-size:1.75rem}.race-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9375rem}.prio-pick{border:0;margin:0;padding:0}.prio-pick legend{color:var(--muted);margin-bottom:.375rem;font-size:.875rem}.prio-pick .hint{margin:.375rem 0 0}.coming{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem;padding:.875rem 1rem .5rem}.coming .section-title{margin:0 0 .25rem}.coming-days{margin:0;padding:0;list-style:none}.coming-day{border-top:1px solid var(--rule);grid-template-columns:5.5rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding:.5rem 0;display:grid}.coming-day:first-child{border-top:0}.coming-when{font-size:.875rem;font-weight:600}.coming-rest{margin:0;font-size:.875rem}.coming-items{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.coming-item{flex-wrap:wrap;align-items:baseline;gap:.125rem .5rem;min-width:0;font-size:.9375rem;display:flex}.coming-sport{font-weight:600}.coming-item--swim .coming-sport{color:var(--swim)}.coming-item--bike .coming-sport{color:var(--bike)}.coming-item--run .coming-sport{color:var(--run)}.coming-item--strength .coming-sport{color:var(--strength)}.coming-title{overflow-wrap:anywhere;min-width:0}.coming-meta{color:var(--muted);font:500 .8125rem var(--num);align-items:baseline;gap:.375rem;display:inline-flex}.coming-key{font:700 .625rem/1.3 var(--text);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);border:1px solid;border-radius:3px;padding:0 .2rem}.coming-done{font:600 .75rem var(--text);color:var(--bike)}.coming-item.is-done .coming-title{color:var(--muted)}.coming-item.is-skipped .coming-title{color:var(--muted);text-decoration:line-through}.coming-item.is-skipped .coming-done{color:var(--muted)}.cal-race{background:var(--accent);color:#fff;overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:.3125rem;margin:0 0 .25rem;padding:.25rem .375rem;font-size:.8125rem;font-weight:600;line-height:1.25;text-decoration:none;display:flex}.cal-race--C{color:var(--accent);border:1px solid var(--accent);background:0 0}.cal-race-prio{font:700 .6875rem var(--num);background:#ffffff40;border-radius:3px;flex:none;padding:0 .25rem}.cal-race--C .cal-race-prio{background:color-mix(in srgb, var(--accent) 15%, transparent)}.analysis{flex-direction:column;gap:.5rem;display:flex}.sc{margin:0}.sc-key{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.25rem;font-size:.8125rem;display:flex}.sc-k{vertical-align:.25em;border-radius:2px;width:.875rem;height:3px;margin-right:.375rem;display:inline-block}.sc-k--main{background:var(--fitness)}.sc-k--hr{background:var(--fatigue)}.sc-k--lap{background:var(--rule-strong);vertical-align:-.1em;width:2px;height:.75rem}.sc-box{touch-action:pan-y;width:100%;min-width:0;position:relative}.sc-box svg{display:block;overflow:visible}.sc-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.sc-line--main{stroke:var(--fitness)}.sc-line--hr{stroke:var(--fatigue)}.sc-dot--main{fill:var(--fitness);stroke:var(--paper);stroke-width:2px}.sc-dot--hr{fill:var(--fatigue);stroke:var(--paper);stroke-width:2px}.sc-lap{stroke:var(--rule-strong);stroke-width:1px;stroke-dasharray:2 3}.sc-tick--hr{fill:var(--fatigue)}.peaks th{text-align:left;white-space:nowrap;font-weight:600}.peaks td{white-space:nowrap;font-variant-numeric:tabular-nums}.peak-k{color:var(--muted);font-size:.6875rem;display:block}.zone-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem 1.5rem;display:grid}.zones{min-width:0}.zones-title{color:var(--muted);margin:0 0 .375rem;font-size:.8125rem;font-weight:600}.zones ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.zone-row{grid-template-columns:minmax(0,7.5rem) 4.75rem minmax(2rem,1fr) 3rem;align-items:center;gap:.5rem;font-size:.8125rem;display:grid}.zone-name{overflow-wrap:anywhere}.zone-name strong{font-family:var(--num)}.zone-range{color:var(--muted);font-family:var(--num);font-size:.75rem}.zone-bar{background:var(--rule);border-radius:999px;height:.5rem;overflow:hidden}.zone-fill{border-radius:inherit;background:var(--fitness);height:100%;display:block}.zone-fill--z1{opacity:.35}.zone-fill--z2{opacity:.55}.zone-fill--z3{opacity:.75}.zone-fill--z4,.zone-fill--z5,.zone-fill--z6,.zone-fill--z7{background:var(--fatigue)}.zone-fill--z4{opacity:.7}.zone-time{text-align:right;font-family:var(--num)}.step-halves{color:var(--muted);font-size:.75rem}.analysis .laps th,.analysis .laps td{padding-left:.3125rem;padding-right:.3125rem;font-size:.8125rem}@media (width<=480px){.step-halves{display:none}.pvd-steps th,.pvd-steps td{padding-left:.3rem;padding-right:.3rem}}input[type=date]{appearance:none;box-sizing:border-box;min-width:0;max-width:100%;display:block}.field input[type=date]{width:100%}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto}.done-plan{border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.625rem .875rem;display:flex}.done-plan>div{flex:14rem;min-width:0;font-size:.9375rem}.done-plan .hint{font-size:.8125rem}.profile-wrap{min-width:0;position:relative}.profile{overflow:visible}.profile-svg{overflow:hidden}.profile-block{fill:var(--c);opacity:.9;transition:opacity .1s}.profile-block--warmup,.profile-block--cooldown{fill:color-mix(in srgb, var(--c) 45%, var(--paper));opacity:1}.profile-block--recovery,.profile-block--rest{fill:color-mix(in srgb, var(--muted) 35%, var(--paper));opacity:1}.profile-block--other{fill:color-mix(in srgb, var(--c) 65%, var(--paper));opacity:1}.profile-block.is-hover{opacity:1;stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke}.profile-block.is-selected{stroke:var(--accent);stroke-width:3px;vector-effect:non-scaling-stroke}.profile-groups{height:1.125rem;position:relative}.profile-group{border:1.5px solid var(--rule-strong);border-bottom:0;border-radius:3px 3px 0 0;height:.4375rem;position:absolute;bottom:.1875rem}.profile-group-n{background:var(--paper);font:700 .6875rem var(--num);color:var(--ink);white-space:nowrap;padding:0 .25rem;line-height:1;position:absolute;top:-.875rem;left:50%;transform:translate(-50%)}.profile-axis{height:1rem;margin-top:.125rem;position:relative}.profile-axis span{font:500 .6875rem var(--num);color:var(--muted);white-space:nowrap;position:absolute;transform:translate(-50%)}.profile-axis span:first-child{transform:none}.profile-tip{z-index:5;pointer-events:none;background:var(--paper);border:1px solid var(--rule-strong);border-radius:8px;flex-direction:column;gap:.0625rem;width:max-content;max-width:min(18rem,80vw);padding:.375rem .5rem;font-size:.8125rem;display:flex;position:absolute;top:calc(100% + .25rem);transform:translate(-50%);box-shadow:0 4px 14px #0e2f3a24}.profile-tip--left{transform:translate(-10%)}.profile-tip--right{transform:translate(-90%)}.profile-tip-sub{color:var(--muted);font-size:.75rem}.builder-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:.25rem 0 .75rem;display:flex}.builder-bar .builder-totals{margin:0}.seg--small .seg-btn{min-height:2.125rem;padding:.25rem .75rem;font-size:.8125rem}.builder-fold{text-align:right;margin:-.25rem 0 .5rem;font-size:.8125rem}.wo-list{margin:0;padding:0;list-style:none}.wo-row{border-top:1px solid var(--rule);grid-template-columns:5.5rem minmax(0,1fr) 3.75rem 4.25rem;align-items:baseline;gap:.25rem .75rem;padding:.4375rem 0;font-size:.9375rem;display:grid}.wo-row:first-child{border-top:0}.wo-depth-1,.wo-depth-2{border-top-style:dashed}.wo-depth-1 .wo-what{padding-left:1rem}.wo-depth-2 .wo-what{padding-left:2rem}.wo-kind{font-size:.875rem;font-weight:600}.wo-row--warmup .wo-kind,.wo-row--cooldown .wo-kind{color:var(--muted)}.wo-what{overflow-wrap:anywhere;min-width:0}.wo-row--rest .wo-what,.wo-row--recovery .wo-what{color:var(--muted)}.wo-link{all:unset;cursor:pointer}.wo-link:hover,.wo-link:focus-visible{color:var(--accent);text-decoration:underline}.wo-pct,.wo-pace{color:var(--muted);font-size:.8125rem}.wo-pace{white-space:nowrap;cursor:help}.wo-note{color:var(--muted);margin-top:.125rem;font-size:.8125rem;font-style:italic;display:block}.wo-time,.wo-dist{text-align:right;font:500 .875rem var(--num);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.wo-row.is-selected{background:color-mix(in srgb, var(--accent) 8%, transparent)}.wo-total{border-top:2px solid var(--rule-strong);text-align:right;font-family:var(--num);margin:.5rem 0 0;padding-top:.5rem}.wo-hint{max-width:none;margin:.375rem 0 0}@media (width<=480px){.wo-row{grid-template-columns:minmax(0,1fr) auto}.wo-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);grid-column:1/-1;font-size:.75rem}.wo-kind:empty{display:none}.wo-time{grid-area:2/2}.wo-dist{grid-area:3/2}.wo-what{grid-row:2/span 2}}.step--closed{padding-top:.375rem;padding-bottom:.375rem}.step-summary{all:unset;cursor:pointer;flex:auto;align-items:baseline;gap:.5rem;min-width:0;padding:.25rem 0;display:flex}.step-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.step-summary-kind{white-space:nowrap;font-size:.875rem;font-weight:600}.step-summary-what{overflow-wrap:anywhere;min-width:0;font-size:.9375rem}.step--closed .step-est{flex:none}.step-fold{font-size:.875rem}.step.is-selected{box-shadow:0 0 0 2px var(--accent)}.step-pace{max-width:none;margin:.125rem 0 .375rem;font-size:.8125rem}.ex-thumb{object-fit:cover;border:1px solid var(--rule);background:#fff;border-radius:8px;flex:none;display:inline-block}.ex-thumb--none{background:color-mix(in srgb, var(--strength) 14%, var(--paper));color:var(--strength);font:700 1rem var(--text);text-transform:uppercase;place-items:center;display:inline-grid}.picker{flex-direction:column;gap:.625rem;display:flex}.picker-search{font:400 1rem var(--text);color:var(--ink);border:1px solid var(--rule-strong);background:0 0;border-radius:8px;width:100%;min-height:2.75rem;padding:.625rem .75rem}.picker-filters{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.picker-filters select{min-width:0;font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:8px;min-height:2.5rem;padding:.5rem}.picker-h{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.25rem 0 0;font-size:.8125rem}.picker-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pick-row{border-top:1px solid var(--rule);align-items:center;gap:.5rem;display:flex}.pick-row:first-child{border-top:0}.pick-main{all:unset;cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.4375rem .25rem;display:flex}.pick-main:hover,.pick-main:focus-visible{background:color-mix(in srgb, var(--accent) 7%, transparent)}.pick-main:focus-visible{outline:2px solid var(--accent)}.pick-text{flex-direction:column;min-width:0;display:flex}.pick-text strong{overflow-wrap:anywhere;font-size:.9375rem}.pick-text .hint{margin:0;font-size:.8125rem}.pick-info{flex:none;font-size:.8125rem}.picker-create{align-self:flex-start}.ex-view .ex-hero{border:1px solid var(--rule);border-radius:var(--radius);background:#fff;position:relative;overflow:hidden}.ex-hero img{object-fit:contain;width:100%;max-height:18rem;display:block}.ex-hero-dots{gap:.25rem;display:flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.ex-hero-dots i{background:#00000040;border-radius:50%;width:.5rem;height:.5rem}.ex-hero-dots i.is-on{background:var(--accent)}.ex-meta{color:var(--muted);margin:0;font-size:.875rem}.ex-steps{flex-direction:column;gap:.375rem;margin:0;padding-left:1.25rem;font-size:.9375rem;line-height:1.5;display:flex}.ex-notes{margin:0;font-style:italic}.ex-hist-sets{min-width:12rem;white-space:normal!important;text-align:left!important}.ex-photos{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.375rem;display:flex}.ex-photo-edit{position:relative}.ex-photo-edit img{object-fit:cover;border:1px solid var(--rule);border-radius:8px;width:5rem;height:5rem;display:block}.ex-photo-edit .icon-btn{background:var(--paper);border:1px solid var(--rule-strong);border-radius:50%;min-width:1.75rem;min-height:1.75rem;position:absolute;top:-.5rem;right:-.5rem}.ex-photo-add{cursor:pointer}.sx-list,.sx-edit{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sx-block{border-top:1px solid var(--rule);padding-top:.5rem}.sx-block:first-child{border-top:0;padding-top:0}.sx-block--superset,.sx-block--circuit{border:1px solid var(--rule);border-left:3px solid var(--strength);border-radius:8px;padding:.5rem .625rem}.sx-block-head{color:var(--muted);margin:0 0 .25rem;font-size:.875rem}.sx-block-head strong{color:var(--ink)}.sx-items{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sx-item{align-items:flex-start;gap:.625rem;min-width:0;display:flex}.sx-label{min-width:1.75rem;font:700 .875rem var(--num);color:var(--strength);flex:none;padding-top:.625rem}.sx-text{flex-direction:column;gap:.0625rem;min-width:0;display:flex}.sx-name{overflow-wrap:anywhere;font-size:.9375rem;font-weight:600}.sx-sets{overflow-wrap:anywhere;font-size:.9375rem}.sx-note{color:var(--muted);font-size:.8125rem;font-style:italic}.sx-skip{color:var(--muted);text-decoration:line-through}.sx-card{border:1px solid var(--rule);border-left:3px solid var(--strength);background:var(--paper);border-radius:8px;flex-direction:column;gap:.5rem;min-width:0;padding:.5rem .625rem;display:flex}.sx-card--superset,.sx-card--circuit{background:color-mix(in srgb, var(--strength) 5%, var(--paper))}.sx-card-head{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font-size:.875rem;display:flex}.sx-card-head select{font:600 .875rem var(--text);color:var(--ink);background:0 0;border:0;min-height:2.25rem;padding:.25rem 1.25rem .25rem 0}.sx-rounds{align-items:center;gap:.25rem;display:inline-flex}.sx-rest{color:var(--muted);align-items:center;gap:.375rem;display:inline-flex}.sx-ex{flex-direction:column;gap:.375rem;min-width:0;display:flex}.sx-ex+.sx-ex{border-top:1px dashed var(--rule-strong);padding-top:.5rem}.sx-ex-head{align-items:center;gap:.625rem;min-width:0;display:flex}.sx-ex-head .sx-label{padding-top:0}.sx-ex-name{flex-direction:column;flex:1;min-width:0;display:flex}.sx-ex-name .wo-link,.sx-ex-name strong{overflow-wrap:anywhere;font-weight:600}.sx-ex-name .hint{margin:0;font-size:.8125rem}.sx-ex-tools,.sx-card-tools{flex-wrap:wrap;gap:.25rem 1rem;font-size:.8125rem;display:flex}.sx-card-tools{border-top:1px solid var(--rule);padding-top:.375rem}.sx-extras{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;display:flex}.sx-tempo{color:var(--muted);align-items:center;gap:.375rem;display:inline-flex}.sx-tempo input,.sx-notes{font:inherit;color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:6px;min-height:2.25rem;padding:.375rem .5rem}.sx-tempo input{width:5rem}.sx-notes{flex:12rem;min-width:0}.sx-add{align-self:flex-start;margin-top:.5rem}.sets{border-collapse:collapse;font:500 .875rem var(--num);font-variant-numeric:tabular-nums}.sets th{color:var(--muted);font:500 .75rem var(--text);text-align:left;white-space:nowrap;padding:.125rem .375rem .25rem 0}.sets td{vertical-align:middle;padding:.125rem .375rem .125rem 0}.sets-n{color:var(--muted);text-align:center;padding-right:.625rem!important}.num-field{width:4.5rem;font:500 .9375rem var(--num);color:var(--ink);border:1px solid var(--rule);background:0 0;border-radius:6px;min-height:2.375rem;padding:.375rem .5rem}.num-field--rpe{width:3.5rem}.num-field.is-bad{border-color:var(--danger)}.num-field:disabled{color:var(--muted);border-style:dashed}.logger-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.log-ex{border:1px solid var(--rule);border-left:3px solid var(--strength);border-radius:8px;flex-direction:column;gap:.375rem;padding:.5rem .625rem;display:flex}.log-tick{width:1.375rem;height:1.375rem;accent-color:var(--accent)}.sets--log tr:not(.is-done) .num-field{color:var(--muted)}.sets--log th:first-child{padding-right:.5rem}.logger-session{border-top:1px solid var(--rule);flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.sx-done{flex-direction:column;gap:.5rem;display:flex}.sx-done-totals{margin:0;font-size:.9375rem}@media (width<=480px){.num-field{width:3.75rem;padding:.375rem}.num-field--rpe{width:3rem}.sets th,.sets td{padding-right:.25rem}}@media (width<=959px){.editor--has-workout .editor-details{display:contents}.editor--has-workout .editor-details>*{order:3}.editor--has-workout .editor-details>.plan-status,.editor--has-workout .editor-details>.done-plan{order:0}.editor--has-workout .editor-details>.sport-pick,.editor--has-workout .editor-details>.editor-title,.editor--has-workout .editor-details>.field-grid--3{order:1}.editor--has-workout .editor-workout{order:2}}.comments{border-top:1px solid var(--rule);flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:.875rem;scroll-margin:1rem 0 7rem;display:flex}.race-card .comments{margin-top:.5rem;padding-top:.625rem}.cm-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.cm{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--paper));border:1px solid var(--rule);min-width:0;margin-right:2rem;padding:.5rem .75rem}.cm--mine{background:var(--paper);margin:0 0 0 2rem}.cm-meta{margin:0 0 .125rem;font-size:.8125rem}.cm-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.9375rem;line-height:1.45}.cm-actions{gap:.75rem;margin-top:.25rem;display:flex}.cm-actions .link--quiet{font-size:.8125rem}.cm-edit{flex-direction:column;gap:.375rem;display:flex}.cm-edit textarea,.cm-form textarea{width:100%;font:inherit;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);resize:vertical;border-radius:8px;min-height:2.75rem;padding:.5rem .625rem;font-size:.9375rem}.cm-form{align-items:flex-end;gap:.5rem;display:flex}.cm-form textarea{flex:1;min-width:0}.cm-mark{font:600 .75rem var(--num);color:var(--muted);align-items:center;gap:.125rem;display:inline-flex}.cm-mark svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;width:.875rem;height:.875rem}.cm-mark--new{color:var(--accent)}.cm-mark--new svg{fill:currentColor}.cal-item-meta .cm-mark{margin-left:auto}.cal-item-meta :is(.rpe-mark,.g-mark)~.cm-mark{margin-left:0}.race-talk{align-items:center;gap:.375rem;display:inline-flex}.newcm{border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem;padding:.875rem 1rem .5rem}.newcm .section-title{margin:0 0 .25rem}.newcm-list{margin:0;padding:0;list-style:none}.newcm-list li+li{border-top:1px solid var(--rule)}.newcm-item{all:unset;box-sizing:border-box;cursor:pointer;flex-direction:column;gap:.125rem;width:100%;min-width:0;padding:.5rem 0;display:flex}.newcm-item:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.newcm-item:hover .newcm-what strong{text-decoration:underline}.newcm-what{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;display:flex}.newcm-latest{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.9375rem;display:-webkit-box;overflow:hidden}.newcm-when{font-size:.8125rem}.fit-up{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.fit-up--compact{gap:.25rem}.fit-up-results{flex-direction:column;gap:.25rem;width:100%;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.fit-up-r{flex-wrap:wrap;gap:0 .5rem;min-width:0;display:flex}.fit-up-file{overflow-wrap:anywhere;font-weight:600}.fit-up-r--failed{color:var(--danger)}.fit-up-r--already_there{color:var(--muted)}.log-upload{border:1px dashed var(--rule-strong);border-radius:var(--radius);flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;padding:.5rem .75rem;display:flex}.log-upload .hint{margin:0}.check-line,.server .check{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;min-height:2.25rem;margin:0;font-size:.9375rem;display:flex}.hours{flex-direction:column;gap:.375rem;display:flex}.hours-row{grid-template-columns:2rem repeat(12,minmax(0,1fr));align-items:center;gap:.25rem;display:grid}.hours-half{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.hour{border:1px solid var(--rule-strong);background:var(--paper);min-width:0;height:2.25rem;color:var(--ink);font:600 .8125rem var(--num);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:6px;padding:0}.hour[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.hour:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.srv-athletes{border:1px solid var(--rule);border-radius:var(--radius);margin:0;padding:0;list-style:none}.srv-athletes li{flex-wrap:wrap;justify-content:space-between;gap:0 .75rem;padding:.5rem .75rem;font-size:.9375rem;display:flex}.srv-athletes li+li{border-top:1px solid var(--rule)}.srv-athletes .hint{margin:0}.srv-bad{color:var(--off);font-weight:500}.server .subhead{margin-top:.75rem}.srv-backups{margin:.5rem 0;font-size:.875rem}.srv-backups ul{margin:.375rem 0;padding:0;list-style:none}.srv-backups li{overflow-wrap:anywhere;justify-content:space-between;gap:.75rem;padding:.125rem 0;display:flex}.srv-last{border-top:1px solid var(--rule);margin:1.25rem 0 .5rem;padding-top:1rem}.zwift-box{flex-direction:column;align-items:flex-start;gap:.375rem;display:flex}.zwift-how{color:var(--muted);font-size:.875rem}.zwift-how summary{cursor:pointer}.zwift-how p{margin:.375rem 0 0}.prog-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);margin-bottom:1rem;padding:.875rem 1rem .75rem}.prog-card .section-title{margin:0 0 .5rem}.prog-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 .5rem;display:grid}.prog-stats>div{min-width:0}.prog-stats dt{color:var(--muted);align-items:center;font-size:.8125rem;display:flex}.prog-stats dd{font:700 1.5rem/1.1 var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.125rem 0 0}.prog-stats .hint{margin:.125rem 0 0;font-size:.75rem}.prog-chart{width:100%}.prog-line{stroke-width:1.75px}.prog-foot{flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:.25rem 0 0;font-size:.75rem;display:flex}.prog-foot strong{color:var(--ink)}@media (width<=480px){.prog-edge{display:none}.prog-foot{justify-content:center}}
