.ed{--paper:#f1f5f9;--surface:#f8fafc;--card:#fff;--fg:#0c0e15;--fg-2:#4a5062;--fg-3:#80869a;--line:#0c0e1616;--line-2:#0c0e1629;--accent:#4f46e5;--accent-2:#6366f1;--accent-soft:#4f46e51a;--gold:#9a6512;--gold-soft:#c68c2829;--swim:#0e93a8;--bike:#3563d6;--run:#d9620f;--strength:#9333ea;--rest:#cbd5e1;--good:#15803d;--loss:#c2570c;--shadow:0 1px 0 #0c0e160a,0 12px 32px -18px #0c0e1640;--ink:#07080c;--ink-2:#10131b;--on-ink:#eef0f6;--on-ink-2:#a3a9ba;--on-ink-3:#6b7286;--ink-line:#ffffff17;--ink-accent:#a5b4fc;--ink-gold:#f2c46d;--mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:var(--font-jakarta),"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);background:var(--paper);color:var(--fg);font-family:var(--sans);padding-bottom:56px;font-size:16px;line-height:1.6;overflow-x:clip}.ed *,.ed :before,.ed :after{box-sizing:border-box}.ed :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ed a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.ed a:hover{color:#3730a3}.ed .mono,.ed .num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ed .wrap{max-width:1100px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));margin:0 auto}.ed .col{max-width:720px}.ed .eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-size:11.5px;font-weight:600}.ed h1,.ed h2,.ed h3{font-family:var(--sans);text-wrap:balance;color:var(--fg);margin:0}.ed h1{letter-spacing:-.035em;font-size:clamp(32px,5vw,54px);font-weight:800;line-height:1.04}.ed h2{letter-spacing:-.025em;font-size:clamp(23px,2.8vw,31px);font-weight:800;line-height:1.15}.ed h3{letter-spacing:-.01em;font-size:17px;font-weight:700}.ed p{margin:0}.ed .muted{color:var(--fg-3)}.ed .crumbs{color:var(--on-ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.ed .crumbs a{color:var(--on-ink-2);text-decoration:none}.ed .crumbs a:hover{color:var(--on-ink)}.ed .crumbs.light{color:var(--fg-3)}.ed .crumbs.light a{color:var(--fg-2)}.ed .crumbs.light a:hover{color:var(--fg)}.ed .hero{background:var(--ink);color:var(--on-ink);isolation:isolate;position:relative;overflow:hidden}.ed .hero-in{gap:18px;padding-block:26px 34px;display:grid}.ed .hero .eyebrow{color:var(--ink-accent)}.ed .hero h1{color:var(--on-ink);max-width:18ch}.ed .hero .sub{color:var(--on-ink-2);letter-spacing:-.01em;max-width:46ch;font-size:clamp(17px,2.1vw,21px);font-weight:500;line-height:1.4}.ed .byline{color:var(--on-ink-3);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13.5px;display:flex}.ed .byline b{color:var(--on-ink-2);font-weight:650}.ed .avatar{background:#a5b4fc26;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.ed .avatar img{width:20px;height:20px;image-rendering:pixelated}.ed .winners{background:var(--ink-line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:6px;display:grid;overflow:hidden}.ed .winner{background:var(--ink-2);padding:18px 18px 16px;position:relative}.ed .winner .lab{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-gold);font-size:11px;font-weight:700}.ed .winner .nm{color:var(--on-ink);margin-top:8px;font-size:clamp(16px,2vw,19px);font-weight:700}.ed .winner .nm span{color:var(--on-ink-3);margin-left:6px;font-size:13px;font-weight:500}.ed .winner .t{font-family:var(--mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:10px;font-size:clamp(36px,6.4vw,64px);font-weight:800;line-height:1}.ed .winner .nt{color:var(--on-ink-2);margin-top:8px;font-size:13px}.ed .hero-stats{background:var(--ink-line);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ed .hero-stats>div{background:var(--ink);padding:12px 14px}.ed .hero-stats b{font-family:var(--mono);letter-spacing:-.03em;color:var(--on-ink);font-size:clamp(18px,2.4vw,24px);font-weight:800;display:block}.ed .hero-stats span{color:var(--on-ink-3);margin-top:2px;font-size:12px;line-height:1.35;display:block}@media (max-width:640px){.ed .winners{grid-template-columns:1fr}.ed .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed .body{padding-top:30px}.ed .dek{letter-spacing:-.01em;color:var(--fg);max-width:60ch;font-size:clamp(18px,2vw,21px);font-weight:500;line-height:1.5}.ed .facts{background:var(--card);border:1px solid var(--line);border-radius:12px;max-width:820px;margin-top:26px;padding:18px 20px 16px}.ed .facts h2{font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-weight:700}.ed .facts ul{gap:9px;margin:10px 0 0;padding:0;list-style:none;display:grid}.ed .facts li{color:var(--fg);padding-left:20px;font-size:15.5px;line-height:1.55;position:relative}.ed .facts li:before{content:"";background:var(--accent);border-radius:2px;width:7px;height:7px;position:absolute;top:.62em;left:3px}.ed .toc{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.ed .toc a{color:var(--fg-2);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:650;text-decoration:none;transition:color .2s,box-shadow .2s}.ed .toc a:hover{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ed .sec{margin-top:48px;scroll-margin-top:80px}.ed .prose{color:#1f2330;max-width:68ch;margin-top:16px;font-size:17px;line-height:1.7}.ed .prose strong{color:var(--fg);font-weight:700}.ed .prose.small{color:var(--fg-3);font-size:13.5px;line-height:1.6}.ed .bullets{gap:14px;max-width:68ch;margin:16px 0 0;padding:0;list-style:none;display:grid}.ed .bullets li{color:#1f2330;padding-left:22px;font-size:17px;line-height:1.65;position:relative}.ed .bullets li:before{content:"→";color:var(--accent);font-weight:700;position:absolute;left:0}.ed .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.ed .stats>div{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:14px 16px}.ed .stats b{font-family:var(--mono);letter-spacing:-.03em;font-size:clamp(20px,2.6vw,28px);font-weight:800;display:block}.ed .stats span{color:var(--fg-3);margin-top:3px;font-size:12.5px;line-height:1.35;display:block}@media (max-width:720px){.ed .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed .callout{background:#eef2ff;border-radius:12px;max-width:820px;margin-top:28px;padding:20px 22px;box-shadow:inset 0 0 0 1px #4f46e52e}.ed .callout h3{font-size:18px}.ed .callout p{color:var(--fg-2);margin-top:6px;font-size:15.5px}.ed figure{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin:26px 0 0;padding:18px 18px 14px}.ed figure .fig-title{letter-spacing:-.01em;font-size:15.5px;font-weight:750}.ed figure figcaption{color:var(--fg-3);max-width:90ch;margin-top:10px;font-size:12.5px;line-height:1.5}.ed .chart{width:100%;margin-top:12px;position:relative}.ed .chart svg{width:100%;height:auto;display:block;overflow:visible}.ed .chart svg text{font-family:var(--sans);fill:var(--fg-3);font-size:11.5px}.ed .chart svg .m{font-family:var(--mono)}.ed .chart svg .lbl{fill:var(--fg-2);font-weight:600}.ed .chart svg .hi{fill:var(--fg);font-weight:750}.ed .chart svg .grid{stroke:var(--line);stroke-width:1px}.ed .chart svg .zero{stroke:var(--line-2);stroke-width:1.2px;stroke-dasharray:3 3}.ed .legend{color:var(--fg-3);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;display:flex}.ed .legend span{align-items:center;gap:6px;display:inline-flex}.ed .legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.ed .data{margin-top:10px;font-size:12.5px}.ed .data summary{cursor:pointer;color:var(--fg-3);align-items:center;gap:6px;font-weight:600;list-style:none;display:inline-flex}.ed .data summary::-webkit-details-marker{display:none}.ed .data summary:before{content:"▸";transition:transform .2s}.ed .data[open] summary:before{transform:rotate(90deg)}.ed .data .tbl-wrap{margin-top:8px}.ed .tbl-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ed table{border-collapse:collapse;width:100%;font-size:13.5px}.ed th{text-align:left;font-size:11px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);border-bottom:1px solid var(--line-2);white-space:nowrap;padding:8px 10px;font-weight:650}.ed td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:9px 10px}.ed tr:last-child td{border-bottom:0}.ed td.nm{white-space:normal;min-width:160px;font-weight:600}.ed td.nm span{color:var(--fg-3);font-size:12px;font-weight:400;display:block}.ed td .t{font-family:var(--mono);font-variant-numeric:tabular-nums}.ed .rk{font-family:var(--mono);background:var(--surface);color:var(--fg-3);box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.ed .rk.r1{background:var(--gold-soft);color:var(--gold);box-shadow:none}.ed .rk.r3{background:var(--accent-soft);color:var(--accent);box-shadow:none}.ed .place{font-family:var(--mono);font-weight:800}.ed .bars-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:12px;display:grid}@media (max-width:760px){.ed .bars-grid{grid-template-columns:1fr}}.ed .bars-grid h4{font-size:12px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin:0 0 8px}.ed .bar-row{grid-template-columns:minmax(0,9.5rem) minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 0;font-size:13px;display:grid}.ed .bar-row .bl{white-space:nowrap;text-overflow:ellipsis;color:var(--fg-2);overflow:hidden}.ed .bar-row.hi .bl{color:var(--fg);font-weight:700}.ed .bar-track{background:var(--surface);height:12px;box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;position:relative;overflow:hidden}.ed .bar-fill{background:#c7cdf9;border-radius:6px;position:absolute;inset:0 auto 0 0}.ed .bar-row.hi .bar-fill{background:var(--accent)}.ed .bar-row .bv{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-2);text-align:right;font-size:12.5px}.ed .bar-row .bv small{font-family:var(--sans);color:var(--fg-3);font-size:11px;display:block}.ed .bar-tick{background:var(--fg);border-radius:1px;width:2px;position:absolute;top:-2px;bottom:-2px}.ed .sources{border-top:1px solid var(--line-2);color:var(--fg-2);max-width:820px;margin-top:44px;padding-top:18px;font-size:13.5px}.ed .sources h2{font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}.ed .sources ol{gap:6px;margin:10px 0 0;padding-left:18px;display:grid}.ed .related{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px;display:grid}@media (max-width:680px){.ed .related{grid-template-columns:1fr}}.ed .related a{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,transform .25s var(--ease-out);color:var(--fg);border-radius:12px;padding:16px 18px;text-decoration:none;display:block}.ed .related a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.ed .related b{font-weight:750;display:block}.ed .related span{color:var(--fg-3);margin-top:4px;font-size:13.5px;display:block}.ed .cta{background:var(--ink);color:var(--on-ink);isolation:isolate;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:30px;padding:22px;display:flex;position:relative;overflow:hidden}.ed .cta b{font-size:18px;display:block}.ed .cta span{color:var(--on-ink-2);max-width:52ch;margin-top:4px;font-size:14.5px;display:block}.ed .race-search{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;gap:6px;margin-top:36px;padding:20px 22px;display:grid}.ed .race-search b{margin-top:2px;font-size:18px}.ed .race-search .txt{color:var(--fg-2);max-width:60ch;font-size:14.5px}.ed .race-search-field{background:var(--card);width:100%;max-width:520px;color:var(--fg-3);font:inherit;text-align:left;cursor:text;box-shadow:inset 0 0 0 1.5px var(--line-2),0 18px 36px -26px #4f46e573;border:0;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:8px 8px 8px 16px;font-size:16px;transition:box-shadow .2s;display:flex}.ed .race-search-field:hover,.ed .race-search-field:focus-visible{box-shadow:inset 0 0 0 2px var(--accent),0 0 0 6px #6366f124;outline:none}.ed .race-search-field span{flex:1;min-width:0}.ed .race-search-field i{color:#fff;background:var(--fg);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:14.5px;font-style:normal;font-weight:750}.ed .btn{white-space:nowrap;transition:background-color .15s var(--ease-out),color .15s var(--ease-out);border-radius:8px;align-items:center;gap:8px;padding:11px 16px;font-size:14.5px;font-weight:750;text-decoration:none;display:inline-flex}.ed .btn:active{opacity:.9}.ed .btn-light{background:var(--accent);color:#fff}.ed .btn-light:hover{color:#fff;background:#4338ca}.ed .btn-dark{background:var(--accent);color:#fff}.ed .btn-dark:hover{color:#fff;background:#4338ca}.ed .btn-ghost{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-2)}.ed .btn-ghost:hover{color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ed .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;margin-top:22px;display:grid}.ed .card-link{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,transform .25s var(--ease-out);border-radius:12px;flex-direction:column;gap:10px;padding:18px 20px;text-decoration:none;display:flex}.ed .card-link:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--accent)}.ed .card-link h3{font-size:19px;line-height:1.25}.ed .card-link p{color:var(--fg-2);font-size:14px}.ed .card-link .meta{color:var(--fg-3);font-size:12px;font-family:var(--mono)}@media (prefers-reduced-motion:reduce){.ed *,.ed :before,.ed :after{transition:none!important;animation:none!important}}@media print{.ed{background:#fff}.ed .hero{color:#000;background:#fff}.ed .hero:before,.ed .hero:after,.ed .cta,.ed .no-print,.ed .toc{display:none!important}.ed .hero h1,.ed .hero .sub,.ed .winner .t,.ed .winner .nm{color:#000}.ed figure{box-shadow:none;break-inside:avoid;border:1px solid #ddd}}.ed .seg{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.ed .seg button{text-align:left;cursor:pointer;color:var(--fg-2);font:inherit;background:0 0;border:0;border-radius:6px;padding:8px 12px;transition:background .2s,color .2s}.ed .seg button b{font-family:var(--mono);color:inherit;font-size:14px;display:block}.ed .seg button span{color:var(--fg-3);font-size:11.5px;display:block}.ed .seg button[aria-pressed=true]{color:#4338ca;background:#eef2ff;box-shadow:inset 0 0 0 1px #c7d2fe}.ed .seg button[aria-pressed=true] span{color:#4f46e5}.ed .plan-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;display:flex}.ed .plan-actions{flex-wrap:wrap;gap:8px;display:flex}.ed .now{background:var(--ink);color:var(--on-ink);isolation:isolate;border-radius:12px;gap:6px;margin-top:18px;padding:16px 18px;display:grid;position:relative;overflow:hidden}.ed .now .eyebrow{color:var(--ink-accent)}.ed .now b{font-size:18px}.ed .now p{color:var(--on-ink-2);font-size:14.5px}.ed .now .keys{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.ed .now .keys span{color:var(--on-ink);background:#ffffff14;border-radius:8px;padding:4px 8px;font-size:12.5px}.ed .phases{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}@media (max-width:900px){.ed .phases{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed .phase{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-top:4px solid var(--c);border-radius:12px;padding:14px 14px 12px}.ed .phase b{font-weight:750;display:block}.ed .phase .wk{font-family:var(--mono);color:var(--fg-3);margin-top:2px;font-size:11.5px;display:block}.ed .phase p{color:var(--fg-2);margin-top:6px;font-size:13.5px;line-height:1.45}.ed .adjs{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;margin-top:14px;display:grid}.ed .adj{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:14px 16px}.ed .adj b{display:block}.ed .adj p{color:var(--fg-2);margin-top:4px;font-size:14px;line-height:1.5}.ed .week{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin-top:10px;scroll-margin-top:80px;overflow:hidden}.ed .week.current{box-shadow:inset 0 0 0 2px var(--accent)}.ed .week>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;list-style:none;display:grid}.ed .week>summary::-webkit-details-marker{display:none}.ed .week .wn{font-family:var(--mono);letter-spacing:-.03em;text-align:right;width:2.2ch;font-size:22px;font-weight:800}.ed .week .wt{min-width:0}.ed .week .wt b{flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:750;display:flex}.ed .week .wt span{color:var(--fg-3);margin-top:2px;font-size:12.5px;line-height:1.45;display:block}.ed .pill{font-size:10.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--c,var(--fg-3));border-radius:6px;padding:2px 7px;font-weight:700}.ed .pill.soft{background:var(--surface);color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line)}.ed .pill.now-pill{background:var(--accent)}.ed .week .wh{text-align:right}.ed .week .wh b{font-family:var(--mono);font-size:16px;display:block}.ed .mix{background:var(--surface);border-radius:3px;width:92px;height:6px;margin-top:5px;margin-left:auto;display:flex;overflow:hidden}.ed .mix i{height:100%;display:block}.ed .week-body{border-top:1px solid var(--line);padding:4px 16px 14px}.ed .week-focus{color:var(--fg-2);padding:10px 0 6px;font-size:14px}.ed .day{border-top:1px dashed var(--line);grid-template-columns:4.6rem minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.ed .day:first-of-type{border-top:0}.ed .day .dl b{font-size:13px;font-weight:750;display:block}.ed .day .dl span{font-family:var(--mono);color:var(--fg-3);font-size:11.5px}.ed .sess{gap:8px;display:grid}.ed .ses{grid-template-columns:10px minmax(0,1fr);gap:10px;display:grid}.ed .ses i{background:var(--c);border-radius:3px;width:10px;height:10px;margin-top:5px}.ed .ses b{font-size:14px;font-weight:700}.ed .ses .dur{font-family:var(--mono);color:var(--fg-2);margin-left:6px;font-size:12.5px;font-weight:600}.ed .ses .key{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-left:6px;font-weight:700}.ed .ses p{color:var(--fg-2);margin-top:2px;font-size:13.5px;line-height:1.5}.ed .ses.rest b{color:var(--fg-3);font-weight:600}.ed .ses.rest p{display:none}.ed .ses.race b{color:var(--gold)}@media (max-width:560px){.ed .day{grid-template-columns:1fr;gap:6px}.ed .day .dl{align-items:baseline;gap:8px;display:flex}.ed .week>summary{gap:10px;padding:12px}.ed .week .wn{font-size:18px}.ed .mix{width:64px}}.ed .race-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px;margin-top:12px;display:grid}.ed .race-list a{color:var(--fg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;justify-content:space-between;gap:10px;padding:10px 12px;font-size:14px;text-decoration:none;transition:box-shadow .2s;display:flex}.ed .race-list a:hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.ed .race-list a span{font-family:var(--mono);color:var(--fg-3);white-space:nowrap;font-size:12px}.ed .month{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin-top:22px;font-size:12px}.ed .faq{gap:8px;max-width:820px;margin-top:14px;display:grid}.ed .faq details{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;padding:12px 16px}.ed .faq summary{cursor:pointer;font-weight:700;list-style:none}.ed .faq summary::-webkit-details-marker{display:none}.ed .faq summary:after{content:"+";float:right;color:var(--fg-3);font-family:var(--mono)}.ed .faq details[open] summary:after{content:"−"}.ed .faq p{color:var(--fg-2);margin-top:8px;font-size:15px;line-height:1.6}@media print{.ed .week{break-inside:avoid;box-shadow:none;border:1px solid #ddd}.ed .week-body{display:block!important}.ed .now,.ed .plan-tools,.ed .seg{display:none!important}}@keyframes ed-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ed .hero-in.article-hero>*{animation:ed-rise .32s var(--ease-out)both}.ed .hero-in.article-hero>:nth-child(2){animation-delay:40ms}.ed .hero-in.article-hero>:nth-child(3){animation-delay:80ms}.ed .hero-in.article-hero>:nth-child(4){animation-delay:.12s}.ed .hero-in.article-hero>:nth-child(5){animation-delay:.16s}.ed .hero-in.article-hero>:nth-child(n+6){animation-delay:.2s}.ed [data-reveal]{transition:opacity .32s var(--ease-out),transform .32s var(--ease-out)}.ed [data-reveal][data-armed]:not([data-in]){opacity:0;transform:translateY(6px)}.ed .grow-x{transform-origin:0;transition:transform .56s var(--ease-out)calc(.16s + min(var(--i,0)*var(--stagger,28ms),.24s))}.ed .grow-y{transform-origin:bottom;transition:transform .56s var(--ease-out)calc(.16s + min(var(--i,0)*var(--stagger,14ms),.24s))}.ed .fade-in{transition:opacity .26s var(--ease-out)var(--d,.76s)}.ed .draw-in{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .7s var(--ease-out).42s}.ed [data-armed]:not([data-in]) .grow-x{transition:none;transform:scaleX(0)}.ed [data-armed]:not([data-in]) .grow-y{transition:none;transform:scaleY(0)}.ed [data-armed]:not([data-in]) .fade-in{opacity:0;transition:none}.ed [data-armed]:not([data-in]) .draw-in{stroke-dashoffset:1px;transition:none}@media (prefers-reduced-motion:reduce){.ed [data-reveal][data-armed]:not([data-in]),.ed [data-armed]:not([data-in]) .fade-in{opacity:1;transform:none}.ed [data-armed]:not([data-in]) .grow-x,.ed [data-armed]:not([data-in]) .grow-y{transform:none}.ed [data-armed]:not([data-in]) .draw-in{stroke-dashoffset:0}}.ed .ladder{--lab:minmax(0,13rem);margin-top:14px;position:relative}.ed .ladder-axis,.ed .ladder-row,.ed .ladder-guides{grid-template-columns:var(--lab)minmax(0,1fr)4.6rem;align-items:center;gap:12px;display:grid}.ed .ladder-axis{z-index:1;height:18px;margin-bottom:4px;position:relative}.ed .ladder-axis-track{height:100%;position:relative}.ed .ladder-axis-track b{font-family:var(--mono);color:var(--fg-3);margin-left:4px;font-size:10.5px;font-weight:500;position:absolute;top:-2px}.ed .ladder-guides{pointer-events:none;position:absolute;inset:0}.ed .ladder-guides-track{height:100%;position:relative}.ed .ladder-guides-track i{border-left:1px dashed var(--line);position:absolute;top:0;bottom:0}.ed .ladder-row{z-index:1;padding:5px 0;position:relative}.ed .ladder-lab b{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;display:block;overflow:hidden}.ed .ladder-lab span{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.ed .ladder-row.hi .ladder-lab b{color:var(--fg);font-weight:800}.ed .ladder-track{background:var(--surface);height:16px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;position:relative;overflow:hidden}.ed .ladder-fill{background:#c7cdf9;border-radius:4px;position:absolute;inset:0 auto 0 0}.ed .ladder-row.hi .ladder-fill{background:var(--accent)}.ed .ladder-row.rep .ladder-fill{box-shadow:inset 0 0 0 1.5px var(--fg-3);background:0 0}.ed .ladder-val{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--fg-2);text-align:right;font-size:13.5px;font-weight:700}.ed .ladder-row.hi .ladder-val{color:var(--accent);font-weight:800}@media (max-width:640px){.ed .ladder{--lab:minmax(0,8.5rem)}.ed .ladder-axis,.ed .ladder-row,.ed .ladder-guides{grid-template-columns:var(--lab)minmax(0,1fr)4.2rem;gap:8px}.ed .ladder-lab b{font-size:12.5px}.ed .ladder-lab span{font-size:10.5px}.ed .ladder-val{font-size:12.5px}}.ed .strip{--strip-lab:11rem;--strip-gap:12px;margin-top:14px}.ed .strip-rows{position:relative}.ed .strip-axis,.ed .strip-row,.ed .strip-guides{grid-template-columns:var(--strip-lab)minmax(0,1fr);gap:var(--strip-gap);align-items:center;display:grid}.ed .strip-axis{z-index:1;height:16px;margin-bottom:6px;position:relative}.ed .strip-axis .strip-track{box-shadow:none;background:0 0;height:100%;overflow:visible}.ed .strip-axis i{height:100%;position:absolute;top:0}.ed .strip-axis i b{font-family:var(--mono);color:var(--fg-3);font-size:10.5px;font-weight:500;position:absolute;top:-1px;left:4px}.ed .strip-guides{pointer-events:none;position:absolute;inset:0}.ed .strip-guides-track{height:100%;position:relative}.ed .strip-guides-track i{border-left:1px dashed var(--line);position:absolute;top:0;bottom:0}.ed .strip-row{z-index:1;padding:7px 0;position:relative}.ed .strip-row.syn{border-top:1px dashed var(--line-2);margin-top:8px;padding-top:12px}.ed .strip-lab b{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;display:block;overflow:hidden}.ed .strip-row.win .strip-lab b{color:var(--fg);font-weight:800}.ed .strip-lab span{color:var(--fg-3);font-size:11.5px}.ed .strip-track{background:var(--surface);height:18px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;display:flex;position:relative;overflow:visible}.ed .strip-seg{flex:none;height:100%;display:block}.ed .strip-seg:first-child{border-radius:4px 0 0 4px}.ed .strip-seg.swim{background:var(--swim)}.ed .strip-seg.bike{background:var(--bike)}.ed .strip-seg.run{background:var(--run);border-radius:0 4px 4px 0}.ed .strip-seg.t1,.ed .strip-seg.t2{background:var(--rest)}.ed .strip-at{z-index:2;width:0;height:0;position:absolute;top:50%;left:0}.ed .strip-at i{width:10px;height:10px;box-shadow:0 0 0 2px var(--fg);background:#fff;border-radius:50%;position:absolute;top:-5px;left:-5px}.ed .strip-at em{color:var(--fg);white-space:nowrap;background:#ffffffd9;border-radius:4px;padding:0 4px;font-size:11px;font-style:normal;font-weight:650;position:absolute;top:-8px;left:10px}.ed .strip-at.done i{background:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--accent)}.ed .strip-at.done em{color:var(--accent)}.ed .strip-line{border-left:2px solid var(--fg);width:0;position:absolute;top:0;bottom:0}.ed .strip-at em.short{display:none}@media (max-width:640px){.ed .strip{--strip-lab:6.4rem;--strip-gap:8px}.ed .strip-lab b{font-size:12px}.ed .strip-at em{font-size:10px}.ed .strip-at em.full{display:none}.ed .strip-at em.short{display:inline}}.ed .histo{margin-top:14px}.ed .histo-plot{border-bottom:1px solid var(--line-2);height:230px;position:relative;overflow:visible}.ed .histo-col{align-items:flex-end;height:100%;padding:0 1.5px;display:flex;position:absolute;bottom:0}.ed .histo-bar{background:#c7cdf9;border-radius:3px 3px 0 0;flex-direction:column;justify-content:flex-start;width:100%;display:flex;overflow:hidden}.ed .histo-bar .w{background:#f6c39c;width:100%;display:block}.ed .histo-mark{border-left:2px solid var(--fg-3);pointer-events:none;width:0;position:absolute;top:0;bottom:0}.ed .histo-mark.pro{border-left-color:var(--accent)}.ed .histo-mark em{color:var(--fg-2);white-space:nowrap;background:#ffffffe6;border-radius:4px;padding:1px 5px;font-size:11px;font-style:normal;position:absolute;left:6px}.ed .histo-mark.pro em{color:var(--accent);font-weight:700}.ed .histo-mark em b{font-family:var(--mono);font-weight:600}.ed .histo-axis{height:18px;position:relative}.ed .histo-axis i{position:absolute;top:0}.ed .histo-axis i b{font-family:var(--mono);color:var(--fg-3);font-size:10.5px;font-weight:500;position:absolute;top:4px;left:0;transform:translate(-50%)}@media (max-width:640px){.ed .histo-plot{height:180px}.ed .histo-mark em{font-size:10px}}.ed .shares{gap:10px;margin-top:14px;display:grid}.ed .shares-row{grid-template-columns:minmax(0,12rem) minmax(0,1fr);align-items:center;gap:12px;display:grid}.ed .shares-lab b{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:650;display:block;overflow:hidden}.ed .shares-lab span{color:var(--fg-3);font-size:11.5px}.ed .shares-track{background:var(--surface);height:26px;box-shadow:inset 0 0 0 1px var(--line);border-radius:6px;display:flex;overflow:hidden}.ed .shares-seg{flex:none;place-items:center;height:100%;display:grid}.ed .shares-seg.swim{background:var(--swim)}.ed .shares-seg.bike{background:var(--bike)}.ed .shares-seg.run{background:var(--run)}.ed .shares-seg.t1,.ed .shares-seg.t2{background:var(--rest)}.ed .shares-seg em{font-style:normal;font-family:var(--mono);color:#fff;font-size:11.5px;font-weight:700}@media (max-width:640px){.ed .shares-row{grid-template-columns:1fr;gap:4px}.ed .shares-lab{align-items:baseline;gap:8px;display:flex}}.ed .yrs{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.ed .yrs-col{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;padding:12px 14px 10px}.ed .yrs-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ed .yrs-head b{font-family:var(--mono);letter-spacing:-.03em;font-size:20px;font-weight:800}.ed .yrs-temp{font-family:var(--mono);color:var(--fg);border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:700}.ed .yrs-meta{color:var(--fg-3);flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;display:flex}.ed .yrs-meta b{color:var(--fg-2);font-weight:700}.ed .yrs-group{margin-top:12px}.ed .yrs-group h4{font-size:10.5px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);margin:0 0 4px}.ed .yrs-row{color:var(--fg-3);grid-template-columns:3.4rem minmax(0,1fr);align-items:center;gap:8px;padding:2px 0;font-size:12px;display:grid}.ed .yrs-track{background:var(--card);height:14px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;position:relative;overflow:visible}.ed .yrs-fill{border-radius:4px;position:absolute;inset:0 auto 0 0}.ed .yrs-fill.m{background:#c7cdf9}.ed .yrs-fill.w{background:#f6c39c}.ed .yrs-track em{color:var(--fg-2);font-size:11px;font-style:normal;font-weight:700;position:absolute;top:-1px;right:6px}@media (max-width:760px){.ed .yrs{grid-template-columns:1fr}}.ed .slot-row.only .bar-fill{opacity:.55}.ed .slot-row.only .bv small{color:var(--gold);font-weight:600}.ed .dbands{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin-top:14px;display:grid}.ed .dband{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;padding:12px 14px 10px}.ed .dband-head b{font-family:var(--mono);letter-spacing:-.02em;font-size:15px;font-weight:800;display:block}.ed .dband-head span{color:var(--fg-3);margin-top:1px;font-size:11.5px;display:block}.ed .dband-row{grid-template-columns:3.4rem minmax(0,1fr) 3.6rem;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:grid}.ed .dband-key{color:var(--fg-3);text-transform:capitalize}.ed .dband-track{background:var(--card);height:14px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;position:relative;overflow:hidden}.ed .dband-zero{border-left:1px solid var(--line-2);position:absolute;top:0;bottom:0;left:50%}.ed .dband-fill{position:absolute;top:0;bottom:0}.ed .dband-fill.run{background:var(--run)}.ed .dband-fill.bike{background:var(--bike)}.ed .dband-fill.swim{background:var(--swim)}.ed .dband-fill.neg{transform-origin:100%}.ed .dband-val{text-align:right;color:var(--fg-2);font-size:12px;font-weight:700}.ed .hbands{gap:6px;margin-top:14px;display:grid}.ed .hband-row{grid-template-columns:minmax(0,9rem) minmax(0,1fr) 4.2rem 5.6rem;align-items:center;gap:10px;display:grid}.ed .hband-row.head{font-size:10.5px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.ed .hband-row.head span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ed .hband-lab b{color:var(--fg);font-size:13.5px;font-weight:700;display:block}.ed .hband-lab span{color:var(--fg-3);font-size:11.5px;display:block}.ed .hband-track{background:var(--surface);height:22px;box-shadow:inset 0 0 0 1px var(--line);border-radius:5px;position:relative;overflow:visible}.ed .hband-fill{border-radius:5px;position:absolute;inset:0 auto 0 0}.ed .hband-track em{color:var(--fg);font-size:12.5px;font-style:normal;font-weight:800;position:absolute;top:3px;right:8px}.ed .hband-stat{color:var(--fg-2);text-align:right;font-size:13px;font-weight:700}@media (max-width:640px){.ed .hband-row{grid-template-columns:minmax(0,5.6rem) minmax(0,1fr) 3rem 3.4rem;gap:6px}.ed .hband-lab b{font-size:12px}.ed .hband-lab span{font-size:10px}.ed .hband-stat{font-size:11.5px}}.ed .cyears{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px 24px;margin-top:14px;display:grid}.ed .cyear h4{margin:0 0 6px;font-size:13px;font-weight:750}.ed .cyear-row{grid-template-columns:2.8rem 3.6rem minmax(0,1fr);align-items:center;gap:8px;padding:3px 0;font-size:12px;display:grid}.ed .cyear-year{color:var(--fg-3)}.ed .cyear-temp{text-align:center;color:var(--fg);border-radius:5px;padding:2px 0;font-size:11px;font-weight:700}.ed .cyear-track{background:var(--surface);height:14px;box-shadow:inset 0 0 0 1px var(--line);border-radius:4px;position:relative}.ed .cyear-fill{background:#f6c39c;border-radius:4px;position:absolute;inset:0 auto 0 0}.ed .cyear-track em{color:var(--fg-2);font-size:11px;font-style:normal;font-weight:700;position:absolute;top:-1px;right:6px}
