@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_601edbd6-module__aBO7-q__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_601edbd6-module__aBO7-q__variable{--font-plex:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--bg:#0e1512;--surface:#161f1b;--surface-2:#1e2822;--line:#33413a;--line-strong:#6b7b71;--text:#eceae2;--subtext:#9aa79c;--climb:#ff6a3d;--descent:#4fa9d8;--flat:#8fb89a;--accent:var(--climb);--on-accent:#1a0d06;--error:#ee5a5e}*{box-sizing:border-box}html,body{overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:var(--font-plex), "IBM Plex Sans", -apple-system, sans-serif;margin:0}.wrap{max-width:720px;margin:0 auto;padding:32px 20px 80px}h1{letter-spacing:-.02em;margin:0;font-weight:600}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:48px;display:flex}.wordmark{color:var(--climb);letter-spacing:-.01em;font-size:20px;font-weight:700}.link-button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:15px}.link-button:hover{text-underline-offset:3px;text-decoration:underline}.stage{flex-direction:column;gap:20px;margin-bottom:28px;display:flex}.hero-title{text-wrap:balance;font-size:clamp(38px,7vw,56px);line-height:1.05}.stage-title{overflow-wrap:anywhere;align-items:center;gap:14px;font-size:clamp(28px,5vw,40px);line-height:1.1;display:flex}.stage-title .step{width:30px;height:30px;font-size:14px}.lede{color:var(--subtext);text-wrap:pretty;max-width:60ch;margin:0;font-size:17px;line-height:1.55}.lede strong{color:var(--text)}.stage-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.stage-actions .btn{padding:14px 22px;font-size:15px}.stage-note{color:var(--subtext);font-size:14px}.stage-form{flex-direction:column;gap:14px;display:flex}.field-hint{color:var(--subtext);margin-top:4px;font-size:12px}.dropzone{border:1.5px dashed var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:18px;padding:24px;display:flex;position:relative}.dropzone:hover,.dropzone:focus-within{border-color:var(--text)}.dropzone:focus-within{outline:2px solid var(--text);outline-offset:2px}.dropzone.has-file{background:var(--surface);border-style:solid}.dropzone-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dropzone-text{color:var(--subtext);flex-direction:column;gap:4px;min-width:0;font-size:14px;display:flex}.dropzone-text strong{color:var(--text);overflow-wrap:anywhere;font-size:17px;font-weight:600}.dropzone-text u{color:var(--text);text-underline-offset:3px}.bleed{width:100vw;margin-left:calc(50% - 50vw)}.ridge{margin:0;position:relative}.ridge-svg{width:100%;height:clamp(170px,26vw,300px);display:block;overflow:visible}.ridge-reveal{transform-origin:0 0;animation:1.6s cubic-bezier(.2,.7,.2,1) both ridge-reveal}@keyframes ridge-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.ridge-reveal{animation:none}}.ridge-callout{border-left:1px solid var(--subtext);color:var(--subtext);white-space:nowrap;margin:0;padding-left:10px;font-size:13px;position:absolute;transform:translateY(-100%)}.ridge-callout-text{flex-direction:column;gap:2px;display:flex}.ridge-callout strong{color:var(--text);font-size:14px;font-weight:500}.ridge-empty{position:relative}.ridge-empty-caption{color:var(--subtext);font-size:14px;position:absolute;bottom:18px;right:max(20px,50vw - 340px)}.ridge-legend{color:var(--subtext);flex-wrap:wrap;gap:8px 16px;margin:14px 0 20px;font-size:13px;display:flex}.ridge-legend span{align-items:center;gap:6px;display:flex}.ridge-legend i{border-radius:2px;width:14px;height:3px;display:inline-block}.ridge-legend .ridge-legend-tick{background:var(--subtext);width:2px;height:10px}.ridge-legend .ridge-legend-ring{border:2px solid var(--descent);border-radius:50%;width:8px;height:8px}@media (max-width:480px){.ridge-callout:nth-of-type(n+2){display:none}}.stage-workout{margin-bottom:20px}.stage-details{margin-bottom:28px}.trace-anchor{scroll-margin-top:12px}.details-scroll{overscroll-behavior:contain;border:1px solid var(--line);background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--subtext) transparent;border-radius:10px;max-height:clamp(200px,36vh,420px);margin-top:14px;padding:0 14px 4px;position:relative;overflow:auto}.details-scroll::-webkit-scrollbar{width:8px}.details-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.details-scroll::-webkit-scrollbar-thumb:hover{background:var(--subtext)}.details-toggle{color:var(--subtext);cursor:pointer;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;display:flex}h2{align-items:center;gap:10px;margin:0 0 16px;font-size:18px;font-weight:600;display:flex}.step{border:1.5px solid var(--accent);width:24px;height:24px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:22px}.card.hidden{display:none}.note{background:var(--surface-2);border:1px solid var(--line);color:var(--subtext);border-radius:10px;padding:12px 14px;font-size:13px}.btn{border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:14px}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.full{width:100%}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);border:1px solid var(--line-strong);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:20px;padding:6px 12px;font-family:inherit;font-size:13px}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}input[type=text],input[type=file],select,textarea{background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}.segment{border-left:3px solid var(--line);margin-bottom:4px;padding:10px 0 10px 14px}.segment.climb{border-left-color:var(--climb)}.segment.descent{border-left-color:var(--descent)}.segment.flat{border-left-color:var(--flat)}.segment-title{font-size:14px;font-weight:600}.segment-meta{color:var(--subtext);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.track{color:var(--subtext);justify-content:space-between;padding:3px 0;font-size:13px;display:flex}.badge{border-radius:4px;margin-right:6px;padding:2px 6px;font-size:12px}.badge.music{background:var(--accent);color:var(--on-accent)}.badge.podcast{background:var(--descent);color:#06202b}.note.error{border-color:var(--error);color:var(--text);align-items:flex-start;gap:8px;display:flex}.note.error svg{flex-shrink:0;margin-top:2px}:where(button,a,input,select,textarea,.chip):focus-visible{outline:2px solid var(--text);outline-offset:2px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:460px}.credits{color:var(--subtext);margin-top:32px;font-size:12px}.credits a{color:inherit}.details-scroll .table-scroll{overflow:visible}.details-scroll table{margin-top:0!important}.details-scroll thead th{background:var(--surface);z-index:1;position:sticky;top:0;padding-top:12px!important}.hover-trace{cursor:crosshair;touch-action:pan-y}.row-active td{background:var(--surface-2)}.row-active td:first-child{box-shadow:inset 3px 0 0 var(--text)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-target{scroll-margin-top:12px}.focus-target:focus{outline:none}
