:root{color-scheme:light;--ground:#F7F4F4;--surface:#FFFFFF;--surface-2:#EFEAEA;--line:#DED6D6;--line-strong:#A89C9C;--ink:#161011;--ink-2:#544B4C;--ink-3:#776C6D;--accent:#C9231A;--accent-soft:#FBE9E7;--warn:#8A4A12;--warn-soft:#F7ECDF;--z1:#F5DBD7;--z2:#E9A59D;--z3:#DB6C5F;--z4:#B43D2F;--z5:#7A2119;--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--gutter: 18px;--measure: 680px;--frame: 1280px;--shadow: 0 1px 2px rgba(22,16,17,.05), 0 12px 34px -18px rgba(22,16,17,.28)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground:#0D0B0C;--surface:#161213;--surface-2:#1E1819;--line:#2C2425;--line-strong:#5A4B4D;--ink:#F6F2F2;--ink-2:#BEB3B4;--ink-3:#948888;--accent:#F04438;--accent-soft:#2A1512;--warn:#E09A63;--warn-soft:#2E1C10;--z1:#5E251E;--z2:#983E31;--z3:#D25C48;--z4:#F68D7D;--z5:#F8CAC2;--shadow: 0 1px 2px rgba(0,0,0,.5), 0 14px 40px -18px rgba(0,0,0,.85)}}:root[data-theme=dark]{color-scheme:dark;--ground:#0D0B0C;--surface:#161213;--surface-2:#1E1819;--line:#2C2425;--line-strong:#5A4B4D;--ink:#F6F2F2;--ink-2:#BEB3B4;--ink-3:#948888;--accent:#F04438;--accent-soft:#2A1512;--warn:#E09A63;--warn-soft:#2E1C10;--z1:#5E251E;--z2:#983E31;--z3:#D25C48;--z4:#F68D7D;--z5:#F8CAC2;--shadow: 0 1px 2px rgba(0,0,0,.5), 0 14px 40px -18px rgba(0,0,0,.85)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.62;letter-spacing:-.006em;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;text-wrap:balance}p{margin:0}button{font:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media(min-width:700px){:root{--gutter: 32px}}@media(min-width:1100px){:root{--gutter: 56px}}.topbar{display:flex;justify-content:space-between;align-items:center;max-width:var(--frame);margin:0 auto;padding:16px var(--gutter) 0;gap:12px}.topbar .mark{background:none;border:none;cursor:pointer;padding:0;color:var(--ink);display:block}.logo{display:inline-flex;align-items:center;gap:9px}.logo-mark{display:flex;color:var(--accent)}.logo-word{font-weight:700;font-size:19px;letter-spacing:-.03em}.topbar nav{display:flex;gap:12px;align-items:center;min-width:0}.topbar .mark{flex-shrink:0}.logo-word{white-space:nowrap}@media(max-width:420px){.navlink.narrow-hide{display:none}}@media(min-width:700px){.topbar nav{gap:18px}}.topbar{padding-block:18px}.topbar .btn.small{padding:10px 18px}.navlink{background:none;border:none;cursor:pointer;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink-2);padding:10px 4px;border-radius:8px}.navlink:hover{color:var(--ink)}.navlink:focus-visible,.topbar .btn:focus-visible,.topbar .mark:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:380px){.topbar nav{gap:8px}.topbar .btn.small{padding:9px 13px;font-size:13.5px}.logo-word{font-size:17px}}.shell{max-width:var(--measure);margin:0 auto;padding:0 var(--gutter) 96px}.shell.wide{max-width:var(--frame)}.eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--ink-2)}.hint{font-size:13px;color:var(--ink-3);line-height:1.5}.btn{display:block;width:100%;text-align:center;cursor:pointer;background:var(--accent);color:var(--ground);border:none;border-radius:999px;padding:15px;font-weight:700;font-size:16px;letter-spacing:-.01em;transition:transform .12s ease}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line-strong);font-weight:600}.btn.small{padding:10px 16px;width:auto;font-size:14px;display:inline-block}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}.field{display:grid;gap:7px;margin-bottom:20px}.field>label,.field-top>label{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.field input:not([type=checkbox]):not([type=radio]):not([type=range]),.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:var(--surface);color:var(--ink);font-size:15.5px;font-family:inherit;font-variant-numeric:tabular-nums;min-height:48px;transition:border-color .15s,box-shadow .15s}.field input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.field input::placeholder{color:var(--ink-3)}.field textarea{min-height:72px;resize:vertical;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ground)}.chip.sq{border-radius:10px;padding:11px 0;flex:1;text-align:center;font-size:13px}.derived{background:var(--accent-soft);border:1px solid var(--accent);border-radius:11px;padding:11px 13px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;color:var(--accent)}.derived b{font-weight:600}.steps-bar{display:flex;gap:4px;margin:22px 0 26px}.steps-bar i{height:3px;flex:1;background:var(--line);display:block;border-radius:2px}.steps-bar i.on{background:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.card .pad{padding:24px 22px}.topstrip{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px}.race-n{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);display:block}.race-c{font-size:19px;font-weight:700;letter-spacing:-.03em;margin-top:3px;display:block;font-variant-numeric:tabular-nums}.ring{position:relative;width:52px;height:52px;flex:none}.ring svg{width:52px;height:52px;transform:rotate(-90deg)}.ring span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;font-size:11.5px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}.hero{border-top:1px solid var(--line);padding-top:22px}.hero .day{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.hero .sport{font-weight:700;letter-spacing:-.045em;font-size:clamp(44px,12.5vw,60px);line-height:.95;margin-top:9px;display:block}.hero .kind{font-weight:400;letter-spacing:-.025em;font-size:clamp(24px,7vw,34px);line-height:1.08;color:var(--ink-3);display:block;margin-top:1px}.targets{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-block:1px solid var(--line);margin-top:22px}.targets>div{background:var(--surface);padding:14px 0;display:grid;gap:3px}.targets>div+div{padding-left:16px}.targets dt{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.targets dd{margin:0;font-size:27px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.targets dd small{display:block;font-size:11px;font-weight:400;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;margin-top:2px}.steps{padding:18px 0 4px;display:grid;gap:8px}.steps .s{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:baseline}.steps .s i{font-size:11px;font-weight:600;color:var(--ink-3);font-style:normal;font-variant-numeric:tabular-nums}.steps .s span{font-size:15px;line-height:1.45}.disc{display:grid}.disc button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:none;border-top:1px solid var(--line);padding:13px 0;font-size:15px;color:var(--ink);font-weight:600;cursor:pointer;text-align:left}.disc button .ch{font-size:13px;color:var(--accent);transition:transform .2s}.disc button[aria-expanded=true] .ch{transform:rotate(90deg)}.disc .panel{font-size:14.5px;color:var(--ink-2);line-height:1.6;padding:0 0 15px}.disc .panel p+p{margin-top:10px}.disc .panel ul{margin:0;padding-left:18px}.disc .panel li{margin-bottom:4px}.accum{border-top:1px solid var(--line);padding-top:16px;margin-top:20px;display:grid;gap:10px}.accum .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.accum .big{font-size:21px;font-weight:700;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.accum .big s{text-decoration:none;color:var(--ink-3);font-size:13px;font-weight:400}.accum .cap{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.streak{display:flex;gap:3px;flex-wrap:wrap}.streak i{flex:1;max-width:15px;height:13px;border-radius:3px;background:var(--accent);display:block}.streak i.miss{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.streak i.now{background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--accent)}.done-note{display:grid;gap:9px;padding:14px 0 2px}.done-note .tick{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);display:grid;place-content:center;color:var(--accent)}.done-note h3{font-size:23px}.done-note p{font-size:15px;color:var(--ink-2)}.whead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:12px}.whead .t{font-weight:700;font-size:22px;letter-spacing:-.025em}.whead .h{font-size:12px;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.wrow{display:grid;grid-template-columns:18px 34px 1fr auto;gap:10px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line);width:100%;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;color:inherit}.wrow .tick{font-size:12px;color:var(--accent)}.wrow .tick.open{color:var(--line-strong)}.wrow .d{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.wrow .n{font-size:14.5px;font-weight:600;line-height:1.3}.wrow .n small{display:block;font-size:10.5px;font-weight:400;color:var(--ink-2);margin-top:3px}.wrow .u{font-size:11.5px;font-weight:500;color:var(--ink-3);font-variant-numeric:tabular-nums}.wrow.is-today{background:linear-gradient(90deg,var(--accent-soft),transparent 72%)}.wrow.rest .n{font-weight:400;color:var(--ink-3);font-size:14px}.note{border-left:2px solid var(--accent);padding-left:13px;margin-top:18px}.note .k{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:5px}.note p{font-size:14.5px;line-height:1.6;color:var(--ink-2)}.stack{display:flex;gap:2px;height:9px;border-radius:5px;overflow:hidden;margin-bottom:14px}.stack i{display:block}.tabs{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:999px;margin:20px 0 22px}.tabs button{flex:1;border:none;background:none;cursor:pointer;padding:10px 6px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-3)}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000012}.notice{background:var(--warn-soft);border-left:3px solid var(--warn);border-radius:0 10px 10px 0;padding:13px 15px;margin-bottom:12px}.notice p{font-size:14px;line-height:1.55;color:var(--ink-2)}.notice .k{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--warn);display:block;margin-bottom:5px}.lede{font-size:18px;line-height:1.55;color:var(--ink-2)}.hero-h1{font-size:clamp(34px,8vw,52px);line-height:1.05;letter-spacing:-.04em;font-weight:700}.hero-h1 em{font-style:normal;color:var(--accent);font-weight:700}.sell{display:grid;gap:22px;margin:30px 0}.sell h3{font-size:16.5px;font-weight:700;margin-bottom:5px;letter-spacing:-.01em}.sell p{font-size:14.5px;color:var(--ink-2);line-height:1.6}.sell .k{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}.tier{border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px;background:var(--surface)}.tier.lead{border-color:var(--accent);border-width:2px}.tier .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px}.tier h3{font-size:19px}.tier .price{font-size:23px;font-weight:700;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums}.tier .price s{text-decoration:none;font-size:11px;color:var(--ink-3);font-weight:400;display:block;text-align:right;letter-spacing:0}.tier .what{font-size:14px;color:var(--ink-2);margin-bottom:12px}.tier ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink-2);line-height:1.7}.tier .tag{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:8px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:4px}.stats>div{background:var(--surface);padding:10px 11px;display:grid;gap:2px}.stats dt{font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.stats dd{margin:0;font-size:17px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.stats dd small{font-size:10.5px;font-weight:500;color:var(--ink-3);margin-left:2px;letter-spacing:0}.fuelgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.fuelgrid>div{background:var(--surface);padding:13px 14px;display:grid;gap:4px;align-content:start}.fuelgrid dt{font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.fuelgrid dd{margin:0;font-size:20px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.fuelgrid dd small{font-size:11px;font-weight:500;color:var(--ink-3);margin-left:3px;letter-spacing:0}.fuelgrid p{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin-top:2px}.fuelgrid>div:last-child:nth-child(odd){grid-column:1 / -1}.locked{border:1px dashed var(--line-strong);border-radius:16px;padding:20px;display:grid;gap:10px;background:var(--surface);margin-top:18px}.locked .k{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.locked .what{font-size:15.5px;font-weight:600;letter-spacing:-.01em}.locked ul{margin:0;padding-left:18px;display:grid;gap:5px}.locked li{font-size:14.5px;color:var(--ink-2);line-height:1.5}.locked .btn{margin-top:6px;text-decoration:none}.print-only{display:none}@media print{@page{size:A4;margin:14mm 13mm 16mm}html,body{background:#fff!important;color:#111;font-size:10pt}.shell>*:not(.print-only){display:none!important}nav,.topbar,.no-print,.tabs,.card,.notice,.btn,.sample-banner{display:none!important}.print-only{display:block;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only h1,.print-only h2,.print-only h3{color:#111}.pcover{break-after:page}.pbrand{font-size:8.5pt;letter-spacing:.14em;text-transform:uppercase;color:#c9231a;font-weight:700}.pcover h1{font-size:30pt;line-height:1.05;letter-spacing:-.03em;margin:10pt 0 4pt}.pdate{font-size:13pt;color:#444;margin-bottom:18pt}.pfigs{display:grid;grid-template-columns:repeat(5,auto);justify-content:start;gap:0 22pt;border-block:.75pt solid #bbb;padding:9pt 0;margin:0 0 18pt}.pfigs div{display:grid;gap:2pt}.pfigs dt{font-size:7.5pt;letter-spacing:.1em;text-transform:uppercase;color:#666}.pfigs dd{margin:0;font-size:13pt;font-weight:700;font-variant-numeric:tabular-nums}.pcover h2,.pend h2{font-size:11pt;margin:16pt 0 6pt}.ppaces{border-collapse:collapse}.ppaces th{text-align:left;font-weight:400;color:#333;padding:3pt 18pt 3pt 0;font-size:10pt}.ppaces td{font-weight:700;font-size:11pt;font-variant-numeric:tabular-nums}.pkey,.pnotes-print,.pend ul{margin:0;padding-left:13pt}.pkey li,.pnotes-print li,.pend li{font-size:9.5pt;line-height:1.5;color:#222;margin-bottom:3pt}.pkey li:first-child{list-style:none;margin-left:-13pt;margin-bottom:6pt}.ptag{display:inline-block;font-size:7pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1pt 4pt;border-radius:3pt;color:#fff;margin-right:4pt;vertical-align:1pt}.ptag.sp-run{background:#c9231a}.ptag.sp-ride{background:#b26b00}.ptag.sp-swim{background:#13798a}.ptag.sp-strength{background:#5e5862}.ptag.sp-brick{background:#7a4e91}.ptag.sp-race{background:#111}.ptag.hard{background:#fff;color:#c9231a;border:.75pt solid #C9231A}.pweek{break-before:page}.pweek-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12pt;border-bottom:1.5pt solid #111;padding-bottom:5pt}.pweek-k{font-size:8pt;letter-spacing:.1em;text-transform:uppercase;color:#c9231a;font-weight:700}.pweek-h h2{font-size:17pt;letter-spacing:-.02em;margin:2pt 0 0}.pweek-sum{font-size:9pt;color:#444;font-variant-numeric:tabular-nums}.pnote{font-size:9.5pt;color:#333;margin:7pt 0 9pt;line-height:1.5;max-width:150mm}.pday{display:grid;grid-template-columns:22mm 1fr;gap:0 4mm;border-top:.5pt solid #ccc;padding:5pt 0;break-inside:avoid}.pday-h{font-size:8.5pt;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding-top:2pt}.prest{font-size:9.5pt;color:#888;padding-top:1pt}.psess+.psess{margin-top:6pt;padding-top:6pt;border-top:.5pt dashed #ddd}.psess-h{display:flex;justify-content:space-between;gap:10pt;font-size:10pt}.psess-h .pt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.psess ol{margin:3pt 0 0;padding-left:14pt}.psess li{font-size:9pt;line-height:1.45;color:#333}.psess li b{font-weight:700;color:#111;margin-right:5pt;font-variant-numeric:tabular-nums}.pfuel{font-size:9pt;color:#333;margin-top:8pt;border-top:.5pt solid #ccc;padding-top:6pt}.pbox{border:1pt solid #111;padding:8pt 10pt;margin-top:14pt;break-inside:avoid}.pbox p{font-size:9.5pt;line-height:1.5}.pend{break-before:page}.pfoot{margin-top:16pt;padding-top:6pt;border-top:.5pt solid #999;font-size:8pt;color:#555;line-height:1.5}}.home-hero{background:#0d0b0c;color:#f6f2f2;padding:0 var(--gutter) 54px;position:relative;overflow:hidden;--z1:#5E251E;--z2:#983E31;--z3:#D25C48;--z4:#F68D7D;--z5:#F8CAC2}.home-hero:before{content:"";position:absolute;inset:-40% -20% auto -20%;height:90%;background:radial-gradient(60% 60% at 50% 40%,rgba(240,68,56,.22),transparent 70%);pointer-events:none}.hero-in{max-width:var(--frame);margin:0 auto;position:relative;padding-top:42px}.resume{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-bottom:26px;border:1px solid #2C2425;border-radius:12px;padding:11px 14px;background:#ffffff08}.resume span{font-size:13.5px;color:#beb3b4}.resume b{color:#f6f2f2;font-weight:600}.resume button{background:none;border:none;cursor:pointer;padding:0;color:#f04438;font-weight:700;font-size:13.5px}.hero-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#948888;display:block}.hero-title{font-size:clamp(46px,13vw,76px);line-height:.95;letter-spacing:-.045em;font-weight:700;margin:16px 0 20px;color:#f6f2f2}.hero-title em{font-style:normal;color:#f04438}.hero-lede{font-size:clamp(16.5px,4.2vw,18.5px);line-height:1.55;color:#beb3b4;max-width:44ch}.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 12px}.hero-cta .btn{width:auto;flex:1 1 200px}.btn.big{padding:17px 26px;font-size:16.5px}.home-hero .btn.ghost{border-color:#5a4b4d;color:#f6f2f2;background:transparent}.hero-note{font-size:13px;color:#948888}.linkish{background:none;border:none;padding:0;cursor:pointer;color:#f04438;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}.hero-fig{margin:38px 0 0}.ribbon{display:flex;gap:4px;align-items:flex-end;height:150px;width:100%}.rib-col{flex:1;height:100%;display:flex;align-items:flex-end}.rib-bar{width:100%;display:flex;flex-direction:column-reverse;gap:2px;transform-origin:bottom;transition:transform .7s cubic-bezier(.2,.9,.25,1);border-radius:3px 3px 0 0;overflow:hidden}.rib-bar i{display:block;width:100%}.hero-fig figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:14px;font-size:11px;color:#948888;border-top:1px solid #2C2425;padding-top:12px}.hero-fig .legend{display:flex;align-items:center;gap:6px}.hero-fig .legend i{width:11px;height:11px;border-radius:3px;display:block;margin-left:6px}.strip{background:var(--surface-2);padding:0 var(--gutter)}.strip-in{max-width:var(--frame);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:20px 14px;padding:26px 0}@media(min-width:620px){.strip-in{grid-template-columns:repeat(4,1fr);padding:40px 0}}.strip-in div{display:grid;gap:2px}.strip-in b{font-size:27px;font-weight:700;letter-spacing:-.04em;color:var(--accent)}.strip-in span{font-size:12.5px;color:var(--ink-2);line-height:1.4}.sell-block{padding:8px var(--gutter) 0}.sell-in{max-width:var(--frame);margin:0 auto;display:grid;gap:34px;padding:34px 0}@media(min-width:900px){.sell-in{grid-template-columns:repeat(3,1fr);gap:48px;padding:72px 0}}.sell-in p{max-width:46ch}.sell-in .k{font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:8px}.sell-in h2{font-size:clamp(22px,5.4vw,27px);letter-spacing:-.03em;margin-bottom:10px}.sell-in p{font-size:15.5px;line-height:1.62;color:var(--ink-2)}.closer{background:#0d0b0c;color:#f6f2f2;padding:0 var(--gutter)}.closer-in{max-width:var(--frame);margin:0 auto;padding:48px 0 56px;display:grid;gap:20px;justify-items:start}@media(min-width:900px){.closer-in{padding:96px 0 104px;justify-items:center;text-align:center}.closer h2{font-size:clamp(38px,4.4vw,60px)}}.closer h2{font-size:clamp(26px,7vw,38px);letter-spacing:-.035em;line-height:1.08;color:#f6f2f2}.closer .btn{width:auto}.closer p{font-size:13px;color:#948888}@media(prefers-reduced-motion:reduce){.rib-bar{transition:none;transform:scaleY(1)!important}}.shell.wide .tabs{max-width:420px}.shell.wide>.eyebrow,.shell.wide>h1,.shell.wide>.lede,.shell.wide>.hint,.shell.wide>.notice{max-width:var(--measure)}.today-layout{display:grid;gap:18px}@media(min-width:1040px){.today-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:start}}.notices .notice:last-child{margin-bottom:0}.tiers{display:grid;gap:14px}@media(min-width:900px){.tiers{grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.tiers .tier{margin-bottom:0;height:100%}}@media(min-width:1040px){.shell.wide .card{max-width:none}}@media(min-width:1040px){.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding:56px 0 64px}.hero-title{font-size:clamp(76px,6.2vw,102px)}.hero-lede{max-width:42ch}.hero-fig{margin:0}.ribbon{height:360px;gap:6px}.hero-fig figcaption{font-size:12px}.strip-in b{font-size:44px}.strip-in span{font-size:14px}}.wlock{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:3px;vertical-align:2px;text-indent:-9999px;overflow:hidden}.auth{display:grid;gap:28px;margin:22px auto 0;max-width:460px}@media(min-width:900px){.auth{max-width:980px;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:64px;align-items:center;margin-top:48px}}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 22px 24px;box-shadow:var(--shadow)}@media(min-width:480px){.auth-card{padding:36px 34px 28px}}.auth-card h1{font-size:clamp(26px,6vw,32px);letter-spacing:-.035em;margin:0 0 8px}.auth-intro{color:var(--ink-2);font-size:15px;line-height:1.55;margin:0 0 26px}.auth-card form .btn.big{width:100%;margin-top:6px}.auth-card .field{margin-bottom:18px}.field-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.textlink{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--accent);font-weight:600;font-size:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.field-top .textlink{font-size:12.5px}.textlink:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.pass{position:relative}.pass input{padding-right:70px!important}.pass-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--surface-2);border:none;border-radius:8px;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);padding:7px 10px}.pass-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-error,.auth-sent{border-radius:12px;padding:13px 15px;margin:4px 0 18px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}.auth-error .k,.auth-sent .k{display:block;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.auth-error p,.auth-sent p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2)}.auth-sent p+p{margin-top:10px}.auth-sent .btn{margin-top:16px;width:100%}.auth-switch{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);text-align:center;font-size:14.5px;color:var(--ink-2)}.auth-card>.hint{margin-top:12px;text-align:center}.auth-aside .eyebrow{margin-bottom:14px;display:block}.auth-points{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:16px}.auth-points li{position:relative;padding-left:30px;color:var(--ink-2);font-size:15px;line-height:1.55}.auth-points li b{color:var(--ink);font-weight:600}.auth-points li:before{content:"";position:absolute;left:4px;top:5px;width:5px;height:15px;border-radius:2px;background:var(--accent)}@media(min-width:900px){.auth-points li{font-size:16.5px}.auth-aside .eyebrow{font-size:11px}}.optional{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-3);margin-left:6px;font-size:11px}.site-foot{padding:0 var(--gutter);border-top:1px solid var(--line)}.site-foot-in{max-width:var(--frame);margin:0 auto;padding:36px 0 56px;display:grid;gap:26px}@media(min-width:760px){.site-foot-in{grid-template-columns:1fr 1fr 1fr;align-items:start}}@media(min-width:1000px){.site-foot-in{grid-template-columns:1fr 1fr 1fr 1.4fr}}.site-foot nav{display:grid;gap:8px}.site-foot .k{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.site-foot a{color:var(--ink-2);text-decoration:none;font-size:15px}.site-foot a:hover{color:var(--accent)}.paywall{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 20px;box-shadow:var(--shadow);display:grid;gap:12px}.paywall .k{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.paywall-price{display:grid;gap:2px}.paywall-price strong{font-size:34px;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.paywall-price span{font-size:13.5px;color:var(--ink-2)}.paywall .what{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.55}.paywall .btn{width:100%}.paywall-auth{display:grid;gap:10px;justify-items:center;text-align:center}.paywall-auth .btn{text-decoration:none;text-align:center}.paywall-error{margin:0;color:var(--accent);font-size:14px}.paywall-legal{margin:4px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.55;color:var(--ink-3)}.paywall-legal b{color:var(--ink-2);font-weight:600}.paywall-legal a{color:var(--ink-2)}.paid-banner{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft);border-radius:12px;padding:13px 15px;margin:18px 0 0}.paid-banner .k{display:block;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.paid-banner p{margin:0;font-size:14.5px;color:var(--ink-2)}.download-h{font-size:18px;margin:18px 0 10px}.billing-note{margin-top:26px;padding:18px 0 0;border-top:1px solid var(--line);max-width:var(--measure)}.billing-note .k{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.billing-note p{margin:8px 0 0;font-size:14px;color:var(--ink-2);line-height:1.6}.billing-note b{color:var(--ink)}.paywall-form{display:grid;gap:4px}.paywall-form-lead{margin:0 0 10px;font-size:14px;color:var(--ink-2)}.paywall-form .field{margin-bottom:12px}.paywall-switch{margin:10px 0 0;text-align:center;font-size:13.5px;color:var(--ink-2)}.paywall-confirm{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft);border-radius:12px;padding:14px 16px}.paywall-confirm strong{display:block;margin-bottom:4px}.paywall-confirm p{margin:0;font-size:14.5px;color:var(--ink-2);line-height:1.55}.admin{padding-top:18px}.admin h1{font-size:26px;margin:0}.admin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:20px}.admin-tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface-2);padding:4px;border-radius:999px}.admin-tabs button{background:none;border:none;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--ink-2);padding:8px 14px;border-radius:999px}.admin-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}@media(min-width:900px){.admin-stats{grid-template-columns:repeat(3,1fr)}}.admin-stat{text-align:left;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:grid;gap:2px;color:var(--ink)}button.admin-stat{cursor:pointer}button.admin-stat:hover{border-color:var(--line-strong)}.admin-stat .k{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.admin-stat strong{font-size:28px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.admin-stat small{font-size:12.5px;color:var(--ink-3)}.admin-stat.good strong{color:#1f8a4c}.admin-stat.warn strong{color:var(--warn)}.admin-stat.bad strong{color:var(--accent)}.admin-two{display:grid;gap:18px}@media(min-width:900px){.admin-two{grid-template-columns:1fr 1fr}}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px}.admin-card h2{font-size:17px;margin:0 0 12px}.admin-list{list-style:none;margin:0;padding:0;display:grid}.admin-list li{display:grid;gap:2px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}.admin-list li:first-child{border-top:none}.admin-list span{color:var(--ink-3);font-size:13px}.admin-link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-align:left}.admin-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.admin-bar select,.admin-search{font:inherit;font-size:14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-height:40px}.admin-search{flex:1 1 260px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.admin-card .admin-table-wrap{border:none;border-radius:0}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums;min-width:720px}.admin-table th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover td{background:var(--surface-2)}.admin-table .muted,.admin .muted{color:var(--ink-3)}.admin .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:1px;background:var(--surface-2);color:var(--ink-2)}.badge.good{background:#e3f4ea;color:#1a7443}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--accent-soft);color:var(--accent)}.badge.info{background:var(--surface-2);color:var(--ink-3)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .badge.good{background:#14301f;color:#6fd39b}}:root[data-theme=dark] .badge.good{background:#14301f;color:#6fd39b}.admin-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;font-size:14px}.admin-dl dt{color:var(--ink-3)}.admin-dl dd{margin:0}.log-detail td{background:var(--surface-2);font-size:12.5px}.log-detail .k{color:var(--ink-3);font-weight:600;margin-right:6px}.log-detail pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;font-size:12px;max-height:320px;overflow:auto}.admin-access{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.admin-access h3{font-size:14px;margin:0 0 10px}.admin-access .admin-bar{margin-bottom:10px}.admin-msg{font-size:13.5px;margin:8px 0 0;font-weight:600}.admin-msg.good{color:#1a7443}.admin-msg.bad{color:var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .admin-msg.good{color:#6fd39b}}:root[data-theme=dark] .admin-msg.good{color:#6fd39b}.admin-form{display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;align-items:center;font-size:14px}.admin-form>label,.admin-form-label{color:var(--ink-3)}.admin-form input:not([type=checkbox]){font:inherit;font-size:14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 11px;min-height:38px;width:100%;box-sizing:border-box}.admin-form input[readonly]{background:var(--surface-2)}.admin-checks{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.admin-checks label{display:inline-flex;gap:6px;align-items:center}.admin-checks .muted{font-size:12.5px;flex-basis:100%}@media(min-width:900px){.admin-two.admin-coupons{grid-template-columns:minmax(300px,1fr) 2fr;align-items:start}}@media(max-width:480px){.admin-form{grid-template-columns:1fr;gap:6px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.paywall-was{font-size:16px;color:var(--ink-3);font-variant-numeric:tabular-nums}.coupon-toggle,.coupon-applied{margin:0;font-size:14px;color:var(--ink-2)}.coupon-form{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.coupon-form input{flex:1 1 160px;font:inherit;font-size:15px;letter-spacing:.06em;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;min-height:42px}.coupon-form .paywall-error{flex-basis:100%}.stars{color:var(--line-strong);letter-spacing:1px;font-size:15px}.stars .on{color:var(--accent)}.reviews{padding:8px var(--gutter) 0}.reviews-in{max-width:var(--frame);margin:0 auto;padding:40px 0 48px;display:grid;gap:10px}.reviews-in h2{font-size:clamp(24px,5vw,32px);letter-spacing:-.03em;margin:0 0 10px;text-wrap:balance}.review-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.review{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:grid;gap:10px;align-content:start}.review blockquote{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}.review figcaption{display:grid;gap:1px;font-size:13.5px}.review figcaption span{color:var(--ink-3)}.review-cta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:6px 0 14px;background:var(--surface)}.review-cta>div{display:grid;gap:2px;font-size:14px}.review-cta span{color:var(--ink-3);font-size:13.5px}.review-form{display:grid;gap:4px;border:1px solid var(--line);border-radius:14px;padding:16px;margin:6px 0 14px;background:var(--surface)}.review-form>b{margin-bottom:6px}.review-form textarea{resize:vertical}.review-row{display:grid;gap:0 12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.star-pick{border:none;padding:0;margin:0 0 14px;display:flex;gap:4px}.star-pick legend{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.star-pick label{cursor:pointer;font-size:30px;line-height:1;color:var(--line-strong)}.star-pick label.on{color:var(--accent)}.star-pick input{position:absolute;opacity:0;width:1px;height:1px}.star-pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.review-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);margin:4px 0 12px;line-height:1.45}.review-consent input{margin-top:3px}.admin-form textarea,.admin-select{font:inherit;font-size:14px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 11px;width:100%;box-sizing:border-box}.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--ink-2);margin:2px 0 18px;cursor:pointer}.consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--accent)}.auth-card .eyebrow{display:block;margin-bottom:8px}.gate-small{text-align:center;margin:12px 0 0;font-size:12.5px}.paywall-h{font-size:clamp(20px,4.6vw,25px);letter-spacing:-.025em;line-height:1.2;margin:6px 0 14px;text-wrap:balance}.paywall .btn.big{width:100%}.paywall-gets{list-style:none;padding:0;margin:4px 0 14px;display:grid;gap:9px}.paywall-gets li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}.paywall-gets li:before{content:"";position:absolute;left:2px;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--accent)}.paywall-gets b{color:var(--ink)}.paywall-why{border-left:3px solid var(--accent);padding-left:12px}.locked-stack{display:grid;gap:16px}.locked-week{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}.locked-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}.locked-head .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent)}.locked-week ul{list-style:none;padding:0;margin:0}.locked-week li{display:grid;grid-template-columns:40px 1fr auto;gap:10px;padding:10px 0;border-top:1px solid var(--line);align-items:baseline}.locked-week .d{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.locked-week .n{font-weight:600;font-size:14.5px}.locked-week .n em{display:block;font-style:normal;font-weight:400;font-size:12px;color:transparent;text-shadow:0 0 7px var(--ink-3);-webkit-user-select:none;user-select:none;margin-top:3px}.locked-week .t{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-3)}.locked-note .k:before{content:"🔒 "}.sample-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:4px 0 14px;font-size:14px;line-height:1.45}.sample-banner .btn{flex:none}:root{--sp-run:#C9231A;--sp-ride:#B26B00;--sp-swim:#13798A;--sp-strength:#5E5862;--sp-brick:#7A4E91;--sp-race:#161011;--sp-run-soft:#FBE9E7;--sp-ride-soft:#FBF0DE;--sp-swim-soft:#E2F2F4;--sp-strength-soft:#EEECEF;--sp-brick-soft:#F1EAF5;--sp-race-soft:#EDE8E8}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--sp-run:#F06A5F;--sp-ride:#E3A23E;--sp-swim:#4FB8C9;--sp-strength:#A9A2AE;--sp-brick:#B48ACB;--sp-race:#F6F2F2;--sp-run-soft:#2A1512;--sp-ride-soft:#2A1F0E;--sp-swim-soft:#0F2428;--sp-strength-soft:#221F24;--sp-brick-soft:#241A2A;--sp-race-soft:#221C1D}}:root[data-theme=dark]{--sp-run:#F06A5F;--sp-ride:#E3A23E;--sp-swim:#4FB8C9;--sp-strength:#A9A2AE;--sp-brick:#B48ACB;--sp-race:#F6F2F2;--sp-run-soft:#2A1512;--sp-ride-soft:#2A1F0E;--sp-swim-soft:#0F2428;--sp-strength-soft:#221F24;--sp-brick-soft:#241A2A;--sp-race-soft:#221C1D}.card .pad{padding:26px 22px 28px}@media(min-width:560px){.card .pad{padding:34px}}.sx-when,.cap{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.sx-when{color:var(--accent)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:5px 10px 5px 9px;border-radius:999px;line-height:1}.pill.sm{font-size:10.5px;padding:4px 8px}.pill[class*=sp-]:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.sp-run{color:var(--sp-run);background:var(--sp-run-soft)}.pill.sp-ride{color:var(--sp-ride);background:var(--sp-ride-soft)}.pill.sp-swim{color:var(--sp-swim);background:var(--sp-swim-soft)}.pill.sp-strength{color:var(--sp-strength);background:var(--sp-strength-soft)}.pill.sp-brick{color:var(--sp-brick);background:var(--sp-brick-soft)}.pill.sp-race,.pill.sp-rest{color:var(--ink-2);background:var(--surface-2)}.pill.eff{background:transparent;border:1px solid var(--line-strong);color:var(--ink-2)}.pill.eff-3{border-color:var(--accent);color:var(--accent)}.pill.prio{background:var(--accent);color:var(--ground)}.tc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}.tc-race{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.tc-count{font-size:15px;color:var(--ink-2);margin-top:5px}.tc-count b{color:var(--ink);font-weight:700}.tc-progress{display:grid;gap:7px;min-width:118px;text-align:right}.tc-progress span{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.tc-progress span b{color:var(--ink);font-size:15px}.tc-progress i{display:block;height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden}.tc-progress em{display:block;height:100%;background:var(--accent);border-radius:6px;transition:width .3s}.sx-head{display:grid;gap:12px}.sx-chips{display:flex;flex-wrap:wrap;gap:7px}.sx-title{font-size:clamp(28px,7.4vw,38px);line-height:1.08;letter-spacing:-.035em;font-weight:700;text-wrap:balance;margin:0}.sx-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.sx-figs>div{padding:14px 16px;display:grid;gap:4px}.sx-figs>div+div{border-left:1px solid var(--line)}.sx-figs dt{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.sx-figs dd{margin:0;font-size:21px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.sx-figs dd small{font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:0}.istrip{margin:22px 0 4px}.istrip-bar{display:flex;gap:3px;height:14px;border-radius:7px;overflow:hidden}.istrip-bar i{display:block;min-width:4px}.istrip-key{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:7px;letter-spacing:.02em}.sx-steps{list-style:none;margin:18px 0 6px;padding:0;counter-reset:step}.sx-steps li{display:grid;grid-template-columns:4px 1fr auto;gap:14px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.sx-steps li:first-child{border-top:0}.sx-steps .z{align-self:stretch;border-radius:4px;min-height:22px}.sx-steps .txt{font-size:15.5px;line-height:1.5;color:var(--ink)}.sx-steps .min{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink-3);margin-bottom:2px;font-variant-numeric:tabular-nums}.sx-steps .zw{font-size:11px;font-weight:600;color:var(--ink-3);padding-top:3px;white-space:nowrap}.sx-more{margin-top:8px;border-top:1px solid var(--line)}.sx-more .disc button{padding:16px 0}.tc-done{width:100%;margin-top:22px}.done-note{margin-top:22px;padding:20px;border-radius:16px;background:var(--accent-soft);display:grid;gap:6px;justify-items:start}.done-note h3{font-size:19px;margin:0;letter-spacing:-.02em}.done-note p{color:var(--ink-2);font-size:14.5px;line-height:1.5}.done-note .tick{color:var(--accent)}.tc-empty{display:grid;gap:14px}.tc-copy{font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:56ch}.tc-first{margin-top:10px;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:12px}.tc-next{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:grid;gap:12px;justify-items:start}.tc-next ul{list-style:none;margin:0;padding:0;width:100%}.tc-next li{display:grid;grid-template-columns:38px 10px 1fr auto;gap:10px;align-items:center;padding:9px 0}.tc-next .d{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.tc-next .n{font-size:14.5px;font-weight:500}.tc-next .u{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.dot{width:9px;height:9px;border-radius:50%;background:var(--sp-run)}.dot.sp-ride{background:var(--sp-ride)}.dot.sp-swim{background:var(--sp-swim)}.dot.sp-strength{background:var(--sp-strength)}.dot.sp-brick{background:var(--sp-brick)}.dot.sp-race{background:var(--ink)}.pnotes{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 22px;display:grid;gap:12px;align-content:start;justify-items:start}.pnotes h3{font-size:17px;letter-spacing:-.015em;margin:0;display:flex;align-items:center;gap:8px}.pnotes h3 span{font-size:12px;font-weight:700;background:var(--surface-2);color:var(--ink-3);border-radius:999px;padding:3px 8px}.pnotes ul{list-style:none;margin:0;padding:0;width:100%}.pnotes li{font-size:14.5px;line-height:1.6;color:var(--ink-2);padding:13px 0 13px 16px;border-top:1px solid var(--line);position:relative}.pnotes li:first-child{border-top:0;padding-top:4px}.pnotes li:before{content:"";position:absolute;left:0;top:22px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.pnotes li:first-child:before{top:13px}.wk-title{font-size:clamp(28px,7vw,34px);letter-spacing:-.035em;line-height:1.1;margin:8px 0 0}.wk-title span{font-weight:400;color:var(--ink-3)}.wsum{margin:18px 0 8px;display:grid;gap:12px}.wsum-main{font-size:16px;color:var(--ink-2)}.wsum-main b{color:var(--ink)}.wsum-sports{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}.wsum-sports li{font-size:14px;font-weight:600;display:flex;align-items:center;gap:7px}.wsum-sports li:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sp-run)}.wsum-sports .sp-ride:before{background:var(--sp-ride)}.wsum-sports .sp-swim:before{background:var(--sp-swim)}.wsum-sports .sp-strength:before{background:var(--sp-strength)}.wsum-mix{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font-size:12.5px;color:var(--ink-3)}.wsum-mix .stack{margin:0;height:8px}.days{margin-top:22px;display:grid;gap:4px}.day{display:grid;gap:10px;padding:18px 0 16px;border-top:1px solid var(--line)}.day-h{display:flex;align-items:baseline;gap:10px;margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.day-h small{font-size:13px;font-weight:500;color:var(--ink-3)}.day-h em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:var(--ground);padding:3px 8px;border-radius:999px;margin-left:auto}.day.is-rest .day-h{color:var(--ink-3);font-weight:600}.day-rest{font-size:14px;color:var(--ink-3);margin:-4px 0 0}.sess{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sess-row{width:100%;display:grid;grid-template-columns:4px 1fr auto;gap:14px;align-items:stretch;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 12px;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s,box-shadow .15s}.sess-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.sess-row .bar{border-radius:4px;background:var(--sp-run)}.sess-row.sp-ride .bar{background:var(--sp-ride)}.sess-row.sp-swim .bar{background:var(--sp-swim)}.sess-row.sp-strength .bar{background:var(--sp-strength)}.sess-row.sp-brick .bar{background:var(--sp-brick)}.sess-row.sp-race .bar{background:var(--ink)}.sess-row .body{display:grid;gap:6px;min-width:0}.sess-row .top{display:flex;flex-wrap:wrap;gap:6px}.sess-row .t{font-size:15.5px;font-weight:650;letter-spacing:-.01em;line-height:1.3}.sess-row .dtl{font-size:13px;color:var(--ink-2);line-height:1.45}.sess-row .side{display:grid;justify-items:end;align-content:space-between;gap:8px}.sess-row .u{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sess-row .tick{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-content:center;font-size:12px;color:var(--ground)}.sess-row .tick.on{background:var(--accent);border-color:var(--accent)}.day.is-today .sess-row{border-color:var(--accent)}.wk-why{margin-top:18px}.wk-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:18px}.wk-nav>:last-child{justify-self:end}.wk-pos{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.fuelgrid{background:transparent;gap:0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.fuelgrid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-figs{margin-top:20px}.raceday{margin-top:22px;padding:20px 20px 18px;border-radius:16px;background:var(--accent-soft);display:grid;gap:6px}.raceday-time{font-size:clamp(38px,10vw,52px);font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}.raceday-legs{font-size:14.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.raceday .hint{margin-top:4px}.howrace{margin-top:28px;display:grid;gap:12px}.howrace h3,.every-h{font-size:20px;letter-spacing:-.02em;margin:0}.legs{display:grid;gap:12px;margin:6px 0 4px}@media(min-width:760px){.legs{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.leg{border:1px solid var(--line);border-radius:14px;padding:16px 16px 18px;display:grid;gap:8px;align-content:start}.leg-n{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.leg-t{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.35}.leg-a{font-size:14px;line-height:1.6;color:var(--ink-2)}.every-h{margin-top:32px;margin-bottom:6px}.weeks{list-style:none;margin:0;padding:0}.wk-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1.3fr) minmax(0,1fr) 58px 18px;gap:12px;align-items:center;padding:13px 2px;border:0;border-top:1px solid var(--line);background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}.wk-row:hover .ph{color:var(--accent)}.wk-row .i{font-size:13px;font-weight:700;color:var(--ink-3);font-variant-numeric:tabular-nums}.wk-row .mid{display:grid;gap:2px}.wk-row .ph{font-size:14.5px;font-weight:600}.wk-row .dt{font-size:12px;color:var(--ink-3)}.wk-row .vol{display:block;height:8px;border-radius:8px;background:var(--surface-2);overflow:hidden}.wk-row .vol i{display:block;height:100%;background:var(--z3);border-radius:8px}.wk-row.is-light .vol i{background:var(--z2)}.wk-row .u{font-size:13px;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}.wk-row .lock{font-size:12px}.plan-foot{margin-top:30px;display:grid;gap:16px}.keep,.changed{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:12px}.keep h2,.changed h2{font-size:18px;letter-spacing:-.02em;margin:0}.keep p,.changed p{font-size:14.5px;line-height:1.55;color:var(--ink-2);max-width:60ch}@media(min-width:720px){.changed{grid-template-columns:1fr auto;align-items:center;gap:24px}}.restart{text-align:center;margin-top:6px;font-size:14px}.restart .textlink{color:var(--ink-3);font-weight:500}.tc-also{margin-top:22px}.tc-also .also{width:100%;display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:11px 12px;margin:0 -12px;border:0;border-radius:10px;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}.tc-also .also:hover{background:var(--surface-2)}.tc-also .also.is-current{background:var(--accent-soft)}.tc-also .also .n{font-size:14.5px;font-weight:600}.tc-also .also .u{font-size:12.5px;color:var(--ink-3)}.keep .btn-row{display:flex;flex-wrap:wrap;gap:10px}.keep .btn-row .btn{flex:1 1 170px}.tc-also li{display:block;padding:0}.tc-also ul{margin:0 -12px;width:calc(100% + 24px)}.tc-also .also{margin:0}.locked-week .n .dot{display:inline-block;width:8px;height:8px;margin-right:8px;vertical-align:1px}.locked-week li{grid-template-columns:40px 1fr auto;padding:12px 0}.locked-week{padding:20px 22px;border-radius:20px}.keep .download-h{font-size:18px;letter-spacing:-.02em;margin:0}.medal-pick{margin-top:12px;display:grid;gap:8px}.medal-chips{display:flex;flex-wrap:wrap;gap:8px}.medal-chips .chip{padding:8px 13px;font-size:13px}
