:root{--text-3xs:9px;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0e0f;--surface:#16181a;--surface-2:#1f2224;--text-primary:#f2f3f0;--text-secondary:#b4b8b2;--text-muted:#7f847e;--gridline:#26292b;--baseline:#383c3e;--border:#f2f3f024;--series-1:#7896b7;--series-2:#759a86;--series-3:#c39a55;--series-4:#9185a3;--accent:#ff2c78;--accent-ink:#1a0208;--good:#79a47b;--ground:#0f0e0c;--nav-ground:#0b0a09;--rule:#2b2622;--hairline:#1e1b18;--ink:#f2efe9;--mid:#a9a093;--faint:#837c6e;--cream:#f0eae0;--cream-ink:#14110d;--cream-faint:#6e6659;--band:#ff2c78;--band-ink:#14110d;--band-rule:#14110d38;--accent-text:#ff2c78;--critical-text:#e4675f;--control-radius:4px;--focus-ring:var(--accent);--tap-min:38px;--gutter:20px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--bottom-nav-h:0px;--bottom-gap:12px;--z-bottom-nav:90;--z-fab:91;--z-sheet-scrim:95;--z-sheet:96;--z-toast:100;--z-fab-panel:101;--font-editorial:var(--font-grotesk), system-ui, sans-serif;--font-data:var(--font-grotesk), system-ui, sans-serif;--font-mono:var(--font-grotesk), system-ui, sans-serif;--type-micro:10px;--type-eyebrow:11px;--type-small:12px;--type-body:13px;--type-body-lg:14px;--type-title:16px;--type-heading:20px;--type-eyebrow-weight:650;--type-eyebrow-spacing:.1em;--confirmed:#86b28d;--confirmed-soft:#79a47b29;--estimated:#c9a04a;--estimated-soft:#c39a5524;--zone-1:#fec7d0;--zone-2:#fda2b3;--zone-3:#fd7896;--zone-4:#fc3e79;--zone-5:#e31364;--zone-6:#bf0e53;--zone-1-ink:#2a0413;--zone-2-ink:#2a0413;--zone-3-ink:#2a0413;--zone-4-ink:#2a0413;--zone-5-ink:#fff;--zone-6-ink:#fff;--arc-planned-opacity:.7;--ink-card:var(--surface-2);--ink-fg:#f4f1ee;--ink-fg-soft:#f4f1eedb;--ink-fg-mute:#f4f1ee8c;--ink-fg-faint:#f4f1ee73;--ink-hairline:#f4f1ee29;--ink-wash:#f4f1ee1a;--ink-good:#8fd6a8;--ink-warn:#f0c987;--ink-bad:#f0a8a0}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f3f4f2;--surface:#fcfcfb;--surface-2:#e9ebe8;--text-primary:#1a1c1b;--text-secondary:#545955;--text-muted:#7c817d;--gridline:#dde0dc;--baseline:#c3c7c2;--border:#1a1c1b1f;--series-1:#577ca3;--series-2:#5f876f;--series-3:#a77b32;--series-4:#786b8d;--accent:#d61e60;--accent-ink:#fff;--good:#557f59;--confirmed:#3d6b4f;--confirmed-soft:#e2ebe3;--estimated:#a07620;--estimated-soft:#f2e8d2;--ground:#f5f2ec;--nav-ground:#ebe6dc;--rule:#cfc7ba;--hairline:#e4ded3;--ink:#14110d;--mid:#554e44;--faint:#6b6357;--cream:#e8e1d4;--cream-ink:#14110d;--cream-faint:#635b4f;--band:#ff2c78;--band-ink:#14110d;--band-rule:#14110d38;--accent-text:#b81450;--critical-text:#a32a28;--zone-1:#fd93a8;--zone-2:#fd5f88;--zone-3:#f2156b;--zone-4:#c90f58;--zone-5:#a20945;--zone-6:#7d0433;--zone-1-ink:#2a0413;--zone-2-ink:#2a0413;--zone-3-ink:#2a0413;--zone-4-ink:#fff;--zone-5-ink:#fff;--zone-6-ink:#fff;--arc-planned-opacity:.7;--ink-card:#edefec;--ink-fg:#1a1c1b;--ink-fg-soft:#1a1c1b;--ink-fg-mute:#545955;--ink-fg-faint:#7c817d;--ink-hairline:#1a1c1b1f;--ink-wash:#1a1c1b0d;--ink-good:#3f7d59;--ink-warn:#8a6314;--ink-bad:#a8342a}}html.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f3f4f2;--surface:#fcfcfb;--surface-2:#e9ebe8;--text-primary:#1a1c1b;--text-secondary:#545955;--text-muted:#7c817d;--gridline:#dde0dc;--baseline:#c3c7c2;--border:#1a1c1b1f;--series-1:#577ca3;--series-2:#5f876f;--series-3:#a77b32;--series-4:#786b8d;--accent:#d61e60;--accent-ink:#fff;--good:#557f59;--confirmed:#3d6b4f;--confirmed-soft:#e2ebe3;--estimated:#a07620;--estimated-soft:#f2e8d2;--ground:#f5f2ec;--nav-ground:#ebe6dc;--rule:#cfc7ba;--hairline:#e4ded3;--ink:#14110d;--mid:#554e44;--faint:#6b6357;--cream:#e8e1d4;--cream-ink:#14110d;--cream-faint:#635b4f;--band:#ff2c78;--band-ink:#14110d;--band-rule:#14110d38;--accent-text:#b81450;--critical-text:#a32a28;--zone-1:#fd93a8;--zone-2:#fd5f88;--zone-3:#f2156b;--zone-4:#c90f58;--zone-5:#a20945;--zone-6:#7d0433;--zone-1-ink:#2a0413;--zone-2-ink:#2a0413;--zone-3-ink:#2a0413;--zone-4-ink:#fff;--zone-5-ink:#fff;--zone-6-ink:#fff;--arc-planned-opacity:.7;--ink-card:#edefec;--ink-fg:#1a1c1b;--ink-fg-soft:#1a1c1b;--ink-fg-mute:#545955;--ink-fg-faint:#7c817d;--ink-hairline:#1a1c1b1f;--ink-wash:#1a1c1b0d;--ink-good:#3f7d59;--ink-warn:#8a6314;--ink-bad:#a8342a}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0f0e0c;--nav-ground:#0b0a09;--rule:#2b2622;--hairline:#1e1b18;--ink:#f2efe9;--mid:#a9a093;--faint:#837c6e;--cream:#f0eae0;--cream-ink:#14110d;--cream-faint:#6e6659;--band:#ff2c78;--band-ink:#14110d;--band-rule:#14110d38;--accent-text:#ff2c78;--critical-text:#e4675f;--page:#0d0e0f;--surface:#16181a;--surface-2:#1f2224;--text-primary:#f2f3f0;--text-secondary:#b4b8b2;--text-muted:#7f847e;--gridline:#26292b;--baseline:#383c3e;--border:#f2f3f024;--series-1:#7896b7;--series-2:#759a86;--series-3:#c39a55;--series-4:#9185a3;--accent:#ff2c78;--accent-ink:#1a0208;--good:#79a47b;--confirmed:#86b28d;--confirmed-soft:#79a47b29;--estimated:#c9a04a;--estimated-soft:#c39a5524;--zone-1:#fec7d0;--zone-2:#fda2b3;--zone-3:#fd7896;--zone-4:#fc3e79;--zone-5:#e31364;--zone-6:#bf0e53;--zone-1-ink:#2a0413;--zone-2-ink:#2a0413;--zone-3-ink:#2a0413;--zone-4-ink:#2a0413;--zone-5-ink:#fff;--zone-6-ink:#fff;--arc-planned-opacity:.7;--ink-card:var(--surface-2);--ink-fg:#f4f1ee;--ink-fg-soft:#f4f1eedb;--ink-fg-mute:#f4f1ee8c;--ink-fg-faint:#f4f1ee73;--ink-hairline:#f4f1ee29;--ink-wash:#f4f1ee1a;--ink-good:#8fd6a8;--ink-warn:#f0c987;--ink-bad:#f0a8a0}*{box-sizing:border-box;margin:0;padding:0}button{color:inherit}.plan-mode-list{gap:5px}.plan-mode-tile{padding:8px 10px}.plan-mode-tile p{color:var(--accent);font-size:var(--type-body);margin-top:1px;line-height:1.35}.plan-mode-tile.active{border-color:var(--accent);background:var(--surface)}body{background:var(--page);min-height:100dvh;color:var(--text-primary);font-family:var(--font-grotesk), system-ui, -apple-system, "Segoe UI", sans-serif;font-size:var(--type-body-lg);font-variant-numeric:tabular-nums;line-height:1.55}a{color:inherit;text-decoration:none}:where(button,a,input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:where(button,[role=button]):disabled,:where(button,[role=button])[aria-disabled=true]{cursor:not-allowed}:where(button,[role=button])[aria-busy=true]{cursor:progress}.container{max-width:1120px;padding:0 var(--gutter) 72px;margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kicker{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted)}.evidence-chip{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.evidence-chip:before{content:"";border-radius:50%;width:5px;height:5px}.evidence-chip.confirmed{background:var(--confirmed-soft);color:var(--confirmed)}.evidence-chip.confirmed:before{background:var(--confirmed)}.evidence-chip.estimated{border:1px solid var(--estimated);color:var(--estimated)}.evidence-chip.estimated:before{background:var(--estimated)}.evidence-chip.insufficient{border:1px dashed var(--baseline);color:var(--text-muted)}.evidence-chip.insufficient:before{background:var(--baseline)}.taper-arc{align-items:flex-end;gap:10px;height:56px;margin:12px 0 4px;padding:4px 4px 0;display:flex}.goal-card .taper-arc{height:30px;margin:8px 0 2px}.taper-arc i,.taper-arc button{background:var(--surface-2);border-radius:4px 4px 2px 2px;flex:1}.taper-arc button{appearance:none;cursor:pointer;border:0;min-width:0;padding:0}.taper-arc.interactive{touch-action:manipulation}.taper-arc .past{background:var(--baseline)}.taper-arc .open{outline:2px solid var(--text-secondary);outline-offset:2px}.taper-arc-axis span.open{color:var(--text-secondary);font-weight:650}.taper-arc .here{background:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.taper-arc .taper{background:color-mix(in srgb, var(--accent) 45%, var(--surface-2))}.taper-arc .taper.here{background:var(--accent)}.taper-arc-axis{gap:10px;padding:0 4px;display:flex}.taper-arc-axis span{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex:1}.taper-arc-axis span.here{color:var(--accent);font-weight:650}.taper-arc-split{position:relative;overflow:hidden}.taper-arc .taper-arc-split,.taper-arc .taper-arc-split.past,.taper-arc .taper-arc-split.here,.taper-arc .taper-arc-split.taper{background:var(--surface-2)}.taper-arc-kind{position:absolute;left:0;right:0}.taper-arc-kind-easy{background:var(--zone-1)}.taper-arc-kind-long{background:var(--zone-2)}.taper-arc-kind-steady{background:var(--zone-3)}.taper-arc-kind-threshold{background:var(--zone-4)}.taper-arc-kind-vo2{background:var(--zone-5)}.taper-arc-kind-reps{background:var(--zone-6)}.taper-arc-kind-planned{opacity:var(--arc-planned-opacity)}.taper-arc-key{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);color:var(--text-muted);margin:6px 2px 0}.taper-arc-thresh{gap:10px;margin-top:2px;padding:0 4px;display:flex}.taper-arc-thresh span{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);font-variant-numeric:tabular-nums;color:var(--text-muted);flex:1}.daystrip{gap:5px;margin:12px 0 2px;display:flex}.daystrip span{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);border-top:3px solid var(--gridline);flex:1;padding-top:7px}.daystrip span.done{border-top-color:var(--series-1);color:var(--text-primary)}.daystrip span.hard{border-top-color:var(--accent)}.daystrip span.today{color:var(--accent);font-weight:700}.home-greeting .page-subtitle{margin-top:0;margin-bottom:0}.home-day-line{color:var(--text-secondary);font-size:var(--type-body-lg);margin:0 0 10px}.hero-planned-note{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);color:var(--text-muted);margin-top:6px}.plan-arc-card{color:inherit;text-decoration:none;display:block}.card-head-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.link-quiet{font-size:var(--type-body);color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.link-quiet.danger{color:var(--status-serious)}.plan-arc-card .plan-arc-head{flex-direction:column;gap:1px;margin-bottom:4px;display:flex}.plan-arc-card .sub{color:var(--text-muted);font-size:var(--type-body)}.site-header{background:var(--surface-2);z-index:10;padding-top:env(safe-area-inset-top);border-bottom:0;position:sticky;top:0}.site-header .logo{color:var(--ink-fg)}.site-header-inner{max-width:1120px;padding:16px max(var(--gutter), env(safe-area-inset-right)) 16px max(var(--gutter), env(safe-area-inset-left));align-items:center;gap:32px;margin:0 auto;display:flex}.logo{font-weight:700;font-size:var(--type-heading);letter-spacing:.02em;text-transform:uppercase}.logo:after{content:".";color:var(--accent)}.brand-lockup{align-items:center;display:inline-flex}.onboard-note{background:var(--surface,#ffffff0a);border:1px solid var(--border,#ffffff1a);border-radius:12px;align-items:flex-start;gap:10px;margin:2px 0 16px;padding:12px 13px;display:flex}.onboard-note p{font-size:var(--type-small);color:var(--text-secondary);margin:0;line-height:1.5}.nav{gap:2px;display:flex}.nav a{color:var(--text-muted);font-size:var(--type-body);letter-spacing:.01em;border-radius:999px;padding:6px 13px;font-weight:500}.nav a:hover{color:var(--text-primary)}.nav a.active{color:var(--text-primary);background:var(--surface-2)}.header-spacer{flex:1}.header-actions{flex:none;align-items:center;gap:10px;display:flex}.header-feedback{flex:none}.mobile-bottom-nav{display:none}@media (max-width:720px){:root{--bottom-nav-h:calc(72px + env(safe-area-inset-bottom,0px))}.site-header-inner{justify-content:center;min-height:44px;padding:8px 18px}.site-header .nav,.site-header .header-spacer{display:none}.site-header .logo{font-size:var(--type-title)}.site-header-inner{position:relative}.site-header.has-actions .site-header-inner{padding-right:max(104px, env(safe-area-inset-right));padding-left:max(44px, env(safe-area-inset-left))}.header-actions{top:50%;right:max(14px, env(safe-area-inset-right));gap:6px;position:absolute;transform:translateY(-50%)}.header-actions.header-actions-left{right:auto;left:max(14px, env(safe-area-inset-left))}.header-feedback{padding:5px 12px}.mobile-bottom-nav{z-index:var(--z-bottom-nav);padding:4px max(8px, env(safe-area-inset-right)) max(6px, calc(env(safe-area-inset-bottom) * .6)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #0000001f}.mobile-bottom-nav a{min-width:0;min-height:48px;color:var(--text-muted);font-size:var(--type-micro);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;line-height:1.1;display:flex}.mobile-bottom-nav a.active{background:var(--surface-2);color:var(--accent)}.mobile-bottom-nav svg{width:22px;height:22px}.card{padding:var(--space-3);margin-bottom:var(--space-3)}.card h2{margin-bottom:var(--space-2)}.page-subtitle{margin-bottom:16px}.container{padding-bottom:calc(var(--bottom-nav-h) + var(--bottom-gap))}.toast-stack{left:12px;right:12px}.toast{max-width:none}}.sync-btn{background:var(--accent);color:var(--accent-ink);font-family:inherit;font-size:var(--type-body);letter-spacing:.01em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-weight:600;display:inline-flex}.sync-btn:hover{filter:brightness(1.08)}.sync-btn:disabled{opacity:.55;cursor:wait}.sync-meta{font-size:var(--type-small);color:var(--text-muted)}.sync-summary{flex-direction:column;gap:4px;margin:10px 0 0;display:flex}.sync-summary-row{font-size:var(--type-small);grid-template-columns:minmax(0,max-content) 1fr;align-items:baseline;gap:4px 10px;display:grid}.sync-summary-row dt{color:var(--text-muted);white-space:nowrap}.sync-summary-row dd{color:var(--text);margin:0}@media (max-width:380px){.sync-summary-row{grid-template-columns:1fr;gap:0}}.page-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.035em;margin:6px 0 14px;font-size:clamp(30px,6vw,42px);font-weight:520;line-height:1}.page-subtitle{color:var(--text-muted);font-size:var(--type-body-lg);word-wrap:break-word;overflow-wrap:break-word;margin:-10px 0 18px}.hero{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;padding:4px 0 20px;display:flex}.hero-value{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;font-size:clamp(64px,12vw,112px);font-weight:600;line-height:.95}.hero-value .unit{color:var(--text-muted);letter-spacing:0;margin-left:6px;font-size:.32em;font-weight:600}.hero-side{gap:36px;padding-bottom:10px;display:flex}.hero-stat .kicker{margin-bottom:2px}.hero-stat-value{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;font-weight:700}.hero-stat-value .delta-up{color:var(--good)}.tile-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:24px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 22px}.tile-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);margin-bottom:6px}.tile-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600}.tile-unit{font-size:var(--type-body-lg);color:var(--text-muted);font-weight:600}.tile-delta{font-size:var(--type-small);color:var(--text-secondary);margin-top:2px}.tile-delta.up{color:var(--good)}.card{background:var(--surface);border:1px solid var(--border);padding:var(--space-4);margin-bottom:var(--space-4);word-wrap:break-word;border-radius:16px;overflow:hidden}.card h2{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);letter-spacing:-.015em;color:var(--text-primary);margin-bottom:var(--space-2);font-weight:520;line-height:1.15}.summary-card{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:16px;min-width:0;margin:8px 0 20px;padding:22px 24px}.summary-card .page-title{margin:0 0 8px;font-size:clamp(32px,5vw,46px)}.summary-card .page-subtitle{margin-bottom:0;line-height:1.5}@media (max-width:560px){.summary-card{border-radius:16px;padding:16px}.summary-card .page-title{font-size:clamp(26px,8vw,32px)}.card{border-radius:16px;margin-bottom:14px;padding:16px}.section-kicker{margin:14px 2px 6px}.hero-value{font-size:clamp(52px,12vw,112px)}}.activity-table{border-collapse:collapse;width:100%;font-size:var(--type-body-lg)}.activity-table th{text-align:left;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);border-bottom:1px solid var(--gridline);padding:8px 10px}.activity-table td{border-bottom:1px solid var(--gridline);color:var(--text-secondary);padding:10px}.activity-table td.name{color:var(--text-primary);font-weight:550}.activity-table tr:last-child td{border-bottom:none}.activity-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}.activity-table-scroll{overflow-x:auto}.activity-laps-scroll{max-width:100%}@media (max-width:560px){.activity-laps-table th,.activity-laps-table td{padding-left:6px;padding-right:6px}.activity-laps-table .lap-mobile-secondary{display:none}}.week-schedule-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.week-schedule-scroll{overflow-x:auto}.week-schedule-table{min-width:760px}.week-schedule-table td{vertical-align:middle}.week-schedule-table td.name{min-width:230px}.week-schedule-table td.name>a:hover,.week-row-plan a:hover{color:var(--accent)}.sport-dot.planned{border:2px solid var(--accent);background:0 0}.week-row-plan{color:var(--text-muted);font-size:var(--type-eyebrow);margin:2px 0 0 17px;font-weight:450;display:block}.week-plan-link{margin:14px 0 0}@media (max-width:720px){.ring-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ring-card{padding:14px 10px 10px}.ring-card:last-child:nth-child(odd){grid-column:1/-1}.ring-note{margin:-10px 0 16px}.tile-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{padding:16px 14px}.activity-table-scroll,.week-schedule-scroll{overflow:visible}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{width:100%;display:block}.mobile-card-table{font-size:var(--type-body-lg)}.mobile-card-table thead{display:none}.mobile-card-table tr:not(.activity-expanded-row){border:1px solid var(--gridline);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:1px;margin:0 0 10px;padding:12px;display:flex;position:relative}.mobile-card-compact tr:not(.activity-expanded-row){background:var(--surface)}.mobile-card-table tr:last-child{margin-bottom:0}.mobile-card-table td{text-align:right;border:0;justify-content:space-between;align-items:baseline;gap:14px;padding:3px 0;display:flex}.mobile-card-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-align:left;text-transform:uppercase;flex:none}.mobile-card-table td.name{color:var(--text-primary);font-size:var(--type-body-lg);text-align:left;order:-2;padding-right:24px;display:block}.mobile-card-table td.name:before{display:none}.mobile-card-table td[data-label=Date]{order:-1}.mobile-card-table td[data-label=Date]:before{display:none}.mobile-card-table td[data-label=Date]{color:var(--text-muted);text-align:left}.mobile-card-table .activity-select-cell{width:auto;padding:0;position:absolute;top:10px;right:10px}.mobile-card-table .activity-select-cell:before{display:none}.mobile-card-table .effort-pill{margin:0}.mobile-card-compact tr:not(.activity-expanded-row){border-radius:12px;flex-flow:wrap;align-items:baseline;gap:4px 16px;margin-bottom:7px;padding:9px 11px}.mobile-card-compact td.name,.mobile-card-compact td[data-label=Date],.mobile-card-compact td[data-label=Distance],.mobile-card-compact td[data-label=Pace],.mobile-card-compact td[data-label=Effort],.mobile-card-compact td[data-label="5K equivalent"]{width:auto}.mobile-card-compact td[data-label=Run],.mobile-card-compact td[data-label=Action]{flex:0 0 100%;padding:2px 0 0}.mobile-card-compact td.name{min-width:0;font-size:var(--type-body-lg);flex:0 0 100%;padding:0 24px 0 0;font-weight:600}.mobile-card-compact td[data-label=Date]{font-size:var(--type-eyebrow);font-family:var(--font-grotesk), system-ui, sans-serif;flex:0 0 100%;padding:0}.mobile-card-compact td[data-label=Distance],.mobile-card-compact td[data-label=Pace],.mobile-card-compact td[data-label=Effort],.mobile-card-compact td[data-label="5K equivalent"]{text-align:left;font-size:var(--type-body);flex-direction:column;flex:none;justify-content:flex-start;align-items:flex-start;gap:1px;padding:0;font-weight:600}.mobile-card-compact td[data-label=Distance]:before,.mobile-card-compact td[data-label=Pace]:before,.mobile-card-compact td[data-label=Effort]:before,.mobile-card-compact td[data-label="5K equivalent"]:before{font-size:var(--text-3xs);letter-spacing:.09em;font-family:var(--font-grotesk), system-ui, sans-serif}.mobile-card-compact .activity-select-cell{top:9px;right:9px}.mobile-card-tight tr:not(.activity-expanded-row){border-radius:12px;flex-flow:wrap;align-items:baseline;gap:2px 7px;margin-bottom:6px;padding:9px 11px;display:flex;position:relative}.mobile-card-tight td{text-align:left;width:auto;font-size:var(--type-body);border:0;flex:none;padding:0;display:inline}.mobile-card-tight td:before{content:none}.mobile-card-tight td[data-label=Date]{order:2}.mobile-card-tight td[data-label=Distance]{order:3}.mobile-card-tight td[data-label=Time]{order:4}.mobile-card-tight td[data-label=Pace]{order:5}.mobile-card-tight td[data-label="5K equivalent"]{order:6}.mobile-card-tight td[data-label=Run]{order:7}.mobile-card-tight td[data-label=Distance]:before,.mobile-card-tight td[data-label=Pace]:before,.mobile-card-tight td[data-label=Time]:before,.mobile-card-tight td[data-label=Run]:before{content:"· ";color:var(--text-muted)}.mobile-card-tight td[data-label="5K equivalent"]:before{content:"· 5K eq ";color:var(--text-muted)}.mobile-card-tight td.name{font-size:var(--type-body-lg);white-space:nowrap;text-overflow:ellipsis;flex:0 0 100%;order:1;padding:0;font-weight:600;display:block;overflow:hidden}.performance-race-table.mobile-card-tight td.name{padding-right:88px}.mobile-card-tight td[data-label=Run]{white-space:nowrap;flex:100%;min-width:0;overflow:hidden}.mobile-card-tight td[data-label=Run] .back-link,.mobile-card-tight td.name:before{content:none}.mobile-card-tight td[data-label=Date]{color:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif}.mobile-card-table.mobile-card-tight td[data-label=Time]{font-weight:650;display:inline}.mobile-card-tight td[data-label=Action]{width:auto;position:absolute;top:7px;right:9px}.mobile-card-tight td[data-label=Action] .filter-chip{font-size:var(--type-eyebrow);padding:3px 10px}.card-ink .mobile-card-table.mobile-card-tight td{padding-left:0}.mobile-card-table .week-row-plan{margin-left:0}.mobile-card-table .back-link{margin:0}.mobile-card-table .activity-expanded-row{border:0;margin:-6px 0 10px}.mobile-card-table .activity-expanded-row td{text-align:left;padding:0;display:block}.week-schedule-table{min-width:0}}.sport-dot{vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-right:8px;display:inline-block}.effort-pill{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:2px 10px;font-weight:650;display:inline-block}.effort-pill.hard{border-color:var(--accent);color:var(--accent)}.filter-row{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.chip-select{margin-bottom:0}.filter-chip{border:1px solid var(--border);color:var(--text-secondary);font-family:inherit;font-size:var(--type-small);letter-spacing:.01em;cursor:pointer;background:0 0;border-radius:999px;padding:6px 15px;font-weight:550}.filter-chip:hover:not(:disabled){color:var(--text-primary);border-color:var(--baseline)}.filter-chip.chip-empty{opacity:.4;cursor:default}.chip-count{font-variant-numeric:tabular-nums;opacity:.65}.filter-chip:active:not(:disabled){transform:translateY(1px)}.filter-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}.filter-chip.active:hover:not(:disabled){color:var(--accent-ink);border-color:var(--accent)}.filter-chip:disabled{opacity:.55;cursor:not-allowed}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group-label{color:var(--text-muted)}.filter-note{max-width:640px;color:var(--text-muted);font-size:var(--type-small);margin:2px 0 0;line-height:1.5}.filter-note strong{color:var(--text-secondary);font-weight:650}.provider-empty{flex-direction:column;gap:8px;margin-top:24px;display:flex;position:relative}.provider-empty-dismiss{width:44px;height:44px;color:var(--text-secondary);font-size:var(--type-body);cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:4px;right:4px}.provider-empty>.kicker{padding-right:40px}.provider-empty h2{font-size:var(--type-heading);line-height:1.3}.provider-empty p{max-width:560px;color:var(--text-secondary);font-size:var(--type-body-lg)}.provider-empty-btn{align-self:flex-start;margin-top:6px}.chart-wrap{position:relative}.filters-grid{flex-direction:column;gap:10px;display:flex}.filter-input{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);border-radius:12px;max-width:340px;padding:9px 13px}.filter-input::placeholder{color:var(--text-muted)}.filter-input-sm{max-width:110px}.date-range-filter{flex-wrap:wrap;gap:10px;display:flex}.date-range-filter label{align-items:center;gap:8px;display:flex}.date-range-filter .filter-input{max-width:175px}.best-effort-filters{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.best-effort-presets{flex-wrap:wrap;gap:8px;padding:1px;display:flex}.best-effort-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0;display:grid}.best-effort-custom label{min-width:0}.best-effort-custom label span{color:var(--text-muted);font-size:var(--type-small);margin-bottom:4px;display:block}.best-effort-custom .notes-select{width:100%;min-width:0}@media (max-width:620px){.best-effort-custom{gap:10px}.best-effort-custom .notes-select{font-size:var(--type-body);padding-inline:7px}}.bulk-activity-toolbar{border-bottom:1px solid var(--gridline);flex-wrap:wrap;align-items:center;gap:9px;margin:-4px 0 14px;padding-bottom:14px;display:flex}.bulk-activity-toolbar>div{flex-direction:column;min-width:110px;display:flex}.bulk-activity-toolbar>div strong{color:var(--text-primary);font-size:var(--type-body)}.bulk-activity-toolbar>div span{color:var(--text-muted);font-size:var(--type-eyebrow)}.bulk-toolbar-spacer{flex:1}.bulk-activity-toolbar>.chip-select{flex-flow:wrap;flex-basis:100%;gap:6px;min-width:0}.login-btn.bulk-apply-btn{border-radius:999px;width:auto;min-width:108px;padding:9px 16px}.bulk-shoe-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:right 11px center,right 6px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;max-width:170px;padding-right:26px}.filter-chip.act-reset{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 38%, transparent)}.filter-chip.act-reset:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent)}.filter-chip.bulk-delete-btn{color:#d9556b;border-color:#d9556b66}.filter-chip.bulk-delete-btn:hover:not(:disabled){background:#d9556b1f;border-color:#d9556b}.filter-chip.admin-delete-chip{color:#d9556b;border-color:#d9556b66}.filter-chip.admin-delete-chip:hover:not(:disabled){background:#d9556b1f;border-color:#d9556b}.filter-chip.admin-delete-chip.armed{color:#fff;background:#d9556b;border-color:#d9556b}.act-view-toggle{gap:6px;display:inline-flex}.actlog{margin-top:4px}.actlog-legend{flex-wrap:wrap;gap:8px 14px;margin-bottom:6px;display:flex}.actlog-legend span{font-size:var(--type-small);color:var(--text-muted);align-items:center;gap:6px;font-weight:500;display:flex}.actlog-dot{border-radius:50%;flex:none;width:9px;height:9px}.actlog-week{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.actlog-week:first-of-type{border-top:0;margin-top:6px;padding-top:6px}.actlog-week-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.actlog-week-title{font-size:var(--type-title);align-items:center;gap:9px;font-weight:700;display:flex}.actlog-now{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);border-radius:999px;padding:2px 8px}.actlog-week-km{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);font-weight:600}.actlog-week-km span{color:var(--text-muted);font-weight:500;font-size:var(--type-small)}.actlog-bar{border-radius:999px;height:7px;margin-bottom:14px;display:flex;overflow:hidden}.actlog-bar i{height:100%}.actlog-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.actlog-day{width:100%;min-height:104px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding-top:2px;text-decoration:none;display:flex}.actlog-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.actlog-daylab{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);text-align:center;line-height:1.25}.actlog-day.today .actlog-daylab{color:var(--accent)}.actlog-daylab b{color:var(--text-primary);font-size:var(--type-small);font-weight:600;display:block}.actlog-well{flex:1;justify-content:center;align-items:center;display:flex}.actlog-twin{gap:4px}.actlog-runlink{text-decoration:none;display:inline-flex}.actlog-multi{display:inline-flex;position:relative}.actlog-bub{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:700;font-size:var(--type-small);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:transform .12s;display:flex}.actlog-bub.sm{font-size:var(--type-micro)}.actlog-day:hover .actlog-bub{transform:scale(1.05)}.actlog-rest{border:1.5px dashed color-mix(in oklab, var(--text-muted), transparent 55%);border-radius:50%;width:32px;height:32px}.actlog-badge{background:var(--page);border:1.5px solid var(--accent);min-width:17px;height:17px;color:var(--accent);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);border-radius:8px;justify-content:center;align-items:center;padding:0 3px;font-weight:800;display:flex;position:absolute;top:-3px;right:-3px}.actlog-dayfoot{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted)}.actlog-dayfoot.rest{opacity:.65}.actlog-dayfoot.multi{color:var(--accent)}.actlog-dayfoot.race{color:var(--accent);font-weight:600}.lap-gap,.split-delta{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);white-space:nowrap;display:block}.split-delta.faster{color:var(--ink-good)}.alltime-card{margin-top:14px}.alltime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-top:6px;display:grid}@media (min-width:720px){.alltime-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.alltime-grid b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-variant-numeric:tabular-nums;font-weight:600;display:block}.alltime-grid span{font-size:var(--type-small);color:var(--text-muted)}.guide-block{margin-top:12px}.guide-block p{font-size:var(--type-body);color:var(--text-secondary);margin:0 0 10px;line-height:1.6}.guide-block p:last-child{margin-bottom:0}.guide-block b{color:var(--text-primary);font-weight:600}.guide-foot{margin-top:14px}.guide-foot a{color:var(--accent)}.guide-lede{font-size:var(--type-body);color:var(--text-secondary);margin:0 0 10px;line-height:1.6}.guide-lede:last-child{margin-bottom:0}.guide-lede b{color:var(--text-primary);font-weight:600}.guide-ramprow{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-bottom:3px;display:flex}.guide-ramp{background:linear-gradient(90deg, var(--zone-1), var(--zone-2), var(--zone-3), var(--zone-4), var(--zone-5), var(--zone-6));border-radius:6px;height:6px;margin-bottom:4px}.guide-rung{border-top:1px solid var(--border);grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:11px 0;display:grid}.guide-rung:first-of-type{border-top:0}.guide-dot{border-radius:50%;width:10px;height:10px}.guide-rung h3{font-size:var(--type-body-lg);margin:0 0 2px;font-weight:650}.guide-rung p{font-size:var(--type-small);color:var(--text-secondary);margin:0;line-height:1.4}.guide-tag{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;align-self:start;padding-top:3px}.guide-flow{align-items:center;gap:8px;display:flex}.guide-node{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex:1;padding:12px 6px}.guide-node svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.6px;margin-bottom:6px}.guide-node span{font-size:var(--type-small);color:var(--text-secondary);line-height:1.3;display:block}.guide-arrow{color:var(--text-muted);font-size:15px}.guide-tiles,.guide-life{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.guide-tile,.guide-lt{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 8px}.guide-tile{text-align:center}.guide-tile svg{width:20px;height:20px;stroke:var(--text-primary);fill:none;stroke-width:1.5px;margin-bottom:7px}.guide-tile b{font-size:var(--type-small);font-weight:600;display:block}.guide-tile span,.guide-lt span{font-size:var(--type-micro);color:var(--text-muted);margin-top:2px;line-height:1.3;display:block}.guide-lt svg{fill:none;stroke-width:1.6px;width:19px;height:19px;stroke:var(--text-primary);margin-bottom:7px}.guide-lt b{font-size:var(--type-small);font-weight:650;display:block}.guide-lt span{color:var(--text-secondary)}.guide-lt.is-go svg{stroke:var(--ink-good)}.guide-lt.is-soft svg{stroke:var(--zone-1)}.guide-lt.is-stop{border-color:#f0a8a080}.guide-lt.is-stop svg{stroke:var(--ink-bad)}.guide-lt.is-stop b{color:var(--ink-bad)}.guide-pt,.guide-rd{border-top:1px solid var(--border);gap:11px;padding:10px 0;display:flex}.guide-pt:first-of-type{border-top:0}.guide-pt svg,.guide-rd svg{width:19px;height:19px;stroke:var(--accent);fill:none;stroke-width:1.6px;flex:none;margin-top:1px}.guide-pt p,.guide-rd p{font-size:var(--type-small);color:var(--text-secondary);margin:0;line-height:1.45}.guide-pt b,.guide-rd b{color:var(--text-primary);font-weight:600}.guide-wklabel{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-bottom:4px;display:flex}.guide-wedge{align-items:flex-end;gap:5px;height:60px;margin-bottom:4px;display:flex}.guide-wedge i{opacity:.9;background:linear-gradient(180deg, var(--zone-4), var(--zone-6));border-radius:3px 3px 0 0;flex:1}.guide-wedge i.is-race{background:var(--accent);opacity:1}.year-bests{font-size:var(--type-body);color:var(--text-secondary);margin:10px 2px 0;line-height:1.5}.actlog-hide{cursor:pointer;background:0 0;border:0;padding:0}.admin-athlete-row{color:inherit;text-decoration:none;display:block}.actlog-race{outline:2px solid var(--accent);outline-offset:2px}.activity-select-cell{width:34px;text-align:center!important;padding-left:4px!important;padding-right:4px!important}.activity-select-cell input{accent-color:var(--accent);cursor:pointer}.activity-select-cell input:disabled{cursor:not-allowed;opacity:.35}.success-note{color:var(--status-good);font-size:var(--type-body);margin:0 0 14px}.coach-mini{padding:14px 12px}.coach-mini-headline{font-size:var(--type-heading);letter-spacing:-.01em;font-weight:700}.coach-mini-text{font-size:var(--type-body);color:var(--text-secondary);margin:4px 0 8px;line-height:1.5}.coach-mini-change{border-left:2px solid var(--border);padding-left:10px}.chart-nav{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.chart-tooltip{pointer-events:none;background:var(--surface-2);border:1px solid var(--border);font-size:var(--type-body);white-space:nowrap;z-index:20;border-radius:8px;padding:7px 11px;position:absolute;box-shadow:0 4px 14px #0000004d}.chart-tooltip .tt-title{color:var(--text-primary);font-weight:600}.chart-tooltip .tt-body{color:var(--text-secondary)}.goal-row{border-bottom:1px solid var(--gridline);align-items:baseline;gap:12px;padding:12px 0;display:flex}.goal-row:last-child{border-bottom:none}.goal-name{font-weight:600}.goal-when{color:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);font-weight:var(--type-eyebrow-weight);letter-spacing:.08em;text-transform:uppercase}.goal-target{font-variant-numeric:tabular-nums;color:var(--text-secondary);margin-left:auto;font-weight:600}.goal-delete{color:var(--text-muted);cursor:pointer;font-size:var(--type-body);background:0 0;border:none;font-family:inherit}.goal-delete:hover{color:var(--accent)}.goal-form{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.goal-form.settings-stack{flex-direction:column;align-items:stretch}.goal-form.settings-stack>button{align-self:flex-start}.goal-form input{padding:var(--space-2) 12px;border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);border-radius:12px;flex:120px;min-width:0;max-width:280px}@media (max-width:480px){.goal-form input{flex:100%}}.goal-form input::placeholder{color:var(--text-muted)}.field-label{margin:var(--space-1) 0 -2px;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);flex:100%}.input-with-suffix{flex:120px;align-items:center;gap:6px;min-width:0;max-width:280px;display:flex}.input-with-suffix input{flex:auto;max-width:none}.input-suffix{color:var(--text-secondary);font-size:var(--type-body-lg);white-space:nowrap;flex-shrink:0}.input-hint{font-size:var(--type-small);color:var(--text-muted);flex:100%;margin:0}.goal-form .input-hint{-webkit-line-clamp:1;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.goal-form .input-hint.hint-open{-webkit-line-clamp:unset}@media (max-width:480px){.input-with-suffix{flex:100%;max-width:none}}.goal-form button:not(.filter-chip){background:var(--accent);color:var(--accent-ink);font-family:inherit;font-weight:var(--type-eyebrow-weight);font-size:var(--type-eyebrow);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:9px 18px}.ring-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin-bottom:24px;display:grid}@media (max-width:360px){.ring-row{grid-template-columns:minmax(0,1fr)}}@media (min-width:721px){.ring-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.ring-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;padding:18px 14px 14px;display:flex}.ring-explain{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:auto;display:flex}.ring-explain p{font-size:var(--type-eyebrow);color:var(--text-secondary);margin:0;line-height:1.35}.ring-detail-btn{font:inherit;font-size:var(--type-eyebrow);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.ring-gauge svg{max-width:100%;height:auto}.metric-modal-backdrop{z-index:var(--z-sheet);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f14b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.metric-modal{border:1px solid var(--gridline);background:var(--page);border-radius:16px;width:min(460px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;box-shadow:0 24px 80px #00000059}.metric-modal-head{border-bottom:1px solid var(--gridline);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.metric-modal-head strong{font-size:var(--type-body-lg)}.metric-modal-body{padding:14px 16px 18px}.metric-modal-body p{font-size:var(--type-body);color:var(--text-secondary);margin:0;line-height:1.5}.ring-note{color:var(--text-muted);font-size:var(--type-small);text-align:center;margin:-14px 0 24px}.ring{flex-direction:column;align-items:center;display:flex}.ring-gauge{flex:none;position:relative}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 22px;display:flex;position:absolute;inset:0}.ring-value{font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%;font-weight:700;line-height:1}.ring-sub{font-size:var(--type-eyebrow);color:var(--text-muted);margin-top:4px;line-height:1.25}.ring-label{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-top:14px;display:flex}.ring-status{font-size:var(--type-eyebrow);text-transform:uppercase;letter-spacing:.1em;font-weight:700}:root{--status-good:#79a47b;--status-warning:#d2a44c;--status-serious:#d47a55;--status-critical:#c95b58}.pred-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:18px;display:grid}.pred-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px 13px}.pred-dist{margin-bottom:10px}.pred-time{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(30px,7.6vw,38px);font-weight:600;line-height:.95}.pred-alt{font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:6px}.pred-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.pred-move{font-size:var(--type-eyebrow);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2.5px 8px;font-weight:650;display:inline-flex}.pred-move.faster{background:var(--confirmed-soft);color:var(--confirmed)}.pred-move.slower{background:var(--estimated-soft);color:var(--estimated)}.pred-move.held{border:1px solid var(--border);color:var(--text-muted)}.pred-range{font-size:var(--type-eyebrow);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:7px}.pred-chips .evidence-chip{font-size:var(--text-3xs);letter-spacing:.05em;white-space:normal;text-align:left;max-width:100%;padding:3px 7px;line-height:1.5;display:inline-block}.pred-chips .evidence-chip:before{margin-right:5px;display:inline-block}.pred-action{font-size:var(--type-eyebrow);color:var(--text-secondary);margin-top:8px;line-height:1.45}.pred-note{color:var(--text-muted);font-size:var(--type-small);margin:4px 0 0}.pred-intro{color:var(--text-secondary);font-size:var(--type-body);margin:0 0 14px;line-height:1.55}.detail-stats{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:32px;margin-bottom:24px;padding:4px 0 24px;display:flex}.back-link{font-size:var(--type-small);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:28px;font-weight:650;display:inline-block}.zone-bar{border-radius:6px;gap:2px;height:26px;margin:6px 0 10px;display:flex;overflow:hidden}.zone-seg{height:100%}.zone-legend{font-size:var(--type-small);color:var(--text-secondary);flex-wrap:wrap;gap:18px;display:flex}.zone-legend .dot{border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.split-bar{background:var(--series-1);border-radius:3px;height:6px}tr.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}@media (hover:hover){tr.clickable:hover td{background:var(--surface-2)}.card-ink tr.clickable:hover td{background:var(--ink-wash)}}@media (hover:none){tr.clickable:active{opacity:.68}}.login-wrap{justify-content:center;align-items:flex-start;min-height:calc(100dvh - 70px);display:flex}@media (min-height:780px){.login-wrap{align-items:center}}.login-box{text-align:center;width:100%;max-width:380px;padding:28px 24px 32px}.login-tagline{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);letter-spacing:-.01em;margin:0 0 8px;font-weight:600;line-height:1.28}.login-tagline-sub{color:var(--text-muted);font-size:var(--type-body);margin:0 0 22px}.login-proof{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:6px;margin-top:22px;padding-top:18px;display:flex}.login-proof span{font-size:var(--type-eyebrow);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px}.login-what{font-size:var(--type-small);color:var(--text-muted);margin-top:14px;text-decoration:underline;display:inline-block}.login-logo{font-size:44px}.login-tag{color:var(--text-muted);font-size:var(--type-body-lg);margin:6px 0 36px}.login-buttons{flex-direction:column;gap:10px;display:flex}.login-btn{border:1px solid var(--baseline);background:var(--surface);width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);cursor:pointer;border-radius:12px;padding:13px 18px;font-weight:600}.login-btn:hover:not(:disabled):not(.login-btn-primary){border-color:var(--text-muted);background:var(--surface-2)}.login-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.login-btn-strava{color:#fff;background:#fc4c02;border-color:#fc4c02;font-weight:600}.login-btn-strava:hover:not(:disabled){filter:brightness(1.08)}.strava-connect-btn{cursor:pointer;background:0 0;border:none;align-self:center;padding:0;line-height:0;display:inline-flex}.strava-connect-btn img{width:auto;max-width:100%;height:48px;display:block}.strava-connect-btn:disabled{opacity:.6;cursor:default}.strava-connect-btn:hover:not(:disabled) img{filter:brightness(1.06)}.strava-connect-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:6px}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-btn-primary[aria-busy=true]:disabled{opacity:.9}.login-skip{font-size:var(--type-body);color:var(--text-muted);margin-top:22px;text-decoration:underline;display:inline-block}.login-skip:hover{color:var(--text-primary)}.login-fine{font-size:var(--type-small);color:var(--text-muted);margin-top:30px}.onboard-wrap{max-width:560px;margin:0 auto}.onboard-back{min-height:var(--tap-min);color:var(--text-secondary);font:inherit;font-size:var(--type-body-lg);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin:28px 0 -14px;padding:0 2px;display:inline-flex}.onboard-back:hover{color:var(--text-primary)}.onboard-back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.onboard-topline{justify-content:space-between;align-items:center;gap:16px;margin:0;display:flex}.onboard-topline .onboard-progress-meta{flex:auto;min-width:0;margin-bottom:0}.onboard-progress-meta{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.onboard-progress-segs{gap:4px;display:flex}.onboard-progress-segs i{background:var(--border);border-radius:2px;flex:1;height:3px;display:block}.onboard-progress-segs i.on{background:var(--accent)}.onboard-progress-segs i.now{background:var(--accent);opacity:.55}.device-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:8px;display:grid}.device-card{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text-primary);border-radius:16px;flex-direction:column;gap:6px;padding:22px 18px;font-family:inherit;display:flex}.device-card:hover:not(.disabled){border-color:var(--accent)}.device-card.disabled{opacity:.45;cursor:default}.device-name{font-weight:700;font-size:var(--type-title)}.device-status{font-size:var(--type-small);color:var(--text-muted)}.onboard-form{max-width:380px}.onboard-import-btn{width:100%;max-width:380px}.import-progress{text-align:center;padding:40px 0}.import-count{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:700}.import-bar{background:var(--surface-2);border-radius:999px;max-width:380px;height:6px;margin:16px auto 0;overflow:hidden}.import-bar.inline{margin:10px 0 0}.import-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .6s}.import-bar-fill.indeterminate{width:35%;animation:1.4s ease-in-out infinite import-sweep}@keyframes import-sweep{0%{margin-left:0}50%{margin-left:65%}to{margin-left:0}}@media (prefers-reduced-motion:reduce){.import-bar-fill.indeterminate{width:50%;margin-left:25%;animation:none}}.login-email-form{flex-direction:column;gap:10px;display:flex}.login-email-form input{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);border-radius:12px;padding:12px 14px}.login-email-form input::placeholder{color:var(--text-muted)}.login-btn-primary{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;letter-spacing:.07em;font-weight:700;font-size:var(--type-body);border:none}.login-divider{font-size:var(--type-small);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:18px 0}.coach-card{border-left:3px solid var(--accent)}.coach-rating{align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.coach-execution{border-bottom:1px solid var(--gridline);margin-bottom:16px;padding-bottom:14px}.coach-execution-text{font-size:var(--type-body-lg);color:var(--text-secondary);line-height:1.55}.notes-form{flex-direction:column;gap:6px;display:flex}.plan-date-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-date-fields .notes-row{align-content:start}.notes-form textarea{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);resize:vertical;border-radius:12px;padding:12px 14px}.notes-form textarea::placeholder{color:var(--text-muted)}.edit-btn{color:var(--text-muted);font-size:var(--type-heading);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-left:10px}.edit-btn:hover{color:var(--text-primary)}.edit-form{flex-direction:column;gap:10px;max-width:560px;margin-top:8px;display:flex}.edit-input{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body-lg);border-radius:12px;padding:10px 14px}.edit-input::placeholder{color:var(--text-muted)}.edit-input-title{font-size:var(--type-heading);font-weight:600}.notes-save{cursor:pointer;border-radius:999px;align-self:flex-start;padding:9px 20px}.notes-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notes-label{min-width:120px}.unit-groups{flex-direction:column;gap:18px;display:flex}.notes-select{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);font-family:inherit;font-size:var(--type-body);border-radius:12px;padding:8px 12px}.notes-hint{font-size:var(--type-small);color:var(--text-muted)}.role-chip{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:1px 8px;font-weight:700;display:inline-block}.role-work{background:var(--accent);color:var(--accent-ink)}.role-rest{border:1px solid var(--baseline);color:var(--text-muted)}.role-warmup,.role-cooldown{border:1px solid var(--baseline);color:var(--text-secondary)}.zone-chip{font-size:var(--type-micro);color:var(--zone-6-ink,#fff);border-radius:6px;padding:1px 8px;font-weight:700;display:inline-block}.zone-note{margin-top:10px}.zone-note>summary{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);cursor:pointer;padding:6px 0;list-style:none}.zone-note>summary::-webkit-details-marker{display:none}.zone-note>summary:after{content:" +";font-family:inherit}.zone-note[open]>summary:after{content:" -"}.zone-note>p{color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;margin:2px 0 4px;line-height:1.5}.zone-card{padding-left:20px}.zone-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.zone-card-head h2{margin-bottom:0}.zone-bands{flex-wrap:wrap;gap:4px 10px;display:flex}.zone-band{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-secondary);white-space:nowrap}.zone-lede{color:var(--text-secondary);font-size:var(--type-body-lg);max-width:62ch;margin:0;line-height:1.5}.zone-plan{font-size:var(--type-body);color:var(--text-secondary);margin:8px 0 0}.zone-plan>span{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin-right:8px}.zone-card>.zone-note{margin-top:4px}.zone-card>.zone-note>summary{padding-bottom:0}.zone-detail,.anchor-rows{margin:12px 0 0}.zone-detail>div,.anchor-row{grid-template-columns:8.5rem 1fr;gap:4px 12px;padding:8px 0 0;display:grid}.zone-detail dt,.anchor-row dt{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);padding-top:2px}.zone-detail dd,.anchor-row dd{color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;margin:0;line-height:1.5}.anchor-row dt{flex-direction:column;align-items:flex-start;gap:5px;display:flex}@media (max-width:520px){.zone-detail>div,.anchor-row{grid-template-columns:1fr;gap:2px}.anchor-row dt{flex-direction:row;align-items:center;gap:8px}}tr.lap-rest td{opacity:.55}tr.lap-support td{opacity:.72}.activity-actions{position:relative}.activity-actions-menu{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;min-width:210px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 48px #00000038}.activity-actions-item{color:var(--text-primary);font-family:inherit;font-size:var(--type-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px}.activity-actions-item:hover{background:var(--surface-2)}.activity-actions-item.danger{color:var(--status-serious);border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:4px}.lap-time{white-space:nowrap}.pause-flag{vertical-align:-.05em;width:.85em;height:.85em;fill:var(--text-muted);margin-left:.45em}.lap-legend{font-size:var(--type-micro);color:var(--text-muted);align-items:center;gap:6px;margin:10px 2px 0;display:flex}.lap-legend .pause-flag{margin-left:0}.plan-progress-head{justify-content:space-between;margin-bottom:8px;display:flex}.plan-progress-track{background:var(--gridline);border-radius:999px;height:8px;overflow:hidden}.plan-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.workout-list{flex-direction:column;gap:10px;margin-top:8px;display:flex}.workout-card{border:1px solid var(--gridline);border-radius:12px;padding:14px 16px}.workout-head{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding:0;display:flex}.workout-head>span:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workout-head .role-chip{border:1px solid var(--baseline);color:var(--text-secondary)}.workout-card.user-workout{border-left:3px solid var(--accent)}.workout-library-section{color:var(--text-muted);font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;margin:12px 0 0}.workout-card-actions{margin:8px 0 0}.workout-name{font-weight:650;font-size:var(--type-body-lg)}.workout-origin{font-size:var(--type-small);color:var(--text-muted)}.workout-session{font-size:var(--type-body);color:var(--text-secondary);margin-top:8px;line-height:1.55}.workout-purpose-line{font-size:var(--type-body);color:var(--text-secondary);margin:6px 0 0;line-height:1.5}.workout-summary{flex-direction:column;gap:2px;margin-top:6px;display:flex}.workout-summary-line{font-size:var(--type-body);color:var(--text-primary);overflow-wrap:anywhere;line-height:1.45}.workout-summary-line.muted{color:var(--text-muted);font-size:var(--type-small)}.workout-chip-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.workout-card-media{align-items:center;gap:10px;margin-top:6px;display:flex}.workout-card-thumb{flex:0 0 112px;width:112px}.workout-card-thumb .workout-profile{margin:0}.workout-card-thumb .workout-profile svg{min-height:0;display:block}.workout-card-stats{min-width:0;font-size:var(--type-body);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.workout-card-minutes{color:var(--text-primary)}.workout-card-cost{color:var(--text-muted);font-size:var(--type-small)}.workout-details{border-top:1px dashed var(--gridline);margin-top:10px;padding-top:8px}.workout-detail-line{font-size:var(--type-small);color:var(--text-secondary);margin:4px 0 0;line-height:1.5}.workout-search{margin:6px 0 10px;display:block}.workout-search .filter-input{box-sizing:border-box;width:100%}.workout-fit{background:color-mix(in srgb, var(--accent) 8%, transparent);font-size:var(--type-small);color:var(--text-secondary);border-radius:8px;margin:6px 0 0;padding:6px 10px;line-height:1.5}.workout-fit-note{margin:0}.workout-fit-warn .workout-fit{background:color-mix(in srgb, var(--status-warning) 12%, transparent);color:var(--text-primary)}.workout-purpose{font-size:var(--type-body);color:var(--text-muted);border-left:2px solid var(--accent);margin-top:8px;padding-left:10px;line-height:1.55}.next-session-card{transition:border-color .12s;display:block}.next-session-card:hover{border-color:var(--accent)}.next-session-title{font-weight:650;font-size:var(--type-body-lg);margin-bottom:4px}.toast-stack{bottom:calc(var(--bottom-nav-h) + var(--tap-min) + var(--bottom-gap) * 2);z-index:var(--z-toast);flex-direction:column;gap:8px;display:flex;position:fixed;right:24px}.toast{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);font-size:var(--type-body);color:var(--text-primary);border-radius:12px;align-items:center;gap:14px;max-width:380px;padding:12px 18px;animation:.2s toast-in;display:flex;box-shadow:0 6px 20px #00000059}.toast-success{border-left-color:var(--good)}.toast-tick{width:18px;height:18px;color:var(--good);flex-shrink:0}.toast-tick path{stroke-dasharray:24;stroke-dashoffset:24px;animation:.42s ease-out .12s forwards tick-draw}@keyframes tick-draw{to{stroke-dashoffset:0}}.toast-action{background:var(--accent);color:var(--accent-ink);font-family:inherit;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:5px 14px}.toast-action:hover{filter:brightness(1.08)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.plan-week{flex-direction:column;gap:10px;display:flex}.plan-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.plan-calendar-day{border:1px solid var(--gridline);background:var(--surface-2);border-radius:12px;flex-direction:column;min-height:182px;padding:10px;display:flex}.plan-drop-target{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-2));box-shadow:inset 0 0 0 1px var(--accent)}.plan-day-rail{align-items:baseline;gap:6px;display:flex}.plan-day-name{color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase}.plan-day-date{color:var(--text-secondary);font-size:var(--type-body);font-weight:700}.plan-today-tag{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;border-radius:999px;margin-left:auto;padding:2px 7px}.plan-day-body{flex-direction:column;flex:1;min-width:0;display:flex}.plan-calendar-session{box-sizing:border-box;background:var(--surface);flex-direction:column;flex:1;min-height:150px;margin-top:8px;padding:10px;display:flex}.plan-calendar-session .plan-session-head{gap:6px}.plan-calendar-session .role-chip{font-size:var(--type-micro)}.plan-calendar-session .plan-title{font-size:var(--type-body)}.plan-calendar-session .plan-detail{font-size:var(--type-small)}.plan-session-actions{gap:5px;margin-top:auto;margin-bottom:0;padding-top:8px}.plan-swap-choice{min-height:var(--tap-min);font-size:var(--type-small);letter-spacing:.02em;text-align:center;white-space:normal;justify-content:center;align-items:center;padding:6px 12px;line-height:1.25;display:inline-flex}.plan-swap-choice.danger{color:var(--status-critical,#d03b3b);border-color:currentColor}.plan-session-meta{color:var(--text-secondary);font-size:var(--type-small);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.plan-session-more{min-height:var(--tap-min);color:var(--text-muted);font:inherit;font-size:var(--type-small);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-left:auto;padding:0 2px;display:inline-flex}.plan-session-more:hover{color:var(--text-primary)}.plan-session-more:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:6px}.plan-more-chev{font-size:var(--type-small)}.plan-session-actions{margin-top:8px}.plan-execution{border-top:1px solid var(--gridline);font-size:var(--type-eyebrow);margin-top:8px;padding-top:8px;line-height:1.4}.plan-execution strong,.plan-execution span{display:block}.plan-execution strong{text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing)}.plan-execution span{color:var(--text-muted);margin-top:2px}.training-link-control{color:var(--text-secondary);font-size:var(--type-body);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.training-link-picker{flex-direction:column;gap:8px;max-width:560px;margin-top:10px;padding:14px;display:flex}.training-link-option{border:1px solid var(--baseline);background:var(--page);color:var(--text-primary);text-align:left;cursor:pointer;border-radius:12px;padding:10px 12px}.training-link-option:hover{border-color:var(--accent)}.training-link-option strong,.training-link-option span{display:block}.training-link-option span{color:var(--text-muted);font-size:var(--type-small);margin-top:3px}.race-picker{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;margin-top:16px;padding:16px}.race-picker .filter-input{width:100%;max-width:none}.race-picker-results{gap:8px;max-height:360px;margin-top:12px;display:grid;overflow-y:auto}.race-picker-option{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:11px 12px;display:flex}.race-picker-option:hover{border-color:var(--accent)}.race-picker-option:disabled{cursor:wait;opacity:.65}.race-picker-option span,.race-picker-option strong,.race-picker-option small{display:block}.race-picker-option small{color:var(--text-muted);font-size:var(--type-small);margin-top:3px}.race-picker-option b{color:var(--accent);font-size:var(--type-small);flex:none;font-weight:600}.plan-badge{font-size:var(--type-micro);letter-spacing:.04em;white-space:nowrap;cursor:help;border-radius:999px;padding:1px 7px}.plan-badge.adjust{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.plan-badge.warn{background:color-mix(in srgb, var(--status-serious) 16%, transparent);color:var(--status-serious)}.progress-block{box-sizing:border-box;width:100%;min-width:0;margin-top:10px}.progress-track{background:var(--gridline);border-radius:999px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;width:38%;height:100%;animation:1.15s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{margin-left:-38%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.progress-fill{opacity:.55;width:100%;animation:none}}.progress-label{color:var(--text-secondary);font-size:var(--type-small);margin-top:7px}.workout-splits-card{grid-column:1/-1}.stream-chart{width:100%;margin:4px 0 6px}.stream-chart svg{width:100%;height:auto;min-height:180px;display:block}.stream-chart-grid line{stroke:var(--gridline);stroke-width:1px}.stream-chart-band{opacity:.13}.stream-chart-avg{stroke:var(--accent);stroke-width:2px;stroke-dasharray:7 7;opacity:.85}.stream-chart-avglab{fill:var(--accent);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);letter-spacing:.03em;font-weight:600}@media (max-width:768px){.stream-chart-avglab{font-size:var(--text-3xl)}}.stream-chart-scrub{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 4}.stream-chart-scrub-dot{fill:var(--accent);stroke:var(--page);stroke-width:2.5px}.stream-chart-scrub-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);letter-spacing:.03em;fill:var(--text-primary);paint-order:stroke;stroke:var(--page);stroke-width:6px;font-weight:600}@media (max-width:768px){.stream-chart-scrub-label{font-size:var(--text-3xl)}}.stream-chart-grid text,.stream-chart-grid-unit,.stream-chart-axis-title{fill:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);letter-spacing:.06em}@media (max-width:768px){.stream-chart-grid text,.stream-chart-grid-unit,.stream-chart-axis-title{font-size:var(--text-3xl);letter-spacing:.03em}}.stream-chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.stream-chart-area{fill:var(--accent);opacity:.14}.chart-stat-head{justify-content:flex-end;gap:20px;margin:2px 2px 8px;display:flex}.chart-stat-head .cs{text-align:right}.chart-stat-head .cs b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);letter-spacing:-.01em;color:var(--text-primary);font-weight:600;line-height:1.1;display:block}.chart-stat-head .cs span{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted)}.workout-profile{width:100%;margin:4px 0 6px}.workout-profile svg{width:100%;height:auto;min-height:180px;display:block}.workout-profile-grid line{stroke:var(--gridline);stroke-width:1px}.workout-profile-grid text,.workout-profile-axis-title,.workout-profile-time{fill:var(--text-secondary);font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:.06em;font-size:26px}.workout-profile-mark rect{opacity:.52}.workout-profile-mark.warmup rect,.workout-profile-mark.cooldown rect,.workout-profile-mark.recovery rect{fill:var(--series-1)}.workout-profile-mark.steady rect{fill:var(--series-2)}.workout-profile-mark.work rect{fill:var(--accent)}.workout-profile-mark.float rect{fill:var(--accent);opacity:.35}.workout-profile-line{fill:none;stroke:var(--text-primary);stroke-width:2.5px;stroke-linejoin:round}.workout-profile-point{fill:var(--text-primary)}.workout-profile-baseline{stroke:var(--baseline);stroke-width:1px}.splits-bar{background:var(--surface);border-radius:8px;gap:2px;height:44px;margin:4px 0 10px;display:flex;overflow:hidden}.splits-block{border-radius:2px;flex-basis:0;min-width:2px;transition:opacity .12s}.splits-block:hover{opacity:.75}.splits-block.warmup,.splits-swatch.warmup{background:var(--series-1)}.splits-block.cooldown,.splits-swatch.cooldown{background:var(--series-1);opacity:.6}.splits-block.recovery,.splits-swatch.recovery{background:var(--series-1);opacity:.8}.splits-block.steady,.splits-swatch.steady{background:var(--series-2)}.splits-block.work,.splits-swatch.work{background:var(--accent)}.splits-block.float,.splits-swatch.float{background:var(--accent);opacity:.5}.splits-total{color:var(--text-secondary);font-size:var(--type-small);flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.splits-legend{flex-wrap:wrap;gap:10px;display:flex}.splits-key{align-items:center;gap:5px;display:inline-flex}.splits-swatch{border-radius:2px;width:9px;height:9px;display:inline-block}.splits-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.splits-row{font-size:var(--type-body);align-items:baseline;gap:10px;display:flex}.splits-reps{text-align:right;min-width:34px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.splits-detail{flex-wrap:wrap;gap:6px;display:flex}.splits-chip{font-size:var(--type-small);background:var(--surface);border-left:3px solid var(--gridline);border-radius:999px;padding:2px 9px}.splits-chip.work{border-left-color:var(--accent)}.splits-chip.float{border-left-color:var(--accent);border-left-style:dashed}.splits-chip.steady{border-left-color:var(--series-2)}.splits-chip.recovery,.splits-chip.warmup,.splits-chip.cooldown{border-left-color:var(--series-1)}.workout-swapped-original{border-top:1px solid var(--gridline);color:var(--text-muted);font-size:var(--type-body);margin-top:12px;padding-top:12px;line-height:1.5}.plan-rest-day{color:var(--text-muted);font-size:var(--type-small);margin-top:18px}button.plan-rest-day-add{text-align:left;border:1px dashed var(--gridline);cursor:pointer;width:100%;font:inherit;font-size:var(--type-small);color:var(--text-muted);background:0 0;border-radius:12px;padding:10px 12px;display:block}button.plan-rest-day-add:hover{border-color:var(--accent);color:var(--text-secondary)}.plan-rest-add-hint{color:var(--accent);font-weight:700}.plan-day-add-hint{color:var(--text-muted);font-weight:600}button.plan-day-add:hover .plan-day-add-hint{color:var(--accent)}a.plan-unplanned-run{color:var(--text-muted);border-style:dashed;text-decoration:none;display:block}a.plan-unplanned-run .plan-row-title{min-height:var(--tap-min);font-size:var(--type-body);color:var(--text-secondary);align-items:center;font-weight:500}a.plan-unplanned-run .plan-row-actual{display:block}a.plan-unplanned-run:hover .plan-row-title{color:var(--text-primary)}.activity-attribution{font-size:var(--type-small);color:var(--text-muted)}.plan-session{border:1px solid var(--gridline);border-radius:12px;padding:14px 16px}.plan-session[draggable=true]{cursor:grab}.plan-session[draggable=true]:active{cursor:grabbing}.plan-dragging{opacity:.45;border-style:dashed}.plan-key{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.plan-key-mark{width:18px;height:18px;font-size:var(--type-eyebrow);color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;justify-content:center;align-items:center;margin-right:4px;display:inline-flex}.plan-week-context{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.plan-context-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.plan-context-summary{color:var(--text-secondary);font-size:var(--type-body);margin:0;line-height:1.5}.plan-context-actions{flex-shrink:0;gap:8px;display:flex}.taper-arc-caption{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--text-secondary);margin:2px 2px 0}.plan-week-credit{color:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);font-weight:var(--type-eyebrow-weight);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:0;line-height:1.45}.plan-hero-anchor-note{color:var(--text-muted);font-size:var(--type-small);margin:2px 0 0}.racepace{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.racepace-head{font-size:var(--type-small);color:var(--text-primary);margin:0 0 4px;font-weight:600}.racepace-list{margin:0;padding:0;list-style:none}.racepace-row{font-size:var(--type-small);grid-template-columns:16px 3.2em 1fr;align-items:baseline;gap:6px;line-height:1.5;display:grid}.racepace-mark{color:var(--text-muted);text-align:center}.racepace-row.is-ticked .racepace-mark{color:var(--accent)}.racepace-dist{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.racepace-detail{color:var(--text-muted);font-variant-numeric:tabular-nums}.racepace-row.is-ticked .racepace-detail{color:var(--text-secondary)}.racepace-next{font-size:var(--type-small);color:var(--text-primary);margin:6px 0 0}.plan-today-jump{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;flex-shrink:0;padding:0;text-decoration:underline}.plan-flash{background:color-mix(in srgb, var(--status-good) 14%, transparent);color:var(--status-good);font-size:var(--type-body);border-radius:12px;margin:0;padding:8px 14px;font-weight:600}.plan-week-card{padding:14px 16px}.plan-next{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.plan-next-tag{background:var(--accent);color:#fff;font-size:var(--text-3xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 7px;font-weight:700}.plan-action-prompt{color:var(--text-muted);font-size:var(--type-eyebrow);align-self:center}.plan-action{min-height:var(--tap-min)}.plan-move-banner{top:calc(var(--header-h,56px) + 8px);z-index:50;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex;position:sticky}.plan-move-banner-text{flex-direction:column;gap:2px;min-width:0;display:flex}.plan-move-banner-text strong{font-size:var(--type-body-lg)}.plan-move-banner-text span{color:var(--text-secondary);font-size:var(--type-small)}.plan-calendar-choosing .plan-calendar-day{cursor:default}.plan-day-eligible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-2))}.plan-move-day-summary{color:var(--text-muted);font-size:var(--type-small);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;overflow:hidden}.plan-move-target{text-align:left;width:100%;font:inherit;font-size:var(--type-body);border-radius:12px;padding:10px 12px;font-weight:600;display:block}button.plan-move-target.eligible{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}button.plan-move-target.eligible:hover{filter:brightness(1.06)}.plan-move-target.current{border:1px dashed var(--border);background:var(--surface-2);color:var(--text-muted)}.plan-move-target.blocked{border:1px solid var(--gridline);color:var(--text-muted);background:0 0;font-weight:500}.swap-library-backdrop{z-index:var(--z-sheet);--sheet-inset-top:max(24px, calc(env(safe-area-inset-top) + 12px));padding:var(--sheet-inset-top) 24px 24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f14b3;place-items:center;display:grid;position:fixed;inset:0}.swap-library-dialog{width:min(920px,100%);max-height:calc(100svh - var(--sheet-inset-top,24px) - 24px);border:1px solid var(--gridline);background:var(--page);border-radius:16px;padding:20px;overflow-y:auto;box-shadow:0 24px 80px #00000059}.swap-library-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.swap-library-head h2{margin:3px 0 0}.custom-workout-dialog{width:min(1040px,100%)}.custom-workout-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;margin-top:16px;display:grid}.custom-workout-entry,.custom-workout-preview{border:1px solid var(--gridline);background:var(--surface);border-radius:16px;min-width:0;padding:16px}.workout-upload{border:1px dashed var(--baseline);color:var(--text-primary);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;display:flex}.workout-upload:hover{border-color:var(--accent);background:var(--surface-2)}.workout-upload.busy{cursor:wait;opacity:.65}.workout-upload input{opacity:0;width:1px;height:1px;position:absolute}.workout-upload span{color:var(--text-muted);font-size:var(--type-eyebrow)}.custom-workout-fields{grid-template-columns:1fr 190px;gap:10px;margin:16px 0 12px;display:grid}.custom-workout-fields label,.custom-workout-entry>label:not(.workout-upload){flex-direction:column;gap:6px;display:flex}.custom-workout-fields .filter-input,.custom-workout-fields .notes-select{width:100%;max-width:none}.custom-workout-text{resize:vertical;width:100%;font-family:var(--font-grotesk), system-ui, sans-serif;line-height:1.55}.custom-candidates{border:1px solid var(--status-warning);background:color-mix(in srgb, var(--status-warning) 8%, transparent);font-size:var(--type-small);border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:12px;display:flex}.structured-editor{flex-direction:column;gap:9px;margin-top:16px;display:flex}.structured-editor-head,.structured-block-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.structured-editor-head>div:first-child{flex-direction:column;gap:2px;display:flex}.structured-editor-head span{color:var(--text-muted);font-size:var(--type-eyebrow)}.structured-editor-actions{gap:5px;display:flex}.structured-block{border:1px solid var(--gridline);background:var(--surface);border-radius:12px;flex-direction:column;gap:7px;padding:11px;display:flex}.structured-block-toolbar{justify-content:flex-start}.structured-block-number{color:var(--text-secondary);font-size:var(--type-eyebrow);letter-spacing:.05em;text-transform:uppercase;font-weight:650}.structured-block-toolbar label{color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);align-items:center;gap:5px;margin-left:4px;display:flex}.structured-block-toolbar input{width:52px}.structured-open-badge{color:var(--text-muted);font-size:var(--type-micro);letter-spacing:.06em;text-transform:uppercase}.structured-block-actions{gap:5px;margin-left:auto;display:flex}.structured-block-toolbar button,.structured-mode button,.structured-add-recovery{border:1px solid var(--gridline);background:var(--surface);min-height:36px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--type-micro);border-radius:8px}.structured-block-toolbar button{width:36px;font-size:var(--type-body-lg)}.structured-block-toolbar button:disabled{cursor:default;opacity:.35}.structured-step{border-top:1px solid var(--gridline);grid-template-columns:108px minmax(110px,1fr) 96px;gap:6px;padding-top:7px;display:grid;position:relative}.structured-block-add{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.structured-step-remove{border:1px solid var(--gridline);background:var(--surface);width:22px;height:22px;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--type-body);border-radius:6px;line-height:1;position:absolute;top:9px;right:-2px}.structured-kind{grid-column:1}.kind-picker{position:relative}.kind-picker>button{border:1px solid var(--gridline);background:var(--surface);width:100%;min-height:36px;color:var(--text-primary);font:inherit;font-size:var(--type-small);cursor:pointer;border-radius:8px}.kind-picker-backdrop{z-index:29;cursor:default;background:0 0;border:none;position:fixed;inset:0}.kind-picker-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:2px;min-width:132px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #14101829}.kind-picker-menu button{text-align:left;font:inherit;font-size:var(--type-small);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 10px}.kind-picker-menu button:hover{background:var(--surface-2)}.kind-picker-menu button.active{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);font-weight:600}.structured-label{grid-column:2/4}.structured-step-uncertain{border-left:3px solid var(--status-warning);padding-left:8px}.structured-uncertain-badge{font-size:var(--type-eyebrow);color:var(--status-warning);grid-column:1/4;font-weight:600}.custom-step-uncertain{border-left:3px solid var(--status-warning)}.custom-uncertain-confirm{font-size:var(--type-small);color:var(--text-secondary);align-items:flex-start;gap:8px;margin:10px 0 2px;display:flex}.custom-uncertain-confirm input{accent-color:var(--status-warning);margin-top:2px}.skeleton-card{flex-direction:column;gap:12px;display:flex}.skeleton-line{background:linear-gradient(90deg, var(--border) 25%, var(--surface-2) 50%, var(--border) 75%);background-size:200% 100%;border-radius:8px;height:13px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-title{width:45%;height:20px;margin-bottom:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:no-preference){.filter-chip{transition:background-color .14s,color .14s,border-color .14s,transform .1s}.filter-chip:active:not(:disabled){transform:scale(.95)}.login-btn{transition:transform .1s,opacity .14s}.login-btn:active:not(:disabled){transform:scale(.98)}.card,.tile{animation:.24s both card-in}.plan-edit-sheet{animation:.26s cubic-bezier(.2,.9,.3,1) both sheet-up}.metric-modal,.swap-library-dialog{animation:.2s both card-in}.analysis-section-body{animation:.18s both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(28px)}to{opacity:1;transform:none}}}.plan-wizard-bar{background:var(--border);border-radius:2px;flex:1;max-width:200px;height:4px;overflow:hidden}.plan-wizard-bar i{background:var(--accent);border-radius:2px;height:100%;display:block}.plan-wizard-title{font-size:var(--text-2xl);margin:2px 0 0}.plan-wizard-lead{max-width:46em;color:var(--text-secondary);font-size:var(--type-body);margin:8px 0 0;line-height:1.5}.plan-wizard-next{flex:1}.plan-wizard-body{animation:.22s wizard-step-in}@keyframes wizard-step-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.plan-wizard-body{animation:none}}.plan-wizard-body .notes-row{margin:0 0 24px;display:block}.plan-wizard-body .notes-label{min-width:0;margin-bottom:8px;display:block}.plan-wizard-body .notes-hint{font-size:var(--type-small);max-width:40ch;margin-top:8px;line-height:1.5;display:block}.plan-wizard-body .notes-row{background:var(--surface-2);border-radius:16px;margin:0 0 12px;padding:14px 14px 15px}.plan-wizard-body .notes-row .filter-chip{background:var(--surface);border-color:#0000}.plan-wizard-body .notes-row .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.plan-wizard-body .notes-row .filter-input,.plan-wizard-body .notes-row .notes-select{background:var(--surface);border-color:#0000}.plan-wizard-body .notes-hint{color:var(--text-secondary)}.group-card{background:var(--surface-2);border-radius:16px;margin:0 0 12px;padding:14px 14px 15px}.group-card>.kicker{margin-bottom:8px;display:block}.notes-row.group-card{display:block}.notes-row.group-card .notes-label{min-width:0;margin-bottom:8px;display:block}.notes-row.group-card .notes-hint{margin-top:8px;display:block}.group-card .filter-chip{background:var(--surface);border-color:#0000}.group-card .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.group-card .filter-input,.group-card input[type=date],.group-card input[type=number],.group-card input[type=time]{background:var(--surface);color:var(--text-primary);border:1px solid #0000;border-radius:12px;padding:9px 13px;font-family:inherit}.plan-note{background:var(--estimated-soft);border-left:3px solid var(--estimated);font-size:var(--type-small);color:var(--text-secondary);border-radius:0 12px 12px 0;margin-bottom:8px;padding:10px 12px;line-height:1.5}.plan-note:first-of-type{margin-top:10px}.plan-mode-switch{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:22px;padding-top:16px;display:flex}.plan-mode-switch .kicker{margin:0}.plan-mode-switch .plan-newplan-btn{margin-top:2px}.plan-note-aside{color:var(--text-muted);margin-top:6px;display:block}.next-session-steps{gap:7px;margin-top:10px}.workout-step-lines.next-session-steps li{grid-template-columns:none;align-items:baseline;gap:9px;display:flex}.next-session-steps .splits-swatch{flex:none;position:relative;top:-1px}.next-session-steps .workout-step-text{font-size:var(--type-body);color:var(--text-secondary);line-height:1.45}.workout-step-lines{gap:8px;margin:0;padding:0;list-style:none;display:grid}.workout-step-lines li{grid-template-columns:96px 1fr;align-items:baseline;gap:10px;display:grid}.workout-step-kind{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.workout-step-text{font-size:var(--type-body-lg);color:var(--text-primary);line-height:1.45}.workout-step-intent{font-size:var(--type-small);color:var(--text-muted);grid-column:2;margin-top:1px;line-height:1.45}.card-kicker{margin-bottom:12px;display:block}.next-session-card .plan-detail{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.plan-note-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-primary);margin-bottom:2px;display:block}.day-chip-row{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day-chip-row .filter-chip{text-align:center;justify-content:center;min-width:0;padding:8px 0}.plan-review-list{flex-direction:column;gap:10px;display:flex}.plan-review-row{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.plan-review-row p{font-size:var(--type-body);margin:2px 0 0}.structured-mode{grid-column:1}.structured-value{grid-column:2}.structured-pace{grid-column:3}.structured-step select,.structured-step input{border:1px solid var(--baseline);background:var(--surface);width:100%;min-width:0;min-height:34px;color:var(--text-primary);font:inherit;font-size:var(--type-eyebrow);border-radius:8px;padding:5px 7px}.structured-step label{color:var(--text-muted);font-size:var(--text-3xs);flex-direction:column;align-items:stretch;gap:3px;display:flex}.structured-step .structured-input-invalid{border-color:var(--status-critical)}.structured-field-error{color:var(--status-critical);font-size:var(--type-micro);line-height:1.25}.structured-mode{gap:4px;display:flex}.structured-mode button{flex:1}.structured-mode button.active{border-color:var(--accent);color:var(--accent)}.structured-open-note{color:var(--text-muted);font-size:var(--type-micro);grid-column:2/4;align-self:center}.structured-add-recovery{align-self:flex-start;padding:4px 9px}.structured-add-step{align-self:flex-start}.structured-validation{font-size:var(--type-eyebrow);border-radius:8px;padding:8px 10px}.structured-validation p{margin:2px 0}.structured-validation.errors{border:1px solid var(--status-critical);color:var(--status-critical)}.structured-validation.warnings{border:1px solid var(--status-warning);color:var(--text-secondary)}.trend-legend{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.trend-key{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.trend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.trend-swatch.easy,.trend-seg.easy{background:var(--status-good,#4a9d6b)}.trend-swatch.hard,.trend-seg.hard{background:var(--accent,#d1603d)}.trend-swatch.unclassified,.trend-seg.unclassified{background:var(--text-muted,#9aa5b1)}.trend-weeks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.trend-week{border:1px solid var(--gridline);background:var(--surface);border-radius:12px;padding:10px 12px}.trend-week.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.trend-week-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.trend-week-label{font-weight:600;font-size:var(--type-body-lg);align-items:center;gap:8px;display:inline-flex}.trend-current-badge{font-style:normal;font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 7px;font-weight:600}.trend-week-total{font-weight:600;font-size:var(--type-body-lg)}.trend-bar{background:var(--gridline);border-radius:999px;min-width:6%;height:9px;margin:8px 0;display:flex;overflow:hidden}.trend-seg{min-width:2px;height:100%;display:block}.trend-week-stats{font-size:var(--type-small);color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;display:flex}.trend-week-stats b{color:var(--text-primary);font-weight:600}.private-note-preview{border:1px solid var(--gridline);background:var(--surface);font-size:var(--type-body);color:var(--text-secondary);white-space:pre-wrap;border-radius:12px;margin:10px 0 0;padding:10px 12px}.private-note-preview .kicker{margin-bottom:4px;display:block}.plan-edit-backdrop{z-index:var(--z-sheet);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f14b3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.plan-edit-sheet{border:1px solid var(--gridline);background:var(--page);border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 24px 80px #00000059}.plan-edit-header{border-bottom:1px solid var(--gridline);background:var(--page);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.plan-edit-header strong{font-size:var(--type-title);margin-top:2px;display:block}.plan-edit-close{border:1px solid var(--gridline);background:var(--surface);width:36px;height:36px;color:var(--text-primary);font-size:var(--type-heading);cursor:pointer;border-radius:12px;flex:none;line-height:1}.plan-edit-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:4px 18px 18px;overflow-y:auto}.plan-edit-preview{margin-top:14px}.plan-edit-type{flex-direction:column;gap:6px;margin-top:14px;display:flex}.plan-edit-type .filter-row{flex-wrap:wrap}.plan-edit-actions{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gridline);background:var(--page);justify-content:flex-end;gap:8px;display:flex}@media (max-width:640px){.plan-edit-backdrop{padding:0}.plan-edit-sheet{border:none;border-radius:0;width:100%;height:100dvh;max-height:100dvh}.plan-edit-actions .filter-chip{text-align:center;flex:auto}}.workout-adjust-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.workout-adjust-actions .filter-chip{width:100%;min-height:var(--tap-min);justify-content:center;align-items:center;margin:0;text-decoration:none;display:inline-flex}.custom-workout-preview{flex-direction:column;display:flex}.custom-preview-summary{flex-direction:column;gap:3px;margin:8px 0 12px;display:flex}.custom-preview-summary strong{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading)}.custom-preview-summary span{color:var(--text-muted);font-size:var(--type-small)}.custom-preview-steps{flex-direction:column;gap:5px;max-height:430px;margin:0 0 16px;padding:0;list-style:none;display:flex;overflow-y:auto}.custom-preview-steps li{border-bottom:1px solid var(--gridline);font-size:var(--type-small);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.custom-preview-steps li>span:last-child{color:var(--text-muted);font-variant-numeric:tabular-nums}.custom-workout-save{margin-top:auto}.custom-workout-save-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.custom-preview-empty{min-height:260px;color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:7px;display:flex}.custom-preview-empty strong{color:var(--text-primary)}.custom-preview-empty span{max-width:300px;font-size:var(--type-body);line-height:1.5}@media (max-width:680px){.swap-library-backdrop{--sheet-inset-top:max(8px, calc(env(safe-area-inset-top) + 8px));padding:var(--sheet-inset-top) 8px 8px}.swap-library-dialog{max-height:calc(100svh - var(--sheet-inset-top,8px) - 8px);padding:9px}.custom-workout-grid,.custom-workout-fields{grid-template-columns:1fr}.structured-step{grid-template-columns:92px minmax(92px,1fr) 82px}.workout-adjust-actions,.custom-workout-save-actions,.plan-date-fields{grid-template-columns:1fr}}@media (max-width:720px){.plan-calendar{grid-template-columns:1fr;gap:0}.plan-calendar-day{border:0;border-top:1px solid var(--gridline);background:0 0;border-radius:0;flex-direction:row;align-items:baseline;gap:10px;min-height:0;padding:9px 0}.plan-calendar-day:first-child{border-top:0}.plan-calendar-day.plan-today{box-shadow:inset 3px 0 0 var(--accent);padding-left:9px}.plan-day-rail{font-family:var(--font-grotesk), system-ui, sans-serif;flex-direction:row;flex:0 0 66px;align-items:baseline;gap:4px;padding-top:0}.plan-day-name{font-size:var(--type-micro)}.plan-day-date{font-size:var(--type-small);white-space:nowrap;font-weight:600}.plan-today-tag{display:none}.plan-day-body{gap:0}.plan-calendar-session{background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(min-content,auto) auto 1fr;align-items:baseline;gap:0 8px;min-height:0;margin-top:0;padding:0;display:grid}.plan-calendar-session:after{content:""}.plan-calendar-session.plan-next,.plan-calendar-session.plan-key{box-shadow:none;border:0}.plan-calendar-session .plan-session-head{gap:5px;margin:0;padding-left:19px;position:relative}.plan-calendar-session .role-chip{font-size:var(--text-3xs);letter-spacing:.06em;padding:2px 6px}.plan-calendar-session .plan-key-mark{width:15px;height:15px;font-size:var(--text-3xs);position:absolute;top:50%;left:0;transform:translateY(-50%)}.plan-calendar-session .plan-next-tag{font-size:var(--text-3xs);padding:2px 5px}.plan-calendar-session .plan-title{min-width:0;font-size:var(--type-body-lg);overflow-wrap:normal}.plan-calendar-session .plan-session-meta{font-size:var(--type-small);white-space:nowrap;flex-wrap:nowrap;margin-top:0;margin-left:0}.plan-calendar-session .plan-session-more{margin-left:2px}.plan-calendar-session .plan-session-actions{flex-wrap:nowrap;grid-column:1/-1;gap:6px;margin-top:8px}.plan-calendar-session .plan-session-actions .filter-chip{min-height:var(--tap-min);font-size:var(--type-small);text-align:center;flex:auto;padding:6px 4px}.plan-rest-day{min-height:0;padding:0}button.plan-rest-day-add{text-align:left;background:0 0;border:0;min-height:0;padding:0}}.plan-today{border-color:var(--accent)}.plan-missed{opacity:.55}.plan-session-head{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:4px;display:flex}.plan-date{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);min-width:92px}.plan-status{font-size:var(--type-small);color:var(--text-muted);margin-left:auto}.plan-status.action{cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.plan-status.done{color:var(--status-good)}.plan-status.swap{color:var(--accent)}.plan-title{font-weight:650;font-size:var(--type-body-lg)}.plan-detail{font-size:var(--type-body);color:var(--text-secondary);margin-top:2px;line-height:1.55}.plan-adjust{font-size:var(--type-body);color:var(--text-secondary);background:color-mix(in srgb, var(--status-warning) 12%, transparent);border-left:3px solid var(--status-warning);border-radius:0 12px 12px 0;margin-top:8px;padding:10px 12px;line-height:1.5}.plan-warning{font-size:var(--type-body);color:var(--text-secondary);background:color-mix(in srgb, var(--status-serious) 12%, transparent);border-left:3px solid var(--status-serious);border-radius:0 12px 12px 0;margin-top:8px;padding:10px 12px;line-height:1.5}.workout-link{color:var(--text-primary);text-decoration:none;display:block}.workout-link:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.back-link{color:var(--text-muted);font-size:var(--type-body);margin-bottom:14px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.workout-day-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 22px;display:grid}.workout-day-link{border:1px solid var(--gridline);background:var(--surface-2);border-radius:12px;flex-direction:column;min-width:0;padding:11px 13px;transition:border-color .12s,background .12s;display:flex}.workout-day-link:hover{border-color:var(--accent);background:var(--surface)}.workout-day-link.next{text-align:right}.workout-day-link span{color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase}.workout-day-link strong{font-size:var(--type-body);overflow-wrap:anywhere;margin-top:2px;line-height:1.35}.workout-day-link small{color:var(--text-muted);font-size:var(--type-eyebrow)}.workout-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.workout-topbar .back-link{margin:0}.workout-icon-btn{border:1px solid var(--gridline);background:var(--surface-2);width:38px;height:38px;color:var(--text-secondary);font-size:var(--type-heading);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;line-height:1;transition:border-color .12s,color .12s;display:inline-flex}.workout-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.workout-actions-btn{border:1px solid var(--gridline);background:var(--surface-2);height:38px;color:var(--text-primary);font-size:var(--type-body);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;font-weight:600;transition:border-color .12s,color .12s;display:inline-flex}.workout-actions-btn:hover{border-color:var(--accent);color:var(--accent)}.workout-daynav{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0 0 16px;display:grid}.workout-daynav-date{text-align:center;color:var(--text-secondary);font-size:var(--type-small)}.workout-daynav-arrow{min-width:0;color:var(--text-muted);flex-direction:column;gap:2px;text-decoration:none;transition:color .12s;display:flex}.workout-daynav-arrow:hover{color:var(--accent)}.workout-daynav-arrow.next{text-align:right;align-items:flex-end}.workout-daynav-arrow .glyph{font-size:var(--type-body);overflow-wrap:anywhere;line-height:1.3}.workout-daynav-arrow small{font-size:var(--type-eyebrow);color:var(--text-muted)}.workout-daynav-arrow.is-empty{visibility:hidden}.workout-action-backdrop{z-index:var(--z-sheet);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0f14b3;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.workout-action-sheet{width:min(520px,100%);padding:16px 16px calc(20px + env(safe-area-inset-bottom));border:1px solid var(--gridline);background:var(--page);border-bottom:none;border-radius:16px 16px 0 0;box-shadow:0 -18px 60px #00000059}.workout-action-sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.workout-action-list{flex-direction:column;gap:8px;display:flex}.workout-action-item{border:1px solid var(--gridline);background:var(--surface-2);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.workout-action-item:hover{border-color:var(--accent);background:var(--surface)}.workout-action-item strong{font-size:var(--type-body-lg)}.workout-action-item span{color:var(--text-muted);font-size:var(--type-small)}.wizard-tabs{background:var(--surface-2);border-radius:12px;gap:3px;margin:4px 0 14px;padding:4px;display:flex}.wizard-tab{color:var(--text-secondary);font-size:var(--type-body);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 4px;font-weight:600}.wizard-tab.on{background:var(--accent);color:var(--accent-ink)}.wizard-alt{border:1px solid var(--gridline);background:var(--surface-2);border-radius:16px;margin-bottom:11px;padding:13px 13px 12px}.wizard-alt-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.wizard-alt-top strong{font-size:var(--type-body-lg)}.wizard-alt-meta{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.wizard-why{color:var(--accent);font-size:var(--type-small);margin:9px 0 0;line-height:1.5}.wizard-cost{color:var(--text-muted);font-size:var(--type-small);margin:4px 0 0;line-height:1.5}.wizard-swap{width:100%;margin-top:11px}.wizard-manual{gap:8px;margin:0 0 12px;display:flex}.wizard-manual .sheet-btn{min-height:44px}.wizard-alt .workout-profile svg{min-height:0}.workout-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.workout-prescription{grid-column:span 2}.workout-head{margin:6px 0 16px}.workout-head .page-title{margin:6px 0 2px}.workout-page-head{justify-content:space-between;align-items:center;gap:12px;margin:6px 0 16px;display:flex}.workout-page-head-text{min-width:0}.workout-page-head .page-title{margin:6px 0 2px}.workout-head .page-subtitle{text-transform:capitalize;margin:0}.what-to-run{border-left:3px solid var(--accent)}.workout-detail-grid>.analysis-section,.workout-detail-grid>.coach-card,.workout-detail-grid>.workout-adjust-section,.workout-detail-grid>.workout-day-navigation,.workout-detail-grid>.workout-garmin-status{grid-column:1/-1}.workout-detail-grid>.workout-garmin-status{margin:2px 2px 0}.workout-brief-text{color:var(--text-secondary);line-height:1.6;font-size:var(--type-body);margin:0 0 8px}.workout-brief-text:last-child{margin-bottom:0}.section-badge-text{color:var(--text-secondary);font-size:var(--type-small);font-weight:500}.workout-prescription-text{color:var(--text-secondary);line-height:1.65;font-size:var(--type-title);margin:10px 0 0}.workout-meta{color:var(--text-primary);flex-direction:column;gap:3px;margin:18px 0 0;font-weight:650;display:flex}.workout-meta small{font-size:var(--type-small);color:var(--text-muted);letter-spacing:normal;text-transform:none;font-weight:500}.workout-meta span,.weather-summary span{color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing)}.weather-summary{flex-direction:column;gap:8px;display:flex}.weather-summary strong{font-size:var(--text-3xl);line-height:1}.sync-state{color:var(--text-secondary);line-height:1.55}.sync-state.good{color:var(--status-good)}.plan-sync-button{font-size:var(--type-small)}.garmin-pace-setting{color:var(--text-secondary);font-size:var(--type-body);cursor:pointer;align-items:flex-start;gap:10px;margin-top:18px;display:flex}.garmin-pace-setting input{accent-color:var(--accent);margin:3px 0 0}.garmin-pace-setting strong,.garmin-pace-setting small{display:block}.garmin-pace-setting strong{color:var(--text-primary);font-weight:600}.garmin-pace-setting small{color:var(--text-muted);margin-top:3px}@media (max-width:680px){.workout-detail-grid{grid-template-columns:1fr}.workout-prescription{grid-column:span 1}}.route-map{background:var(--surface-2);border-radius:12px;width:100%;height:340px;overflow:hidden}.activity-hero{margin:0 calc(var(--gutter) * -1) 10px;position:relative}.activity-hero .route-map{isolation:isolate;border-radius:0;height:232px}.hero-back,.hero-actions{position:absolute;top:12px}.hero-back{left:calc(var(--gutter) + 4px);color:#eceeea;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0e0cb8;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;text-decoration:none;display:flex}.hero-actions{right:calc(var(--gutter) + 4px)}.activity-hero .leaflet-top.leaflet-left{top:58px}.hero-actions .activity-actions-trigger{color:#eceeea;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0e0cb8;border-color:#ffffff1f}.route-map .osm-tiles-light{filter:saturate(.35)contrast(.94)brightness(1.02)}.route-map .osm-tiles-dark{filter:invert()hue-rotate(180deg)saturate(.3)brightness(.9)contrast(.95)}@media (prefers-color-scheme:dark){html:not(.light) .route-map .leaflet-control-attribution{color:var(--text-muted);background:#0d0e0fd1}html:not(.light) .route-map .leaflet-control-attribution a{color:var(--text-secondary)}}html.dark .route-map .leaflet-control-attribution{color:var(--text-muted);background:#0d0e0fd1}html.dark .route-map .leaflet-control-attribution a{color:var(--text-secondary)}.coach-rating-value{letter-spacing:-.02em;font-size:40px;font-weight:700}.coach-insight{border-bottom:1px solid var(--gridline);font-size:var(--type-body-lg);color:var(--text-secondary);padding:10px 0;line-height:1.55}.coach-insight:last-child{border-bottom:none}.coach-insight .kind{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--accent);margin-right:8px;display:inline-block}.flag-chip{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--baseline);color:var(--text-secondary);border-radius:999px;margin-right:6px;padding:2px 10px;font-weight:650;display:inline-block}.flag-chip.warn{border-color:var(--status-warning);color:var(--status-warning)}.flag-chip.race-official{text-transform:none;letter-spacing:0;color:var(--accent);border-color:var(--accent)}.empty-note{color:var(--text-muted);font-size:var(--type-body-lg);padding:12px 0}.limited-data{border-left:3px solid var(--border);background:var(--surface-2);border-radius:0 8px 8px 0;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.limited-data-compact{gap:4px;padding:10px 12px}.limited-data-headline{color:var(--text-primary);font-size:var(--type-body-lg);font-weight:650;line-height:1.35}.limited-data-compact .limited-data-headline{font-size:var(--type-body)}.limited-data-next{color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;line-height:1.5}.limited-data-action{color:var(--accent);font-size:var(--type-body);align-self:flex-start;align-items:center;min-height:38px;margin-top:2px;font-weight:600;display:inline-flex}.plan-hero-note{color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;margin-top:8px;line-height:1.5}.race-anchor .kicker,.race-anchor-done .kicker{margin-top:4px}.race-anchor>.filter-row:first-of-type{margin-top:2px}.race-anchor-done p:not(.kicker):not(.limited-data-headline):not(.limited-data-next){color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;line-height:1.5}.race-anchor-done .notes-save{align-self:flex-start}.race-anchor-capacities{flex-direction:column;gap:6px;display:flex}.race-anchor-capacity{width:100%;min-height:var(--tap-min);border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;display:flex}.race-anchor-capacity b{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:620}.race-anchor-capacity small{font-size:var(--type-small);color:var(--text-secondary)}.race-anchor-back{align-self:flex-start}.race-anchor-fields{gap:8px;display:flex}.race-anchor-fields .filter-input{flex:1;min-width:0}.race-anchor-doors{flex-direction:column;align-items:flex-start;display:flex}.race-anchor-doors button.limited-data-action{text-align:left;background:0 0;border:0;padding:0}.race-anchor-secondary{color:var(--text-secondary);font-size:var(--type-small);text-underline-offset:3px;align-items:center;min-height:34px;text-decoration:underline;display:inline-flex}.ring-limited{color:var(--text-muted);font-size:var(--type-small);margin-top:4px;line-height:1.4}.limited-data-banner{margin-top:20px;padding:4px 4px 4px 0}.limited-data-banner .limited-data{background:0 0}.error-note{color:var(--accent);font-size:var(--type-body);margin-top:8px}.offline-banner{margin:0 0 var(--space-3);background:color-mix(in srgb, var(--estimated,#a07620) 16%, transparent);color:var(--estimated,#a07620);font-size:var(--type-small);text-align:center;border-radius:8px;padding:8px 12px}.error-trace{background:var(--surface-sunken,#7f7f7f14);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);white-space:pre;border-radius:12px;margin:8px 0 2px;padding:10px 12px;line-height:1.45;overflow-x:auto}.shoe-reassign{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.shoe-reassign-label{font-size:var(--type-eyebrow);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.shoe-reassign-select{min-width:0;max-width:100%;padding-block:6px}.filter-select{width:100%;max-width:100%}.act-controls{flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;display:flex}.act-sort{align-items:center;gap:5px;display:inline-flex}.act-sort .notes-select{font-size:var(--type-small);border-radius:999px;padding:6px 8px}.act-sort-dir{min-width:34px;padding-inline:11px}.sheet-scrim{z-index:var(--z-sheet-scrim);background:#1416146b;justify-content:center;align-items:flex-end;animation:.16s sheet-fade;display:flex;position:fixed;inset:0}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--page);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:90dvh;animation:.2s cubic-bezier(.2,.8,.2,1) sheet-up;display:flex;box-shadow:0 -8px 30px #0003}@keyframes sheet-up{0%{transform:translateY(12%)}to{transform:translateY(0)}}.sheet-grab{background:var(--baseline);border-radius:2px;width:36px;height:4px;margin:8px auto 1px}.sheet-head{border-bottom:1px solid var(--gridline);justify-content:space-between;align-items:center;padding:4px 18px 9px;display:flex}.sheet-title{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-weight:600}.sheet-clear{color:var(--accent);font-size:var(--type-small);cursor:pointer;background:0 0;border:0;font-weight:600}.sheet-clear:disabled{color:var(--text-muted);cursor:default}.sheet-body{flex:1;min-height:0;padding:2px 18px 6px;overflow-y:auto}.sheet-grp{border-bottom:1px solid var(--gridline);padding:10px 0}.sheet-grp:last-child{border-bottom:0}.sheet-kick{margin-bottom:7px;display:block}.sheet-hint{font-size:var(--type-small);color:var(--text-muted);margin:6px 0 0;line-height:1.35}.sheet-foot{padding:10px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--gridline);background:var(--page);gap:10px;display:flex}.sheet-btn{font-size:var(--type-body);text-align:center;border:1px solid var(--baseline);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:13px;font-weight:600}.sheet-btn:disabled{color:var(--text-muted);cursor:default}.sheet-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;flex:2}.wl{margin-top:6px}.wl-wk{background:var(--page);z-index:1;justify-content:space-between;align-items:baseline;padding:14px 2px 6px;display:flex;position:sticky;top:0}.wl-wk-lab{font-size:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.wl-wk-sum{font-size:var(--type-small);color:var(--text-muted)}.wl-wk-sum b{color:var(--text-primary);font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:600}.wl-row{border-top:1px solid var(--gridline);cursor:pointer;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;padding:8px 4px;display:grid}.wl-row.selecting{grid-template-columns:22px 40px 1fr auto}.wl-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.wl-row.selected{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}.wl-check{width:18px;height:18px}.wl-date{text-align:center;font-size:var(--type-eyebrow);color:var(--text-muted);line-height:1.15}.wl-date b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);color:var(--text-primary);font-weight:600;display:block}.wl-mid{min-width:0}.wl-name{font-size:var(--type-title);align-items:center;font-weight:600;line-height:1.2;display:flex}.wl-sub{font-size:var(--type-small);color:var(--text-muted);margin-top:2px}.wl-eff{white-space:nowrap}.wl-dot{border-radius:2px;flex:none;width:7px;height:7px;margin-left:7px;display:inline-block}.wl-dot-hard{background:var(--accent)}.wl-dot-easy{background:var(--baseline)}.wl-dot-mod{background:#8a9a86}.wl-right{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.wl-dist{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:500}.wl-pace{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums}.detail-tabs{border-bottom:1px solid var(--gridline);top:var(--header-h,0);background:var(--page);z-index:5;gap:2px;margin:6px 0 4px;display:flex;position:sticky}.perf-tabs{overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:none;padding-right:32px;scroll-padding-right:32px;position:static;overflow-x:auto}.perf-tabs::-webkit-scrollbar{display:none}.perf-tabs .detail-tab{flex:none;padding-left:12px;padding-right:12px}.detail-tab{text-align:center;font-size:var(--type-small);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:11px 4px;font-weight:600}.detail-tab.on{color:var(--text-primary);border-bottom-color:var(--accent)}.shoe-reassign-error{flex-basis:100%;margin-top:4px}.settings-section{font-family:var(--font-grotesk), sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin:28px 0 12px;padding:0 4px}.settings-wrap{max-width:680px;margin:0 auto}.set-card{background:var(--surface);border:1px solid var(--border);word-wrap:break-word;border-radius:16px;margin-bottom:14px;padding:2px 16px;overflow:hidden}.set-card.danger{border-color:color-mix(in srgb, var(--critical,#d03b3b) 35%, var(--border))}.set-signout{margin:var(--space-5) 0 var(--space-3);justify-content:flex-end;display:flex}.set-ctl:has(>.set-seg){border:1px solid var(--border);border-radius:999px;flex:none;gap:0;overflow:hidden}.set-card .set-ctl>.filter-chip.set-seg{font-size:var(--type-small);color:var(--text-secondary);background:0 0;border:0;border-radius:0;padding:7px 13px;font-weight:600}.set-card .set-ctl>.filter-chip.set-seg+.set-seg{border-left:1px solid var(--border)}.set-card .set-ctl>.filter-chip.set-seg.active{background:var(--accent);color:#fff}.set-card .set-ctl>.filter-chip.set-seg:disabled{opacity:.55}.set-val{font-size:var(--type-body-lg);color:var(--text-secondary);overflow-wrap:anywhere;flex:0 auto;min-width:0}.set-edit-row{justify-content:flex-start}.set-kick{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);margin:15px 0 4px}.set-kick.crit{color:var(--critical,#d03b3b)}.zone-evidence{margin-top:10px}.zone-evidence summary{cursor:pointer}.zone-evidence-warn{color:var(--warning,#b98317);margin-top:8px}.zone-evidence-kick{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);margin:12px 0 4px}.zone-evidence-list{margin:0;padding:0;list-style:none}.zone-evidence-row{font-size:var(--type-small);color:var(--text-secondary);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1px 12px;padding:6px 0;display:grid}.zone-evidence-row .zone-evidence-run{grid-area:1/1}.zone-evidence-row .zone-evidence-fig{grid-area:2/1}.zone-evidence-row .zone-evidence-status{grid-area:1/2;justify-self:end}.zone-evidence-row .zone-evidence-x{grid-area:2/2;justify-self:end}.zone-evidence-row .zone-evidence-why{grid-area:3/1/auto/-1}.zone-evidence-list li:first-child{border-top:0}.zone-evidence-row.selected{color:var(--text-primary);font-weight:600}.zone-evidence-row.flagged,.zone-evidence-row.submaximal,.zone-evidence-row.interval,.zone-evidence-row.struck{color:var(--text-muted)}.zone-evidence-status{color:var(--text-muted);white-space:nowrap}.zone-evidence-row.selected .zone-evidence-status{color:var(--accent)}.zone-observed{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;margin-top:2px;display:block}.zone-anchor-prov{margin:12px 0 0}.zone-anchor-prov-row{margin-top:10px}.zone-anchor-prov-row:first-child{margin-top:0}.zone-anchor-prov-row>summary{cursor:pointer;list-style:none}.zone-anchor-prov-row>summary::-webkit-details-marker{display:none}.zone-anchor-prov-row>summary:after{content:"+";color:var(--accent);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);margin-left:auto}.zone-anchor-prov-row[open]>summary:after{content:"−"}.zone-anchor-prov-head{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.zone-anchor-prov-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-primary);font-weight:600}.zone-anchor-prov-body{font-size:var(--type-small);color:var(--text-muted);margin:3px 0 0;line-height:1.5}.zone-guide-link{font-size:var(--type-small);margin:14px 0 0}.zone-guide-link a{color:var(--accent)}.zone-guide-link a:after{content:" →"}.zone-evidence-group{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin:10px 0 2px}.zone-evidence-run{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none;overflow:hidden}.zone-evidence-run span{color:var(--text-muted);font-size:var(--type-micro)}.zone-evidence-fig{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-secondary);white-space:nowrap}.zone-evidence-fig b{color:var(--text-primary);font-weight:600}.zone-evidence-row.flagged .zone-evidence-run,.zone-evidence-row.flagged .zone-evidence-fig,.zone-evidence-row.submaximal .zone-evidence-run,.zone-evidence-row.submaximal .zone-evidence-fig,.zone-evidence-row.interval .zone-evidence-run,.zone-evidence-row.interval .zone-evidence-fig,.zone-evidence-row.struck .zone-evidence-run{color:var(--text-muted);text-decoration:line-through}.zone-evidence-struck-count{color:var(--text-muted)}.zone-evidence-why{font-size:var(--type-micro);color:var(--text-muted);flex-basis:100%;font-style:italic}.zone-evidence-note{font-size:var(--type-micro);color:var(--text-muted);margin:8px 0 2px;line-height:1.5}.engine-evidence-link{text-decoration:none;display:inline-block}body.impersonating{padding-top:calc(36px + env(safe-area-inset-top))}body.impersonating .site-header{top:calc(36px + env(safe-area-inset-top))}.impersonation-banner{box-sizing:border-box;height:calc(36px + env(safe-area-inset-top));z-index:calc(var(--z-fab-panel) + 1);padding:env(safe-area-inset-top) 14px 0;background:var(--accent);color:var(--accent-contrast,#fff);font-size:var(--type-small);justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;top:0;left:0;right:0}.impersonation-banner b{font-weight:700}.impersonation-banner button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:1px 12px;font-weight:700}.zone-evidence-x{font-size:var(--type-small);color:var(--text-secondary);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:none;margin:-10px 0;padding:10px 0 10px 14px;text-decoration:underline}.zone-evidence-x:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.zone-evidence-x.arming{color:var(--accent);font-weight:600}.set-kick-row .set-kick{flex:auto}.set-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:46px;padding:8px 0;display:flex}.set-row:last-child{border-bottom:0}.shoe-list{padding:2px 0}.shoe-row{border-bottom:1px solid var(--border);color:inherit;padding:11px 0}.shoe-main{color:inherit;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.shoe-wear{align-items:center;gap:10px;margin-top:6px;display:flex}.shoe-wear-bar{background:var(--surface-2,var(--border));border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.shoe-wear-bar>span{background:var(--accent);border-radius:3px;height:100%;display:block}.shoe-wear-bar.warn>span,.shoe-wear-bar.over>span{background:var(--status-warning)}.shoe-wear-fig{min-width:0;font:inherit;font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums;cursor:pointer;text-align:right;background:0 0;border:0;flex:0 auto;padding:0}.shoe-retire{color:var(--text-primary);font-style:normal;font-weight:600}.shoe-life-edit{flex-direction:column;align-items:flex-end;gap:4px;display:inline-flex}.shoe-life-hint{font-size:var(--type-small);color:var(--text-primary);text-align:right;max-width:22em;line-height:1.4}.shoe-row:last-child{border-bottom:0}.shoe-go{color:var(--text-muted);font-size:var(--type-title);flex:none;line-height:1}.shoe-row.retired .shoe-go{color:var(--text-muted)}.shoe-id{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.shoe-id b{font-size:var(--type-body-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.shoe-stat{text-align:right;flex:none}.shoe-km{font-size:var(--type-title);font-weight:700}.shoe-km-unit{font-size:var(--type-small);color:var(--text-muted);margin-left:3px;font-weight:500}.shoe-runs{font-size:var(--type-small);color:var(--text-muted);margin-top:2px}.shoe-pill{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex:none;padding:2px 7px}.shoe-row.retired{opacity:.6}.shoe-grouplab{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin:12px 0 2px}.set-row.stacked{flex-wrap:wrap}.set-row.stacked>.set-ctl{flex-wrap:wrap;flex:1 0 100%;gap:8px}.set-row.stacked>.set-ctl>.filter-input{flex:160px;min-width:0}.set-row.stacked>.set-ctl>.login-btn,.set-row>.set-ctl>.login-btn{width:auto;font-size:var(--type-body);flex:none;margin:0;padding:9px 18px}.set-row{flex-wrap:wrap}.set-row .set-lab{flex:150px;min-width:150px}.set-row.set-row-wide-ctl .set-lab{flex:auto;min-width:0}.set-row>.set-ctl{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.set-row.week-days>.set-ctl{flex:1 0 100%;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.set-row.week-days>.set-ctl>.filter-chip{text-align:center;min-width:0;padding-inline:0}.set-row .set-lab>b{font-weight:550;font-size:var(--type-body-lg);color:var(--text-primary);display:block}.set-row .set-lab>span{color:var(--text-muted);font-size:var(--type-small);margin-top:1px;display:block}.set-row .set-lab>span.blocked{color:var(--estimated,#a07620)}.set-row>.set-note{color:var(--text-muted);font-size:var(--type-small);flex:1 0 100%;margin:6px 0 0;line-height:1.4}.set-row .set-ctl{flex:0 auto;align-items:center;gap:8px;min-width:0;display:flex}.set-row .set-ctl .set-val{color:var(--text-secondary);font-size:var(--type-body-lg);font-variant-numeric:tabular-nums}.set-facts{flex-wrap:wrap;gap:6px;margin:10px 0 2px;display:flex}.set-fact{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);color:var(--text-secondary);background:var(--surface-2);border-radius:6px;padding:4px 8px}.set-fact b{color:var(--text-primary);font-weight:600}.set-more{margin:4px 0 12px}.set-more>summary{cursor:pointer;font-size:var(--type-small);color:var(--accent);align-items:center;gap:5px;list-style:none;display:inline-flex}.set-more>summary::-webkit-details-marker{display:none}.set-more>summary:after{content:"+";font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body)}.set-more[open]>summary:after{content:"−"}.set-more p{color:var(--text-secondary);font-size:var(--type-body);margin:8px 0 0;line-height:1.55}.set-more p strong{color:var(--text-primary)}.zone-evidence>summary,.race-contingency summary{list-style:none}.zone-evidence>summary::-webkit-details-marker{display:none}.race-contingency summary::-webkit-details-marker{display:none}.zone-evidence>summary:after,.race-contingency summary:after{content:" +";font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--accent)}.zone-evidence[open]>summary:after,.race-contingency[open] summary:after{content:" −"}.connection-name .conn-dir{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;font-weight:var(--type-eyebrow-weight);color:var(--text-muted);border:1px solid var(--border);vertical-align:1px;border-radius:4px;margin-left:5px;padding:0 5px;line-height:15px;display:inline-block}.analysis-section{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:14px;overflow:hidden}.analysis-section-header{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.analysis-section-header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.analysis-section-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.analysis-section-title{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);letter-spacing:0;font-weight:600}.analysis-section-subtitle{font-size:var(--type-small);color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.analysis-section-header-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.analysis-section-chevron{font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--accent);font-size:var(--type-body);line-height:1}.analysis-section-body{border-top:1px solid var(--border);padding:4px 18px 20px}@media (max-width:720px){.analysis-section-body{padding:4px 8px 12px}.analysis-section-body>.card{margin-bottom:0;padding:12px}.card h2{margin-bottom:10px}.mobile-card-table tr:not(.activity-expanded-row){margin-bottom:7px;padding:10px}.threshold-row{padding:7px 0}}.analysis-section-body>.page-subtitle:first-child{margin-top:6px}.sections-waiting-note{text-align:left;margin:22px 0 2px}.verdict-badge{flex-wrap:wrap;align-items:baseline;gap:6px 9px;display:flex}.verdict-badge-large{margin:4px 0 2px}.verdict-glyph{font-size:var(--type-body)}.verdict-badge-large .verdict-glyph{font-size:var(--type-body-lg)}.verdict-state{text-transform:uppercase;letter-spacing:.06em;font-weight:700}.verdict-badge-large .verdict-state{font-size:var(--type-heading)}.verdict-clause{color:var(--text-secondary);font-size:var(--type-body-lg)}.verdict-badge-large .verdict-clause{font-size:var(--type-body-lg)}.confidence-label{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 8px;font-weight:700;display:inline-block}.data-quality-warning{font-size:var(--type-body);background:color-mix(in srgb, var(--status-warning) 12%, transparent);color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--status-warning) 40%, transparent);border-radius:8px;align-items:flex-start;gap:8px;margin:10px 0;padding:9px 12px;line-height:1.45;display:flex}.data-quality-warning.info{background:color-mix(in srgb, var(--series-1) 12%, transparent);border-color:color-mix(in srgb, var(--series-1) 35%, transparent)}.dq-glyph{flex-shrink:0}.coach-read{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--verdict-accent,var(--border));border-radius:16px;flex-direction:column;gap:14px;padding:14px 16px 16px;display:flex}.coach-read-kick{margin:0}.coach-read-insight{font-size:var(--type-body-lg);margin-top:-6px;line-height:1.45}.coach-read-cmp{font-size:var(--type-body);color:var(--text-secondary);margin-top:-6px}.coach-read-confidence{font-size:var(--type-body);color:var(--text-muted);margin-top:-6px;font-style:italic}.coach-read-group{flex-direction:column;gap:5px;display:flex}.coach-read-list{flex-direction:column;gap:6px;list-style:none;display:flex}.coach-read-list li{font-size:var(--type-body-lg);padding-left:16px;line-height:1.5;position:relative}.coach-read-list li:before{content:"-";color:var(--text-muted);position:absolute;left:0}.coach-read-why{font-size:var(--type-body-lg);color:var(--text-secondary);line-height:1.5}.coach-read-more{flex-direction:column;gap:6px;display:flex}.coach-read-more-toggle{min-height:40px;color:var(--accent);font:inherit;font-size:var(--type-body);text-align:left;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;padding:0;font-weight:650;display:inline-flex}.coach-read-more-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.coach-read-chevron{font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--accent);font-size:var(--type-body);line-height:1;display:inline-block}.coach-read-adjust{border-left:2px solid var(--border);padding-left:12px}.coach-read-adjust-action{border:1px solid var(--border);min-height:40px;color:var(--text-primary);font:inherit;font-size:var(--type-body);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;margin-top:8px;padding:8px 14px}.coach-read-adjust-action:disabled{color:var(--text-muted);cursor:default}.coach-read-adjust-error{font-size:var(--type-body);color:var(--ink-bad)}.dimension-list{flex-direction:column;gap:2px;padding-top:6px;list-style:none;display:flex}.dimension-row{border-bottom:1px solid var(--border);padding:12px 0}.dimension-row:last-child{border-bottom:none}.dimension-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dimension-label{font-weight:600;font-size:var(--type-body-lg)}.dimension-state{font-weight:700;font-size:var(--type-small);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.dimension-explanation{font-size:var(--type-body-lg);color:var(--text-secondary);margin-top:3px;line-height:1.45}.dimension-evidence{font-size:var(--type-body);color:var(--text-muted);margin-top:3px}.planned-vs-actual{padding-top:8px}.pva-overall{align-items:center;gap:10px;margin-bottom:10px;display:flex}.pva-list{flex-direction:column;gap:8px;list-style:none;display:flex}.pva-row{border:1px solid var(--border);border-left:3px solid var(--baseline);background:var(--surface-2);border-radius:8px;padding:10px 12px}.pva-role-warmup,.pva-role-cooldown{border-left-color:var(--series-4)}.pva-role-work{border-left-color:var(--accent)}.pva-role-float{border-left-color:var(--series-3)}.pva-role-recovery,.pva-role-rest{border-left-color:var(--series-2)}.pva-role-steady{border-left-color:var(--series-1)}.pva-missing{opacity:.7;border-left-style:dashed}.pva-extra{border-left-color:var(--text-muted);border-left-style:dotted}.pva-planned-only{background:var(--surface)}.pva-row-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.pva-role-chip{font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;padding:1px 8px;font-weight:700;display:inline-block}.role-float{background:color-mix(in srgb, var(--series-3) 26%, transparent);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--series-3) 55%, transparent)}.pva-label{font-size:var(--type-body);font-weight:600}.pva-completion{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);margin-left:auto}.pva-completion-done{color:var(--status-good)}.pva-completion-short,.pva-completion-long{color:var(--status-warning)}.pva-completion-missing{color:var(--status-serious)}.pva-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.pva-metric{flex-direction:column;gap:1px;min-width:0;display:flex}.pva-value{font-size:var(--type-body);font-weight:500}.pva-reason{font-size:var(--type-small);color:var(--text-muted);margin-top:8px;font-style:italic}.pva-subhead{margin:16px 0 8px}.pva-totals{border-top:1px solid var(--border);flex-wrap:wrap;gap:14px 22px;margin-top:16px;padding-top:14px;display:flex}.pva-total-col{flex-direction:column;gap:2px;display:flex}.pva-total-val{font-size:var(--type-body-lg);font-weight:650}.pva-total-sub{font-size:var(--type-small);color:var(--text-muted)}@media (min-width:520px){.pva-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}.guidance-block{margin-top:16px}.guidance-list{flex-direction:column;gap:7px;margin-top:6px;list-style:none;display:flex}.guidance-list li{font-size:var(--type-body-lg);color:var(--text-secondary);padding-left:16px;line-height:1.5;position:relative}.guidance-list li:before{content:"→";color:var(--accent);position:absolute;left:0}.splits-totals{flex-wrap:wrap;gap:12px 22px;padding:4px 0 14px;display:flex}.splits-total{font-size:var(--type-body);flex-direction:column;gap:2px;display:flex}.mechanics-usual{color:var(--text-muted);font-size:var(--type-small)}.view-toggle{background:var(--surface-2);border-radius:999px;gap:3px;margin:0 0 14px;padding:3px;display:inline-flex}.view-toggle-tab{font:inherit;font-size:var(--type-body);color:var(--text-secondary);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 16px}.view-toggle-tab.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.view-toggle-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cal{flex-direction:column;gap:10px;display:flex}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-head strong{font-size:var(--type-title)}.cal-chev{font:inherit;font-size:var(--type-title);background:var(--surface-2);color:var(--text-secondary);width:var(--tap-min);height:var(--tap-min);cursor:pointer;border:0;border-radius:12px;line-height:1}.cal-chev:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.cal-dow{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.08em;color:var(--text-muted);grid-template-columns:repeat(7,1fr);display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-cell{aspect-ratio:1/1.06;background:var(--surface);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:flex}.cal-cell.out{background:0 0}.cal-cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.cal-n{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.cal-dots{align-items:center;gap:3px;min-height:8px;display:flex}.cal-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.cal-dot.plan,.cal-dot.long-plan,.cal-dot.hard-plan{border:1.5px solid var(--accent);background:0 0}.cal-dot.long-done,.cal-dot.long-plan,.cal-dot.long-missed{width:9px;height:9px}.cal-dot.hard-done{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 26%, transparent)}.cal-dot.unplanned{background:var(--series-1)}.cal-dot.missed,.cal-dot.long-missed{border:1.5px dashed var(--text-muted);background:0 0}.cal-dot.race{background:var(--accent);box-shadow:0 0 0 2px var(--page), 0 0 0 3.5px var(--accent)}.cal-legend{font-size:var(--type-eyebrow);color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;display:flex}.cal-legend span{align-items:center;gap:5px;display:inline-flex}.cal-day{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.cal-item{color:inherit;border-left:3px solid var(--accent);flex-direction:column;gap:2px;padding-left:10px;text-decoration:none;display:flex}.cal-item small{color:var(--text-muted);font-size:var(--type-small)}.cal-item.planned{border-left-style:dashed}.cal-item.missed,.cal-item.skipped{border-left-color:var(--text-muted)}.cal-item:hover b{color:var(--accent)}.cal-dot.race-goal{background:var(--accent);box-shadow:0 0 0 2px var(--page), 0 0 0 3.5px var(--accent)}.cal-item.race{border-left-width:4px}.cal-item.race.goal{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 38%, transparent);border-radius:0 8px 8px 0;padding:6px 10px}.cal-race-open{color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.cal-race-open:hover b{color:var(--accent)}.cal-remove{font:inherit;font-size:var(--type-small);color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 0;text-decoration:underline}.cal-remove:hover{color:var(--accent)}.cal-add{align-self:flex-start}.cal-add-form{flex-direction:column;gap:8px;display:flex}.race-picker-row{flex-wrap:wrap;align-items:flex-start;gap:10px}.race-picker-choices{flex-wrap:wrap;gap:6px;display:flex}.race-row{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0;display:flex}.race-row-open{display:block}.race-row-open .kicker{margin-bottom:6px;display:block}.race-row-undo{font:inherit;font-size:var(--type-small);color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;text-decoration:underline}.race-row-undo:disabled{opacity:.6;cursor:default}.section-link{font-size:var(--type-small);margin:10px 0 0}.section-link a{color:var(--accent-text);text-decoration:none}.section-link a:hover{text-decoration:underline}.race-custom{align-items:center;gap:6px;display:inline-flex}.race-custom-input{width:5.5em;min-height:var(--tap-min);border:1px solid var(--accent);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--type-body);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 10px}.race-picker-prompt{color:var(--text-muted);font-size:var(--type-small);align-self:center}.search-scope-note{font-size:var(--type-small);color:var(--text-muted);margin:6px 0 0}.header-page{display:none}@media (max-width:720px){.header-page{color:var(--ink-fg-soft);font-size:var(--type-body-lg);letter-spacing:.01em;font-weight:600;display:inline}.header-page:before{content:"";background:var(--ink-hairline);width:1px;height:14px;margin:0 8px -2px;display:inline-block}.header-page{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.brand-lockup{flex:none}.logo{font-size:var(--type-heading)}.site-header-inner{gap:0;padding-top:8px;padding-bottom:8px}}.pred-table-pace{color:var(--text-muted);font-size:var(--type-eyebrow);font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.pred-ready{color:var(--status-good);font-size:var(--type-eyebrow);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:3px;font-weight:650;display:block}.rail-ready-line{font-size:var(--type-small);color:var(--text-secondary);margin-top:6px}.rail-ready-line b{color:var(--status-good);font-variant-numeric:tabular-nums;font-weight:700}.rail-ready-line span{color:var(--text-muted)}.ptr-indicator{top:calc(env(safe-area-inset-top,0px) - 44px);z-index:var(--z-fab);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--accent);opacity:0;pointer-events:none;border-radius:999px;justify-content:center;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 4px 16px #00000047}.ptr-spinner{display:flex}.ptr-indicator.ptr-spin .ptr-spinner{animation:.7s linear infinite ptr-rotate}@keyframes ptr-rotate{to{transform:rotate(360deg)}}.feedback-panel{left:12px;right:12px;bottom:calc(var(--bottom-nav-h) + var(--bottom-gap));z-index:var(--z-fab-panel);border:1px solid var(--border);background:var(--surface);border-radius:16px;max-width:380px;margin-left:auto;padding:14px;position:fixed;box-shadow:0 12px 32px #0008}.feedback-head{font-size:var(--type-body-lg);justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.feedback-box{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-primary);font:inherit;font-size:var(--type-body);resize:vertical;border-radius:12px;padding:10px}.feedback-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.feedback-note{color:var(--text-muted);font-size:var(--type-eyebrow);line-height:1.4}.route-replay{color:#eceeea;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#0c0e0cb8;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:absolute;bottom:12px;right:12px}.route-replay:hover{color:var(--accent);border-color:var(--accent)}.route-map-wrap{position:relative}.mechanics-read{font-size:var(--type-body);color:var(--text-secondary);margin:12px 0 0;line-height:1.6}.mechanics-read:first-of-type{margin-top:14px}.card-aside{margin-top:10px}.card-aside>summary{cursor:pointer;font-size:var(--type-body);color:var(--text-muted);align-items:center;gap:6px;margin:-6px 0;padding:6px 0;list-style:none;display:flex}.card-aside>summary::-webkit-details-marker{display:none}.card-aside>summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .14s;transform:rotate(-45deg)}.card-aside[open]>summary:after{transform:rotate(45deg)}.card-aside>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.card-aside>p{font-size:var(--type-body);color:var(--text-muted);margin:8px 0 0;line-height:1.5}.card-read{font-size:var(--type-body);color:var(--text-secondary);margin:10px 0 0;line-height:1.5}.detail-stats-hero{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin-top:12px;margin-bottom:0;padding-bottom:0;display:grid}.detail-stats-note{margin:8px 0 0}.detail-stats-hero .hero-stat:last-child:nth-child(odd){grid-column:1/-1}@media (min-width:560px){.detail-stats-hero{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px}.detail-stats-hero .hero-stat:last-child:nth-child(odd){grid-column:auto}}.linked-workout-title{color:var(--accent);font-weight:600;text-decoration:none}.linked-workout-title:hover{text-decoration:underline}.summary-verdict{flex-direction:column;gap:4px;margin-top:14px;display:flex}.linklike{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.linklike:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.provenance-list{font-size:var(--type-body);color:var(--text-muted);flex-direction:column;gap:3px;margin-top:10px;list-style:none;display:flex}.pva-phase-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.pva-phase-row{border:1px solid var(--border);border-left:3px solid var(--baseline);background:var(--surface-2);font-size:var(--type-body);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.pva-phase-body{flex:auto;min-width:0}.pva-phase-amt{color:var(--text-primary)}.pva-phase-actual{color:var(--text-secondary)}.pva-state{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);white-space:nowrap}.pva-tone-good{color:var(--status-good)}.pva-tone-warning,.pva-tone-slow{color:var(--status-warning)}.pva-tone-fast{color:var(--series-1)}.pva-tone-serious{color:var(--status-serious)}.pva-tone-muted{color:var(--text-muted)}.pva-set{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:12px;margin-bottom:10px;padding:12px 14px 14px}.pva-set-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.pva-set-title{font-weight:650;font-size:var(--type-body-lg)}.rep-strip{--rep-strip-target-lane:68px;height:84px;margin-bottom:12px;padding-top:4px;position:relative}.rep-strip-target{border-top:1px dashed var(--text-muted);z-index:1;pointer-events:none;position:absolute;left:0;right:0}.rep-strip-target-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);background:var(--surface-2);padding:0 4px;position:absolute;top:-8px;right:0}.rep-strip-bars{inset:4px var(--rep-strip-target-lane) 0 0;align-items:flex-end;gap:5px;display:flex;position:absolute}.rep-bar-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;gap:3px;min-width:0;height:100%;display:flex}.rep-bar{border-radius:3px 3px 0 0;width:100%;max-width:34px;transition:height .2s}@media (prefers-reduced-motion:reduce){.rep-bar{transition:none}}.rep-good{background:var(--status-good)}.rep-fast{background:var(--series-1)}.rep-slow{background:var(--status-warning)}.rep-missing{background:repeating-linear-gradient(45deg, transparent, transparent 3px, color-mix(in srgb, var(--status-serious) 40%, transparent) 3px, color-mix(in srgb, var(--status-serious) 40%, transparent) 6px);border:1px dashed var(--status-serious)}.rep-bar-num{font-size:var(--type-micro);color:var(--text-muted)}.rep-extra{background:color-mix(in srgb, var(--status-good) 16%, transparent);border:1px dashed var(--status-good)}.rep-table{flex-direction:column;display:flex}.rep-trow{border-top:1px solid var(--border);font-size:var(--type-body);grid-template-columns:22px 1fr 1fr auto auto;align-items:center;gap:8px;padding:5px 0;display:grid}.rep-trow:first-child{border-top:none}.rep-trow-n{color:var(--text-muted);font-variant-numeric:tabular-nums}.rep-trow-pace{font-variant-numeric:tabular-nums;font-weight:550}.rep-trow-diff{font-size:var(--type-eyebrow);text-align:right;font-weight:650}.rep-trow-hr{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.rep-trow.pva-missing{opacity:.65}.rep-trow-extra{border-top-style:dashed}.pva-extra-tag{font-size:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--status-good);border:1px solid var(--status-good);white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:650}.pva-recovery-summary{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;display:flex}.pva-recovery-summary .pva-phase-row{background:var(--surface)}.pva-summary-line{border-left:3px solid var(--baseline);font-size:var(--type-body);align-items:baseline;gap:10px;padding:7px 4px 7px 10px;display:flex}.pva-summary-line+.pva-summary-line{border-top:1px solid var(--border)}.pva-summary-line.pva-role-warmup,.pva-summary-line.pva-role-cooldown{border-left-color:var(--series-4)}.pva-summary-line.pva-role-float{border-left-color:var(--series-3)}.pva-summary-line.pva-role-recovery,.pva-summary-line.pva-role-rest{border-left-color:var(--series-2)}.pva-summary-line.pva-role-steady{border-left-color:var(--series-1)}.pva-summary-role{color:var(--text-secondary);overflow-wrap:anywhere;min-width:84px;max-width:40%;font-weight:650}.pva-summary-detail{min-width:0;color:var(--text-secondary);flex:auto}.pva-summary-state{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);text-align:right;max-width:32%}.activity-attribution a{font-size:inherit;text-transform:none;letter-spacing:normal;color:var(--text-secondary);margin:0;font-weight:600;text-decoration:underline;display:inline}.activity-attribution a:hover{color:var(--accent)}.activity-attribution a.strava-view-link{color:#fc5200}.activity-attribution a.strava-view-link:hover{color:#fc5200;opacity:.85}.strava-powered{font-size:var(--type-small);color:var(--text-muted);margin-top:4px}.strava-powered-mark{vertical-align:-1px;width:auto;height:10px;margin-left:8px;display:inline-block}.strava-mark-on-light,:root[data-theme=light] .strava-mark-on-dark{display:none}:root[data-theme=light] .strava-mark-on-light{display:inline-block}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .strava-mark-on-dark{display:none}:root:not([data-theme=dark]) .strava-mark-on-light{display:inline-block}}.workout-structure{flex-direction:column;gap:8px;margin-top:14px;display:flex}.ws-block{border-left:3px solid var(--baseline);padding:8px 4px 8px 12px}.ws-block.pva-role-warmup,.ws-block.pva-role-cooldown{border-left-color:var(--series-4)}.ws-block.pva-role-work{border-left-color:var(--accent)}.ws-block.pva-role-float{border-left-color:var(--series-3)}.ws-block.pva-role-recovery{border-left-color:var(--series-2)}.ws-block.pva-role-steady{border-left-color:var(--series-1)}.ws-set{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:12px;padding:12px 14px}.ws-line{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.ws-role{color:var(--text-secondary);min-width:84px;font-weight:650}.ws-detail{color:var(--text-primary);font-variant-numeric:tabular-nums}.ws-set-head{margin-bottom:2px}.ws-set-title{font-weight:650;font-size:var(--type-body-lg)}.ws-set-steps{font-size:var(--type-body);color:var(--text-secondary);flex-direction:column;gap:3px;margin:6px 0 0;padding-left:18px;display:flex}.feel-line{font-size:var(--type-small);color:var(--text-secondary);margin:6px 0 0;line-height:1.5}.feel-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);color:var(--text-muted);margin-right:6px;display:inline-block}.workout-garmin-status{font-size:var(--type-small);color:var(--text-muted);align-items:center;gap:7px;margin-top:12px;display:flex}.workout-garmin-dot{background:var(--text-muted);border-radius:50%;flex:none;width:7px;height:7px}.workout-garmin-dot.good{background:var(--status-good)}.pwa-install-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pwa-install-head h2{margin-bottom:3px}.pwa-install-head .status-badge{border:1px solid var(--border);color:var(--text-secondary);font-size:var(--type-eyebrow);border-radius:999px;flex:none;padding:4px 8px;font-weight:700}.pwa-install-head .pwa-state-available,.pwa-install-head .pwa-state-installed{border-color:color-mix(in srgb, var(--status-good) 45%, var(--border));color:var(--status-good)}.pwa-install-head .pwa-state-error{border-color:color-mix(in srgb, var(--status-serious) 45%, var(--border));color:var(--status-serious)}.pwa-install-copy{color:var(--text-secondary);font-size:var(--type-body);margin:12px 0;line-height:1.5}.pwa-install-progress{background:color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:999px;height:6px;position:relative;overflow:hidden}.pwa-install-progress span{border-radius:inherit;background:var(--accent);width:42%;animation:1.1s ease-in-out infinite pwa-install-progress;position:absolute;inset-block:0}@keyframes pwa-install-progress{0%{transform:translate(-110%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.pwa-install-progress span{width:100%;animation:none}}.deleted-search{gap:8px;margin-bottom:16px;display:flex}.deleted-search input{border:1px solid var(--baseline);background:var(--page);min-width:0;color:var(--text-primary);border-radius:12px;flex:1;padding:9px 13px;font-family:inherit}.deleted-search input::placeholder{color:var(--text-muted)}.deleted-filter-grid{grid-template-columns:1fr;gap:14px;display:grid}.deleted-filter-grid label{color:var(--text-secondary);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;gap:6px;display:grid}.deleted-filter-grid input{max-width:220px}.deleted-filters-mobile{display:none}.deleted-pagination{color:var(--text-secondary);font-size:var(--type-body);justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.flagged-batch-card{gap:14px;display:grid}.flagged-selection-summary{color:var(--text-secondary);font-size:var(--type-body);justify-content:space-between;gap:12px;display:flex}.flagged-selection-summary strong{color:var(--text-primary)}.flagged-select-actions{margin:0}.flagged-resolution-grid{grid-template-columns:1fr;gap:12px;display:grid}.flagged-resolution-grid>button{justify-self:start}.flagged-resolution-grid label{color:var(--text-secondary);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;gap:6px;display:grid}.flagged-resolution-grid select{width:100%}.flagged-activity-row{cursor:pointer;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:flex-start}.flagged-activity-row input{margin-top:4px}.deleted-filter-grid input,.deleted-filter-grid select,.flagged-resolution-grid input,.flagged-resolution-grid select{min-height:var(--tap-min);font-size:var(--type-body);padding:4px 9px}.flagged-activity-row input[type=checkbox]{width:18px;height:18px}.flagged-activity-row span{overflow-wrap:anywhere;min-width:0}.flagged-reason{color:var(--status-warning,#9a6500);font-weight:700}.danger-chip{color:var(--status-critical,#d03b3b)}@media (max-width:760px){.deleted-filters-desktop{display:none}.deleted-filters-mobile{display:block}.deleted-filters-mobile summary{cursor:pointer;color:var(--text-secondary);font-weight:650}.deleted-filters-mobile .deleted-filter-grid{grid-template-columns:1fr;margin-top:12px}.deleted-activity-row{align-items:flex-start}.flagged-selection-summary{flex-direction:column;align-items:flex-start}.flagged-resolution-grid{grid-template-columns:1fr}.flagged-resolution-grid button{width:100%}}.physiology-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.physiology-chart{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-width:0;padding:16px}.physiology-chart-head,.physiology-chart-axis,.physiology-legend{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.physiology-chart-head{align-items:baseline;margin-bottom:10px}.physiology-chart-head span,.physiology-chart-axis,.physiology-legend{color:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small)}.physiology-chart svg{width:100%;height:150px;display:block;overflow:visible}.physiology-plot-row{grid-template-columns:max-content minmax(0,1fr);align-items:stretch;gap:9px;display:grid}.physiology-y-axis{min-width:50px;color:var(--text-muted);font-size:var(--type-micro);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-direction:column;justify-content:space-between;padding:17px 0 14px;display:flex}.physiology-grid-line{stroke:var(--border);stroke-width:.5px}.physiology-reference-line{stroke:var(--accent);stroke-width:1.25px;stroke-dasharray:4 3;opacity:.72}.physiology-line{fill:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:2.5px}.physiology-line.primary{stroke:var(--series-1)}.physiology-line.secondary{stroke:var(--accent)}.physiology-plot{position:relative}.physiology-marker{border:1.5px solid var(--surface-2);pointer-events:none;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.physiology-marker.primary{background:var(--series-1)}.physiology-marker.secondary{background:var(--accent)}.physiology-hit{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;position:absolute}.physiology-hit:focus-visible{outline:2px solid var(--accent);outline-offset:-6px}.physiology-marker.chosen{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent)}.physiology-readout{margin:4px 0 2px}.physiology-chart-axis{margin-top:5px}.physiology-legend{justify-content:flex-start;margin-top:10px}.physiology-legend span{align-items:center;gap:5px;display:inline-flex}.physiology-legend i{border-radius:999px;width:18px;height:3px}.physiology-legend i.primary{background:var(--series-1)}.physiology-legend i.secondary{background:var(--accent)}.physiology-legend i.reference{border-top:2px dashed var(--accent);background:0 0;border-radius:0;height:0}.aerobic-feature-card{overflow:hidden}.physiology-intro{max-width:720px;color:var(--text-secondary);font-size:var(--type-body);margin:2px 0 20px;line-height:1.6}.aerobic-current{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.aerobic-current>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:15px;display:flex}.aerobic-current-label{color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase}.aerobic-current strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:clamp(24px,6vw,36px);line-height:1.15}.aerobic-current>div>span:last-child{color:var(--text-secondary);font-size:var(--type-small);line-height:1.45}.aerobic-trend-callout{color:var(--text-primary);font-size:var(--type-body);margin:0 0 12px;font-weight:650}.aerobic-conditions-note{color:var(--text-secondary);font-size:var(--type-small);margin:10px 0 12px;line-height:1.5}.physiology-footnote{color:var(--text-muted);font-size:var(--type-small);margin:12px 0 0;line-height:1.55}.zone-profile-provenance{border-left:3px solid var(--series-2);background:var(--surface-2);color:var(--text-secondary);font-size:var(--type-body);border-radius:0 8px 8px 0;margin-top:12px;padding:12px 14px;line-height:1.55}.zone-profile-provenance strong{color:var(--text-primary)}@media (max-width:720px){.physiology-chart-grid{grid-template-columns:1fr}.physiology-chart svg{height:128px}.physiology-marker{width:10px;height:10px}.aerobic-current{gap:8px}.aerobic-current>div{padding:11px 12px}.physiology-chart{padding:13px}.physiology-y-axis{min-width:45px;font-size:var(--type-micro)}}@supports (-webkit-touch-callout:none){.filter-input,.edit-input,.notes-form textarea,.notes-select{font-size:var(--type-title)}}.plan-notice p{margin:0 0 6px;line-height:1.5}.plan-notice p:last-child{margin-bottom:0}.mk-page{max-width:620px;margin:0 auto;padding:0 4px 36px;position:relative}.mk-page:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(620px 440px at 92% -8%,#ff2c7826,#0000 62%),radial-gradient(520px 420px at -12% 34%,#6b4aa81f,#0000 60%);position:fixed;inset:0}.mk-top{justify-content:space-between;align-items:center;padding:16px 0 8px;display:flex}.mk-auth{align-items:center;gap:16px;display:flex}.mk-login{color:var(--text-secondary);font-size:var(--type-body-lg);font-weight:550;text-decoration:none}.mk-login:hover{color:var(--text-primary)}.mk-register{background:var(--accent);color:var(--accent-ink);font-size:var(--type-body);border-radius:999px;padding:6px 13px;font-weight:650;text-decoration:none;display:inline-block}.mk-logo{font-size:var(--type-title)}.mk-hero{padding:34px 0 28px}.mk-hero h1{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;max-width:17ch;margin:0 0 12px;font-size:clamp(30px,7vw,40px);font-weight:600;line-height:1.08}.mk-body{color:var(--text-secondary);font-size:var(--type-body-lg);max-width:48ch;margin:0 0 14px;line-height:1.6}.mk-cta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.mk-cta{text-align:center;width:100%;max-width:340px;padding:13px 22px;text-decoration:none;display:inline-block;box-shadow:0 10px 28px #ff2c7852}.mk-cta-ghost{white-space:nowrap}.mk-providers{color:var(--text-muted);font-size:var(--type-small);margin:12px 0 0}.mk-block{border-top:1px solid var(--border);padding:26px 0}.mk-block h2{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);letter-spacing:-.01em;margin:6px 0 8px;font-weight:600;line-height:1.25}.mk-chips{gap:11px;margin-top:4px;display:grid}.mk-chips>div{grid-template-columns:122px 1fr;align-items:baseline;gap:10px;display:grid}.mk-chips .evidence-chip{justify-self:start}.mk-chips span:last-child{color:var(--text-secondary);font-size:var(--type-body-lg);line-height:1.5}.mk-arc{margin-top:16px}.mk-eyebrow{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--accent);margin:0 0 10px;display:block}.mk-dev{border:1px solid var(--border);background:linear-gradient(#141517,#0e0f10);border-radius:16px;padding:16px;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffffff08}.mk-hero-dev{max-width:300px;margin:26px auto 0}.mk-dev{color:#eef0ec}.mk-how{gap:0;margin-top:14px;display:grid}.mk-step{border-top:1px solid var(--border);align-items:flex-start;gap:14px;padding:13px 0;display:flex}.mk-step:last-child{border-bottom:1px solid var(--border)}.mk-step-n{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;width:26px;line-height:1.1}.mk-step-t{font-weight:650;font-size:var(--type-body-lg);margin:0 0 2px}.mk-step-d{color:var(--text-secondary);font-size:var(--type-body);margin:0;line-height:1.5}.mk-audience{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);color:var(--text-primary);margin:0 0 14px;font-weight:650}.mk-features{margin:14px 0 0;padding:0;list-style:none}.mk-features li{border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--type-body);padding:13px 0;line-height:1.5}.mk-features li:last-child{border-bottom:1px solid var(--border)}.mk-features strong{color:var(--text-primary);font-weight:650;font-size:var(--type-body-lg);margin-bottom:2px;display:block}.mk-shot{border-radius:8px;width:100%;height:auto;display:block}.mk-store{margin:14px 0 4px;display:inline-block}.mk-store img{width:240px;height:auto;display:block}.mk-store-hero{margin:0}.mk-store-hero img{width:150px}.mk-bottom{padding-bottom:8px}.mk-foot{border-top:1px solid var(--border);color:var(--text-muted);font-size:var(--type-small);align-items:baseline;gap:10px;margin-top:24px;padding-top:16px;display:flex}.login-signed-note{color:var(--text-secondary);font-size:var(--type-body-lg);margin:14px 0 16px;line-height:1.55}.login-btn.login-btn-switch{width:100%;margin-top:10px}.mk-info-hero{padding:24px 0 4px}.mk-info-hero h1{font-size:clamp(26px,6vw,34px)}.mk-block h2:not(:first-child){margin-top:22px}.mk-block a{color:var(--text-primary)}.mk-contact-mail{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);color:var(--accent);margin:4px 0 6px;text-decoration:none;display:inline-block}.mk-contact-mail:hover{text-decoration:underline}.mk-contact-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:18px;padding:20px}.mk-contact-meta{border-top:1px solid var(--border);flex-wrap:wrap;gap:18px;margin-top:16px;padding-top:16px;display:flex}.mk-contact-meta>div{flex:1;min-width:130px}.mk-contact-meta .k{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted)}.mk-contact-meta .v{font-size:var(--type-body);color:var(--text-secondary);margin-top:3px}.mk-faq{border-bottom:1px solid var(--border);padding:4px 0}.mk-faq:last-child{border-bottom:none}.mk-faq summary{cursor:pointer;font-weight:650;font-size:var(--type-body-lg);color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;list-style:none;display:flex}.mk-faq summary::-webkit-details-marker{display:none}.mk-faq summary:after{content:"+";color:var(--accent);font-size:var(--type-heading);flex:none;line-height:1}.mk-faq[open] summary:after{content:"–"}.mk-faq[open] summary{padding-bottom:4px}.mk-faq .mk-body{margin:0 0 12px}.mk-faq-group{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin:24px 0 2px}.mk-faq-group:first-child{margin-top:4px}.mk-foot{display:block}.mk-foot-brand{align-items:baseline;gap:10px;display:flex}.mk-foot-links{gap:18px;margin-top:12px;display:flex}.mk-foot-links a{color:var(--text-secondary);font-size:var(--type-small);text-decoration:none}.mk-foot-links a:hover{color:var(--text-primary)}@media (max-width:720px){.mobile-card-table td[data-label=Time],.mobile-card-table td[data-label=Elev],.mobile-card-table td[data-label=Avg\ HR]{display:none}}.section-kicker{margin:20px 2px 8px;display:block}.card-rule{border:0;border-top:1px solid var(--gridline);margin:14px 0}@media (max-width:560px){.section-kicker{margin:10px 2px 4px}.card-rule{margin:10px 0}.hero-side{padding-bottom:4px}}.week-stat-row{flex-wrap:wrap;gap:28px;display:flex}.week-stat{flex-direction:column;gap:1px;display:flex}.week-stat-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--text-primary);font-weight:560}.week-stat-value small{font-size:var(--type-body);color:var(--text-muted);font-family:var(--font-body,inherit);margin-left:2px}.week-stat-note{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);font-weight:var(--type-eyebrow-weight);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.plan-week-line{margin-bottom:2px}.plan-next-block .kicker{margin-bottom:8px;display:block}.plan-next-block .next-session-title{margin-bottom:4px}.card-ink{background:var(--ink-card);color:var(--ink-fg);text-decoration:none;display:block}.card-ink .sub,.card-ink .week-stat-note{color:var(--ink-fg-mute)}.card-ink .week-stat-value{color:var(--ink-fg)}.card-ink .week-stat-value small{color:var(--ink-fg-mute)}.card-ink .latest-activity-name{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);color:var(--ink-fg);margin:0}.latest-activity-link{color:var(--accent);margin-top:14px;display:inline-block}.threshold-row{justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.threshold-row+.threshold-row{border-top:1px solid var(--border)}.threshold-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.threshold-main strong{font-size:var(--type-body-lg)}.threshold-alias{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:.06em;color:var(--text-muted)}.threshold-hint{font-size:var(--type-small);color:var(--text-muted);flex-basis:100%}.pred-detail-model{font-size:var(--type-eyebrow);opacity:.75}.threshold-values{flex-shrink:0;align-items:baseline;gap:8px;display:flex}.threshold-primary{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);line-height:1}.threshold-secondary{font-size:var(--type-body);color:var(--text-muted)}.threshold-footnote{border-top:1px solid var(--border);font-size:var(--type-small);color:var(--text-muted);margin:10px 0 0;padding-top:10px;line-height:1.5}.engine-source{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.06em;color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;line-height:1.4}.coach-ink .kicker{color:var(--ink-fg-faint)}.coach-ink .coach-read-list,.coach-ink .coach-read-why,.coach-ink .verdict-clause,.coach-ink .guidance-tip{color:var(--ink-fg-soft)}.coach-ink .coach-read-confidence,.coach-ink .guidance-note{color:var(--ink-fg-mute)}.coach-ink .coach-read-more-toggle{color:var(--ink-fg)}.connections-table{border-collapse:collapse;width:100%}.connections-table th,.connections-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 0}.connections-table tr:last-child th,.connections-table tr:last-child td{border-bottom:0}.connection-name{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:600;display:block}.connection-role{font-size:var(--type-small);color:var(--text-muted);margin-top:2px;font-weight:400;line-height:1.45;display:block}.connection-control{white-space:nowrap;width:1%;padding-left:12px}.connection-switch{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;width:48px;height:28px;padding:0;transition:background .15s,border-color .15s;display:inline-block;position:relative}.connection-switch.on{background:var(--accent);border-color:var(--accent)}.connection-switch:disabled{opacity:.55;cursor:wait}.connection-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.connection-switch-knob{background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.connection-switch.on .connection-switch-knob{background:#fff;transform:translate(20px)}.connection-note{font-size:var(--type-small);color:var(--text-secondary);margin:16px 0 0;line-height:1.55}.connection-note a{color:var(--accent);text-decoration:underline}.mk-steps{max-width:48ch;margin:0 0 14px;padding-left:22px;list-style:decimal}.mk-steps li{margin-bottom:10px;padding-left:2px}.mk-steps li:last-child{margin-bottom:0}.connection-expand>td{border-bottom:1px solid var(--border);padding:0 0 14px}.connections-table tr.connection-expand:last-child>td{border-bottom:0}.connection-form{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.connection-form .input-hint{margin:0}.connection-form .field-label{margin:4px 0 0}.connection-form input{width:100%}.connection-form button[type=submit]{background:var(--accent);color:var(--accent-ink);font-family:inherit;font-weight:var(--type-eyebrow-weight);font-size:var(--type-eyebrow);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);cursor:pointer;border:none;border-radius:999px;align-self:flex-start;margin-top:6px;padding:9px 18px}.connection-form button[type=submit]:disabled{opacity:.55;cursor:wait}.connection-form .login-btn{margin-top:6px}.connection-form .link-quiet{font-size:var(--type-small);align-self:flex-start;padding:6px 0 0;text-decoration:underline}.connection-form .link-quiet:disabled{opacity:.55;cursor:default;text-decoration:none}.section-head{justify-content:space-between;align-items:center;gap:12px;margin:20px 2px 8px;display:flex}.section-head .section-kicker{margin:0}.card-ink .activity-table th{color:var(--ink-fg-mute);border-bottom-color:var(--ink-hairline)}.card-ink .activity-table td{color:var(--ink-fg-soft);border-bottom-color:var(--ink-wash)}.card-ink .activity-table tbody tr:last-child td{border-bottom:none}.card-ink .activity-table td.name{color:var(--ink-fg)}.card-ink .activity-table td[data-label=Time]{color:var(--ink-fg);font-weight:650}.card-ink .activity-table th+th,.card-ink .activity-table td+td{padding-left:14px}@media (max-width:760px){.card-ink .mobile-card-table tr:not(.activity-expanded-row){background:var(--ink-wash);border-color:var(--ink-hairline)}.card-ink .mobile-card-table td:before{color:var(--ink-fg-faint)}.card-ink .mobile-card-table td{border:0;padding-left:0}}.device-setup,.device-nudge{border-left:3px solid var(--accent);margin-bottom:16px}.device-setup-title{font-size:var(--type-heading);margin:6px 0 0}.device-setup-lead{color:var(--text-secondary);font-size:var(--type-body);max-width:52ch;margin:8px 0 0;line-height:1.5}.device-setup-note{background:var(--surface-2);color:var(--text-secondary);font-size:var(--type-small);border-radius:12px;margin:10px 0 0;padding:10px 12px;line-height:1.5}.device-setup-error{color:var(--status-critical);font-size:var(--type-small);margin:10px 0 0}.device-setup-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:14px;display:flex}.device-setup .device-grid,.device-setup .connection-form{margin-top:14px}#connections{scroll-margin-top:72px}.device-setup-oauth,.connection-form>.login-btn{text-align:center;margin-bottom:10px;text-decoration:none;display:inline-block}.heat-card{border-left:3px solid var(--status-warning);background:color-mix(in srgb, var(--status-warning) 10%, transparent);border-radius:0 12px 12px 0;margin-top:10px;padding:12px}.heat-nudge{border-left:3px solid var(--status-warning);background:color-mix(in srgb, var(--status-warning) 8%, transparent);font-size:var(--type-small);color:var(--text-secondary);border-radius:0 12px 12px 0;margin:10px 0 0;padding:11px 12px;line-height:1.5}.heat-card.is-accepted{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.heat-heading{font-weight:600;font-size:var(--type-body);color:var(--text-primary);margin:0}.heat-why{font-size:var(--type-small);color:var(--text-secondary);margin:4px 0 0;line-height:1.5}.heat-paces{flex-wrap:wrap;gap:20px;margin-top:10px;display:flex}.heat-paces span{flex-direction:column;gap:2px;display:flex}.heat-paces small{font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-tertiary,var(--text-secondary))}.heat-paces strong{font-size:var(--type-body-lg);color:var(--text-primary)}.heat-paces strong.is-superseded{color:var(--text-secondary);font-weight:500;text-decoration:line-through}.heat-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.heat-accept,.heat-clear{font:inherit;font-size:var(--type-body);cursor:pointer;background:var(--accent);color:var(--accent-contrast,#fff);border:none;border-radius:999px;padding:8px 14px;font-weight:600}.heat-clear{border:1px solid var(--border);color:var(--text-secondary);background:0 0;font-weight:500}.heat-accept:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 85%, black)}.heat-clear:hover:not(:disabled){background:color-mix(in srgb, var(--text-secondary) 10%, transparent);color:var(--text-primary)}.heat-accept:disabled,.heat-clear:disabled{opacity:.6;cursor:default}.heat-dismiss{font-size:var(--type-small);color:var(--text-secondary)}.limited-data-banner{position:relative}.banner-dismiss{border:1px solid var(--border);color:var(--text-secondary);font:inherit;font-size:var(--type-body);cursor:pointer;background:0 0;border-radius:999px;margin-top:10px;padding:6px 12px}.banner-dismiss:hover{color:var(--text-primary);border-color:var(--baseline)}.banner-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:560px){.hero-value{font-size:clamp(40px,10vw,52px)}.week-stat-row{gap:18px}.week-stat-value{font-size:var(--type-heading)}.week-stat-note{font-size:var(--type-eyebrow)}.card{margin-bottom:12px;padding:14px}main>.page-title,.home-greeting>.page-title{margin:2px 0 6px}.home-greeting{margin-bottom:2px}.card-aside{margin-top:6px}}.hero-planned-inline{font-size:var(--type-small);font-weight:450;font-family:var(--font-body,inherit);color:var(--text-muted);letter-spacing:0;white-space:nowrap;margin-left:10px}@media (max-width:560px){.card-head-row{flex-wrap:wrap}}.curve-intro{color:var(--text-secondary);font-size:var(--type-body);max-width:62ch;margin:0 0 10px;line-height:1.5}.curve-plot{width:100%;height:auto;display:block;overflow:visible}.curve-grid{stroke:var(--gridline);stroke-width:.5px}.curve-band{stroke:var(--accent);stroke-width:3px;opacity:.28;stroke-linecap:round}.curve-line{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.curve-dot{fill:var(--accent)}.curve-dot.has-hr{stroke:var(--text-primary);stroke-width:1px}.curve-hit{fill:#0000;cursor:pointer;-webkit-tap-highlight-color:transparent}.curve-hit:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}.curve-dot.selected{stroke:var(--text-primary);stroke-width:1.4px}.workout-profile-mark{cursor:pointer;-webkit-tap-highlight-color:transparent}.workout-profile-mark:focus-visible rect{stroke:var(--accent);stroke-width:2px}.workout-profile-mark.chosen rect{stroke:var(--accent);stroke-width:2.5px}.workout-profile-readout{margin:6px 0 0}.curve-readout{min-height:22px;font-size:var(--type-body);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:2px 0 10px;display:flex}.curve-readout b{color:var(--text-primary);font-weight:600}.curve-readout-hint{color:var(--text-muted);font-size:var(--type-small)}.curve-readout-link{color:var(--accent);text-decoration:none}.curve-axis{font-family:var(--font-grotesk), system-ui, sans-serif;fill:var(--text-muted);font-size:7px}.curve-table{border-collapse:collapse;width:100%;font-size:var(--type-small);margin-top:12px}.curve-table th{text-align:left;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--gridline);padding:0 0 5px}.curve-table td{border-bottom:1px solid var(--gridline);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:6px 0}.curve-table td.name{color:var(--text-primary);font-weight:550}.curve-table .num{text-align:right;white-space:nowrap;padding-left:10px}.curve-table th.num{text-align:right}.curve-table tr:last-child td{border-bottom:none}.curve-thin{color:var(--text-muted);font-style:normal}.curve-note{font-size:var(--type-small);color:var(--text-muted);max-width:58ch;margin:8px 0 0;line-height:1.45}.cs-card{margin-top:14px}.cs-lead{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:6px 0 0;display:flex}.cs-lead strong{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-variant-numeric:tabular-nums;font-weight:600}.cs-band{font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums}.cs-what{font-size:var(--type-small);color:var(--text-secondary);max-width:58ch;margin:8px 0 0;line-height:1.5}.cs-confidence{font-size:var(--type-small);color:var(--text-muted);max-width:58ch;margin:6px 0 0;line-height:1.45}.cs-table{border-collapse:collapse;width:100%;font-size:var(--type-small)}.cs-table th{text-align:left;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--gridline);padding:0 0 5px}.cs-table td{border-bottom:1px solid var(--gridline);padding:6px 0}.cs-table th+th,.cs-table td+td{padding-left:10px}.cs-table th:last-child,.cs-table td:last-child{text-align:right}.cs-table td.num,.cs-table th.num{text-align:right;font-variant-numeric:tabular-nums}.cs-table tr:last-child td{border-bottom:none}.cs-rejected{font-size:var(--type-small);color:var(--text-muted);margin:4px 0 0;padding-left:18px;line-height:1.5}.curve-when{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);margin-top:1px;font-weight:400;display:block}.perf-panel{padding:0}.perf-tabs{margin-top:4px}.perf-tabs .detail-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px;border-radius:6px}.recipe-presets{margin:8px 0 12px}.curve-fit-band{fill:var(--series-1);opacity:.16;stroke:none}.curve-fit-line{fill:none;stroke:var(--series-1);stroke-width:1.6px;stroke-linejoin:round;opacity:.85}.curve-fit-legend{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);color:var(--text-muted);flex-wrap:wrap;gap:6px 14px;margin:8px 0 2px;display:flex}.curve-fit-legend .swatch{vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:5px;display:inline-block}.curve-fit-legend .swatch.measured{background:var(--accent)}.curve-fit-legend .swatch.fitted{background:var(--series-1)}.curve-fit-legend .swatch.band{background:color-mix(in srgb, var(--series-1) 32%, transparent);height:8px}.recipe-stack{border-radius:6px;height:16px;margin:12px 0 14px;display:flex;overflow:hidden}.recipe-stack>span{min-width:1px;height:100%;display:block}.recipe-stack-unknown{background:var(--baseline)}.pyramid{flex-direction:column;align-items:center;gap:5px;margin:16px 0 10px;display:flex}.pyr-zone{width:100%}.pyr-row{flex-wrap:wrap;justify-content:center;gap:6px;width:100%;display:flex}.pyr-row-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);text-align:center;margin:4px 0 10px}.pyr-base-line{border-top:1px solid var(--border-strong,#cfcfd6);width:92%;margin-top:2px}.pyr-brick{appearance:none;font:inherit;cursor:pointer;border:none;border-radius:999px;flex:none;width:26px;height:14px;margin:0;padding:0;transition:transform 80ms,box-shadow 80ms}.pyr-brick:hover{transform:translateY(-1px)}.pyr-brick.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--accent);z-index:1;position:relative;transform:translateY(-1px)scale(1.04)}.pyramid-read{margin-top:2px}.pyr-selected{border:1px solid var(--line,#0000001f);background:var(--card,#00000005);color:inherit;border-radius:12px;align-items:center;gap:10px;margin:10px 0 2px;padding:10px 12px;text-decoration:none;display:flex}.pyr-selected-dot{border-radius:50%;flex:none;width:12px;height:12px}.pyr-selected-body{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.pyr-selected-body b{font-size:var(--type-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pyr-selected-body span{font-size:var(--type-small);color:var(--muted,#666);font-variant-numeric:tabular-nums}.pyr-selected-go{font-size:var(--type-small);color:var(--accent,#c2185b);white-space:nowrap;flex:none}.pyr-tap-hint{font-size:var(--type-small);color:var(--muted,#666);margin:10px 0 2px}.recipe-breakdown-kicker{margin-top:24px;display:block}.recipe-table{border-collapse:collapse;width:100%;font-size:var(--type-small);font-variant-numeric:tabular-nums}.recipe-table th{text-align:left;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--gridline);padding:0 0 5px}.recipe-table th.num,.recipe-table td.num{text-align:right;white-space:nowrap;padding-left:10px}.recipe-table td{border-bottom:1px solid var(--gridline);color:var(--text-secondary);padding:9px 0}.recipe-table td.name{color:var(--text-primary);font-weight:550}.recipe-table tr:last-child td{border-bottom:none}.recipe-table .recipe-unknown-row td{color:var(--text-muted)}.recipe-dot{vertical-align:middle;border-radius:3px;width:11px;height:11px;margin-right:9px;display:inline-block}.recipe-read{margin-top:12px}.hold-ladder{flex-direction:column;gap:7px;margin:14px 0 4px;display:flex}.hold-row{font-size:var(--type-small);font-variant-numeric:tabular-nums;grid-template-columns:4.4rem 1fr auto;grid-template-areas:"band track time"".segments segments";align-items:center;gap:2px 10px;display:grid}.hold-band{font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--text-primary);grid-area:band;font-weight:550}.hold-track{background:var(--gridline);border-radius:4px;grid-area:track;height:12px;display:block;overflow:hidden}.hold-bar{background:var(--accent);border-radius:4px;min-width:2px;height:100%;display:block}.hold-time{color:var(--text-secondary);white-space:nowrap;grid-area:time}.hold-segments{font-size:var(--type-eyebrow);color:var(--text-muted);grid-area:segments}.hold-empty,.hold-coverage{font-size:var(--type-small);color:var(--text-muted);margin-top:12px}.hold-coverage.thin{color:var(--warning,#b98317)}.plan-target-read{font-size:var(--type-small);color:var(--text-muted);max-width:58ch;margin:-6px 0 14px;line-height:1.45}@media (max-width:720px){.analysis-section-header{padding:11px 14px}.card{margin-bottom:14px;padding:16px 14px}.best-effort-filters{margin-bottom:10px}}.curve-table tr.clickable{cursor:pointer}.curve-table tr.clickable:active td{background:var(--surface)}.curve-star{color:var(--status-good);font-weight:650}@media (max-width:720px){.page-title{font-size:var(--text-2xl)}.analysis-section{margin-top:10px}.plan-session{padding:10px 12px}.plan-rest-day{margin-top:8px}.section-kicker{margin:10px 2px 5px}.zone-card-head{margin-bottom:4px}.home-greeting>.page-title{font-size:var(--text-3xl);margin:10px 0 8px}}.plan-target-edit{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.plan-target-edit .filter-input{max-width:130px}.plan-hero{padding-top:18px}.plan-hero-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 5px;font-size:clamp(26px,5.6vw,34px);font-weight:520;line-height:1.05}.plan-hero-race{color:var(--text-muted);font-size:var(--type-body);margin:0 0 14px}.plan-hero-target{border:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:12px;align-items:flex-end;gap:24px;margin:0 0 10px;padding:9px 14px;display:flex}.plan-hero-target-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted)}.plan-hero-target-stat{flex-direction:column;gap:2px;display:flex}.plan-hero-target-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-variant-numeric:tabular-nums;line-height:1}.plan-hero-target-value.is-soft{color:var(--text-secondary)}.plan-hero-target-unset{color:var(--text-muted)}.plan-hero-target-hint{color:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);font-weight:var(--type-eyebrow-weight);letter-spacing:.08em;text-transform:uppercase;align-self:center;margin-left:auto}.plan-hero-read{max-width:58ch;margin:0 0 12px}.plan-hero-stats{color:var(--text-secondary);font-size:var(--type-body);margin:var(--space-2) 0 0}.plan-hero-compliance{margin-left:var(--space-3);white-space:nowrap}.plan-hero-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.plan-hero-actions .view-toggle{margin:0}.plan-hero-target-pred{color:var(--text-muted);font-size:var(--type-small);font-variant-numeric:tabular-nums}.plan-hero-menu{position:relative}.plan-hero-menu-btn{min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--border);color:inherit;font-family:inherit;font-size:var(--type-body);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 12px;line-height:1;display:inline-flex}.plan-hero-menu-scrim{z-index:40;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.plan-hero-menu-pop{z-index:41;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:168px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000059}.plan-hero-menu-pop>*{text-align:left;width:100%;color:var(--text-primary);font-family:inherit;font-size:var(--type-body);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;text-decoration:none;display:block}.plan-hero-menu-pop>:hover,.plan-hero-menu-pop>:focus-visible{background:var(--surface-2)}.plan-hero-menu-pop>:disabled{color:var(--text-muted);cursor:default}.life-event-dialog{width:min(560px,100%)}.life-event-lead{margin:-4px 0 12px;display:block}.life-event-preview{background:#8fd6a812;border:1px solid #8fd6a847;border-radius:16px;margin-top:14px;padding:12px 13px}.life-event-preview-title{color:var(--ink-good,#8fd6a8);margin-bottom:8px}.life-event-line{font-size:var(--type-body);gap:9px;margin:0 0 7px;line-height:1.45;display:flex}.life-event-line:last-child{margin-bottom:0}.life-event-mark{color:var(--ink-good,#8fd6a8);flex:none}.life-event-actions{align-items:center;gap:9px;margin-top:14px;display:flex}.life-event-apply{flex:1}.act-sort select.notes-select{border:1px solid var(--border);width:auto;min-height:0;font-size:var(--type-body);color:var(--text-secondary);background:0 0;border-radius:999px;padding:7px 12px}.plan-life-row{margin:var(--space-1) 2px 0;font-size:var(--type-body);color:var(--text-muted)}.plan-life-row button,.plan-life-row a{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.plan-hero-menu-rule{border:0;border-top:1px solid var(--border);margin:4px 0}.workout-mode{margin:12px 0 4px}.workout-mode-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px;display:inline-flex}.workout-mode-seg button{font-family:inherit;font-size:var(--type-body);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 15px}.workout-mode-seg button.on{background:var(--surface-3);color:var(--text-primary);font-weight:600}.workout-mode-note{font-size:var(--type-small);color:var(--text-secondary);max-width:52ch;margin:9px 2px 0;line-height:1.5}.plan-target-set{color:var(--text-muted);font:inherit;font-size:var(--type-small);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:2px 0 12px;padding:0;text-decoration:underline;display:block}.plan-dialog-overlay{z-index:var(--z-sheet);background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.plan-edit-dialog{width:min(560px,100%);position:relative}@media (max-width:680px){.plan-dialog-overlay{padding:10px}}@media (max-width:380px){.plan-edit-dialog{padding-top:12px;padding-bottom:12px}.plan-edit-dialog .plan-adjust-scope{margin-top:4px}.plan-edit-dialog .plan-adjust-more{margin:4px 0 0}.plan-edit-dialog .plan-newplan-btn{margin-top:8px}}.plan-confirm-dialog{width:min(420px,100%);position:relative}.plan-dialog-close{color:var(--text-muted);font-size:var(--text-2xl);cursor:pointer;background:0 0;border:none;padding:6px;line-height:1;position:absolute;top:10px;right:12px}.plan-newplan-btn{background:var(--text-primary);width:100%;color:var(--page);font:inherit;cursor:pointer;border:none;border-radius:999px;margin-top:14px;padding:12px 0;font-weight:550;display:block}.plan-newplan-sub{text-align:center;color:var(--text-muted);font-size:var(--type-small);margin:6px 0 0}.plan-confirm-actions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}.plan-hero-manage{white-space:nowrap;flex-wrap:wrap}.plan-hero-library{color:var(--text-secondary);align-items:center;text-decoration:none;display:inline-flex}.plan-target-inline{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.plan-wizard{border-radius:16px}.plan-wizard h2{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:520;line-height:1.1}.feedback-shot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.feedback-shot-input{opacity:0;width:1px;height:1px;position:absolute}.feedback-shot-label{cursor:pointer}.feedback-shot-name{color:var(--text-muted);font-size:var(--type-small);text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.feedback-shot-name .link-quiet{margin-left:6px}@media (max-width:720px){.plan-wizard-body .notes-row{margin-bottom:9px;padding:11px 12px 12px}.plan-wizard-body .notes-label{margin-bottom:6px}.plan-wizard-body .notes-hint{margin-top:6px}.plan-wizard-title{font-size:var(--type-heading)}.plan-wizard-lead{margin-top:6px}.plan-mode-tile{padding:7px 10px}.plan-mode-tile p{line-height:1.3}.plan-review-row{padding:8px 11px}}.mk-h1{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(30px,8.5vw,44px);font-weight:600;line-height:1.05}.mk-h1 em{color:var(--accent);font-style:normal}.mk-cta-ghost{min-height:var(--tap-min);border:1px solid var(--border);color:var(--text-primary);font-size:var(--type-body);border-radius:999px;align-items:center;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.mk-body-gap{margin-top:22px}.mk-tabs{flex-wrap:wrap;gap:6px;display:flex}.mk-tab{border:1px solid var(--border);color:var(--text-secondary);min-height:var(--tap-min);font:inherit;font-size:var(--type-small);cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-weight:550}.mk-tab[aria-selected=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:650}.mk-tabcap{color:var(--text-muted);font-size:var(--type-small);min-height:34px;margin:10px 0 0}.mk-stage{justify-content:center;margin-top:16px;display:flex;position:relative}.mk-stage:before{content:"";filter:blur(48px);pointer-events:none;background:radial-gradient(circle,#ff2c7838,#0000 70%);border-radius:50%;width:78%;height:60%;position:absolute;top:8%;left:11%}.mk-phone{background:linear-gradient(160deg,#26282c,#0b0c0d);border:1px solid #ffffff14;border-radius:30px;width:100%;max-width:330px;padding:9px;position:relative;box-shadow:0 30px 64px #0000008c,inset 0 1px #ffffff12}.mk-screen{background:var(--page);border-radius:16px;height:520px;overflow:hidden}.mk-apphead{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:700;font-size:var(--type-body-lg);margin:0;padding:10px 0 8px}.mk-apphead span{color:var(--text-secondary);font-weight:400;font-size:var(--type-small)}.mk-screen-body{height:478px;padding:0 12px;overflow:hidden}.mk-mini{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:9px;padding:12px}.mk-mini-title{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);text-transform:uppercase;margin:0 0 2px}.mk-mini-strong{font-weight:600;font-size:var(--type-body);margin:0 0 3px}.mk-mini-muted{color:var(--text-secondary);font-size:var(--type-small);margin:0}.mk-mini-tiny{color:var(--text-muted);font-size:var(--type-eyebrow);margin:9px 0 0}.mk-mini-gap{margin-top:11px}.mk-mini-target{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin:9px 0;padding:8px 10px;display:flex}.mk-mini-target b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title)}.mk-mini-hint{color:var(--text-muted);font-size:var(--type-eyebrow);text-decoration:underline}.mk-mini-bars{align-items:flex-end;gap:3px;height:44px;margin:10px 0 6px;display:flex}.mk-mini-bars i{background:var(--series-1);opacity:.55;border-radius:2px 2px 0 0;flex:1}.mk-mini-bars i.on{background:var(--accent);opacity:1}.mk-mini-stat{color:var(--text-secondary);font-size:var(--type-eyebrow);margin:0}.mk-mini-row{border-bottom:1px solid var(--ink-wash,#f2f3f012);font-size:var(--type-small);justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;display:flex}.mk-mini-row:last-of-type{border-bottom:0}.mk-mini-row b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg)}.mk-mini-pace,.mk-pace{color:var(--text-muted);font-size:var(--type-eyebrow);margin-left:8px}.mk-verdict{color:var(--ink-bad);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;background:#f0a8a024;border-radius:999px;padding:4px 10px;display:inline-block}.mk-mini-swap{border-left:2px solid var(--border);margin-top:11px;padding-left:10px}.mk-mini-btn{border:1px solid var(--border);font-size:var(--type-eyebrow);border-radius:999px;margin-top:8px;padding:7px 13px;display:inline-block}.mk-chart{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:12px 0 0;padding:14px 12px 12px}.mk-chart svg{touch-action:manipulation;width:100%;height:auto;display:block}.mk-axis{fill:var(--text-muted);letter-spacing:.06em;font-size:8px}.mk-grid{stroke:#f2f3f012}.mk-band{fill:var(--series-1);opacity:.16}.mk-line{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.mk-line-accent{stroke:var(--accent)}.mk-pt{fill:var(--page);stroke:var(--series-1);stroke-width:2px;cursor:pointer}.mk-pt-accent{stroke:var(--accent)}.mk-pt[aria-pressed=true]{fill:var(--accent);stroke:var(--accent)}.mk-hit{fill:#0000;cursor:pointer}.mk-readout{border-top:1px solid #f2f3f014;flex-wrap:wrap;align-items:baseline;gap:10px;min-height:58px;margin:10px 0 0;padding-top:10px;display:flex}.mk-readout b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading)}.mk-readout span{color:var(--text-secondary);font-size:var(--type-small)}.mk-readout-note{flex-basis:100%}.mk-star{color:var(--good);font-weight:700}.mk-arcread{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-height:74px;margin-top:10px;padding:11px 12px}.mk-arcread b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title)}.mk-arcread-meta{color:var(--text-muted);font-size:var(--type-small)}.mk-arcread p{color:var(--text-secondary);font-size:var(--type-body);margin:5px 0 0}.mk-pred{border-collapse:collapse;width:100%;margin-top:10px}.mk-pred th{text-align:left;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);font-weight:var(--type-eyebrow-weight);border-bottom:1px solid var(--border);padding:0 0 7px}.mk-pred th.num,.mk-pred td.num{text-align:right}.mk-pred td{font-size:var(--type-body);border-bottom:1px solid #f2f3f012;padding:11px 0}.mk-pred td b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title)}.mk-fineprint{color:var(--text-muted);font-size:var(--type-small);margin:10px 0 0}.mk-reps{border-bottom:1px dashed var(--border);align-items:flex-end;gap:3px;height:62px;margin:10px 0 3px;display:flex}.mk-reps i{background:var(--series-1);border-radius:2px 2px 0 0;flex:1}.mk-reps-legend{text-align:right;margin-top:2px}.mk-reptable{margin-top:8px}.mk-reptable .mk-mini-row{justify-content:flex-start;gap:0}.mk-reptable .mk-mini-row>span:first-child{width:18px;color:var(--text-muted)}.mk-reptable .mk-mini-row>span:nth-child(2){flex:1}.mk-rep-delta{color:var(--series-1);font-size:var(--type-eyebrow);text-align:right;width:58px}.mk-mini-grid{grid-template-columns:1fr 1fr;gap:8px 10px;margin:10px 0 8px;display:grid}.mk-mini-grid b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title)}.mk-verdict-good{color:var(--good);background:#79a47b29}.import-banner{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--type-body-lg);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 16px;padding:10px 14px;display:flex}.import-banner-note{color:var(--text-muted);font-size:var(--type-body)}.onboard-done-tick{border:2px solid var(--success,#5ad39a);width:52px;height:52px;color:var(--success,#5ad39a);font-size:var(--text-2xl);border-radius:50%;justify-content:center;align-items:center;margin:8px 0 16px;display:flex}.onboard-import-live{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;margin:4px 0 20px;padding:12px 14px;display:flex}.onboard-import-live strong{font-size:var(--type-body-lg)}.onboard-import-live span{font-size:var(--type-body);color:var(--text-muted)}.onboard-import-live .import-bar{margin-top:10px}.milestones-title{margin-top:14px}.milestones-support{margin:8px 0 0}.milestones-stats{gap:10px;margin:16px 0 6px;display:flex}.milestones-stats>div{border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;gap:2px;padding:10px 12px;display:flex}.milestones-stats strong{font-size:var(--type-body-lg)}.milestones-stats span{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted)}.milestones-group-label{margin:20px 2px 8px;display:block}.milestones-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.milestone-row{align-items:center;gap:12px;padding:11px 14px;display:flex}.milestone-row+.milestone-row{border-top:1px solid var(--gridline)}.milestone-badge{width:26px;height:26px;font-size:var(--type-small);background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.milestone-row.locked .milestone-badge{border:1px solid var(--border);color:var(--text-muted);background:0 0}.milestone-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.milestone-body strong{font-size:var(--type-body)}.milestone-body small{font-size:var(--type-small);color:var(--text-muted)}.milestone-value{font-size:var(--type-body);font-variant-numeric:tabular-nums;flex:none;font-weight:650}.milestone-row.locked .milestone-value{font-weight:550}.milestone-value em{font-style:normal;font-size:var(--type-small);color:var(--accent)}.milestones-foot{font-size:var(--type-small);color:var(--text-muted);margin:10px 2px 0}.moves-title,.twelve-title{margin-top:14px}.moves-support,.twelve-note{margin:8px 0 0}.moves-card{border:1px solid var(--border);border-radius:12px;margin-top:12px;padding:14px 16px}.moves-card.gain{border-left:3px solid var(--accent)}.moves-arrow{font-size:var(--type-small);color:var(--text-muted)}.moves-card.gain .moves-arrow{color:var(--accent)}.moves-card strong{font-size:var(--type-body-lg);margin:6px 0 2px;display:block}.moves-card p{font-size:var(--type-body);color:var(--text-secondary);margin:8px 0 0}.moves-balance{margin-top:12px}.moves-balance-track{background:var(--surface-2);border-radius:3px;align-items:center;height:6px;display:flex;position:relative}.moves-balance-end{width:30%;height:6px}.moves-balance-end:first-child{border-radius:3px 0 0 3px}.moves-balance-end:last-child{border-radius:0 3px 3px 0;margin-left:auto}.moves-balance-end.gain{background:color-mix(in srgb, var(--accent) 45%, transparent)}.moves-balance-marker{background:var(--text-primary);border:2px solid var(--surface-1,#000);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.moves-balance-labels{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-top:7px;display:flex}.moves-balance-labels .gain{color:var(--accent)}.moves-gap{align-items:center;gap:10px;margin-top:12px;display:flex}.moves-gap-track{background:var(--surface-2);border-radius:4px;flex:1;height:8px;overflow:hidden}.moves-gap-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.moves-gap-remain{font-size:var(--type-small);color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-weight:650}.moves-weeks{margin-top:12px}.moves-weeks-dots{gap:4px;display:flex}.moves-week{background:var(--surface-2);border-radius:3px;flex:1;height:18px}.moves-week.on{background:color-mix(in srgb, var(--accent) 55%, transparent)}.moves-weeks-note{font-size:var(--type-small);color:var(--text-muted);margin-top:7px;display:block}.moves-trend{margin-top:12px}.moves-trend-bars{align-items:flex-end;gap:4px;height:40px;display:flex}.moves-trend-bar{background:var(--surface-2);border-radius:3px 3px 0 0;flex:1;min-height:3px}.moves-trend-bar.now{background:var(--accent)}.moves-trends .moves-card{margin-top:var(--space-2);padding:12px 14px}.moves-trends .moves-card strong{margin:0}.moves-trends .moves-gap,.moves-trends .moves-trend,.moves-trends .moves-weeks,.moves-trends .moves-balance{margin-top:6px}.moves-trends .moves-trend-bars{height:44px}.moves-trends .moves-week{height:16px}.moves-how{font-size:var(--type-small);color:var(--text-secondary);margin:4px 0 0;line-height:1.35}.moves-more{margin-top:6px}.moves-more>summary{font-size:var(--type-small);color:var(--accent-text)}.moves-more p{font-size:var(--type-small);color:var(--text-muted);margin:6px 0 0}.lever-rows{margin-bottom:var(--space-3)}.lever-row{border-bottom:1px solid var(--gridline);align-items:center;gap:12px;height:56px;display:flex}.lever-row:last-child{border-bottom:0}.lever-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lever-title{align-items:baseline;gap:8px;min-width:0;display:flex}.lever-name{min-width:0;font-size:var(--type-small);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.lever-row.gain .moves-arrow{color:var(--accent)}.lever-figure{font-style:normal;font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:500}.lever-how{font-size:var(--type-eyebrow);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lever-inline{flex:0 0 80px;align-items:flex-end;height:24px;display:flex}.lever-inline.gap{background:var(--surface-2);border-radius:4px;align-self:center;height:8px;overflow:hidden}.lever-inline.weeks{align-items:stretch;gap:2px;height:16px}.lever-week{background:var(--surface-2);border-radius:2px;flex:1}.lever-week.on{background:color-mix(in srgb, var(--accent) 55%, transparent)}.lever-inline.bars{gap:2px}.lever-bar{background:var(--surface-2);border-radius:2px 2px 0 0;flex:1;min-height:3px}.lever-bar.now{background:var(--accent)}.moves-home{text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);margin-top:var(--space-2);cursor:pointer;border-radius:16px;padding:7px 14px 9px;display:block}.moves-home-head{justify-content:space-between;align-items:center;display:flex}.moves-home .moves-card.compact{border:0;border-left:3px solid var(--accent);border-radius:0;margin-top:4px;padding:2px 0 0 12px}.moves-home .moves-gap,.moves-home .moves-trend,.moves-home .moves-weeks,.moves-home .moves-balance{margin-top:6px}.moves-home .moves-card.compact.hold{border-left-color:var(--border)}.moves-home .moves-card.compact strong{font-size:var(--type-body-lg);margin:2px 0 0}.moves-home-how{font-size:var(--type-small);color:var(--text-secondary);margin:4px 0 0;line-height:1.35}.moves-home .moves-trend-bars{height:30px}.moves-home .moves-week{height:14px}.moves-dots{gap:6px;display:flex}.moves-dot{background:var(--surface-2);border-radius:999px;width:7px;height:7px}.moves-dot.on{background:var(--accent)}.tbank{margin-top:var(--space-4)}.tbank-stats{gap:var(--space-2);margin-top:var(--space-3);display:flex}.tbank-stat{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:1;min-width:0;padding:10px 12px}.tbank-stat.lt2{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.tbank-stat-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);font-variant-numeric:tabular-nums;font-weight:600;line-height:1;display:block}.tbank-stat.lt2 .tbank-stat-value{color:var(--accent)}.tbank-stat-label{font-size:var(--type-micro);color:var(--text-muted);margin-top:4px;display:block}.tbank-delta{font-size:var(--type-small);margin:10px 0 0}.tbank-delta .up{color:var(--accent)}.tbank-delta .down{color:var(--text-secondary)}.tbank-delta .tbank-open{color:var(--text-muted)}.tbank-chart{margin-top:var(--space-3);position:relative}.tbank-bars{align-items:flex-end;gap:4px;height:120px;display:flex}.tbank-col{cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.tbank-bar{border-radius:3px 3px 0 0;flex-direction:column;width:100%;display:flex;overflow:hidden}.tbank-seg{width:100%;display:block}.tbank-seg.lt2{background:var(--accent)}.tbank-seg.lt1{background:color-mix(in srgb, var(--accent) 26%, transparent)}.tbank-col.now .tbank-bar{outline:1px solid var(--accent);outline-offset:1px}.tbank-col.sel .tbank-bar{outline:2px solid var(--accent);outline-offset:1px}.tbank-bars:has(.tbank-col.sel) .tbank-col:not(.sel) .tbank-bar{opacity:.5}.tbank-pick-lt2{color:var(--accent)}.tbank-axis{gap:4px;margin-top:6px;display:flex}.tbank-tick{text-align:center;min-width:0;font-size:var(--type-micro);color:var(--text-muted);white-space:nowrap;flex:1;overflow:hidden}.tbank-legend{margin-top:var(--space-2);font-size:var(--type-small);color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;display:flex}.tbank-legend>span{align-items:center;display:inline-flex}.tbank-key{border-radius:3px;flex:none;width:10px;height:10px;margin-right:6px}.tbank-key.lt2{background:var(--accent)}.tbank-key.lt1{background:color-mix(in srgb, var(--accent) 26%, transparent)}.tbank-cover{color:var(--text-muted);flex-basis:100%}.zone-reactions{gap:var(--space-2);display:flex}.goal-form .zone-reactions button{margin-top:0}.twelve-chart{align-items:flex-end;gap:6px;height:150px;margin-top:16px;display:flex}.twelve-bar{flex:1;align-items:flex-end;height:100%;display:flex;position:relative}.twelve-fill{background:var(--surface-2);border:1px solid var(--border);border-radius:4px 4px 0 0;width:100%;min-height:3px}.twelve-bar.now .twelve-fill{background:var(--accent);border-color:var(--accent)}.twelve-cap{text-align:center;width:100%;font-size:var(--type-small);color:var(--accent);font-weight:650;position:absolute;top:-16px}.twelve-axis{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);justify-content:space-between;margin-top:6px;display:flex}.twelve-note{font-size:var(--type-small);color:var(--text-muted)}.library-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.library-foot{text-align:center;margin-top:14px}.library-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:16px;margin-bottom:12px;display:flex}.library-head>div{min-width:0}.library-title{font-size:var(--type-heading);overflow-wrap:anywhere;margin:3px 0 0}.week-roles{margin:4px 0}.week-roles-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.week-role{border:1px solid var(--gridline);background:var(--surface-2);min-width:0;color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 0 9px;display:flex}.week-role-day{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.04em;color:var(--text-muted)}.week-role-state{font-size:var(--type-micro)}.week-role.long{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-primary)}.week-role.long .week-role-day{color:var(--text-primary)}.week-role.hard{border-color:var(--accent)}.week-role.hard .week-role-state{color:var(--accent)}.week-role.off{opacity:.45}.week-role.off .week-role-state{text-decoration:line-through}.week-roles-pick{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.week-role.picked{border-color:var(--text-primary);background:var(--surface-2)}.week-roles-hint{font-size:var(--type-small);color:var(--text-muted);margin:7px 0 0}.week-roles-summary{font-size:var(--type-body);color:var(--text-secondary);margin:6px 0 0}.week-roles-summary b{color:var(--text-primary);font-weight:600}.plan-edit-dialog .filter-row .filter-chip,.plan-edit-dialog .week-roles-pick .filter-chip{padding-left:11px;padding-right:11px}.plan-adjust-scope{font-size:var(--type-body);color:var(--text-secondary);margin:6px 0 0}.plan-adjust-tag{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--accent);border-radius:6px;margin-right:8px;padding:2px 7px;display:inline-block}.plan-adjust-more{margin:6px 0 2px}.community-demand{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-secondary);margin:6px 0 0}.community-warn{font-size:var(--type-small);color:var(--estimated);margin:6px 0 0}.community-report{border-top:1px solid var(--gridline);margin-top:14px;padding-top:12px}.community-report .notes-textarea{margin-top:8px}.share-dialog .custom-uncertain-confirm{margin:12px 0}.metric-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);font-variant-numeric:tabular-nums;color:var(--text-primary)}.metric-of{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted)}.metric-weeks{grid-template-columns:repeat(8,1fr);align-items:end;gap:6px;height:110px;padding:10px 0 0;display:grid}.metric-week{flex-direction:column;align-items:center;gap:5px;height:100%;display:flex}.metric-bars{flex:auto;justify-content:center;align-items:flex-end;gap:2px;width:100%;display:flex}.metric-bar{border-radius:2px 2px 0 0;width:7px;min-height:2px}.metric-bar.ran{background:var(--accent)}.metric-bar.joined{background:var(--series-1)}.metric-week-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);color:var(--text-muted)}.metric-legend{font-size:var(--type-small);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 4px;display:flex}.metric-key{border-radius:2px;width:9px;height:9px;display:inline-block}.metric-key.ran{background:var(--accent);margin-left:2px}.metric-key.joined{background:var(--series-1);margin-left:10px}.ink-rail{background:var(--surface-2);color:var(--ink-fg);margin:0 calc(var(--gutter) * -1);padding:14px var(--gutter) var(--space-3);margin-bottom:10px}.ink-rail .kicker,.ink-rail .rail-kick{color:var(--ink-fg-faint)}.ink-rail hr,.ink-rail .rail-rule{border:0;border-top:1px solid var(--ink-hairline);margin:16px 0 0}.ink-rail .rail-soft{color:var(--ink-fg-soft)}.ink-rail .rail-mute{color:var(--ink-fg-mute)}.ink-rail .rail-faint{color:var(--ink-fg-faint)}.rail-hero{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:600;line-height:.86}.rail-hero-unit{color:var(--ink-fg-mute);letter-spacing:0;margin-left:6px;font-size:.3em}.rail-row{border-top:1px solid var(--gridline);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;display:flex}.rail-row-title{font-size:var(--type-body-lg);font-weight:600}.rail-row-meta{font-size:var(--type-small);color:var(--text-muted)}.rail-row-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-variant-numeric:tabular-nums;white-space:nowrap}.ink-rail .hero-value{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;color:var(--ink-fg);font-size:72px;font-weight:600;line-height:.86}.ink-rail .hero-value .unit{color:var(--ink-fg-mute);letter-spacing:0;margin-left:6px;font-size:.3em}.ink-rail .hero-planned-inline{color:var(--ink-fg-mute)}.ink-rail .evidence-chip{background:var(--ink-wash);border-color:var(--ink-hairline)}.ink-rail .card-rule{border:0;border-top:1px solid var(--ink-hairline)}.ink-rail .week-stat-value{color:var(--ink-fg)}.ink-rail .week-stat-note,.ink-rail .week-stat-value small{color:var(--ink-fg-mute)}.ink-rail .card-read{color:var(--ink-fg-soft)}.ink-rail .daystrip{gap:6px;margin:16px 0 0}.ink-rail .daystrip span{font-size:var(--type-eyebrow);color:var(--ink-fg-faint);background:0 0;border-top:0;border-radius:8px;padding:6px 0}.ink-rail .daystrip span.done{background:var(--ink-wash);color:var(--ink-fg)}.ink-rail .daystrip span.hard{box-shadow:inset 0 -2px 0 var(--accent)}.ink-rail .daystrip span.today{background:var(--accent);color:var(--accent-ink);box-shadow:none;font-weight:700}.rail-bar{background:var(--ink-wash);border-radius:999px;height:5px;margin-top:16px;overflow:hidden}.rail-bar>i{background:var(--accent);border-radius:999px;height:100%;display:block}.ink-rail .rail-kick{margin:0 0 var(--space-2)}.rail-row.latest-row{color:inherit;align-items:center;text-decoration:none}.rail-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.rail-row.latest-row .rail-row-value small{font-family:var(--font-grotesk);font-size:var(--type-small);color:var(--text-muted)}.structure-bar{border-radius:6px;gap:2px;height:22px;margin:12px 0 10px;display:flex;overflow:hidden}.structure-seg{background:var(--series-1);min-width:2px;display:block}.structure-seg.work{background:var(--accent)}.structure-seg.recovery,.structure-seg.float{background:var(--series-1);opacity:.55}.structure-seg.steady{background:var(--series-2)}.rail-lead{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.rail-hero-lead{flex-direction:column;gap:6px;display:flex}.rail-hero-time{font-size:54px;line-height:.9}.rail-hero-pace{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);color:var(--ink-fg-mute)}.rail-target{text-align:right;padding-bottom:6px}.rail-target-kick{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--ink-fg-faint);display:block}.rail-target-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);color:var(--ink-fg-soft);font-variant-numeric:tabular-nums;display:block}.rail-band{height:26px;margin-top:var(--space-3);position:relative}.rail-band>i{display:block;position:absolute}.rail-band-track{background:var(--ink-wash);border-radius:999px;height:4px;top:11px;left:0;right:0}.rail-band-span{background:var(--accent);border-radius:999px;height:4px;top:11px}.rail-band-tick{background:var(--ink-fg);width:2px;height:18px;top:4px}.rail-band-low,.rail-band-high{font-size:var(--type-micro);color:var(--ink-fg-mute);font-variant-numeric:tabular-nums;position:absolute;top:0}.rail-band-low{left:0}.rail-band-high{right:0}.rail-read{margin:var(--space-2) 0 0;font-size:var(--type-body);color:var(--ink-fg-soft);line-height:1.5}.rail-conf-line{margin-top:12px}.rail-conf-line b{color:var(--text-primary);font-weight:600}.rail-why{margin-top:var(--space-2)}.rail-backtest{margin-top:12px}.backtest-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.backtest-list li{font-size:var(--type-caption);color:var(--ink-fg-mute);grid-template-columns:1fr auto;gap:0 10px;line-height:1.4;display:grid}.backtest-when{color:var(--ink-fg-soft);grid-column:1}.backtest-open{color:var(--accent);text-decoration:none}.backtest-times{grid-column:1}.backtest-priority{font:inherit;color:var(--accent);appearance:none;cursor:pointer;background:0 0;border:0;min-height:0;margin:0;padding:0}.backtest-priority:disabled{opacity:.5;cursor:progress}.backtest-err{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center}.backtest-err.fast{color:var(--ink-warn)}.backtest-err.slow{color:var(--ink-fg-mute)}.rail-projection{border-top:1px solid var(--ink-hairline);margin-top:12px;padding-top:12px}.pred-row{cursor:default}.pred-row.pred-click{cursor:pointer}.pred-row-confidence{color:var(--text-muted);font-size:var(--type-small);font-weight:400}.pred-row-detail{margin-top:4px;display:block}.engine-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:340px){.engine-pair{grid-template-columns:1fr}}.threshold-row.engine-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.threshold-row.engine-card+.threshold-row.engine-card{border-top:1px solid var(--border)}.threshold-row.engine-card{min-width:0}.engine-card .threshold-main{flex-flow:column;align-self:stretch;align-items:flex-start;gap:3px}.engine-card .threshold-hint{flex-basis:auto}.engine-card .threshold-values{text-align:left;flex-wrap:wrap;flex-shrink:1;align-self:stretch;gap:0 8px}.engine-card .threshold-primary{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xl);line-height:1.1}.perf-more-group>.section-kicker{margin-top:22px}.perf-more-group>.section-kicker:first-child{margin-top:4px}.rail-totals{flex-wrap:wrap;align-items:flex-end;gap:22px;display:flex}.rail-total{flex-direction:column;padding-bottom:4px;display:flex}.rail-total.lead{padding-bottom:0}.rail-total-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);color:var(--ink-fg);font-variant-numeric:tabular-nums}.rail-total.lead .rail-total-value{font-size:42px;line-height:.95}.rail-total-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--ink-fg-faint);margin-top:2px}.ink-rail .rail-search{background:var(--ink-wash);border-color:var(--ink-hairline);color:var(--ink-fg);margin-top:16px}.ink-rail .rail-search::placeholder{color:var(--ink-fg-mute)}.ink-rail .filter-chip{border-color:var(--ink-hairline);color:var(--ink-fg-mute);background:0 0}.ink-rail .filter-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ink-rail .search-scope-note{color:var(--ink-fg-mute)}.ink-rail.plan-hero{padding-bottom:14px}.plan-hero-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-hero-ident{min-width:0}.ink-rail .plan-hero-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;color:var(--ink-fg);margin:7px 0 0;font-size:25px;font-weight:520;line-height:1.1}.ink-rail .plan-hero-race{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--ink-fg-faint);margin:0}.plan-hero-countdown{text-align:right;flex:none}.plan-hero-countdown-value{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xl);color:var(--ink-fg);font-variant-numeric:tabular-nums;line-height:1;display:block}.plan-hero-countdown-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--ink-fg-faint);display:block}.ink-rail .taper-arc{height:44px;margin:var(--space-2) 0 var(--space-1);gap:6px}.ink-rail .taper-arc i,.ink-rail .taper-arc button{background:var(--ink-fg-faint);border-radius:3px}.ink-rail .taper-arc .past{background:var(--ink-hairline)}.ink-rail .taper-arc .taper{background:color-mix(in srgb, var(--accent) 50%, transparent)}.ink-rail .taper-arc .here,.ink-rail .taper-arc .taper.here{background:var(--accent);outline-color:var(--accent)}.ink-rail .taper-arc .taper-arc-split,.ink-rail .taper-arc .taper-arc-split.past,.ink-rail .taper-arc .taper-arc-split.here,.ink-rail .taper-arc .taper-arc-split.taper{background:var(--ink-card)}.ink-rail .taper-arc .open{outline-color:var(--ink-fg)}.ink-rail .taper-arc-axis{gap:6px}.ink-rail .taper-arc-axis span{color:var(--ink-fg-faint)}.ink-rail .taper-arc-axis span.open{color:var(--ink-fg)}.ink-rail .plan-hero-stats,.ink-rail .plan-hero-read{color:var(--ink-fg-mute)}.ink-rail .plan-hero-target{background:var(--ink-wash);border-color:var(--ink-hairline);color:var(--ink-fg)}.ink-rail .plan-hero-target-label,.ink-rail .plan-hero-target-hint,.ink-rail .plan-target-set,.ink-rail .plan-target-inline,.ink-rail .plan-hero-library{color:var(--ink-fg-mute)}.rail-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.ink-rail .rail-back{color:var(--ink-fg-mute);margin:0}.ink-rail .rail-back:hover{color:var(--ink-fg)}.ink-rail .rail-back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.rail-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;color:var(--ink-fg);margin:8px 0 0;font-size:clamp(24px,7vw,28px);font-weight:600;line-height:1.1}.rail-chips{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.ink-rail .flag-chip{border-color:var(--ink-hairline);color:var(--ink-fg-mute);margin-right:0}.ink-rail .flag-chip.warn{border-color:var(--ink-warn);color:var(--ink-warn)}.rail-note{font-size:var(--type-body);color:var(--ink-fg-soft);margin:8px 0 0;line-height:1.5}.rail-planned{color:var(--ink-fg-mute)}.ink-rail .linked-workout-title{color:var(--ink-fg);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--ink-fg-mute);text-decoration-color:var(--ink-fg-mute)}.ink-rail .linked-workout-title:hover{-webkit-text-decoration-color:var(--ink-fg);text-decoration-color:var(--ink-fg)}.rail-hero-stats{justify-content:space-between;gap:12px 18px;margin-top:16px}.rail-hero-stats .rail-total-value{font-size:var(--text-2xl);line-height:1.1}.rail-footnote{font-size:var(--type-small);color:var(--ink-fg-faint);margin:14px 0 0;line-height:1.45}.rail-edit{margin-top:10px}.ink-rail .edit-input{background:var(--ink-wash);border-color:var(--ink-hairline);color:var(--ink-fg)}.ink-rail .edit-input::placeholder{color:var(--ink-fg-mute)}.ink-rail .edit-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ink-rail .error-note{color:var(--ink-bad)}.coach-open{flex-direction:column;gap:4px;margin-bottom:4px;display:flex}.structure-bar.run-structure{height:26px;margin:10px 0 4px}.rail-row.run-total{align-items:baseline}.run-total-label{font-size:var(--type-body);color:var(--text-secondary)}.run-total-value{font-size:var(--type-body);color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}@media (max-width:360px){.rail-hero-stats{justify-content:flex-start;gap:10px 20px}.rail-hero-stats .rail-total-value{font-size:var(--text-2xl)}}.onboard-rail{padding-top:8px;padding-bottom:14px}.ink-rail .onboard-back{min-height:var(--tap-min);font-size:var(--type-body);color:var(--ink-fg-mute);margin:0;padding:0}.ink-rail .onboard-back:hover{color:var(--ink-fg)}.ink-rail .onboard-progress-segs{margin-top:8px}.ink-rail .onboard-progress-segs i{background:var(--ink-hairline)}.ink-rail .onboard-progress-segs i.on{background:var(--accent)}.ink-rail .onboard-progress-segs i.now{background:var(--accent);opacity:.55}.rail-question{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--ink-fg);text-wrap:pretty;margin:22px 0 0;font-weight:500;line-height:1.16}.onboard-rail .rail-question{margin-top:10px}.ink-rail .rail-support{color:var(--ink-fg-mute);margin-top:10px}.onboard-rail .rail-support{margin-top:8px}.ink-rail .rail-support strong{color:var(--ink-fg-soft);font-weight:600}.ink-rail .onboard-done-tick{margin:2px 0 14px}.ink-rail .onboard-import-live{border:0;border-top:1px solid var(--ink-hairline);border-radius:0;margin:18px 0 0;padding:14px 0 0}.ink-rail .onboard-import-live span{color:var(--ink-fg-mute)}.ink-rail .import-bar{background:var(--ink-wash);max-width:none;margin:12px 0 0}.onboard-body{padding-top:0}.onboard-body .input-hint a{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.onboard-choices{flex-direction:column;gap:10px;display:flex}.onboard-choice{width:100%;min-height:var(--tap-min);font-family:inherit;font-size:var(--type-body-lg);text-align:left;cursor:pointer;border-style:solid;border-width:1px;border-radius:16px;align-items:baseline;gap:12px;padding:14px 16px;display:flex}.onboard-choice-quiet{border-color:var(--border);color:var(--text-primary);background:0 0}.onboard-choice-quiet:hover:not(:disabled){border-color:var(--text-muted)}.onboard-choice-quiet.on{border-color:var(--accent)}.onboard-choice:disabled{opacity:.5;cursor:default}.onboard-choice:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.onboard-choice-name{flex:none;font-weight:600}.onboard-choice-note{text-align:right;min-width:0;font-size:var(--type-small);color:var(--text-muted);flex:auto;margin-left:auto;font-weight:400}.login-btn-strava .onboard-choice-note{color:inherit;opacity:.85}.onboard-note{font-size:var(--type-body);color:var(--text-secondary);word-wrap:break-word;overflow-wrap:break-word;margin:8px 0 0;line-height:1.55}.onboard-note+.onboard-note{margin-top:12px}.onboard-note strong{color:var(--text-primary)}.onboard-body .login-skip{text-underline-offset:3px}.onboard-bridge-step+.onboard-bridge-step{margin-top:12px}.onboard-bridge-num{align-items:center;gap:10px;margin:0 0 6px;display:flex}.onboard-bridge-num b{background:var(--accent);color:#fff;width:22px;height:22px;font-size:var(--type-small);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.onboard-bridge-num span{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:600}.onboard-bridge-card{border:1px solid var(--border);border-radius:16px;padding:14px}.onboard-bridge-card .onboard-bridge-num{align-items:flex-start}.onboard-bridge-card .onboard-bridge-num b{margin-top:2px}.onboard-bridge-card .onboard-bridge-step+.onboard-bridge-step{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.onboard-bridge-link{color:var(--text-primary);text-underline-offset:3px;white-space:nowrap;font-weight:600;text-decoration:underline}.onboard-cta{text-align:center;margin-top:20px;display:block}.onboard-after-cta{text-align:center;margin-top:12px;display:block}body:has(.login-ink){background:var(--surface-2)}.login-wrap.login-ink{background:radial-gradient(560px 420px at 88% -6%, #ff2c7821, transparent 62%), radial-gradient(480px 400px at -10% 40%, #6b4aa81a, transparent 60%), var(--surface-2);color:var(--ink-fg);margin:0 calc(var(--gutter) * -1) -72px;min-height:calc(100vh - var(--header-h,0px));min-height:min(calc(100dvh - var(--header-h,0px)), 1010px);text-align:left;padding:calc(44px + env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));flex-direction:column;justify-content:flex-start;align-items:center;gap:44px;display:flex}.login-ink>.login-ink-top,.login-ink>.login-ink-bottom{width:100%;max-width:420px}.login-ink .login-wordmark{font-size:var(--text-2xl);color:var(--ink-fg);display:inline-block}.login-ink .login-tagline{letter-spacing:-.03em;color:var(--ink-fg);text-wrap:pretty;margin:32px 0 0;font-size:clamp(27px,8.6vw,34px);font-weight:500;line-height:1.14}.login-ink .login-tagline-sub{font-size:var(--type-body-lg);color:var(--ink-fg-mute);margin:14px 0 0;line-height:1.55}.login-ink .login-signed-note{color:var(--ink-fg-soft);margin:20px 0 0}.login-ink .login-deleted-note{color:var(--ink-fg)}.login-ink .login-proof{border-top:0;justify-content:flex-start;margin:0 0 22px;padding-top:0}.login-ink .login-proof span{color:var(--ink-fg-mute);border-color:var(--ink-hairline)}.login-ink .login-btn{text-align:center;width:100%;font-size:var(--type-body-lg);border-radius:16px;padding:14px 18px;font-weight:600;display:block}.login-ink .login-btn:not(.login-btn-strava):not(.login-btn-primary){background:var(--ink-wash);border:1px solid var(--ink-hairline);color:var(--ink-fg)}.login-ink .login-btn:hover:not(:disabled):not(.login-btn-strava):not(.login-btn-primary){background:var(--ink-wash);border-color:var(--ink-fg-mute)}.login-ink .login-btn.login-btn-strava{--strava-orange:#fc4c02}.login-ink .login-btn.login-btn-strava,.login-ink .login-btn.login-btn-strava:hover:not(:disabled){background:var(--strava-orange);border-color:var(--strava-orange)}.login-ink .login-btn-primary{border:1px solid var(--accent);text-transform:none;letter-spacing:0;font-size:var(--type-body-lg);font-weight:600}.login-ink .login-divider{text-align:center;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.14em;color:var(--ink-fg-faint);margin:16px 0}.login-ink .login-email-form input{background:var(--ink-wash);border:1px solid var(--ink-hairline);color:var(--ink-fg);border-radius:16px;padding:13px 15px}.login-ink .login-email-form input::placeholder{color:var(--ink-fg-mute)}.login-ink .login-tag{font-size:var(--type-body-lg);color:var(--ink-fg-soft);margin:0}.login-ink .login-fine{font-size:var(--type-small);color:var(--ink-fg-mute);margin:16px 0 0;line-height:1.5}.login-ink .login-what{font-size:inherit;color:var(--ink-fg-soft);text-underline-offset:3px;margin:0;text-decoration:underline;display:inline}.login-ink .login-what:hover{color:var(--ink-fg)}.login-ink .login-skip{font-family:inherit;font-size:var(--type-body);cursor:pointer;color:var(--ink-fg-mute);background:0 0;border:0;margin-top:16px;padding:0}.login-ink .login-skip:hover:not(:disabled){color:var(--ink-fg)}.login-ink .login-skip:disabled{text-decoration:none}.cal{gap:12px;margin-top:14px}.cal-chev{border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:50%}.cal-dow{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);letter-spacing:.14em;text-indent:.14em;color:var(--text-muted);margin-bottom:-6px;font-weight:500}.cal-cell{border:1px solid var(--gridline);border-radius:8px;gap:3px}.cal-cell.out{background:0 0;border-color:#0000}.cal-cell.out .cal-n{color:var(--text-muted);opacity:.5}.cal-cell.today{border-color:var(--accent)}.cal-cell.sel{background:var(--surface-2)}.cal-cell.today .cal-n{color:var(--text-primary);opacity:1;font-weight:650}.cal-day{border:0;border-top:1px solid var(--gridline);background:0 0;border-radius:0;margin-top:2px;padding:12px 0 0}.cal-day-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-day-actions .cal-add{align-self:center}.ink-rail .library-tabs{margin-bottom:0}.library-tab-count{font-variant-numeric:tabular-nums;opacity:.7}.ink-rail .library-search{box-sizing:border-box;width:100%;max-width:none;margin-top:12px}.library-back{min-height:var(--tap-min);color:var(--ink-fg-mute);font-size:var(--type-body-lg);align-items:center;gap:7px;margin:0 0 6px;padding:0 2px;text-decoration:none;display:inline-flex}.library-back:hover{color:var(--ink-fg)}.library-rail-foot{border-top:1px solid var(--ink-hairline);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.library-rail-note{max-width:26ch;font-size:var(--type-small);color:var(--ink-fg-mute);margin:0;line-height:1.4}.library-build{width:auto;min-height:var(--tap-min);font-size:var(--type-small);text-transform:none;letter-spacing:0;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:8px 15px;font-weight:650;display:inline-flex}.ink-rail .library-head{align-items:center;margin-top:0;margin-bottom:0}.ink-rail .library-head .rail-kick{margin:0 0 3px}.ink-rail .library-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;color:var(--ink-fg);margin:0;font-size:25px;font-weight:520;line-height:1.1}.library-body{padding-top:0}.library-saved-note{margin:0 0 10px}.plan-wizard{border-radius:0;max-width:none}.plan-wizard-form{gap:0}.plan-wizard-rail{padding-top:14px;padding-bottom:20px}.plan-wizard-progress{align-items:center;gap:10px;display:flex}.ink-rail .plan-wizard-count{white-space:nowrap;flex:none}.ink-rail .plan-wizard-dots{flex:auto;gap:4px}.ink-rail .plan-wizard-dots span{background:var(--ink-hairline);border-radius:2px;flex:auto;width:auto;height:3px}.ink-rail .plan-wizard-dots span.on{background:var(--accent)}.ink-rail .plan-wizard-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.03em;color:var(--ink-fg);text-wrap:pretty;margin:16px 0 0;font-size:clamp(24px,7.2vw,31px);font-weight:500;line-height:1.14}.ink-rail .plan-wizard-title.is-verdict{margin-top:14px;font-size:clamp(21px,6.2vw,27px);line-height:1.16}.ink-rail .plan-wizard-lead{max-width:46em;font-size:var(--type-body);color:var(--ink-fg-mute);margin:10px 0 0;line-height:1.55}.ink-rail .plan-wizard-lead.is-verdict{color:var(--ink-fg-soft)}.plan-wizard-heads{margin-top:14px}.plan-heads-chip{min-height:var(--tap-min);border:1px solid var(--estimated);color:var(--estimated);font-family:inherit;font-size:var(--type-eyebrow);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 14px;font-weight:600;display:inline-flex}.plan-heads-chip:active{transform:translateY(1px)}.plan-heads-notes{margin-top:8px}.ink-rail .plan-note{background:var(--ink-wash);border-left-color:var(--estimated);color:var(--ink-fg-soft)}.ink-rail .plan-note:first-of-type{margin-top:0}.plan-wizard-alert{margin-top:14px}.plan-wizard-body{padding-top:2px}.plan-wizard-body .notes-row{border-top:1px solid var(--gridline);background:0 0;border-radius:0;margin:0;padding:15px 0 17px}.plan-wizard-body .notes-row .filter-chip{border-color:var(--gridline)}.plan-wizard-body .notes-row .filter-chip.active{border-color:var(--accent)}.plan-wizard-body .notes-row .filter-input,.plan-wizard-body .notes-row .notes-select{border-color:var(--gridline)}.plan-wizard-body .notes-row .plan-review-list{gap:0}.plan-wizard .plan-mode-tile{border:0;border-top:1px solid var(--gridline);text-align:left;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:auto;margin:0 -12px;padding:12px;font-family:inherit;display:flex}.plan-wizard .plan-mode-tile:first-child{border-top:0}.plan-wizard .plan-mode-tile.active{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent);border-top-color:#0000}.plan-wizard .plan-mode-tile p{color:var(--text-muted);font-size:var(--type-body);margin:2px 0 0;line-height:1.35}.plan-wizard .plan-mode-tile>div{flex:auto;min-width:0}.plan-mode-step{padding-top:18px}.plan-mode-lead{background:var(--surface-2);width:auto;box-shadow:inset 2px 0 0 var(--accent);text-align:left;cursor:pointer;border:0;border-radius:16px;align-items:center;gap:12px;margin:0 -12px;padding:14px 12px;font-family:inherit;display:flex}.plan-mode-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.plan-mode-name{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:650;display:block}.plan-mode-hint{font-size:var(--type-small);color:var(--text-muted);line-height:1.35}.plan-mode-dot{display:none}.plan-mode-lead.active .plan-mode-dot{color:var(--accent);font-size:var(--type-body-lg);flex:none;line-height:1;display:block}.plan-mode-kick{margin:20px 0 0}.plan-mode-rows{flex-direction:column;margin-top:4px;display:flex}.plan-mode-row{width:auto;min-height:var(--tap-min);border:0;border-top:1px solid var(--gridline);text-align:left;cursor:pointer;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:0 -12px;padding:12px;font-family:inherit;display:flex}.plan-mode-row:last-child{border-bottom:1px solid var(--gridline)}.plan-mode-row.active{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent);border-top-color:#0000}.plan-mode-chev{color:var(--text-muted);font-size:var(--type-heading);flex:none;line-height:1}.plan-wizard-body>.plan-review-list{gap:6px}.plan-review-note{margin:4px 0 0}.plan-summary-rows{flex-direction:column;margin-top:4px;display:flex}.plan-summary-rows .plan-review-row{border:0;border-top:1px solid var(--gridline);border-radius:0;align-items:center;padding:11px 0}.plan-summary-rows .plan-review-row:last-child{border-bottom:1px solid var(--gridline)}.plan-summary-rows .plan-review-row p{font-size:var(--type-body-lg);margin:2px 0 0;line-height:1.35}.plan-summary-rows .plan-review-row .filter-chip{flex:none}.plan-finetune-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.plan-finetune-row>.filter-chip{flex:none}.plan-wizard-body .plan-finetune-note{flex:190px;min-width:0;margin-top:0;line-height:1.35}.plan-wizard-actions{bottom:var(--bottom-nav-h);z-index:2;margin:22px calc(var(--gutter) * -1) 0;padding:12px var(--gutter);border-top:1px solid var(--gridline);background:var(--page);align-items:center;gap:10px;display:flex;position:sticky}@media (max-width:720px){.plan-wizard-actions{padding-bottom:12px}}.plan-wizard-back{border:1px solid var(--border);min-height:48px;color:var(--text-secondary);font-family:inherit;font-size:var(--type-body-lg);cursor:pointer;background:0 0;border-radius:16px;flex:none;justify-content:center;align-items:center;padding:0 18px;font-weight:600;display:flex}.plan-wizard-back:hover:not(:disabled){border-color:var(--baseline);color:var(--text-primary)}.plan-wizard-back:active:not(:disabled){transform:translateY(1px)}.plan-wizard-back:disabled{opacity:.5;cursor:default}.plan-wizard-next{width:auto;max-width:420px;min-height:48px;font-size:var(--type-body-lg);text-transform:none;letter-spacing:.01em;border-radius:16px;flex:auto;justify-content:center;align-items:center;padding:0 18px;font-weight:650;display:flex}:root{--plan-wizard-actions-h:73px}body:has(.plan-wizard-actions) .feedback-panel{bottom:calc(var(--bottom-nav-h) + var(--plan-wizard-actions-h) + var(--bottom-gap))}@media (min-width:721px){.plan-wizard-body,.plan-wizard-alert{max-width:600px}}@media (max-width:720px){.plan-wizard-body .notes-row{padding:13px 0 15px}.plan-wizard-rail{padding-bottom:18px}.plan-mode-step{padding-top:14px}.plan-mode-lead{padding:12px}.plan-mode-row,.plan-wizard .plan-mode-tile{padding:11px 12px}}.wizard-head{min-height:var(--tap-min);align-items:center;gap:12px;margin-bottom:4px;display:flex}.wizard-back{color:var(--text-secondary);font-size:var(--text-3xl);min-width:var(--tap-min);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.wizard-back:hover{color:var(--text-primary)}.wizard-head .plan-wizard-dots{margin-left:auto}.wizard-kicker{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);margin:0 0 4px}.wizard-title{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-2xl);color:var(--text-primary);margin:0 0 12px;font-weight:500}.wizard-options{gap:10px;margin-bottom:14px;display:grid}.wizard-option{text-align:left;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);cursor:pointer;border-radius:16px;gap:3px;padding:14px 16px;display:grid}.wizard-option strong{font-size:var(--type-body-lg);font-weight:600}.wizard-option span{font-size:var(--type-small);color:var(--text-secondary)}.wizard-option.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.wizard-option.accent span{color:var(--accent-ink);opacity:.82}.wizard-cta{width:100%;margin-top:14px}.wizard-secondary,.wizard-secondary-btn{width:100%}.wizard-secondary{color:var(--text-secondary);font-size:var(--type-body);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;margin-top:8px}.wizard-secondary:hover{color:var(--text-primary)}.wizard-secondary-btn{margin-top:8px}.wizard-wait{text-align:center;justify-items:center;gap:8px;padding:56px 24px;display:grid}.wizard-wait strong{font-size:var(--type-title);color:var(--text-primary)}.wizard-wait span{font-size:var(--type-body);color:var(--text-muted);max-width:30ch}.wizard-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin-bottom:8px;animation:.9s linear infinite wizard-spin}@keyframes wizard-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.wizard-spinner{animation-duration:3s}}.wizard-flag{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:12px;gap:2px;margin-bottom:12px;padding:11px 13px;display:grid}.wizard-flag strong{font-size:var(--type-body);color:var(--accent)}.wizard-flag span{font-size:var(--type-small);color:var(--text-secondary)}.wizard-step-chips{gap:0;margin:12px 0;display:grid}.wizard-step-chips .filter-chip{cursor:default;border:0;border-bottom:1px solid var(--gridline);text-align:left;width:100%;font-size:var(--type-body);color:var(--text-primary);background:0 0;border-radius:0;grid-template-columns:1fr auto;align-items:baseline;gap:10px;padding:9px 2px;display:grid}.wizard-step-chips .filter-chip:last-child{border-bottom:0}.wizard-step-chips .step-dur{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:var(--type-small)}.plan-calendar:not(.plan-calendar-choosing){background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:0;padding:0;display:block;overflow:hidden}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day{border:0;border-bottom:1px solid var(--gridline);box-shadow:none;border-radius:0;align-items:center;gap:12px;min-height:0;padding:13px 16px;display:flex}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:not(.plan-today){background:0 0}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:last-child{border-bottom:0}.plan-calendar:not(.plan-calendar-choosing) .plan-day-rail{background:0 0;border:0;flex:0 0 46px;padding:0;display:block}.plan-calendar:not(.plan-calendar-choosing) .plan-day-name{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted)}.plan-calendar:not(.plan-calendar-choosing) .plan-today-tag{display:none}.plan-calendar:not(.plan-calendar-choosing) .plan-day-date{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600;line-height:1.2;display:block}.plan-calendar:not(.plan-calendar-choosing) .plan-today:not(.dc-band) .plan-day-name{color:var(--accent)}.plan-calendar:not(.plan-calendar-choosing) .plan-day-body{flex:1;gap:6px;min-width:0;display:grid}.plan-calendar:not(.plan-calendar-choosing) .plan-session{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:not(.plan-today):has(.plan-next){background:color-mix(in srgb, var(--accent) 6%, transparent)}.plan-calendar:not(.plan-calendar-choosing) .plan-rest-day,.plan-calendar:not(.plan-calendar-choosing) .plan-rest-day-add{min-height:var(--tap-min);font-size:var(--type-body);color:var(--text-muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.plan-row{width:100%;min-height:var(--tap-min);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.plan-row-title{min-width:0;font-size:var(--type-body-lg);color:var(--text-primary);flex:0 auto;align-items:baseline;font-weight:600;display:flex}.plan-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.plan-row-chev{color:var(--text-muted);flex:none;margin-left:6px;font-weight:400}.plan-row-distance{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.plan-row-verdict{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);flex:0 200 auto;margin-left:-4px;overflow:hidden}.plan-row-dot{background:var(--baseline);border-radius:50%;flex:none;width:7px;height:7px}.plan-row-dot.accent{background:var(--accent)}.plan-row-dot.done,.plan-row-dot.warn{text-align:center;width:auto;min-width:14px;height:auto;font-size:var(--type-body);background:0 0;border-radius:0;font-weight:700;line-height:1}.plan-row-dot.done{color:var(--status-good)}.plan-row-dot.warn{color:var(--status-warning)}.load-card{flex-direction:column;gap:6px;display:flex}.load-card-joined{border-top:1px solid var(--gridline);border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.plan-arc-card:has(+.load-card-joined){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.load-head{text-align:left;width:100%;color:inherit;cursor:pointer;min-height:var(--tap-min);background:0 0;border:0;align-items:baseline;gap:10px;padding:0;display:flex}.load-head .kicker{flex:none}.load-chevron{color:var(--text-muted);margin-left:auto}.load-card-quiet .load-state{font-size:var(--type-body-lg)}.load-state{font-size:var(--type-title);align-items:baseline;gap:8px;margin:0;font-weight:650;display:flex}.load-sentence{font-size:var(--type-body-lg);margin:0;line-height:1.45}.load-note{font-size:var(--type-body);color:var(--text-muted);margin:0}.load-note-caveat{color:var(--text-secondary)}.load-ramp{align-items:flex-end;gap:4px;height:56px;margin:8px 0 4px;display:flex;position:relative}.load-ramp-base{z-index:0;border-top:1px dashed var(--baseline);position:absolute;left:0;right:0}.load-week{background:var(--series-1);z-index:1;border-radius:2px 2px 0 0;flex:1;position:relative}.load-week-now{background:color-mix(in srgb, var(--series-1) 18%, transparent);border:1.5px dashed var(--series-1);border-bottom:0}.load-risk{background:var(--surface-2);border-left:3px solid var(--series-1);border-radius:8px;margin-top:10px;padding:11px 12px}.load-risk p{font-size:var(--type-body-lg);margin:4px 0 0;line-height:1.45}.load-risk .coach-read-adjust{border-left:0;padding-left:0}.load-risk .coach-read-why{font-size:var(--type-body-lg);margin:4px 0 0;line-height:1.45}.load-toggle{color:var(--accent);font-size:var(--type-body);cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:10px;padding:0;font-weight:600}.load-numbers{gap:14px;margin-top:10px;display:flex}.load-numbers div{flex-direction:column;flex:1;display:flex}.load-num{font-size:var(--type-title);font-variant-numeric:tabular-nums;margin-top:2px;font-weight:650}.workout-source-text{color:var(--text-muted);overflow-wrap:anywhere}.wizard-name-input{font-size:var(--type-title);background:0 0;border-width:0 0 1px;border-radius:0;padding-left:0;padding-right:0;font-weight:600}.plan-missed .plan-row-title{color:var(--text-muted);font-weight:500}.plan-sheet-scrim{z-index:var(--z-sheet-scrim);cursor:pointer;background:#0000008c;border:0;position:fixed;inset:0}.plan-sheet{z-index:var(--z-sheet);background:var(--surface);border-top:1px solid var(--border);padding:12px 20px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;max-height:82svh;animation:.26s cubic-bezier(.2,.9,.3,1) both sheet-up;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (prefers-reduced-motion:reduce){.plan-sheet{animation-duration:1ms}}.plan-sheet-handle{background:var(--baseline);border-radius:2px;width:36px;height:4px;margin:0 auto 16px;display:block}.plan-sheet-kicker{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);margin:0 0 4px}.plan-sheet-kicker.on{color:var(--accent)}.plan-sheet-title{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);color:var(--text-primary);margin-bottom:3px;text-decoration:none;display:block}.plan-sheet-title:hover{text-decoration:underline}.plan-sheet-sub{font-size:var(--type-body);color:var(--text-secondary);margin:0 0 8px}.plan-sheet-note{font-size:var(--type-small);color:var(--text-muted);margin:0 0 6px;line-height:1.45}.plan-sheet-note.warn{color:var(--status-warning)}.share-card-preview{z-index:var(--z-sheet);background:#0a0b0ceb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.share-card-preview img{border-radius:12px;max-width:min(86vw,420px);max-height:62svh;box-shadow:0 12px 40px #00000080}.share-card-preview p{text-align:center;max-width:320px;font-size:var(--type-body);color:#f2f3f0;margin:0}.share-card-designs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.share-card-design{min-height:var(--tap-min);color:#f2f3f0;font-family:inherit;font-size:var(--type-small);cursor:pointer;background:0 0;border:1px solid #f2f3f059;border-radius:999px;padding:8px 16px}.share-card-design.active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.share-card-hint{opacity:.75;font-size:var(--type-small)!important}.share-card-actions{gap:10px;display:flex}.share-card-send,.share-card-close{min-height:var(--tap-min);font-family:inherit;font-size:var(--type-body);cursor:pointer;border-radius:999px;padding:10px 28px;font-weight:600}.share-card-send{background:var(--accent);color:var(--accent-ink);border:0}.share-card-close{color:#f2f3f0;background:0 0;border:1px solid #f2f3f059}.season-strip{-webkit-overflow-scrolling:touch;align-items:stretch;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.season-node{border:1px solid var(--card-border,var(--surface-2));background:var(--surface);width:128px;color:inherit;border-radius:12px;flex-direction:column;flex:none;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.season-node.raced{background:var(--surface-2)}.season-node.goal{border-color:var(--accent)}.season-when{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.season-name{font-size:var(--type-small);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.season-figure{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);color:var(--text-primary);line-height:1.1}.season-node.goal .season-figure{color:var(--accent)}.season-sub{font-size:var(--type-micro);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.season-today{border-left:2px solid var(--accent);flex:none;align-items:center;padding-left:4px;display:flex}.season-today span{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);writing-mode:vertical-rl}.plan-sheet-rest-offer{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent);border-radius:0 12px 12px 0;margin:2px 0 6px;padding:12px}.plan-sheet-rest-lead{font-weight:600;font-size:var(--type-body);color:var(--text-primary);margin:0}.plan-sheet-rest-why{font-size:var(--type-small);color:var(--text-secondary);margin:4px 0 10px;line-height:1.5}.plan-sheet-rest-why:not(:last-of-type){margin-bottom:4px}.plan-sheet-rest-detail{font-size:var(--type-small);color:var(--text-muted);margin:0 0 4px;line-height:1.45}.plan-sheet-rest-detail:last-of-type{margin-bottom:10px}.plan-sheet-rest-offer .plan-sheet-action{margin-top:0}.plan-sheet-actions{gap:8px;margin-top:14px;display:grid}.plan-rename-input{box-sizing:border-box;width:100%}.plan-sheet-action{border:1px solid var(--border);width:100%;color:var(--text-primary);font-size:var(--type-body-lg);text-align:center;min-height:var(--tap-min);cursor:pointer;background:0 0;border-radius:12px;padding:10px 12px;text-decoration:none;display:block}.plan-sheet-action:hover{border-color:var(--text-muted)}.plan-sheet-action.primary{background:var(--accent);border-color:var(--accent);color:#fff}.plan-sheet-action.primary:hover{border-color:var(--accent)}.plan-sheet-action.danger{color:var(--status-serious);border-color:#0000}@media (min-width:900px){.plan-sheet{border:1px solid var(--border);border-radius:16px;width:min(420px,100vw - 48px);max-height:min(80svh,640px);animation:none;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.plan-sheet.dragging{transform:translate(-50%,-50%)}.plan-sheet-handle{display:none}}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day,.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-session,.plan-calendar:not(.plan-calendar-choosing) .plan-day-body{min-height:0}.plan-calendar:not(.plan-calendar-choosing) .plan-session-actions{margin-top:8px}.plan-calendar:not(.plan-calendar-choosing) .plan-rest-day{min-height:0;font-size:var(--type-body);margin:0}.plan-calendar:not(.plan-calendar-choosing) button.plan-rest-day-add{min-height:var(--tap-min);border:0}.custom-preview-steps-tappable li{padding:0;display:block}.custom-step-open{width:100%;min-height:var(--tap-min);text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:start;gap:8px;padding:9px 4px;display:grid}.custom-step-open:hover{background:color-mix(in srgb, var(--text-primary) 4%, transparent)}.custom-step-open>.splits-swatch{margin-top:6px}.custom-step-open>strong{font-size:var(--type-body-lg);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.custom-step-open>.custom-step-meta{color:var(--text-muted);font-size:var(--type-small);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-top:2px;line-height:1.3}.custom-step-chevron{color:var(--text-muted);font-size:var(--type-body-lg);line-height:1.1}.step-editor{display:block}.step-field{gap:6px;margin-bottom:14px;display:grid}.step-field .filter-input{width:100%;max-width:none}.step-kinds{flex-wrap:wrap;gap:6px;display:flex}.step-optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:var(--type-eyebrow)}.plan-calendar:not(.plan-calendar-choosing) .plan-session{position:relative}.plan-calendar:not(.plan-calendar-choosing) .plan-row:after{content:"";position:absolute;inset:0 -16px 0 -62px}.plan-calendar:not(.plan-calendar-choosing) .plan-execution,.plan-calendar:not(.plan-calendar-choosing) .plan-session-actions{z-index:1;position:relative}.plan-sheet.dragging{transition:none;animation:none}.plan-sheet:not(.dragging){transition:transform .18s cubic-bezier(.2,.9,.3,1)}.plan-sheet-prompt{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:var(--text-muted);margin:0 0 2px}.plan-sheet-action.quiet{color:var(--text-secondary);border-color:#0000}.step-field .notes-textarea,.step-field .custom-workout-text{background:var(--surface);border:1px solid var(--border);width:100%;max-width:none;font-size:var(--type-body-lg);color:var(--text-primary);resize:vertical;border-radius:12px;padding:10px 12px;line-height:1.5}.step-field .notes-textarea::placeholder{color:var(--text-muted)}.step-field .notes-textarea:focus,.step-field .filter-input:focus{outline:2px solid var(--accent);outline-offset:1px}.step-field .chip-select,.step-field .filter-row{width:100%}@media (min-width:900px){.plan-calendar:not(.plan-calendar-choosing){background:var(--gridline);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;display:grid}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day{border-bottom:0;min-height:120px;padding:10px 10px 14px;display:block}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:not(.plan-today){background:var(--surface)}.plan-calendar:not(.plan-calendar-choosing) .plan-day-rail{flex:none;align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.plan-calendar:not(.plan-calendar-choosing) .plan-day-date{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-secondary);display:inline}.plan-calendar:not(.plan-calendar-choosing) .plan-day-body{display:block}.plan-calendar:not(.plan-calendar-choosing) .plan-row{grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:2px 8px;min-height:0;display:grid}.plan-calendar:not(.plan-calendar-choosing) .plan-row-distance{grid-column:1}.plan-calendar:not(.plan-calendar-choosing) .plan-row-dot{grid-column:2}.plan-calendar:not(.plan-calendar-choosing) .plan-row-verdict{grid-column:3}.plan-calendar:not(.plan-calendar-choosing) .plan-row-title{white-space:normal;font-size:var(--type-body);grid-column:1/-1;line-height:1.3}.plan-calendar:not(.plan-calendar-choosing) .plan-row-dot{align-self:center}.plan-calendar:not(.plan-calendar-choosing) .plan-row:after{content:none}.plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:not(.plan-today):has(.plan-next){background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.ink-rail{padding-left:calc(50vw - 50% + var(--gutter));padding-right:calc(50vw - 50% + var(--gutter));margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}html{overflow-x:hidden}.ink-rail .daystrip{width:300px;margin-left:auto;margin-right:0}.home-rail{grid-template-columns:minmax(0,1fr) 300px;align-items:start;column-gap:48px;display:grid}.home-rail>*{grid-column:1/-1}.home-rail>.kicker{grid-area:1/1}.home-rail>.card-head-row{grid-area:2/1;margin-bottom:0}.home-rail>.daystrip{grid-area:1/2/3;align-self:center;margin:0}}.admin-conn-who{font-size:var(--type-small);color:var(--text-muted);word-break:break-word;margin:-2px 0 10px;line-height:1.5}.admin-athletes{gap:2px;display:grid}.admin-athlete{border-bottom:1px solid var(--gridline);padding:10px 0}.admin-athlete:last-child{border-bottom:0}.admin-athlete-head{align-items:baseline;gap:8px;display:flex}.admin-athlete-head strong{font-size:var(--type-body-lg);color:var(--text-primary);word-break:break-word}.admin-athlete-id{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);color:var(--text-muted);margin-left:auto}.admin-athlete-meta{font-size:var(--type-small);color:var(--text-secondary);margin:2px 0 0}.admin-athlete-meta+.admin-athlete-meta{color:var(--text-muted)}.admin-kpis{grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 20px;display:grid}.admin-kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:12px 13px;display:flex}.admin-kpi-n{letter-spacing:-.01em;color:var(--text-primary);font-size:27px;font-weight:800;line-height:1}.admin-kpi-n small{font-size:var(--type-body-lg);color:var(--text-muted);font-weight:600}.admin-kpi-l{font-size:var(--type-small);color:var(--text-secondary);margin-top:6px}.admin-kpi-d{font-size:var(--type-micro);color:var(--text-muted);margin-top:3px}.admin-kpi-d.up{color:var(--positive,#4ecb7f)}.admin-kpi-d.amber{color:var(--warning,#e8b23a)}.admin-funnel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:4px;padding:13px}.admin-frow{align-items:center;gap:9px;margin-bottom:8px;display:flex}.admin-frow:last-child{margin-bottom:0}.admin-fl{font-size:var(--type-small);color:var(--text-secondary);flex:none;width:108px}.admin-track{background:var(--card-2,#00000040);border-radius:6px;flex:1;height:18px;overflow:hidden}.admin-fill{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, white));border-radius:6px;height:100%;display:block}.admin-fv{font-size:var(--type-small);text-align:right;width:34px;color:var(--text-primary);flex:none;font-weight:700}.admin-funnel-warn{font-size:var(--type-small);color:var(--text-primary);background:color-mix(in srgb, var(--warning,#e8b23a) 14%, transparent);border:1px solid color-mix(in srgb, var(--warning,#e8b23a) 45%, var(--border));border-radius:12px;margin:8px 0 0;padding:9px 11px;line-height:1.4}.admin-funnel-note{font-size:var(--type-small);color:var(--text-muted);margin:8px 0 0;line-height:1.4}.admin-funnel-lede{font-size:var(--type-small);color:var(--text-muted);margin:0 0 8px;line-height:1.4}.admin-adopt{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.admin-adopt-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:baseline;gap:8px;padding:11px 12px;display:flex}.admin-adopt-n{color:var(--text-primary);font-size:21px;font-weight:800;line-height:1}.admin-adopt-l{font-size:var(--type-small);color:var(--text-secondary);flex-direction:column;min-width:0;display:flex}.admin-adopt-l small{font-size:var(--type-micro);color:var(--text-muted);margin-top:3px}.admin-look{background:var(--surface);border:1px solid color-mix(in srgb, var(--warning,#e8b23a) 40%, var(--border));border-radius:12px;padding:2px 13px}.admin-look-row{border-top:1px solid var(--border);color:inherit;align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.admin-look-row:first-child{border-top:none}.admin-look-who{flex:1;min-width:0}.admin-look-who b{font-size:var(--type-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-look-who span{font-size:var(--type-small);color:var(--text-muted)}.admin-look-go{font-size:var(--type-small);color:var(--accent);flex:none}.admin-segments{gap:7px;margin-top:8px;padding-bottom:10px;display:flex;overflow-x:auto}.admin-segments .filter-chip{white-space:nowrap;flex:none}.admin-list{display:block}.admin-ath{border-top:1px solid var(--border);color:inherit;align-items:center;gap:11px;padding:12px 0;text-decoration:none;display:flex}.admin-ath:first-child{border-top:none}.admin-av{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;font-size:var(--type-small);color:var(--text-secondary);border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.admin-ath-mid{flex:1;min-width:0}.admin-ath-mid b{font-size:var(--type-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-ath-mid span{font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-ath-rt{text-align:right;flex:none}.admin-ath-last{font-size:var(--type-micro);color:var(--text-muted);margin-top:3px;display:block}.admin-badge{font-size:var(--type-micro);white-space:nowrap;border-radius:999px;padding:2px 8px;font-weight:700}.admin-badge.b-active{background:color-mix(in srgb, var(--positive,#4ecb7f) 16%, transparent);color:var(--positive,#4ecb7f)}.admin-badge.b-at_risk{background:color-mix(in srgb, var(--warning,#e8b23a) 16%, transparent);color:var(--warning,#e8b23a)}.admin-badge.b-bounced{background:color-mix(in srgb, var(--negative,#ff5a5a) 16%, transparent);color:var(--negative,#ff5a5a)}.admin-badge.b-new{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.admin-tools{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-tool{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:12px;padding:12px 13px;text-decoration:none;display:block}.admin-tool b{font-size:var(--type-body);color:var(--text-primary);display:block}.admin-tool span{font-size:var(--type-small);color:var(--text-muted)}.admin-srow{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:11px;margin-bottom:8px;padding:11px 13px;display:flex}.admin-srow-mid{flex:1;min-width:0}.admin-srow-mid b{font-size:var(--type-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-srow-mid b a{color:inherit;text-decoration:none}.admin-srow-mid span{font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.admin-stat{font-size:var(--type-micro);border-radius:999px;flex:none;padding:2px 9px;font-weight:700}.admin-stat.ok{background:color-mix(in srgb, var(--positive,#4ecb7f) 16%, transparent);color:var(--positive,#4ecb7f)}.admin-stat.err{background:color-mix(in srgb, var(--negative,#ff5a5a) 16%, transparent);color:var(--negative,#ff5a5a)}.admin-stages{gap:6px;margin:-2px 0 10px;padding:2px 6px 0;display:grid}.admin-stages .stage-line{font-size:var(--type-small);color:var(--text-secondary)}.admin-empty{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:28px 16px}.admin-empty-mark{margin-bottom:8px;font-size:26px;line-height:1}.admin-empty b{font-size:var(--type-body-lg);color:var(--positive,#4ecb7f);display:block}.admin-empty span{font-size:var(--type-small);color:var(--text-muted);margin-top:4px;display:block}.step-editor+.structure-bar,.custom-preview-steps+.structure-bar{margin-top:0}.wizard-step-chips~.structure-bar,.custom-preview-steps-tappable~.structure-bar{margin:0}.structure-bar{margin:10px 0 14px}.wizard-block{grid-template-columns:auto 1fr;align-items:stretch;display:grid}.wizard-block-steps{grid-column:2;display:grid}.wizard-block:not(.repeated) .wizard-block-steps{grid-column:1/-1}.wizard-reps{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--accent);border-right:2px solid color-mix(in srgb, var(--accent) 35%, transparent);white-space:nowrap;grid-column:1;align-self:center;margin-right:12px;padding-right:12px}.trend-share{color:var(--text-primary)}.trend-share b{font-variant-numeric:tabular-nums}.race-target{align-items:baseline;gap:10px;margin:0;display:flex}.race-target b{font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:650}.race-target span{font-size:var(--type-body-lg);color:var(--text-secondary)}.race-band{border-top:1px solid var(--gridline);font-size:var(--type-small);color:var(--text-secondary);margin:10px 0 0;padding-top:10px}.race-band b{color:var(--text-primary);font-variant-numeric:tabular-nums}.race-splits{border-collapse:collapse;width:100%}.race-splits th{text-align:left;text-transform:uppercase;color:var(--text-muted);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);border-bottom:1px solid var(--gridline);padding-bottom:7px}.race-splits td{border-bottom:1px solid var(--gridline);font-size:var(--type-body-lg);font-variant-numeric:tabular-nums;padding:9px 0}.race-splits tr:last-child td{border-bottom:0}.race-splits .num{text-align:right}.race-phase{border-bottom:1px solid var(--gridline);padding:11px 0}.race-phase:last-child{border-bottom:0}.race-phase h3{font-size:var(--type-body-lg);margin:0;font-weight:600}.race-phase p{font-size:var(--type-small);color:var(--text-secondary);margin:2px 0 0}.race-phase-hr{font-variant-numeric:tabular-nums;color:var(--text-muted)!important;font-size:var(--type-small)!important}.race-fuel{border-bottom:1px solid var(--gridline);font-size:var(--type-small);align-items:baseline;gap:11px;padding:9px 0;display:flex}.race-fuel:last-of-type{border-bottom:0}.race-fuel-clock{width:84px;color:var(--accent);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.race-fuel b{font-size:var(--type-body-lg);font-weight:600;display:block}.race-fuel .notes-hint{display:block}.race-contingency{border-bottom:1px solid var(--gridline);padding:11px 0}.race-contingency:last-of-type{border-bottom:0}.race-contingency summary{cursor:pointer;font-size:var(--type-body-lg);min-height:var(--tap-min);align-items:center;font-weight:600;display:flex}.race-contingency p{font-size:var(--type-small);color:var(--text-secondary);margin:6px 0 0}.race-intent{font-size:var(--type-small);color:var(--text-secondary);margin:0 0 10px;line-height:1.5}.race-intent b{color:var(--text-primary)}.race-purpose{border-top:1px solid var(--gridline);margin-top:14px;padding-top:12px}.race-purpose-chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.race-purpose .notes-hint{margin-top:8px}.race-workout-lead{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 10px;display:flex}.race-workout-lead b{font-size:var(--type-title);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:650}.race-workout-lead span{font-size:var(--type-small);color:var(--text-secondary)}.race-splits tr.race-block td{color:var(--text-primary);font-weight:620}.data-sources{margin-top:18px}.data-sources-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.data-sources-list li{font-size:var(--type-small);color:var(--text-muted)}.data-sources-list b{color:var(--text-secondary);font-weight:600}.race-target-row{margin-top:10px}.race-target-row .link-quiet{font-size:var(--type-small);color:var(--accent)}.race-target-row b{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:600}.race-target-edit{align-items:center;gap:8px;margin-top:8px;display:flex}.race-target-edit .filter-input{flex:1;min-width:0}.race-pace-source{font-size:var(--type-small);color:var(--text-muted);margin:6px 0 0;line-height:1.5}.race-pace-source b{color:var(--text-secondary);font-weight:600}.race-course-shape{font-size:var(--type-body-lg);margin:0 0 4px}.race-course-shape b{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:600}.race-course-sources{flex-wrap:wrap;gap:8px;margin:10px 0 0}.race-course-remove{cursor:pointer;color:var(--text-muted);font-size:var(--type-small);background:0 0;border:0;margin-top:10px;padding:0;display:inline-block}.race-course-dial{flex-wrap:wrap;gap:8px;margin:10px 0 0}.race-course-strip{width:100%;height:auto;margin:10px 0 0;display:block}.race-course-strip polyline{stroke:var(--accent)}.race-course-strip line{stroke:var(--border)}.race-course-dialnote{background:var(--surface-2);border:1px solid var(--border);font-size:var(--type-small);color:var(--text-secondary);border-radius:12px;margin:10px 0 0;padding:9px 11px;line-height:1.55}.race-course-dialnote b{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:600}.race-course-splits td.num,.race-course-splits th.num{white-space:nowrap}.race-course-splits tr.race-course-tail td{color:var(--text-secondary)}.race-course-search{width:100%;margin-top:10px}.race-course-list{flex-direction:column;gap:6px;max-height:260px;margin-top:10px;display:flex;overflow-y:auto}.race-course-option{border:1px solid var(--border);background:var(--surface-2);color:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}.race-course-option:disabled{opacity:.5}.race-course-option-name{font-size:var(--type-body)}.race-course-option-meta{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted)}.feel-prompt{border-top:1px solid var(--border);margin-top:14px;padding-top:13px}.feel-prompt .feel-chips{margin-bottom:0}.feel-prompt .feel-sub{margin-top:12px}.feel-prompt .feel-hint{font-size:var(--type-caption);color:var(--text-muted);margin-top:8px}.today-eyebrow{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;margin:6px 2px 4px}.today-when{color:var(--accent);font-weight:650}.today-date{color:var(--text-muted)}.today-card{color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:10px 18px 9px;text-decoration:none;display:block;position:relative;overflow:hidden}.today-card:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.today-kind{font-size:var(--type-body);color:var(--text-secondary);align-items:center;gap:9px;font-weight:600;display:flex}.today-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.today-hero{flex-wrap:wrap;align-items:baseline;gap:3px 12px;margin-top:6px;display:flex}.today-reps{font-size:34px;font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.01em;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600;line-height:1}.today-pace{white-space:nowrap;align-items:baseline;display:inline-flex}.today-at{font-size:31px;font-family:var(--font-grotesk), system-ui, sans-serif;color:var(--accent);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.today-unit{font-size:var(--type-title);color:var(--text-muted);margin-left:3px;padding-bottom:2px;font-weight:600}.today-ceiling{font-size:var(--type-small);color:var(--text-muted);margin-left:6px;padding-bottom:2px;font-weight:600}.today-meta{font-size:var(--type-body-lg);color:var(--text-muted);margin-top:6px;line-height:1.45;display:block}.today-readiness{font-size:var(--type-small);color:var(--warning,#b98317);margin-top:5px;line-height:1.4;display:block}.today-readiness-line,.today-readiness-why{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.today-readiness-why{color:var(--text-muted)}.today-why{-webkit-line-clamp:1;line-clamp:1;font-size:var(--type-body-lg);color:var(--text-secondary);-webkit-box-orient:vertical;margin-top:6px;line-height:1.48;display:-webkit-box;overflow:hidden}.today-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:8px;display:flex}.today-onwatch{font-size:var(--type-body);color:var(--text-muted);align-items:center;gap:7px;display:flex}.today-onwatch svg{color:var(--accent);flex:none}.today-see{font-size:var(--type-body-lg);color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-weight:600}.today-done{padding-bottom:16px}.goal-card{margin-top:var(--space-2);background:linear-gradient(#ff2c7817,#ff2c7805);border:1px solid #ff2c782e;border-radius:16px;padding:8px 16px}.goal-arc{margin-top:8px}.goal-arc .taper-arc i,.goal-arc .taper-arc button{background:color-mix(in srgb, var(--accent) 16%, transparent)}.goal-arc .taper-arc .past{background:var(--baseline)}.goal-arc .taper-arc .taper{background:color-mix(in srgb, var(--accent) 45%, transparent)}.goal-arc .taper-arc .here{background:var(--accent)}.goal-week{border-top:1px solid color-mix(in srgb, var(--accent) 16%, transparent);margin-top:8px;padding-top:8px}.goal-week-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.goal-week .week-dist{margin:0}.goal-week .week-bar{margin-top:6px}.goal-week .daystrip{margin:6px 0 0}.goal-week .week-stat-row{margin-top:7px}.lastrun-card{color:inherit;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;margin-top:8px;padding:8px 14px 9px;text-decoration:none;display:block}.lastrun-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.lastrun-lab{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex:none}.lastrun-name{min-width:0;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lastrun-stat-row{align-items:baseline;gap:16px}.goal-top{justify-content:space-between;align-items:baseline;display:flex}.goal-name{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);color:var(--text-primary);font-weight:600}.goal-days{font-size:var(--type-small);color:var(--text-muted)}.goal-short-note{font-size:var(--type-small);color:var(--text-muted);margin:6px 0 0;line-height:1.4}.goal-line{align-items:center;gap:8px;margin-top:8px;display:flex}.goal-track{background:#f2f3f01f;border-radius:3px;flex:1;height:5px;position:relative;overflow:hidden}.goal-track i{background:var(--accent);border-radius:3px;position:absolute;top:0;bottom:0;left:0}.goal-verdict{font-size:var(--type-eyebrow);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-weight:700}.goal-verdict.onTrack,.goal-verdict.reach{color:var(--accent)}.goal-verdict.range,.goal-verdict.stretch{color:var(--text-muted)}.goal-sentence{font-size:var(--type-body);color:var(--text-muted);margin-top:9px;line-height:1.45}.week-head{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;margin:14px 2px 0;display:flex}.week-clear{color:var(--accent);white-space:nowrap;font-weight:650}.week-flag{color:var(--text-secondary);white-space:nowrap;font-weight:650}.week-dist{font-size:var(--type-body);color:var(--text-muted);margin:10px 2px 0}.week-dist b{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);color:var(--text-primary);font-weight:700}.week-bar{background:#f2f3f01f;border-radius:999px;height:5px;margin-top:8px;overflow:hidden}.week-bar>i{background:var(--accent);border-radius:999px;height:100%;display:block}.week-head+.daystrip{margin-top:8px}.daystrip+.week-dist{margin-top:10px}.week-bar+.week-stat-row{margin-top:12px}.sync-alert{background:var(--surface-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.sync-alert-head{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:700}.sync-alert-note{font-size:var(--type-small);color:var(--text-muted);margin-top:3px;line-height:1.4}.sync-alert-action{font-size:var(--type-body);color:var(--accent);white-space:nowrap;flex:none;font-weight:600;text-decoration:none}.header-bell{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.header-bell:hover{color:var(--text-primary)}.header-bell svg{width:21px;height:21px}.header-bell-badge{background:var(--accent);min-width:16px;height:16px;color:var(--accent-ink);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);text-align:center;border-radius:999px;padding:0 4px;font-weight:700;line-height:16px;position:absolute;top:-1px;right:-1px}.engine-triad{margin-bottom:18px}.triad-list{margin:0;padding:0;list-style:none}.triad-item{align-items:baseline;gap:12px;padding:6px 0;display:flex}.triad-item+.triad-item{border-top:1px solid var(--border)}.triad-word{min-width:84px;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);flex:none;line-height:1.1}.triad-body{flex-direction:column;gap:1px;display:flex}.triad-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted)}.triad-note{font-size:var(--type-small);color:var(--text-secondary);line-height:1.5}.triad-note-pending{color:var(--text-muted);font-style:italic}.triad-item.tone-good .triad-word{color:var(--zone-2)}.triad-item.tone-mid .triad-word{color:var(--status-warning)}.triad-item.tone-thin .triad-word{color:var(--accent)}.triad-item.tone-none .triad-word{color:var(--text-muted)}.block-title{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.015em;color:var(--text-primary);margin:6px 0 2px;font-size:24px;font-weight:520;line-height:1.15}.block-sub{color:var(--text-muted);font-size:var(--type-small);margin:0 0 4px}.block-review .card,.recipe-cards .card{margin-top:12px}.review-note{font-size:var(--type-body);color:var(--text-secondary);gap:9px;margin:8px 0 0;line-height:1.5;display:flex}.review-note span[aria-hidden]{flex:none;font-weight:700}.review-note.good span[aria-hidden]{color:var(--zone-2)}.review-note.thin span[aria-hidden]{color:var(--status-warning)}.review-note.thin span[aria-hidden]:only-child,.review-race .review-note.thin span[aria-hidden]{color:var(--accent)}.review-raa{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:8px;display:grid}.review-raa>div p{font-size:var(--type-small);color:var(--text-secondary);margin:6px 0 0;line-height:1.45}.raa-lab{font-size:var(--type-eyebrow);letter-spacing:.07em;text-transform:uppercase;font-weight:700}.raa-lab.repeat{color:var(--zone-2)}.raa-lab.adjust{color:var(--status-warning)}.raa-lab.avoid{color:var(--accent)}@media (max-width:520px){.review-raa{grid-template-columns:1fr;gap:14px}}.zone-model-options{flex-direction:column;gap:8px;display:flex}.zone-model-option{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.zone-model-option.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.zone-model-name{font-size:var(--type-body);color:var(--text-primary);font-weight:600}.zone-model-blurb{font-size:var(--type-small);color:var(--text-secondary);line-height:1.45}.notices-sheet{max-width:560px}.notices-body{padding-bottom:calc(22px + var(--bottom-nav-h,0px));flex-direction:column;gap:8px;max-height:min(70svh,620px);display:flex}.notices-actions{align-items:baseline;gap:14px;display:flex}.notices-empty{color:var(--text-secondary);font-size:var(--type-body);text-align:center;justify-content:center;align-items:center;min-height:168px;padding:20px 18px;line-height:1.5;display:flex}.notices-restore-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.notice-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:12px;padding:13px 14px;display:flex}.notice-card.unread{background:var(--surface-2);border-color:#0000;border-left:3px solid var(--accent);padding-left:11px}.notice-dot{border-radius:999px;flex:none;width:9px;height:9px;margin-top:5px}.notice-content{flex:1;min-width:0}.notice-title-row{align-items:baseline;gap:8px;display:flex}.notice-title{font-size:var(--type-body);color:var(--text-primary);font-weight:700}.notice-new{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--accent);flex:none}.notice-body{font-size:var(--type-body);color:var(--text-secondary);margin:3px 0 0;line-height:1.4}.notice-meta{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;display:flex}.notice-meta-line{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.notice-open{font-size:var(--type-small);color:var(--accent);flex:none;font-weight:600;text-decoration:none}.notice-clear{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-self:flex-start;align-items:center;margin:-4px -4px 0 2px;padding:0;display:flex}.notice-clear svg{width:16px;height:16px}.notice-clear:hover,.notice-clear:active{background:var(--surface-2);color:var(--text-primary)}.notice-restore{border:1px solid var(--accent);color:var(--accent);font:inherit;font-size:var(--type-small);cursor:pointer;background:0 0;border-radius:999px;flex:none;align-self:flex-start;margin:-2px -2px 0 2px;padding:5px 12px;font-weight:600}.notice-restore:active{background:var(--surface-2)}.notices-back{margin-right:12px;font-weight:600}.race-review{background:var(--surface-2);border:1px solid #0000;border-left:3px solid var(--accent);border-radius:12px;flex-direction:column;padding:13px 14px;display:flex}.race-review-kicker{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--accent)}.race-review-q{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);margin-top:5px}.race-review-run{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:2px}.race-review-why{font-size:var(--type-small);color:var(--text-muted);margin:9px 0 12px;line-height:1.4}.race-review-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.race-yes,.race-no{font:inherit;font-size:var(--type-small);cursor:pointer;border-radius:12px;flex:none;padding:9px 14px;font-weight:600}.race-yes{background:var(--accent);color:#fff;border:1px solid var(--accent)}.race-no{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.race-see{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--accent);white-space:nowrap;margin-left:auto}.recovery-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;padding:14px 16px 15px}.recovery-stats{gap:var(--space-3);margin:var(--space-2) 0 0;flex-wrap:wrap;display:flex}.recovery-stat{flex-direction:column;gap:1px;display:flex}.recovery-n{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);font-variant-numeric:tabular-nums;line-height:1}.recovery-l{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);margin-top:4px}.recovery-sub{font-size:var(--type-small);color:var(--text-secondary);margin-top:3px}.recovery-stat.is-good .recovery-n,.recovery-stat.is-good .recovery-sub{color:var(--accent-text)}.recovery-stat.is-warn .recovery-n,.recovery-stat.is-warn .recovery-sub{color:var(--critical-text)}.recovery-stat .recovery-sub.is-day,.recovery-stat.is-good .recovery-sub.is-day,.recovery-stat.is-warn .recovery-sub.is-day{color:var(--text-muted)}.recovery-day{margin-left:var(--space-2);font-size:var(--type-small);color:var(--text-muted);white-space:nowrap}.home-recovery{margin:var(--space-4) 0}.home-recovery-stats{gap:var(--space-4);display:flex}.home-recovery-stat{flex-direction:column;flex:1;min-width:0;display:flex}.home-recovery-n{font-size:var(--type-body-lg);font-variant-numeric:tabular-nums;color:var(--ink,var(--text-primary));font-weight:650;line-height:1.1}.home-recovery-l{font-size:var(--type-small);color:var(--text-secondary);margin-top:2px}.home-recovery-sub{font-size:var(--type-small);color:var(--text-muted);white-space:nowrap;margin-top:1px}.home-recovery-stat.is-good .home-recovery-n,.home-recovery-stat.is-good .home-recovery-sub{color:var(--accent-text)}.home-recovery-stat.is-warn .home-recovery-n,.home-recovery-stat.is-warn .home-recovery-sub{color:var(--critical-text)}.home-recovery-stat .home-recovery-sub.is-day,.home-recovery-stat.is-good .home-recovery-sub.is-day,.home-recovery-stat.is-warn .home-recovery-sub.is-day{color:var(--text-muted)}.home-recovery-day{margin:var(--space-2) 0 0;font-size:var(--type-small);color:var(--text-muted);white-space:nowrap}.home-recovery-more{margin:0}.home-recovery-more>summary{cursor:pointer;list-style:none}.home-recovery-more>summary::-webkit-details-marker{display:none}.home-recovery-more>summary::marker{content:""}.home-recovery-more p{font-size:var(--type-small);color:var(--text-muted);margin:4px 0 0;line-height:1.4}.recovery-nudge{margin:var(--space-2) 0 0;border-left:2px solid var(--accent);font-size:var(--type-body);color:var(--text-secondary);padding-left:10px;line-height:1.5}.recovery-read{margin:var(--space-2) 0 0;border-left:2px solid var(--border);padding-left:10px}.recovery-read.is-ease,.recovery-read.is-watch{border-left-color:var(--warning,#b98317)}.recovery-read-kicker{margin-bottom:2px;display:block}.recovery-read-word{font-weight:600;font-size:var(--type-body-lg);color:var(--text-primary);margin:0;line-height:1.25}.recovery-read.is-ease .recovery-read-word,.recovery-read.is-watch .recovery-read-word{color:var(--warning,#b98317)}.recovery-read-line{font-size:var(--type-body);color:var(--text-secondary);margin:2px 0 0;line-height:1.4}.recovery-read-rule{font-size:var(--type-small);color:var(--text-muted);margin:4px 0 0;line-height:1.4}@media (max-width:560px){.ink-rail.plan-hero{padding-top:var(--space-3);padding-bottom:var(--space-2)}.ink-rail .plan-hero-title{margin-top:4px;font-size:22px}.plan-hero-countdown-value{font-size:var(--text-2xl)}.ink-rail .taper-arc{height:34px;margin:var(--space-2) 0 var(--space-1)}.ink-rail .plan-hero-target{background:0 0}.plan-hero-target{border:0;margin-bottom:6px;padding:6px 0}.plan-hero-target-hint{font-size:var(--type-small)}.plan-hero-stats{font-size:var(--type-small);margin-top:5px}.plan-hero-read{margin-bottom:4px}.plan-hero-stats{margin-top:2px}.dc-training .plan-hero .taper-arc{margin-top:10px}.dc-training .plan-hero-actions{padding-top:6px}.plan-life-row{margin-top:var(--space-1)}.recovery-card{margin-bottom:12px;padding:12px 14px}.plan-hero-actions{margin-top:10px}}.base-trend{margin-bottom:22px}.base-stat{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.base-stat>b{font-family:var(--font-grotesk), system-ui, sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:40px;font-weight:600;line-height:.95}.base-stat>span{font-size:var(--type-body-lg);color:var(--text-secondary)}.base-read{font-size:var(--type-body-lg);color:var(--text-secondary);margin:10px 0 0;line-height:1.5}.base-read>b{color:var(--accent);font-weight:650}.base-svg{width:100%;height:auto;margin:12px 0 0;display:block;overflow:visible}.base-peakline{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 4;opacity:.6}.base-peaklabel{fill:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);text-anchor:end}.base-axis{fill:var(--text-muted);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);text-anchor:middle}.base-fill{fill:var(--accent);opacity:.12}.base-line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linejoin:round}.base-recent{fill:none;stroke:var(--series-1);stroke-width:1.3px;opacity:.55;stroke-linejoin:round}.base-peakdot{fill:var(--surface);stroke:var(--text-muted);stroke-width:1.5px}.base-now{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.base-scrub{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 4}.base-scrub-dot{fill:var(--series-1);stroke:var(--page);stroke-width:1.5px}.base-scrub-dot-base{fill:var(--accent)}.base-scrub-label{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);fill:var(--text-primary);paint-order:stroke;stroke:var(--page);stroke-width:4px}.base-key{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);flex-wrap:wrap;gap:16px;margin:8px 0 0;display:flex}.base-sw{vertical-align:middle;border-radius:2px;width:12px;height:3px;margin-right:6px;display:inline-block}.base-sw-1{background:var(--accent)}.base-sw-2{background:var(--series-1)}.base-note{border-top:1px solid var(--border);font-size:var(--type-body);color:var(--text-muted);margin:12px 0 0;padding-top:12px;line-height:1.55}.base-note>b{color:var(--text-secondary);font-weight:600}.pk-manual-row{gap:8px;display:flex}.pk-manual-row>.filter-input{flex:1 1 0;min-width:0}.sw-rows{margin-top:12px}.sw-foot{margin-top:8px}.sw-why{margin:2px 0 0}.sw-why>summary{font-size:var(--type-eyebrow)}.sw-why p{font-size:var(--type-small);margin-top:4px}.sw-list{margin-top:14px}.sw-list-kick{margin:0 0 6px}.sw-list-row{border-top:1px solid var(--border);padding:7px 0}.sw-list-date{font-size:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);display:block}.sw-list-title{font-size:var(--type-small);color:var(--text-primary);margin-top:2px;font-weight:600;line-height:1.45;display:block}.sw-list-none{border-top:1px solid var(--border);font-size:var(--type-small);color:var(--text-muted);margin:0;padding:7px 0;font-style:italic}.sw-list-more{margin:4px 0 0}.sw-list-more>summary{font-size:var(--type-eyebrow)}.sw-desc{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);color:var(--text-secondary);white-space:pre-wrap;margin:6px 0 0;line-height:1.6;overflow-x:auto}.race-priority-select{max-width:130px;padding:4px 8px}.race-splits .race-adjusted{color:var(--text-muted)}.race-conditions{border-left:2px solid var(--accent);background:var(--surface-2);border-radius:8px;margin-top:12px;padding:10px 12px}.race-conditions-head{font-size:var(--type-small);margin:0 0 4px;line-height:1.5}.cond-parts,.race-adjusted-time{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:var(--text-muted);white-space:nowrap;display:block}.adj-models{flex-direction:column;gap:20px;display:flex}.adj-block>.sync-meta{margin:2px 0 8px}.adj-h{font-size:var(--type-body);color:var(--text-primary);margin:0 0 2px;font-weight:600}.adj-plot{width:100%;height:auto;display:block;overflow:visible}.adj-grid{stroke:var(--gridline);stroke-width:.5px}.adj-zero{stroke:var(--gridline);stroke-width:.8px;stroke-dasharray:2 2}.adj-line-published{fill:none;stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 2;stroke-linejoin:round;opacity:.6}.adj-line-yours{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linejoin:round}.adj-dot{fill:var(--accent);stroke:var(--text-primary);stroke-width:1px}.adj-hit{fill:#0000;cursor:pointer;-webkit-tap-highlight-color:transparent}.adj-hit:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.adj-axis{font-family:var(--font-grotesk), system-ui, sans-serif;fill:var(--text-muted);font-size:7px}.adj-readout{min-height:22px;font-size:var(--type-body);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:2px 0 8px;display:flex}.adj-readout b{color:var(--text-primary);font-weight:600}.adj-readout-hint{color:var(--text-muted);font-size:var(--type-small)}.adj-callouts{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.adj-callouts li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex:1;min-width:0;padding:6px 8px}.adj-callout-g{font-size:var(--type-small);color:var(--text-muted);display:block}.adj-callout-v{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body);color:var(--text-primary);font-variant-numeric:tabular-nums;display:block}.adj-callout-v small{font-family:var(--font-grotesk), system-ui, -apple-system, "Segoe UI", sans-serif;font-size:var(--type-micro);color:var(--text-muted);margin-top:2px;display:block}.adj-key{font-size:var(--type-small);color:var(--text-muted);align-items:center;gap:6px;margin:0;display:flex}.adj-key-yours,.adj-key-published{border-top-style:solid;border-top-width:2px;flex:none;width:14px;height:0}.adj-key-yours{border-top-color:var(--accent)}.adj-key-published{border-top-style:dashed;border-top-color:var(--text-muted);margin-left:8px}.adj-none{color:var(--text-muted)}.adj-heat-band{fill:var(--accent);opacity:.18;stroke:none}.adj-heat-band.est{opacity:.07}.adj-heat-edge{fill:none;stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.adj-heat-edge.est{stroke-dasharray:3 2;stroke-width:1.2px}.adj-heat-mark{stroke:var(--text-muted);stroke-width:.8px;stroke-dasharray:2 3;opacity:.7}.adj-heat-mark.on{stroke:var(--text-primary);opacity:1;stroke-dasharray:none}.adj-key-note{margin-left:auto}.cond-total td{border-top:2px solid var(--border-strong,var(--border));color:var(--text-primary);padding-top:8px;font-weight:600}.cond-total td:first-child{color:var(--text-secondary);font-weight:500}.wl-wk-other{color:var(--text-muted)}.dc-display{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;font-weight:400;line-height:.95}.dc-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing)}.dc-num{font-variant-numeric:tabular-nums;font-weight:600}.dc-section{align-items:baseline;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--rule);display:flex}.dc-section-t{color:var(--ink);flex:1}.dc-section-v{color:var(--faint);font-variant-numeric:tabular-nums}.dc-hairline{border:0;border-top:1px solid var(--hairline);margin:0}.dc-row{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--hairline);color:inherit;text-decoration:none;display:flex}.dc-row:first-child{border-top:0}.dc-row-main{flex:1;min-width:0}.dc-row-v{font-variant-numeric:tabular-nums;color:var(--mid);flex:none}.dc-row-go{color:var(--faint);flex:none}.dc-btn{min-height:44px;padding:0 var(--space-5);border-radius:var(--control-radius);border:1px solid var(--rule);color:var(--ink);font-weight:700;font-size:var(--type-body);cursor:pointer;background:0 0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.dc-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.dc-switch{appearance:none;border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:46px;height:27px;position:relative}.dc-switch:after{content:"";background:var(--faint);border-radius:2px;width:19px;height:19px;transition:transform .12s,background .12s;position:absolute;top:3px;left:3px}.dc-switch:checked{border-color:var(--accent);background:var(--accent)}.dc-switch:checked:after{background:var(--accent-ink);transform:translate(19px)}.dc-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dc-tabs{gap:var(--space-5);scrollbar-width:none;border-bottom:1px solid var(--rule);display:flex;position:relative;overflow-x:auto}.dc-tabs::-webkit-scrollbar{display:none}.dc-tab{padding:var(--space-3) 0;color:var(--faint);border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;text-decoration:none}.dc-tab[aria-current=page],.dc-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.dc-tabs-wrap{top:var(--header-h,0);z-index:5;background:var(--page);position:sticky}.dc-tabs-wrap:after{content:"";pointer-events:none;background:linear-gradient(90deg, transparent, var(--ground));width:32px;position:absolute;top:0;bottom:1px;right:0}.dc-cream{background:var(--cream);color:var(--cream-ink);border-radius:var(--control-radius);padding:var(--space-4) var(--gutter)}.dc-cream .dc-label{color:var(--cream-faint)}.dc-band{background:var(--band);color:var(--band-ink);margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:var(--space-4) var(--gutter)}.dc-band .dc-label{color:var(--band-ink);opacity:.78}.dc-page .card,.dc-page .dc-cream,.dc-page .dc-row{box-shadow:none}.dc-activities .filter-chip,.dc-activities .filter-input,.dc-activities .act-sort select.notes-select,.dc-activities .notes-select{border-radius:var(--control-radius)}.dc-activities .ink-rail .filter-chip.active,.dc-activities .filter-chip.active{border-color:var(--ink-hairline);color:var(--ink-fg);box-shadow:inset 0 -2px 0 var(--accent);background:0 0;font-weight:700}.dc-activities .ink-rail .filter-chip.active:hover:not(:disabled),.dc-activities .filter-chip.active:hover:not(:disabled){color:var(--ink-fg);border-color:var(--ink-hairline)}.dc-activities .rail-total-value{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;font-weight:400;line-height:.95}.dc-activities .rail-hero{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;font-weight:400}.dc-activities .rail-hero-unit{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:500}.dc-activities .wl-row{border-top-color:var(--hairline);padding-inline:0}.dc-activities .wl-wk{background:var(--ground);border-top:1px solid var(--rule);padding-inline:0}.dc-activities .wl-wk-lab{color:var(--ink)}.dc-activities .wl-wk-sum{color:var(--faint)}.dc-activities .wl-wk-sum b{color:var(--ink);font-family:inherit}.dc-activities .wl-dist,.dc-activities .wl-pace,.dc-activities .wl-date b{font-variant-numeric:tabular-nums}.dc-activities .wl-date b,.dc-activities .wl-name{font-family:inherit;font-weight:700}.dc-activities .wl-name{color:var(--ink)}.dc-activities .wl-sub{color:var(--faint)}body:has(.dc-page){background:var(--ground)}.dc-page{background:var(--ground);color:var(--ink)}.dc-page .dc-section{margin-top:var(--space-4);padding-top:var(--space-2)}.dc-page .home-recovery{margin:var(--space-3) 0}.dc-page .today-eyebrow{color:var(--faint);font-family:inherit}.dc-page .today-when{color:var(--accent-text)}.dc-page .today-date{color:var(--faint)}.dc-page .today-card{box-shadow:none;border:0;border-radius:0}.dc-page .today-card:before{display:none}.dc-page .today-card .structure-seg.work,.dc-page .today-card .structure-seg.steady{background:var(--band);box-shadow:inset 0 0 0 2px var(--band-ink)}.dc-page .today-card .structure-seg.steady{opacity:.55}.dc-page .today-kind{color:var(--band-ink)}.dc-page .today-dot{background:var(--band-ink)}.dc-page .today-reps,.dc-page .today-at{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;color:var(--band-ink);font-weight:400}.dc-page .today-unit,.dc-page .today-ceiling,.dc-page .today-meta,.dc-page .today-why{color:var(--band-ink);opacity:.74}.dc-page .today-readiness{color:var(--band-ink)}.dc-page .today-readiness-why{color:var(--band-ink);opacity:.74}.dc-page .today-foot{border-top:1px solid var(--band-rule)}.dc-page .today-see{color:var(--band-ink);opacity:.74;background:0 0;border:0;border-radius:0;padding:0}.dc-page .today-onwatch{color:var(--band-ink);opacity:.74}.dc-page .goal-card,.dc-page .lastrun-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.dc-page .goal-name{color:var(--ink)}.dc-page .goal-days,.dc-page .goal-short-note,.dc-page .goal-sentence,.dc-page .week-dist span{color:var(--mid)}.dc-page .week-dist b,.dc-page .lastrun-name{color:var(--ink)}.dc-page .lastrun-lab,.dc-page .week-stat-note{color:var(--faint)}.dc-page .week-stat-value{color:var(--ink);font-variant-numeric:tabular-nums}.dc-page .num,.dc-page .week-dist,.dc-page .goal-days{font-variant-numeric:tabular-nums}.dc-page .week-stat-value,.dc-page .week-dist b,.dc-page .goal-name,.dc-page .lastrun-name{letter-spacing:0;font-variant-numeric:tabular-nums;font-family:inherit;font-weight:700}.dc-page .lastrun-lab{color:var(--faint)}.dc-page .today-eyebrow+*,.dc-page>.dc-section:first-of-type{margin-top:0}.bank-target{border-collapse:collapse;width:100%;margin-top:var(--space-2)}.bank-target th,.bank-target td{padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--type-body);text-align:right;font-variant-numeric:tabular-nums;color:var(--text-primary)}.bank-target thead th{color:var(--text-muted);border-top:0;font-weight:650}.bank-target th[scope=row]{text-align:left;color:var(--text-secondary);font-weight:400}.bank-target-caveat{margin-top:var(--space-2);font-size:var(--type-small);color:var(--text-muted);line-height:1.45}.dc-training .plan-week-card{padding:0}.dc-training .plan-week-card,.dc-training .plan-calendar,.dc-training .ink-rail.plan-hero{box-shadow:none;background:0 0;border:0;border-radius:0}.dc-training .plan-hero-countdown{border:1px solid var(--rule);border-radius:var(--control-radius);padding:var(--space-3) var(--space-4);text-align:center}.dc-training .plan-hero-countdown-value{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:400}.dc-training .plan-hero-countdown-label{color:var(--faint);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing)}.dc-training .plan-hero-title{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;color:var(--ink);font-weight:400}.dc-training .plan-hero-race{color:var(--faint)}.dc-training .plan-hero-stats,.dc-training .plan-hero-read,.dc-training .plan-hero-note{color:var(--mid)}.dc-training .taper-arc-figured{margin-top:var(--space-5)}.dc-training .taper-arc-figured i,.dc-training .taper-arc-figured button{position:relative;overflow:visible}.dc-training .taper-arc-km{font-size:var(--type-eyebrow);font-variant-numeric:tabular-nums;color:var(--faint);margin-bottom:3px;line-height:1;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.dc-training .taper-arc-raced{padding-right:var(--space-5)}.dc-training .taper-arc-race{border-left:1px solid var(--accent-text);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);color:var(--accent-text);writing-mode:vertical-rl;padding-left:4px;line-height:1;position:absolute;top:0;bottom:0;right:0}.dc-training .taper-arc-raced{position:relative}.dc-training .plan-calendar-day{box-shadow:none;border:0;border-top:1px solid var(--hairline);border-radius:0}.dc-training .plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day{min-height:44px;padding-top:0;padding-bottom:0}.dc-training .plan-calendar-day:not(.plan-today){background:0 0}.dc-training .plan-day-name,.dc-training .plan-day-date{color:var(--faint)}.dc-training .plan-row-name{color:var(--ink)}.dc-training .plan-row-distance,.dc-training .plan-rest-day{color:var(--mid)}.dc-training .plan-row-chev,.dc-training .plan-row-verdict{color:var(--faint)}.dc-training .plan-row-title{flex:auto}@media (max-width:720px){.dc-training .plan-row-verdict{display:none}}.dc-training .plan-calendar-day.plan-today{margin-top:var(--space-3);margin-bottom:var(--space-3);border-top:0;margin-left:0;margin-right:0}.dc-training .plan-today .plan-day-name,.dc-training .plan-today .plan-day-date,.dc-training .plan-today .plan-today-tag,.dc-training .plan-today .plan-row-name,.dc-training .plan-today .plan-row-chev,.dc-training .plan-today .plan-row-distance,.dc-training .plan-today .plan-rest-day,.dc-training .plan-today .plan-rest-add-hint{color:var(--band-ink)}.dc-training .plan-today .plan-row-verdict{color:var(--band-ink);opacity:.74}.dc-training .plan-today .plan-calendar-session,.dc-training .plan-today .plan-session{box-shadow:none;background:0 0;border:0}.dc-training .plan-today .plan-next,.dc-training .plan-today .plan-key{box-shadow:none;border-color:#0000}.dc-training .plan-hero-actions{border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:var(--space-4)}.dc-training .plan-hero-menu-btn{border-radius:var(--control-radius);border:1px solid var(--rule);color:var(--ink);background:0 0}.dc-training #plan-anchors .card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.dc-training #plan-anchors .threshold-row{border-top:1px solid var(--hairline);min-height:44px}.dc-training #plan-anchors .threshold-primary{color:var(--ink)}.dc-training #plan-anchors .threshold-secondary{color:var(--faint)}.dc-progress .perf-tabs,.dc-profile .perf-tabs{border-bottom:1px solid var(--rule);gap:var(--space-5)}.dc-progress .perf-tabs .detail-tab,.dc-profile .perf-tabs .detail-tab{padding:var(--space-3) 0;color:var(--faint);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px}.dc-progress .perf-tabs .detail-tab.on,.dc-profile .perf-tabs .detail-tab.on{color:var(--ink);border-bottom-color:var(--accent)}#perf-panel-now .card,#perf-panel-engine .card,#perf-panel-curve .card,#perf-panel-now .aerobic-feature-card,#perf-panel-engine .aerobic-feature-card,#perf-panel-curve .aerobic-feature-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}#perf-panel-now .ink-rail,#perf-panel-engine .ink-rail,#perf-panel-curve .ink-rail{box-shadow:none;background:0 0;border:0;border-radius:0}.dc-progress .perf-panel{color:var(--ink)}#perf-panel-now .kicker,#perf-panel-engine .kicker,#perf-panel-curve .kicker{color:var(--faint)}#perf-panel-now .rail-stat,#perf-panel-now .rail-figure,#perf-panel-curve .curve-figure{font-family:var(--font-display), "Arial Narrow", system-ui, sans-serif;letter-spacing:.01em;font-variant-numeric:tabular-nums;font-weight:400}#perf-panel-now .threshold-row,#perf-panel-engine .threshold-row,#perf-panel-curve .threshold-row{border-top:1px solid var(--hairline);background:0 0;border-radius:0;min-height:44px}#perf-panel-now .threshold-primary,#perf-panel-engine .threshold-primary,#perf-panel-curve .threshold-primary{color:var(--ink);font-variant-numeric:tabular-nums}#perf-panel-now .threshold-secondary,#perf-panel-engine .threshold-secondary,#perf-panel-curve .threshold-secondary{color:var(--faint)}.physiology-endlabel{font-size:var(--type-micro);white-space:nowrap;pointer-events:none;margin-top:-14px;font-weight:600;position:absolute;transform:translate(-100%,-50%)}.physiology-endlabel.primary{color:var(--series-1)}.physiology-endlabel.secondary{color:var(--accent-text)}.physiology-y-note{writing-mode:vertical-rl;color:var(--text-muted);font-size:var(--type-micro);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;align-self:center;margin-right:2px;transform:rotate(180deg)}.physiology-y-col{align-items:stretch;gap:2px;display:flex}.dc-profile [data-section=account] .set-card,.dc-profile [data-section=connections] .set-card,.dc-profile [data-section=workouts] .set-card,.dc-profile [data-section=zones] .set-card,.dc-profile [data-section=account]>.card,.dc-profile [data-section=connections]>.card,.dc-profile [data-section=workouts]>.card,.dc-profile [data-section=zones]>.card{box-shadow:none;margin-bottom:var(--space-3);background:0 0;border:0;border-radius:0;padding:0}.dc-profile [data-section=account] .set-kick,.dc-profile [data-section=connections] .set-kick,.dc-profile [data-section=workouts] .set-kick,.dc-profile [data-section=zones] .set-kick{color:var(--faint);border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:var(--space-2);font-family:inherit}.dc-profile [data-section=account] .set-row,.dc-profile [data-section=connections] .set-row,.dc-profile [data-section=workouts] .set-row,.dc-profile [data-section=zones] .set-row{border-bottom:0;border-top:1px solid var(--hairline);min-height:44px;padding:var(--space-2) 0}.dc-profile [data-section=account] .set-lab b,.dc-profile [data-section=connections] .set-lab b,.dc-profile [data-section=workouts] .set-lab b,.dc-profile [data-section=zones] .set-lab b{color:var(--ink)}.dc-profile [data-section=account] .set-lab span,.dc-profile [data-section=connections] .set-lab span,.dc-profile [data-section=workouts] .set-lab span,.dc-profile [data-section=zones] .set-lab span,.dc-profile [data-section=workouts] .set-note{color:var(--faint)}.dc-profile [data-section=account] .set-val,.dc-profile [data-section=zones] .set-val{color:var(--mid)}.dc-profile .connection-switch{border-color:var(--rule);background:var(--surface-2);border-radius:3px;width:46px;height:27px}.dc-profile .connection-switch.on{background:var(--accent);border-color:var(--accent)}.dc-profile .connection-switch .connection-switch-knob{background:var(--text-secondary);border-radius:2px}.dc-profile .connection-switch.on .connection-switch-knob{background:#fff}.set-kick-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.dc-profile .set-kick-row{border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:var(--space-2)}.dc-profile .set-kick-row>.set-kick{border-top:0;margin-top:0;padding-top:0}.dc-profile .set-row.stacked>.set-ctl>.filter-input{flex:90px}.pwa-install-row summary{cursor:pointer;list-style:none}.pwa-install-row summary::-webkit-details-marker{display:none}.set-more-cue{color:var(--accent);font-size:var(--type-small)}.set-more-cue:after{content:"+";font-size:var(--type-body);margin-left:4px}.pwa-install-row details[open] .set-more-cue:after{content:"−"}.connection-help-row>td{padding-top:0}.connection-help-row .set-more:last-child{margin-bottom:4px}.zone-anchor-row{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.zone-anchor-field{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;display:flex}.goal-form .zone-anchor-field>input{text-align:center;flex:auto;width:100%;min-width:0}.zone-anchor-field>.field-label{text-align:center;overflow-wrap:normal;word-break:normal;flex:none;margin:0}.goal-form .zone-anchor-row>button{flex:none;margin:0}.zone-anchor-help{margin:var(--space-2) 0 0}.pwa-install-how{color:var(--text-secondary);font-size:var(--type-body);margin:8px 0 0;line-height:1.55}.dc-profile [data-section=account] .filter-chip,.dc-profile [data-section=connections] .filter-chip,.dc-profile [data-section=workouts] .filter-chip,.dc-profile [data-section=zones] .filter-chip,:is(.dc-profile [data-section=account] .set-ctl:has(>.set-seg),.dc-profile [data-section=connections] .set-ctl:has(>.set-seg),.dc-profile [data-section=workouts] .set-ctl:has(>.set-seg),.dc-profile [data-section=zones] .set-ctl:has(>.set-seg)){border-radius:var(--control-radius);border-color:var(--rule)}.dc-profile [data-section=account] .set-card .set-ctl>.filter-chip.set-seg.active,.dc-profile [data-section=connections] .set-card .set-ctl>.filter-chip.set-seg.active,.dc-profile [data-section=workouts] .set-card .set-ctl>.filter-chip.set-seg.active,.dc-profile [data-section=zones] .set-card .set-ctl>.filter-chip.set-seg.active{color:var(--accent-ink)}.dc-profile [data-section=connections] .set-card{overflow:visible}.dc-profile [data-section=zones] .activity-table th,.dc-profile [data-section=zones] .activity-table td{border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums}.dc-profile [data-section=zones] .activity-table th{color:var(--faint);text-transform:uppercase;letter-spacing:var(--type-eyebrow-spacing);font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight)}.dc-profile [data-section=zones] .activity-table td{color:var(--ink)}.dc-profile [data-section=zones] .zone-observed{color:var(--faint)}.dc-profile [data-section=zones] .zone-evidence{border-top:1px solid var(--rule);padding-top:var(--space-3)}.dc-profile [data-section=zones] .zone-evidence>summary{color:var(--mid)}#perf-panel-recipe .card:not(.dc-cream),#perf-panel-trends .card:not(.dc-cream),#perf-panel-review .card:not(.dc-cream){box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}#perf-panel-recipe .ink-rail,#perf-panel-trends .ink-rail,#perf-panel-review .ink-rail{box-shadow:none;background:0 0;border:0;border-radius:0}#perf-panel-recipe .card>.kicker:not(.section-kicker),#perf-panel-trends .card>.kicker:not(.section-kicker),#perf-panel-review .card>.kicker:not(.section-kicker){color:var(--faint);border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:var(--space-5);font-family:inherit;display:block}#perf-panel-recipe .card-read,#perf-panel-trends .card-read,#perf-panel-review .card-read{color:var(--ink)}#perf-panel-recipe .curve-intro,#perf-panel-trends .curve-intro,#perf-panel-review .curve-intro{color:var(--mid)}#perf-panel-recipe .pyr-row-label{color:var(--faint);font-family:inherit}#perf-panel-recipe .pyr-selected{border:0;border-top:1px solid var(--hairline);min-height:44px;padding:var(--space-2) 0;background:0 0;border-radius:0}#perf-panel-recipe .pyr-selected-body b{color:var(--ink)}#perf-panel-recipe .pyr-selected-body span{color:var(--faint)}#perf-panel-recipe .pyr-selected-go{color:var(--accent-text)}#perf-panel-recipe .pyr-tap-hint{color:var(--faint)}#perf-panel-recipe .pyr-base-line{border-top-color:var(--rule)}#perf-panel-recipe .recipe-table th,#perf-panel-review .recipe-table th{color:var(--faint);border-bottom-color:var(--rule);font-family:inherit}#perf-panel-recipe .recipe-table td,#perf-panel-review .recipe-table td{border-bottom-color:var(--hairline);color:var(--mid)}#perf-panel-recipe .recipe-table td.name,#perf-panel-review .recipe-table td.name{color:var(--ink)}#perf-panel-recipe .hold-row{border-top:1px solid var(--hairline);padding:var(--space-2) 0;min-height:44px}#perf-panel-recipe .hold-band{color:var(--ink);font-family:inherit}#perf-panel-recipe .hold-time{color:var(--mid)}#perf-panel-recipe .hold-segments{color:var(--faint)}#perf-panel-recipe .hold-track,#perf-panel-recipe .hold-bar{border-radius:var(--control-radius)}#perf-panel-trends .trend-week{border:0;border-top:1px solid var(--hairline);padding:var(--space-3) 0;background:0 0;border-radius:0}#perf-panel-trends .trend-week.current{box-shadow:none;border-left:2px solid var(--accent);padding-left:var(--space-3)}#perf-panel-trends .trend-weeks{gap:0}#perf-panel-trends .trend-week-total{font-variant-numeric:tabular-nums}#perf-panel-trends .trend-week-stats{color:var(--faint)}#perf-panel-trends .trend-week-stats b{color:var(--ink)}#perf-panel-trends .trend-bar,#perf-panel-trends .trend-seg{border-radius:0}#perf-panel-trends .trend-legend .trend-key{color:var(--faint)}#perf-panel-trends .season-node{border:0;border-top:1px solid var(--hairline);padding:var(--space-3) var(--space-3) var(--space-3) 0;background:0 0;border-radius:0}#perf-panel-trends .season-node.raced{background:0 0}#perf-panel-trends .season-node.goal{border-top-color:var(--accent)}#perf-panel-trends .season-when{color:var(--faint);font-family:inherit}#perf-panel-trends .season-name{color:var(--ink)}#perf-panel-trends .season-figure{font-variant-numeric:tabular-nums}#perf-panel-trends .season-node.goal .season-figure{color:var(--accent-text)}#perf-panel-trends .season-sub{color:var(--faint)}#perf-panel-trends .activity-table th{color:var(--faint);border-bottom-color:var(--rule)}#perf-panel-trends .activity-table td{border-bottom-color:var(--hairline);font-variant-numeric:tabular-nums}@media (max-width:720px){#perf-panel-trends .performance-race-table tr:not(.activity-expanded-row){border:0;border-top:1px solid var(--hairline);padding:var(--space-3) 0;background:0 0;border-radius:0;margin:0}}#perf-panel-trends .filter-chip,#perf-panel-trends .filter-input,#perf-panel-trends .race-custom-input,#perf-panel-trends .race-priority-select{border-radius:var(--control-radius);border-color:var(--rule)}#perf-panel-review .review-coach.dc-cream{padding:10px 12px}#perf-panel-review .review-coach.dc-cream .card-read{margin-top:6px}#perf-panel-review .review-coach.dc-cream>.kicker{color:var(--cream-faint);border-top:0;margin-top:0;padding-top:0}#perf-panel-review .review-coach.dc-cream .card-read{color:var(--cream-ink)}#perf-panel-review .review-note.good span[aria-hidden]{color:var(--ink)}#perf-panel-review .review-note.thin span[aria-hidden]{color:var(--mid)}#perf-panel-review .review-note.thin span[aria-hidden]:only-child,#perf-panel-review .review-race .review-note.thin span[aria-hidden]{color:var(--accent-text)}#perf-panel-review .review-note{color:var(--mid)}#perf-panel-review .raa-lab{font-family:inherit}#perf-panel-review .raa-lab.repeat{color:var(--ink)}#perf-panel-review .raa-lab.adjust{color:var(--mid)}#perf-panel-review .raa-lab.avoid{color:var(--accent-text)}#perf-panel-review .review-raa>div p{color:var(--mid)}#perf-panel-review .bank-target thead th{color:var(--faint);font-family:inherit}#perf-panel-review .bank-target th,#perf-panel-review .bank-target td{border-bottom-color:var(--hairline);font-variant-numeric:tabular-nums}#perf-panel-review .bank-target th[scope=row]{color:var(--ink)}#perf-panel-review .bank-target-caveat,#perf-panel-review .block-sub{color:var(--faint)}#perf-panel-review .review-figs .review-fig-l{color:var(--mid)}#perf-panel-review .review-why>summary{color:var(--accent-text)}#perf-panel-review .review-why .review-fig-caveat{color:var(--faint)}#perf-panel-review .review-why .review-fig-caveat strong{color:var(--mid)}#perf-panel-review .bank-row-l{color:var(--ink)}#perf-panel-review .bank-row-v{color:var(--faint)}#perf-panel-review .bank-row-bar{background:var(--hairline)}#perf-panel-review .bank-row-then{background:var(--ink)}#perf-panel-review .recipe-key{color:var(--faint)}.dc-profile [data-section=gear] .set-card:not(.danger),.dc-profile [data-section=data] .set-card:not(.danger),.dc-profile [data-section=admin] .set-card:not(.danger){box-shadow:none;margin-bottom:var(--space-3);background:0 0;border:0;border-radius:0;padding:0}.dc-profile [data-section=gear] .set-kick,.dc-profile [data-section=data] .set-kick,.dc-profile [data-section=admin] .set-kick{color:var(--faint);border-top:1px solid var(--rule);padding-top:var(--space-3);margin-top:var(--space-2);font-family:inherit}.dc-profile [data-section=gear] .set-row,.dc-profile [data-section=data] .set-row,.dc-profile [data-section=admin] .set-row{border-bottom:0;border-top:1px solid var(--hairline);min-height:44px;padding:var(--space-2) 0}.dc-profile [data-section=gear] .set-lab b,.dc-profile [data-section=data] .set-lab b,.dc-profile [data-section=admin] .set-lab b{color:var(--ink)}.dc-profile [data-section=gear] .set-lab span,.dc-profile [data-section=data] .set-lab span,.dc-profile [data-section=admin] .set-lab span{color:var(--faint)}.dc-profile [data-section=data] .set-val,.dc-profile [data-section=admin] .set-val{color:var(--mid)}.dc-profile [data-section=gear] .filter-chip,.dc-profile [data-section=data] .filter-chip,.dc-profile [data-section=admin] .filter-chip{border-radius:var(--control-radius);border-color:var(--rule)}.dc-profile [data-section=gear] .set-card .set-ctl>.filter-chip.set-seg.active,.dc-profile [data-section=data] .set-card .set-ctl>.filter-chip.set-seg.active{color:var(--accent-ink)}.dc-profile [data-section=data] .set-more,.dc-profile [data-section=gear] .set-more{border-top:1px solid var(--rule);padding-top:var(--space-3)}.dc-profile [data-section=data] .set-more>summary,.dc-profile [data-section=gear] .set-more>summary{color:var(--mid)}.dc-profile [data-section=data] .sync-meta,.dc-profile [data-section=gear] .sync-meta{color:var(--faint)}.milestones .milestones-stats>div{padding:var(--space-3) 0;border:0;border-radius:0}.milestones .milestones-stats>div+div{border-left:1px solid var(--hairline);padding-left:var(--space-4)}.milestones .milestones-stats strong{color:var(--ink);font-variant-numeric:tabular-nums}.milestones .milestones-stats span{color:var(--faint)}.milestones .milestones-list{border:0;border-radius:0}.milestones .milestone-row{min-height:44px;padding:var(--space-2) 0;border-top:1px solid var(--hairline)}.milestones .milestone-row+.milestone-row{border-top-color:var(--hairline)}.milestones .milestone-badge{border-radius:var(--control-radius);color:var(--accent-text)}.milestones .milestone-row.locked .milestone-badge{border-color:var(--rule);color:var(--faint)}.milestones .milestone-body strong{color:var(--ink)}.milestones .milestone-body small{color:var(--faint)}.milestones .milestone-value{color:var(--ink)}.milestones .milestone-value em{color:var(--accent-text)}.milestones .milestones-group-label,.milestones .milestones-reach-label{color:var(--faint);border-top:1px solid var(--rule);padding-top:var(--space-3)}.milestones .milestones-foot{color:var(--faint)}.dc-profile [data-section=gear] .shoe-row{border-bottom:0;border-top:1px solid var(--hairline);padding:var(--space-2) 0}.dc-profile [data-section=gear] .shoe-main{min-height:44px}.dc-profile [data-section=gear] .shoe-wear-bar{background:var(--hairline)}.dc-profile [data-section=gear] .shoe-wear-fig{color:var(--faint)}.dc-profile [data-section=gear] .shoe-retire{color:var(--ink)}.dc-profile [data-section=gear] .shoe-row:last-child{border-bottom:0}.dc-profile [data-section=gear] .shoe-id b{color:var(--ink)}.dc-profile [data-section=gear] .shoe-km{color:var(--ink);font-variant-numeric:tabular-nums}.dc-profile [data-section=gear] .shoe-km-unit,.dc-profile [data-section=gear] .shoe-runs,.dc-profile [data-section=gear] .shoe-go{color:var(--faint)}.dc-profile [data-section=gear] .shoe-pill{border-radius:var(--control-radius);border-color:var(--rule);color:var(--faint);font-family:inherit}.dc-profile [data-section=gear] .shoe-grouplab{color:var(--faint);border-top:1px solid var(--rule);padding-top:var(--space-3);font-family:inherit}.dc-profile [data-section=data] .set-card.danger{border-radius:var(--control-radius);border-color:var(--critical-text);padding:var(--space-4)}.dc-profile [data-section=data] .set-kick.crit{color:var(--critical-text);border-top:0;padding-top:0}.dc-profile [data-section=data] .danger .goal-form button:not(.filter-chip){border-radius:var(--control-radius);text-transform:none;letter-spacing:normal;min-height:44px;font-size:var(--type-body);font-weight:700}.dc-profile [data-section=data] .danger .goal-form button.danger-delete{color:var(--band-ink)}.dc-profile [data-section=data] .danger .goal-form input{border-radius:var(--control-radius);border-color:var(--rule);min-height:44px}.dc-profile [data-section=data] .danger .set-more{border-top-color:var(--critical-text)}.plan-position{margin:8px 0 2px;padding:3px 0}.plan-position-run{gap:2px;height:10px;display:flex;position:relative}.plan-position-phase{background:var(--surface-2);border-radius:2px;flex-basis:0}.plan-position-phase.base{background:var(--surface-2)}.plan-position-phase.build{background:var(--baseline)}.plan-position-phase.peak{background:var(--text-muted)}.plan-position-phase.taper{background:color-mix(in srgb, var(--accent) 55%, transparent)}.plan-position-ahead{background:var(--surface);opacity:.62;border-radius:2px;position:absolute;top:0;bottom:0;right:0}.plan-position-here{background:var(--accent);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-3px;bottom:-3px}.plan-position-race{background:var(--text-muted);width:1px;position:absolute;top:-3px;bottom:-3px;right:-4px}.plan-position-axis{gap:2px;margin-top:5px;display:flex;overflow:hidden}.plan-position-axis span{white-space:nowrap;text-align:center;min-width:max-content;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--text-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-basis:0}.plan-position-axis span.here{color:var(--accent);font-weight:650}.dc-progress .perf-panel .card{margin-top:0;margin-bottom:0}#perf-panel-recipe .card>.kicker:not(.section-kicker),#perf-panel-trends .card>.kicker:not(.section-kicker),#perf-panel-review .card>.kicker:not(.section-kicker){margin-top:var(--space-3)}.dc-progress .perf-panel .ink-rail{margin-bottom:0;padding-top:0;padding-bottom:0}#perf-panel-review .review-coach.dc-cream{margin-top:var(--space-3)}#perf-panel-review .review-raa{margin-top:var(--space-2);display:block}#perf-panel-review .review-raa>div+div{margin-top:6px}#perf-panel-review .review-raa>div p{margin:0;display:inline}#perf-panel-review .review-raa>div.raa-two p{margin-top:4px;display:block}#perf-panel-review .review-raa>div.raa-two p:first-of-type{margin-top:0}#perf-panel-review .raa-lab{margin-right:8px}.dc-profile .settings-wrap .set-card{margin-bottom:var(--space-1)}.dc-profile [data-section=account] .set-card>.set-kick:first-child,.dc-profile [data-section=connections] .set-card>.set-kick:first-child,.dc-profile [data-section=workouts] .set-card>.set-kick:first-child,.dc-profile [data-section=zones] .set-card>.set-kick:first-child{margin-top:var(--space-1);padding-top:var(--space-2);border-top:0}#perf-panel-now .recovery-card{box-shadow:none;background:0 0;border:0;border-radius:0;margin-bottom:0;padding-top:0;padding-bottom:0}.dc-progress .perf-panel p,.dc-progress .perf-panel li,.dc-profile .settings-wrap p,.dc-profile .settings-wrap li{line-height:1.34}.dc-progress .perf-panel table th,.dc-progress .perf-panel table td{padding-top:4px;padding-bottom:4px;line-height:1.3}.dc-profile .settings-wrap .set-row{min-height:40px;padding-top:4px;padding-bottom:4px}.dc-profile .settings-wrap .set-lab b,.dc-profile .settings-wrap .set-lab span{line-height:1.25}#perf-panel-recipe .card>.kicker:not(.section-kicker),#perf-panel-trends .card>.kicker:not(.section-kicker),#perf-panel-review .card>.kicker:not(.section-kicker){margin-top:8px;padding-top:8px}.dc-progress .perf-panel .kicker.section-kicker{margin-top:10px;margin-bottom:3px}.dc-profile .settings-wrap .set-kick{margin-top:6px;padding-top:6px}.dc-progress .perf-panel .pred-table-pace{display:inline}.dc-progress .perf-panel .pred-table-pace:before{content:"\a ";white-space:pre}.dc-progress .perf-panel .pred-ready{margin-top:0;display:inline}.dc-progress .perf-panel .pred-ready:before{content:" · ";color:var(--faint);font-weight:400}.dc-progress .perf-panel .rail-row{align-items:flex-start;gap:8px;padding-top:5px;padding-bottom:5px}.dc-progress .perf-panel .rail-row-value{text-align:right;line-height:1.2}.dc-progress .perf-panel .rail-row-main{gap:0;min-width:0}.dc-progress .perf-panel .threshold-row{min-height:0;padding-top:6px;padding-bottom:6px}.dc-progress .perf-panel .rail-band{height:18px;margin-top:8px}.dc-progress .perf-panel .rail-band-track{top:7px}.dc-progress .perf-panel .rail-band-tick{height:14px;top:2px}.dc-progress .perf-panel .rail-conf-line{margin-top:6px}.dc-progress .perf-panel .rail-why{margin-top:4px}.dc-progress .perf-panel .rail-ready-line{margin-top:3px}.dc-progress .perf-panel .rail-hero-lead{gap:2px}.dc-progress .perf-panel .review-note{margin-top:4px}.dc-progress .perf-panel .block-sub{margin-bottom:2px}#perf-panel-recipe .pyr-row{gap:3px 4px}#perf-panel-recipe .pyr-row-label{margin:2px 0 6px}#perf-panel-recipe .pyr-tap-hint{margin-top:4px}.block-stats{gap:var(--space-3);margin:var(--space-2) 0 var(--space-3);display:flex}.block-stat{flex-direction:column;flex:1 1 0;gap:1px;min-width:0;display:flex}.block-stat-n{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-heading);color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1}.block-stat-n small{color:var(--text-muted);font-size:.6em}.block-stat-l{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;color:var(--text-muted);line-height:1.2}.review-fig{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--hairline,var(--border));display:flex}.review-fig:first-of-type{border-top:0}.review-fig-n{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-title);font-variant-numeric:tabular-nums;text-align:right;flex:0 0 4.2rem;line-height:1.05}.review-fig.good .review-fig-n{color:var(--status-good)}.review-fig.thin .review-fig-n{color:var(--status-warning)}.review-fig-body{align-items:baseline;gap:var(--space-2);flex:auto;min-width:0;display:flex}.review-fig-l{min-width:0;font-size:var(--type-body);color:var(--text-secondary);flex:auto;line-height:1.3}.review-fig-more{flex:none;margin:0}.review-fig-more>summary{font-size:var(--type-small);color:var(--accent-text);white-space:nowrap}.review-fig-more[open]{flex:100%}.review-fig-caveat{font-size:var(--type-small);color:var(--text-muted);margin:4px 0 0;line-height:1.35}.review-figs{gap:var(--space-3);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.review-figs .review-fig{border-top:0;padding:0;display:block}.review-figs .review-fig-n{text-align:left;flex:none;display:block}.review-figs .review-fig-l{font-size:var(--type-small);color:var(--text-muted);margin-top:2px;line-height:1.25;display:block}.review-read .review-raa{margin-top:var(--space-4)}.review-read .review-raa>div.raa-two p+p{margin-top:4px}#perf-panel-review .review-coach.dc-cream>.kicker:not(.section-kicker){border-top:0;margin-top:0;padding-top:0}.review-why{margin-top:var(--space-3)}.review-why>summary{font-size:var(--type-small);color:var(--accent-text)}.review-why .review-fig-caveat strong{color:var(--text-secondary);font-weight:600}.bank-rows{gap:var(--space-2);margin-top:var(--space-2);display:grid}.bank-row{align-items:center;gap:var(--space-2);grid-template-columns:5.5rem 1fr auto;display:grid}.bank-row-l{font-size:var(--type-small);color:var(--text-primary)}.bank-row-bar{background:var(--baseline,var(--border));border-radius:6px;height:10px;position:relative;overflow:hidden}.bank-row-now{background:var(--accent);border-radius:6px;height:100%;position:absolute;top:0;left:0}.bank-row-then{background:var(--text-primary);width:2px;height:calc(100% + 4px);margin-left:-1px;position:absolute;top:-2px}.bank-row-v{font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.recipe-stack-labelled{border-radius:8px;height:26px}.recipe-stack-labelled>span{justify-content:center;align-items:center;display:flex;overflow:hidden}.recipe-stack-labelled>span>em{font-style:normal;font-size:var(--type-micro);font-variant-numeric:tabular-nums;line-height:1}.recipe-key{gap:4px var(--space-3);margin:0 0 var(--space-2);font-size:var(--type-small);color:var(--text-muted);flex-wrap:wrap;display:flex}.recipe-key>span{align-items:center;gap:5px;display:inline-flex}.plan-tile-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:8px 0 10px;display:grid}.plan-tile{border:1px solid var(--gridline);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 2px 7px;display:flex;position:relative}.plan-tile.open{box-shadow:inset 0 0 0 2px var(--text-primary), inset 0 0 0 4px var(--tile-fill,transparent)}.plan-tile-weekday{white-space:nowrap;font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-eyebrow);letter-spacing:.04em;font-weight:var(--type-eyebrow-weight);text-transform:uppercase;color:inherit;justify-content:center;align-items:baseline;gap:3px;display:flex}.plan-tile-date{font-size:var(--type-micro);letter-spacing:0;font-variant-numeric:tabular-nums;color:inherit;font-weight:700}.plan-tile.is-today .plan-tile-weekday{font-weight:800}.plan-tile-km{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-body-lg);font-variant-numeric:tabular-nums;color:inherit;font-weight:700;line-height:1.1}.plan-tile-runs{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-micro);color:inherit;opacity:.75;font-weight:600;line-height:1}.plan-tile-mark{width:10px;height:10px;font-size:var(--type-micro);border-radius:999px;font-weight:700;line-height:10px}.plan-tile.planned .plan-tile-mark{border:1.5px solid}.plan-tile.unlinked .plan-tile-mark{border:1.5px dashed}.plan-tile.rest .plan-tile-mark{visibility:hidden}.plan-tile.skipped .plan-tile-mark{border:1.5px dotted}.plan-row-actual{font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:1/-1}.dc-profile .settings-wrap{padding-top:12px}.dc-profile .settings-wrap>.set-card:first-of-type>.set-kick:first-child,.dc-profile .settings-wrap>.set-card:first-of-type>.set-kick-row:first-child,.dc-profile .settings-wrap>.set-card:first-of-type>.set-kick-row:first-child>.set-kick,.dc-profile .settings-wrap>.card:first-of-type>.set-kick:first-child,.dc-profile .settings-wrap>.card:first-of-type>.card-head-row:first-child,.dc-profile .settings-wrap>.card:first-of-type>.card-head-row:first-child>.card-kicker{border-top:0;margin-top:0;padding-top:0}.dc-profile .settings-wrap .block-sub{color:var(--text-muted);font-size:var(--type-small);max-width:52ch;margin:2px 0 10px;line-height:1.34}.dc-profile .settings-wrap .set-act{min-height:var(--tap-min);border-radius:var(--control-radius);background:var(--accent);color:var(--accent-ink);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:650;display:inline-flex}.dc-profile .settings-wrap .set-act:disabled{opacity:.55;cursor:default}.dc-profile .settings-wrap .set-act-quiet{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--control-radius);color:var(--text-secondary);font-family:var(--font-grotesk), system-ui, sans-serif;font-size:var(--type-small);white-space:nowrap;cursor:pointer;background:0 0;flex:1;padding:0 14px;font-weight:650}.dc-profile .settings-wrap .set-act-quiet:disabled{opacity:.55;cursor:default}.dc-profile .settings-wrap .zone-reactions{gap:var(--space-2);margin-top:10px}.dc-profile .settings-wrap .set-kick-row{align-items:flex-start}
