@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{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-text)}.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:var(--type-eyebrow-case);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-text)}.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)}.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-kicker{margin:0 0 4px}.plan-sheet-kicker.on{color:var(--accent-text)}.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:var(--type-eyebrow-case);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-text)}.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:var(--type-eyebrow-case);letter-spacing:.06em;color:var(--accent-text);writing-mode:vertical-rl}.plan-sheet-rest-offer{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:var(--accent-ink)}.plan-sheet-action.primary:hover{border-color:var(--accent)}.plan-sheet-action.danger{color:var(--status-serious);border-color:#0000}.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;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-text{flex-wrap:wrap;align-items:baseline;column-gap:8px;min-width:0;display:flex}.custom-step-open strong{font-size:var(--type-body-lg);color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:6em;min-width:6em;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.custom-step-text>.custom-step-meta{color:var(--text-muted);font-size:var(--type-small);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin-left:auto;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-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:var(--type-eyebrow-case);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}}.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-kpi:last-child:nth-child(odd){flex-flow:wrap;grid-column:1/-1;align-items:baseline;column-gap:9px}.admin-kpi:last-child:nth-child(odd) .admin-kpi-l,.admin-kpi:last-child:nth-child(odd) .admin-kpi-d{margin-top:0}.admin-reach{font-size:var(--type-small);color:var(--text-secondary);margin:0 0 4px;line-height:1.45}.admin-reach b{font-size:var(--type-body-lg);color:var(--text-primary);font-weight:800}.admin-reach small{font-size:var(--type-micro);color:var(--text-muted);display:block}.admin-adopt-kick{font-size:var(--type-micro);color:var(--text-muted);margin:10px 0 0}.admin-adopt-kick+.admin-adopt{margin-top:5px}.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(--surface-2);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-text);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(--critical-text)}.admin-badge.b-new{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent-text)}.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(--critical-text)}.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-text);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:var(--type-eyebrow-case);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-text);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:600}.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-text)}.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}.pace-plan-chart{width:100%;height:auto;margin:8px 0 0;display:block}.pace-plan-band{fill:var(--accent);opacity:.18}.pace-plan-mid{stroke:var(--accent);stroke-width:2px}.pace-plan-day{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 3}.pace-plan-ran{stroke:var(--text-primary);stroke-width:2px}.pace-plan-tick{stroke:var(--gridline);stroke-width:1px}.pace-plan-target{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:1 3}.pace-plan-elev{stroke:var(--text-muted);stroke-width:1.4px;opacity:.7}.pace-plan-base{stroke:var(--border);stroke-width:1px}.pace-plan-axis{fill:var(--text-muted);font-size:10px;font-family:var(--font-grotesk), system-ui, sans-serif;font-variant-numeric:tabular-nums}.pace-plan-key{font-size:var(--type-micro);color:var(--text-muted);flex-wrap:wrap;gap:4px 14px;margin:4px 0 0;display:flex}.pace-plan-key span:before{content:"";vertical-align:middle;border-top:2px solid var(--accent);width:14px;height:0;margin-right:5px;display:inline-block}.pace-plan-key-day:before{border-top-style:dashed!important;border-top-color:var(--text-muted)!important}.pace-plan-key-ran:before{border-top-color:var(--text-primary)!important}.pace-plan-key-target:before{border-top-style:dotted!important;border-top-color:var(--text-muted)!important}.pace-plan-rows{margin:10px 0 0;padding:0;list-style:none}.pace-plan-row{border-bottom:1px solid var(--gridline);padding:8px 0}.pace-plan-row:last-child{border-bottom:0}.pace-plan-row-head{min-width:0;font-size:var(--type-body-lg);align-items:baseline;gap:8px;display:flex}.pace-plan-km{font-family:var(--font-grotesk), system-ui, sans-serif;font-variant-numeric:tabular-nums;flex:none;font-weight:600}.pace-plan-label{min-width:0;color:var(--text-secondary);font-size:var(--type-small);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.pace-plan-elapsed{font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.pace-plan-row-meta{min-width:0;font-size:var(--type-small);color:var(--text-secondary);align-items:center;gap:10px;margin-top:4px;display:flex}.pace-plan-pill{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--font-grotesk), system-ui, sans-serif;border-radius:999px;flex:none;padding:2px 8px}.pace-plan-note{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.pace-plan-note.quick{color:var(--text-primary);font-weight:600}.pace-plan-climb{font-variant-numeric:tabular-nums;color:var(--text-muted);flex:none;margin-left:auto}.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-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-text);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(--status-warning);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-text);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}.missed-prompt{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;margin-top:8px;padding:8px 14px 9px}.missed-prompt-line{font-size:var(--type-body);color:var(--text-primary);margin:0 0 4px;line-height:1.4}.missed-prompt-line b{font-weight:600}.missed-prompt-why{white-space:nowrap;text-overflow:ellipsis;font-size:var(--type-small);color:var(--text-secondary);margin:0 0 8px;line-height:1.4;overflow:hidden}.missed-prompt-acts{flex-wrap:wrap;gap:8px;display:flex}.missed-prompt-acts .filter-chip.lead,.taper-sim .filter-chip.lead{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.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:var(--type-eyebrow-case);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-verdict{font-size:var(--type-eyebrow);letter-spacing:.06em;text-transform:var(--type-eyebrow-case);white-space:nowrap;font-weight:700}.goal-verdict.onTrack,.goal-verdict.reach{color:var(--accent-text)}.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-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}.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-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-text);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:var(--type-eyebrow-case);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(--good)}.triad-item.tone-mid .triad-word{color:var(--status-warning)}.triad-item.tone-thin .triad-word{color:var(--accent-text)}.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:500;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(--good)}.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-text)}.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:var(--type-eyebrow-case);font-weight:700}.raa-lab.repeat{color:var(--good)}.raa-lab.adjust{color:var(--status-warning)}.raa-lab.avoid{color:var(--accent-text)}@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-text);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}.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:var(--type-eyebrow-case);color:var(--accent-text);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-text);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-text);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}.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}@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-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-text);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-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{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-right:8px;font-weight:500}.sw-list-title{font-size:var(--type-small);color:var(--text-primary);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-nodesc{font-size:var(--type-micro);color:var(--text-muted);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-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{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>.notes-hint{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-callouts{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.adj-callouts li{border:1px solid var(--border);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);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-label{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);text-transform:var(--type-eyebrow-case);letter-spacing:var(--type-eyebrow-spacing)}.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-tabs-wrap{top:var(--header-h,0);z-index:5;background:var(--page);transition:top .25s cubic-bezier(.2,.7,.2,1);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{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-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)}.today-card.has-offer{padding-bottom:6px}.today-offer{flex-wrap:wrap;gap:8px;padding-top:0;padding-bottom:10px;display:flex}.today-offer-btn{min-width:0;min-height:44px;font-size:var(--type-body-lg);cursor:pointer;color:var(--band-ink);border:1px solid color-mix(in srgb, var(--band-ink) 62%, transparent);background:0 0;border-radius:12px;flex:1 1 0;padding:7px 12px;font-weight:600;line-height:1.25}.today-offer-lead{font-size:var(--type-body);color:var(--band-ink);flex:1 0 100%;margin:0 0 2px;font-weight:600}.today-offer-btn.is-lead{background:color-mix(in srgb, var(--band-ink) 12%, transparent)}.today-offer-btn:focus-visible{outline:2px solid var(--band-ink);outline-offset:2px}.today-offer-btn:disabled{opacity:.55}.today-offer-keep{min-height:40px;color:var(--band-ink);font:var(--role-control);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;flex:1 0 100%;padding:0;text-decoration:underline}.today-offer-keep:focus-visible{outline:2px solid var(--band-ink);outline-offset:2px}.today-offer-keep:disabled{opacity:.55}.today-offer-err:empty{position:absolute}.today-offer-err{font-size:var(--type-small);color:var(--band-ink);opacity:.74;flex:1 0 100%;margin:0}.today-offer-note{font-size:var(--type-small);color:var(--band-ink);flex:1 0 100%;margin:0;line-height:1.4}.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 .lastrun-card{isolation:isolate;position:relative}.route-trace{z-index:-1;pointer-events:none;width:64px;height:44px;position:absolute;top:-6px;right:22px}.route-trace path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.5}.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>.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:var(--type-eyebrow-case);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 .taper-arc-raced~.taper-arc-axis{padding-right:var(--space-5)}.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 .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)}.dc-page .today-reps,.dc-page .today-at,.dc-page .today-meta,.dc-page .week-stat-value,.dc-page .week-dist b,.dc-page .goal-days,.dc-page .goal-sentence,.dc-page .home-recovery-n,.dc-page .dc-section-v,.dc-page .dc-fold-v{font-family:var(--font-figure-face);font-variant-numeric:tabular-nums;letter-spacing:0}.dc-page .today-reps,.dc-page .today-at{font-weight:600}.dc-page .week-stat-value,.dc-page .week-dist b,.dc-page .home-recovery-n{font-weight:500}.dc-page .today-reps{font-size:42px;line-height:1}.dc-page .today-at{font-size:36px;line-height:1}.dc-page .today-kind{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:var(--type-eyebrow-case)}.dc-fold{border-top:1px solid var(--border)}.dc-fold>summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;cursor:pointer;list-style:none;display:flex}.dc-fold>summary::-webkit-details-marker{display:none}.dc-fold-t{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:var(--type-eyebrow-case);color:var(--faint);flex:1}.dc-fold-v{color:var(--ink);font-size:var(--type-body)}.dc-fold-c{color:var(--faint);transition:transform .12s}.dc-fold[open] .dc-fold-c{transform:rotate(90deg)}.dc-fold>:not(summary){padding-bottom:var(--space-3)}.dc-fold .dc-section{display:none}.dc-fold .goal-card,.dc-fold .lastrun-card{margin-top:0}.dc-page.is-raceweek .raceweek-count{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.dc-page.is-raceweek .raceweek-n{font-family:var(--font-figure-face);font-variant-numeric:tabular-nums;color:var(--band-ink);font-size:64px;font-weight:600;line-height:.9}.dc-page.is-raceweek .raceweek-u{font-size:var(--type-body);color:var(--band-ink);opacity:.74;font-weight:600}.dc-page.is-raceweek .today-reps{font-size:26px}.dc-page.is-raceweek .today-at{font-size:24px}.dc-page.is-raceweek .today-kind{margin-top:var(--space-1)}.dc-page.is-raceweek .raceweek-read{white-space:normal;text-align:right;font-size:var(--type-body);color:var(--band-ink);font-weight:500}.dc-page.is-raceweek{--ground:#171310;--ground-band:#241e19;background:var(--ground)}body:has(.dc-page.is-raceweek){background:#171310}html.light .dc-page.is-raceweek{--ground:#faf5ec;--ground-band:#f1e9dd}html.light body:has(.dc-page.is-raceweek){background:#faf5ec}.taper-sim .taper-options{margin:12px 0 0}.taper-bars{align-items:flex-end;gap:3px;height:96px;margin:16px 0 8px;display:flex}.taper-bar{background:var(--baseline);border-radius:3px 3px 0 0;flex:1;min-width:4px}.taper-bar.taper{background:var(--accent)}.taper-bar.past{opacity:.45}.taper-curve-line{margin:0 0 12px}.taper-time{font-size:var(--type-title);color:var(--text-primary);margin:10px 0 2px}.taper-time b{font-weight:700}.taper-model{font-size:var(--type-small);margin-top:12px}.taper-apply{margin-top:14px}.plan-changes{margin-top:.5rem}.plan-changes-sum{cursor:pointer;font-size:var(--type-small);color:var(--mid)}.dc-training.tp{padding-bottom:var(--space-6)}.tp .tp-head{padding-top:var(--space-4);flex-direction:column;display:flex}.tp .tp-kicker{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);margin:0}.tp .tp-title{margin:var(--space-2) 0 0;font:var(--role-display);color:var(--ink);overflow-wrap:anywhere}.tp .tp-figures{column-gap:var(--space-4);margin:var(--space-4) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tp .tp-fig{gap:var(--space-1);flex-direction:column-reverse;min-width:0;display:flex}.tp .tp-fig dt{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}.tp .tp-fig dd{font:var(--role-figure);font-variant-numeric:tabular-nums;color:var(--ink);margin:0}.tp .tp-fig.is-soft dd{color:var(--mid)}.tp .tp-read-row{justify-content:space-between;align-items:baseline;column-gap:var(--space-3);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.tp .tp-read{max-width:60ch;font:var(--role-body);color:var(--ink);margin:0}.tp .tp-head .plan-hero-stats{margin:var(--space-1) 0 0;font:var(--role-meta);color:var(--mid);column-gap:var(--space-2)}.tp .tp-link{font:var(--role-control);color:var(--accent-text);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;margin:0;padding:0;display:inline-flex}.tp .tp-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tp .plan-target-edit{align-items:center;gap:var(--space-2);margin:var(--space-5) 0 0;flex-wrap:wrap;display:flex}.tp .plan-target-edit .filter-input{width:8.5em;height:var(--control-h);box-sizing:border-box;padding:0 var(--space-4);border:1px solid var(--rule);font:var(--role-figure-s);font-variant-numeric:tabular-nums;color:var(--ink);background:0 0;border-radius:999px}.tp .plan-target-edit .filter-chip:first-of-type{background:var(--accent);color:var(--accent-ink)}.tp .plan-target-edit .error-note{font:var(--role-meta);flex-basis:100%;margin:0}.tp .filter-chip{min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);letter-spacing:0;color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;display:inline-flex}.tp .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.tp .wizard-step-chips .filter-chip{border:0;border-bottom:1px solid var(--gridline);min-height:0;font-size:var(--type-body);color:var(--text-primary);text-align:left;background:0 0;border-radius:0;grid-template-columns:1fr auto;justify-content:start;padding:9px 2px;display:grid}.tp .wizard-step-chips .filter-chip:last-child{border-bottom:0}.tp .link-quiet{min-height:var(--control-h);font:var(--role-control);color:var(--mid);padding:0}.tp .plan-hero-actions{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;border:0;flex-wrap:nowrap;padding:0;display:flex}.tp .view-toggle,.dc-page.ap .view-toggle{height:var(--control-h);box-sizing:border-box;background:var(--control-fill);align-items:stretch;margin:0;padding:3px}.tp .view-toggle-tab,.dc-page.ap .view-toggle-tab{height:100%;min-height:0;padding:0 var(--space-4);font:var(--role-control);color:var(--mid)}.tp .view-toggle-tab.on,.dc-page.ap .view-toggle-tab.on{color:var(--accent-ink)}.tp .plan-hero-menu-btn,.dc-page.ap .plan-hero-menu-btn{align-items:center;gap:var(--space-2);height:var(--control-h);min-height:0;padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);color:var(--ink);border:0;border-radius:999px;display:inline-flex}.tp .plan-hero-menu-pop,.dc-page.ap .plan-hero-menu-pop{padding:var(--space-1) 0;border-radius:12px;min-width:232px}.tp .plan-hero-menu-pop>:not(hr),.dc-page.ap .plan-hero-menu-pop>:not(hr){min-height:var(--control-h);padding:0 var(--space-4);font:var(--role-body);color:var(--ink);align-items:center;display:flex}.tp .plan-hero-menu-rule{margin:var(--space-1) 0;border:0;border-top:1px solid var(--rule)}.tp .tp-sec,.tp .tp-week-head{margin-top:var(--space-4)}.tp .tp-sec .dc-section,.tp .tp-week-head .dc-section{padding-top:var(--space-2);margin-top:0}.tp .dc-section-t,.tp .dc-section-v{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);font-variant-numeric:tabular-nums}.tp .tp-sec>.explain>.explain-q{left:0;right:auto}.tp .tp-sec>.explain[open]>.explain-body{padding:var(--space-2) var(--space-3) var(--space-2) calc(var(--space-3) + 28px)}.tp .taper-arc{margin-top:var(--space-4)}.tp .taper-arc-km{font:var(--role-chart);font-variant-numeric:tabular-nums;color:var(--faint)}.tp .taper-arc-axis span{font:var(--role-chart);letter-spacing:0;text-transform:none;color:var(--faint)}.tp .taper-arc-axis span.here,.tp .taper-arc-axis span.open{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--ink)}.tp .plan-move-banner,.tp .plan-notice,.tp>.error-note{margin-top:var(--space-5);font:var(--role-body)}.tp .plan-week-card{margin-top:var(--space-2)}.tp .plan-week-credit{font:var(--role-meta);color:var(--mid)}.tp .plan-tile-strip{margin:0 0 var(--space-3);gap:var(--space-1)}.tp .plan-tile{gap:var(--space-1);padding:var(--space-2) 2px}.tp .plan-tile-weekday{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.tp .plan-tile-date{font:inherit;letter-spacing:inherit}.tp .plan-tile.is-today .plan-tile-weekday{text-underline-offset:3px;font-weight:650;text-decoration:underline;text-decoration-thickness:1.5px}.tp .plan-tile-km{font:var(--role-figure-s);font-variant-numeric:tabular-nums}.tp .plan-tile-runs{font:var(--role-chart)}.tp .plan-tile.planned,.tp .plan-tile.unlinked{border-width:1.5px}.tp .plan-tile.planned .plan-tile-mark{border:0}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day{padding:var(--space-3) 0 0;border-top:1px solid var(--rule);background:0 0;display:block}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-calendar-day:not(.plan-today):has(.plan-next){background:0 0}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-day-rail{gap:var(--space-1);margin:0 0 var(--space-2);display:flex}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-day-name,.tp .plan-calendar:not(.plan-calendar-choosing) .plan-day-date{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);display:inline}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-day-body{gap:var(--space-1);display:grid}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-row:after{left:0;right:0}.tp .plan-row{gap:var(--space-2)}.tp .plan-row-title{font:var(--role-title)}.tp .plan-row-name{color:var(--ink)}.tp .plan-row-chev{font:var(--role-body);color:var(--faint)}.tp .plan-row-distance{font:var(--role-body);font-variant-numeric:tabular-nums;color:var(--mid)}.tp .plan-row-dot.done{font:var(--role-title);color:var(--ink)}.tp .plan-row-verdict{font:var(--role-meta);color:var(--faint)}.tp .plan-row-actual{font:var(--role-meta);color:var(--mid)}.tp .plan-rest-day{font:var(--role-body);color:var(--mid);margin:0}.tp button.plan-rest-day-add{font:var(--role-body);color:var(--mid);border:0;border-radius:0;padding:0}.tp .plan-rest-add-hint,.tp .plan-day-add-hint{font:var(--role-control);color:var(--accent-text)}.tp .plan-calendar:not(.plan-calendar-choosing) .plan-row,.tp .plan-calendar:not(.plan-calendar-choosing) button.plan-rest-day-add{min-height:var(--control-h)}.tp .plan-unplanned-run .plan-row-actual{color:var(--faint)}.tp .tp-notes .dc-fold,.tp .tp-notes .plan-changes{border-top:1px solid var(--rule);margin:0}.tp .tp-notes>.dc-section+.dc-fold,.tp .tp-notes>.dc-section+.plan-changes{border-top:0}.tp .tp-notes .dc-fold>summary,.tp .tp-notes .plan-changes-sum{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) 0;cursor:pointer;font:var(--role-body);color:var(--ink);list-style:none;display:flex}.tp .tp-notes .dc-fold-t{font:var(--role-body);letter-spacing:0;text-transform:none;color:var(--ink)}.tp .tp-notes .dc-fold-c,.tp .tp-notes .plan-changes-sum:after{font:var(--role-body);color:var(--faint);flex:none;transition:transform .12s}.tp .tp-notes .plan-changes-sum:after{content:"›"}.tp .tp-notes .plan-changes-sum::-webkit-details-marker{display:none}.tp .tp-notes .plan-changes[open] .plan-changes-sum:after{transform:rotate(90deg)}.tp .tp-notes .dc-fold>:not(summary),.tp .tp-notes .plan-changes>:not(summary){font:var(--role-meta);color:var(--mid)}.tp .tp-notes .plan-changes>:last-child{padding-bottom:var(--space-3)}.tp .tp-notes .plan-hero-note{margin:var(--space-3) 0;font:var(--role-meta);color:var(--mid)}.tp .tp-notes .racepace-dist{font:var(--role-title)}.tp .device-nudge{margin:var(--space-4) 0 0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}.tp .device-nudge .card-kicker{font:var(--role-title);letter-spacing:0;text-transform:none;color:var(--ink);margin:0;display:block}.tp .device-nudge .device-setup-lead{margin:var(--space-1) 0 0;font:var(--role-body);color:var(--mid)}.tp .device-nudge .device-setup-actions{align-items:center;gap:var(--space-5);margin-top:var(--space-4);display:flex}.tp .cal{gap:var(--space-3);margin-top:var(--space-5)}.tp .cal-head strong{font:var(--role-title);color:var(--ink)}.tp .cal-chev{width:var(--control-h);height:var(--control-h);background:var(--control-fill);font:var(--role-control);color:var(--ink);border:0;border-radius:999px}.tp .cal-dow{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--faint)}.tp .cal-grid{gap:2px}.tp .cal-cell{background:0 0;border:1.5px solid #0000;border-radius:12px}.tp .cal-cell.out{background:0 0}.tp .cal-cell.today{border-color:var(--ink)}.tp .cal-cell.sel{background:var(--control-fill)}.tp .cal-n{font:var(--role-body);font-variant-numeric:tabular-nums;color:var(--ink)}.tp .cal-cell.out .cal-n{color:var(--faint)}.tp .cal-cell.today .cal-n{font:var(--role-title);font-variant-numeric:tabular-nums}.tp .cal-legend{gap:var(--space-1) var(--space-3);font:var(--role-chart);color:var(--faint)}.tp .cal-day{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--rule);background:0 0;border-radius:0}.tp .cal-day .kicker{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid);margin:0}.tp .cal-item{border-left:0;padding-left:0}.tp .cal-item b{font:var(--role-title);color:var(--ink)}.tp .cal-item small{font:var(--role-meta);color:var(--mid)}.cal-race-ask{margin:var(--space-2) 0 var(--space-1)}.tp .cal-day .empty-note{font:var(--role-body);color:var(--mid)}.tp .cal-day-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.dc-page.hp .dc-section-t,.dc-page.hp .dc-section-v{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);font-variant-numeric:tabular-nums}.dc-page.hp .raceweek-n{font:var(--role-hero);font-variant-numeric:tabular-nums}.dc-page.hp .raceweek-u{font:var(--role-title)}.dc-page.hp .today-kind{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.dc-page.hp .today-reps,.dc-page.hp .today-at{font:var(--role-figure);font-variant-numeric:tabular-nums}.dc-page.hp .today-unit,.dc-page.hp .today-ceiling,.dc-page.hp .today-meta,.dc-page.hp .today-readiness,.dc-page.hp .today-foot,.dc-page.hp .today-onwatch,.dc-page.hp .today-offer-note,.dc-page.hp .today-offer-err{font:var(--role-meta)}.dc-page.hp .today-why{font:var(--role-body)}.dc-page.hp .today-see{font:var(--role-control)}.dc-page.hp .today-offer-btn{min-height:var(--control-h);padding:0 var(--space-4);font:var(--role-control);border-radius:999px}.dc-page.hp .home-recovery-n{font:var(--role-figure-s);font-variant-numeric:tabular-nums}.dc-page.hp .home-recovery-l,.dc-page.hp .home-recovery-sub,.dc-page.hp .today-hero small,.dc-page.hp .home-recovery small,.dc-page.hp .week-stat-value small{font:var(--role-meta)}.dc-page.hp .goal-name{font:var(--role-title)}.dc-page.hp .goal-days,.dc-page.hp .goal-sentence,.dc-page.hp .goal-short-note,.dc-page.hp .week-stat-note{font:var(--role-meta)}.dc-page.hp .goal-verdict,.dc-page.hp .week-flag{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.dc-page.hp .week-dist{font:var(--role-meta);color:var(--mid)}.dc-page.hp .week-dist b,.dc-page.hp .week-stat-value{font:var(--role-figure-s);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-page.hp .daystrip span{font:var(--role-chart)}.dc-page.hp .daystrip span.today{font:var(--role-label)}.dc-page.hp .dc-fold-t{font:var(--role-body);letter-spacing:0;text-transform:none;color:var(--ink)}.dc-page.hp .dc-fold-v{font:var(--role-meta);font-variant-numeric:tabular-nums;color:var(--mid)}.dc-page.hp .dc-fold-c{font:var(--role-body)}.dc-page.hp .lastrun-name{font:var(--role-title)}.dc-page.hp .lastrun-lab{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.dc-page.hp .missed-prompt-line{font:var(--role-body)}.dc-page.hp .missed-prompt-why{font:var(--role-meta)}.missed-prompt-why.wraps{white-space:normal}.dc-page.hp .limited-data-headline{font:var(--role-title)}.dc-page.hp .limited-data-next,.dc-page.hp .limited-data-banner p:not(.limited-data-headline){font:var(--role-body)}.dc-page.hp .limited-data-action{font:var(--role-control);color:var(--accent-text)}.dc-page.hp .filter-chip,.dc-page.hp .banner-dismiss{min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.dc-page.hp .filter-chip.lead,.dc-page.hp .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.dc-page.hp .limited-data-banner{margin-top:var(--space-5);padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}.dc-page.hp .limited-data-banner .limited-data{gap:var(--space-1);border-left:0;border-radius:0;padding:0}.dc-page.hp .banner-dismiss{margin-top:var(--space-3)}.dc-page.ap .rail-totals{column-gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;display:grid}.dc-page.ap .rail-total{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dc-page.ap .rail-total-value,.dc-page.ap .rail-hero{font:var(--role-figure);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--ink)}.dc-page.ap .rail-hero-unit{font:var(--role-meta);color:var(--mid);margin-left:2px}.dc-page.ap .rail-total-label{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid)}.dc-page.ap .rail-search{box-sizing:border-box;width:100%;max-width:none;height:var(--control-h);margin:var(--space-5) 0 0;padding:0 var(--space-4);background:var(--control-fill);font:var(--role-body);color:var(--ink);border:0;border-radius:999px}.dc-page.ap .search-scope-note{font:var(--role-meta);color:var(--mid)}.dc-page.ap .ap-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.dc-page.ap .ap-row-filters{flex-wrap:wrap;justify-content:flex-start}.dc-page.ap .ap-flex{flex:1}.dc-page.ap .view-toggle{margin:0}.dc-page.ap .filter-chip{min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);letter-spacing:0;color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;display:inline-flex}.dc-page.ap .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.dc-page.ap .act-sort{gap:var(--space-1);display:flex}.dc-page.ap .act-sort .notes-select{height:var(--control-h);padding:0 calc(var(--space-4) + 18px) 0 var(--space-4);appearance:none;background:var(--control-fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px 14px;font:var(--role-control);color:var(--ink);border:0;border-radius:999px}.dc-page.ap .act-sort-dir{width:var(--control-h);padding:0}.dc-page.ap .wl-wk-lab{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--ink)}.dc-page.ap .wl-wk-sum,.dc-page.ap .wl-wk-sum b,.dc-page.ap .wl-wk-other{font:var(--role-meta);font-variant-numeric:tabular-nums;color:var(--mid)}.dc-page.ap .wl-wk-sum b{color:var(--ink)}.dc-page.ap .wl-date span{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}.dc-page.ap .wl-date b{font:var(--role-title);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-page.ap .wl-name{font:var(--role-title);color:var(--ink)}.dc-page.ap .wl-sub,.dc-page.ap .wl-pace,.dc-page.ap .wl-eff,.dc-page.ap .wl-gear{font:var(--role-meta);font-variant-numeric:tabular-nums;color:var(--mid)}.dc-page.ap .wl-dist{font:var(--role-body);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-page.ap .bulk-activity-toolbar strong{font:var(--role-title)}.dc-page.ap .bulk-activity-toolbar span{font:var(--role-meta);color:var(--mid)}.dc-progress.pp b,.dc-progress.pp strong{font-weight:600}.dc-progress.pp .rail-hero{font:var(--role-hero);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink)}.dc-progress.pp .rail-target-value,.dc-progress.pp .threshold-primary{font:var(--role-figure);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink)}.dc-progress.pp .rail-row-value,.dc-progress.pp .threshold-goal-now,.dc-progress.pp .season-figure,.dc-progress.pp .tbank-stat-value,.dc-progress.pp .review-fig-n,.dc-progress.pp .block-stat-n{font:var(--role-figure-s);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink)}.dc-progress.pp .block-title,.dc-progress.pp .rail-row-title,.dc-progress.pp .analysis-section-title,.dc-progress.pp .trend-week-label,.dc-progress.pp .season-name,.dc-progress.pp .lever-name{font:var(--role-title);letter-spacing:0;color:var(--ink)}.dc-progress.pp .trend-week-total,.dc-progress.pp .milestone-value{font:var(--role-title);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-progress.pp .triad-word,.dc-progress.pp .base-read,.dc-progress.pp .rail-hero-pace{font:var(--role-body);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-progress.pp p,.dc-progress.pp td,.dc-progress.pp .rail-ready-line,.dc-progress.pp .rail-read,.dc-progress.pp .pred-row-confidence,.dc-progress.pp .notes-hint,.dc-progress.pp .triad-note,.dc-progress.pp .block-sub,.dc-progress.pp .tbank-delta,.dc-progress.pp .threshold-goal-verdict,.dc-progress.pp .tbank-open,.dc-progress.pp .tbank-cover,.dc-progress.pp .threshold-hint,.dc-progress.pp .threshold-secondary,.dc-progress.pp .analysis-section-subtitle,.dc-progress.pp .curve-note,.dc-progress.pp .curve-thin,.dc-progress.pp .cs-band,.dc-progress.pp .cs-what,.dc-progress.pp .cs-confidence,.dc-progress.pp .card-read,.dc-progress.pp .milestone-badge,.dc-progress.pp .milestones-foot,.dc-progress.pp .pyr-tap-hint,.dc-progress.pp .curve-intro,.dc-progress.pp .hold-empty,.dc-progress.pp .base-note,.dc-progress.pp .trend-key,.dc-progress.pp .lever-figure,.dc-progress.pp small{font:var(--role-meta);font-variant-numeric:tabular-nums;letter-spacing:0}.dc-progress.pp p b,.dc-progress.pp p strong,.dc-progress.pp td b{font-weight:600}.dc-progress.pp .triad-word,.dc-progress.pp .base-read{font:var(--role-body)}.dc-progress.pp .kicker,.dc-progress.pp .threshold-goal-label,.dc-progress.pp .rail-target-kick,.dc-progress.pp .pred-ready,.dc-progress.pp .triad-label,.dc-progress.pp th,.dc-progress.pp .pyr-row-label,.dc-progress.pp .block-stat-l,.dc-progress.pp .evidence-chip,.dc-progress.pp .trend-current-badge,.dc-progress.pp .raa-lab{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none}.dc-progress.pp .rail-band-low,.dc-progress.pp .rail-band-high,.dc-progress.pp .pred-table-pace,.dc-progress.pp .tbank-stat-label,.dc-progress.pp .tbank-tick,.dc-progress.pp .threshold-alias,.dc-progress.pp .engine-source,.dc-progress.pp .curve-when,.dc-progress.pp .lever-how,.dc-progress.pp .season-when,.dc-progress.pp .season-sub{font:var(--role-chart);font-variant-numeric:tabular-nums;letter-spacing:0}.dc-progress.pp .detail-tab{min-height:var(--control-h);font:var(--role-control)}.dc-progress.pp .filter-chip{min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);letter-spacing:0;color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.dc-progress.pp .filter-chip.active{background:var(--accent);color:var(--accent-ink)}.dc-progress.pp details>summary:not(.analysis-section-header,.explain-q),.dc-progress.pp a:not(.filter-chip):not(.detail-tab){font:var(--role-control);color:var(--accent-text)}.dc-progress.pp details>summary:not(.analysis-section-header,.explain-q){min-height:var(--control-h);align-items:center;display:flex}.dc-progress.pp .analysis-section{border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}.dc-progress.pp .analysis-section-header{min-height:44px;padding-left:0;padding-right:0}.dc-progress.pp .analysis-section-chevron{font:var(--role-body);color:var(--faint)}.dc-progress.pp .limited-data-headline{font:var(--role-title)}.dc-progress.pp .limited-data-next{font:var(--role-body)}.dc-progress.pp .cs-lead strong,.dc-progress.pp .base-stat b{font:var(--role-figure);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-progress.pp .alltime-grid b,.dc-progress.pp .milestones-stats strong{font:var(--role-figure-s);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-progress.pp .limited-data{gap:var(--space-1);margin-top:var(--space-5);padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);background:0 0;border-radius:0}.dc-profile.prp .set-card,.dc-profile.prp .set-card.danger{margin:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0;padding:0;overflow:visible}.dc-profile.prp .set-kick,.dc-profile.prp .kicker,.dc-profile.prp .conn-dir,.dc-profile.prp .conn-state,.dc-profile.prp .field-label,.dc-profile.prp th,.dc-profile.prp .zone-evidence-kick,.dc-profile.prp .zone-evidence-group,.dc-profile.prp .evidence-chip{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none}.dc-profile.prp .set-kick{padding-top:var(--space-3);margin:0}.dc-profile.prp .settings-wrap>h1+.set-card{margin-top:0}.dc-profile.prp .set-row{border-bottom-color:var(--rule);min-height:44px}.dc-profile.prp .set-lab b,.dc-profile.prp .connection-name,.dc-profile.prp .zone-anchor-prov-label,.dc-profile.prp .detail-tab,.dc-profile.prp .name{font:var(--role-control);letter-spacing:0;color:var(--ink)}.dc-profile.prp .set-val,.dc-profile.prp .status-badge,.dc-profile.prp .conn-chev{font:var(--role-body);font-variant-numeric:tabular-nums}.dc-profile.prp .set-lab span,.dc-profile.prp .set-fact,.dc-profile.prp .set-more-cue,.dc-profile.prp .pwa-install-how,.dc-profile.prp .notes-hint,.dc-profile.prp .connection-role,.dc-profile.prp .block-sub,.dc-profile.prp .zone-anchor-prov-body,.dc-profile.prp .zone-evidence-fig,.dc-profile.prp .zone-evidence-why,.dc-profile.prp .zone-evidence-note,.dc-profile.prp .zone-evidence-run,.dc-profile.prp .zone-evidence-status,.dc-profile.prp .zone-evidence-struck-count,.dc-profile.prp .zone-observed,.dc-profile.prp li,.dc-profile.prp p{font:var(--role-meta);letter-spacing:0}.dc-profile.prp p b,.dc-profile.prp p strong{font-weight:600}.dc-profile.prp details>summary:where(:not(.explain-q)),.dc-profile.prp a:not(.filter-chip):not(.detail-tab){font:var(--role-control);color:var(--accent-text)}.dc-profile.prp details>summary:where(:not(.explain-q)){min-height:var(--control-h);align-items:center;display:flex}.dc-profile.prp .detail-tab{min-height:var(--control-h)}.dc-profile.prp.prp .filter-chip,.dc-profile.prp.prp .set-act,.dc-profile.prp.prp .set-act-quiet,.dc-profile.prp.prp .zone-evidence-x,.dc-profile.prp [data-section=data] .danger .goal-form button:not(.filter-chip){min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);letter-spacing:0;color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;display:inline-flex}.dc-profile.prp.prp .filter-chip.active,.dc-profile.prp.prp .set-act{background:var(--accent);color:var(--accent-ink)}.dc-profile.prp.prp .set-act-quiet{background:var(--control-fill);color:var(--ink)}.dc-profile.prp [data-section=data] .danger .goal-form button.danger-delete{background:var(--status-critical);color:var(--status-critical-ink)}.dc-profile.prp input:not([type=checkbox]):not([type=radio]):not([type=range]),.dc-profile.prp select,.dc-profile.prp .filter-input{height:var(--control-h);box-sizing:border-box;padding:0 var(--space-4);background-color:var(--control-fill);font:var(--role-body);color:var(--ink);border:0;border-radius:999px}.dc-profile.prp textarea{background:var(--control-fill);font:var(--role-body);border:0;border-radius:16px}.dc-profile.prp .set-ctl:has(>.set-seg){height:var(--control-h);box-sizing:border-box;background:var(--control-fill);border:0;border-radius:999px;gap:2px;padding:3px}.dc-profile.prp .set-card .set-ctl>.filter-chip.set-seg{height:100%;min-height:0;padding:0 var(--space-3);font:var(--role-control);color:var(--mid);background:0 0;border:0;border-radius:999px}.dc-profile.prp .set-card .set-ctl>.filter-chip.set-seg+.set-seg{border-left:0}.dc-profile.prp .set-card .set-ctl>.filter-chip.set-seg.active{background:var(--accent);color:var(--accent-ink)}html[data-layout=v2] .title-inline-btn{font:var(--role-display);letter-spacing:0;color:var(--ink)}html[data-layout=v2] .rail-hero{font:var(--role-figure);font-variant-numeric:tabular-nums;letter-spacing:0}html[data-layout=v2] .kicker,html[data-layout=v2] .rail-total-label,html[data-layout=v2] .confidence-label,html[data-layout=v2] .pva-summary-state,html[data-layout=v2] .pva-summary-role,html[data-layout=v2] .rep-strip-target-label,html[data-layout=v2] .rep-trow-diff,html[data-layout=v2] .pva-extra-tag{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none}html[data-layout=v2] .rail-note,html[data-layout=v2] .rail-footnote,html[data-layout=v2] .coach-read-cmp,html[data-layout=v2] .run-total-label,html[data-layout=v2] .run-total-value,html[data-layout=v2] .analysis-section-subtitle,html[data-layout=v2] .pva-summary-detail,html[data-layout=v2] .rep-trow-n,html[data-layout=v2] .rep-trow-amt,html[data-layout=v2] .rep-trow-hr,html[data-layout=v2] .rep-trow-pace,html[data-layout=v2] .pva-total-sub{font:var(--role-meta);font-variant-numeric:tabular-nums;letter-spacing:0}html[data-layout=v2] .rep-bar-num{font:var(--role-chart);font-variant-numeric:tabular-nums}html[data-layout=v2] .verdict-glyph,html[data-layout=v2] .verdict-clause,html[data-layout=v2] .coach-read-insight,html[data-layout=v2] .feel-hint{font:var(--role-body)}html[data-layout=v2] .feel-hint-more{display:none}html[data-layout=v2] .verdict-state,html[data-layout=v2] .linked-workout-title,html[data-layout=v2] .analysis-section-title,html[data-layout=v2] .pva-set-title,html[data-layout=v2] .pva-total-val{font:var(--role-title);letter-spacing:0}html[data-layout=v2] .back-link{font:var(--role-control);letter-spacing:0;text-transform:none}html[data-layout=v2] .coach-read-more-toggle,html[data-layout=v2] .coach-read-chevron{font:var(--role-control)}html[data-layout=v2] .detail-tab{min-height:var(--control-h);font:var(--role-control)}html[data-layout=v2] main .filter-chip{min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);letter-spacing:0;color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}html[data-layout=v2] main .filter-chip.active{background:var(--accent);color:var(--accent-ink)}html[data-layout=v2] main .filter-chip{column-gap:.3em}html[data-layout=v2] .coach-read{gap:var(--space-2);padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);background:0 0;border-radius:0}html[data-layout=v2] .coach-read-quote{padding:var(--space-2) 0 0 26px;margin:0;position:relative}html[data-layout=v2] .coach-read-quote:before{content:"“";font:var(--role-display);color:var(--accent);font-size:52px;line-height:1;position:absolute;top:2px;left:-2px}html[data-layout=v2] .coach-read-quote-state{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:uppercase;margin:0 0 4px}html[data-layout=v2] .coach-read-quote blockquote{font:var(--role-figure);color:var(--ink);text-wrap:pretty;margin:0;font-weight:500;line-height:1.22}html[data-layout=v2] .coach-read-quote figcaption{font:var(--role-meta);color:var(--faint);margin-top:6px}html[data-layout=v2] .analysis-section{border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}html[data-layout=v2] .analysis-section-header{min-height:44px;padding-left:0;padding-right:0}html[data-layout=v2] .analysis-section-chevron{font:var(--role-body);color:var(--faint)}.explain-head{align-items:flex-end;gap:var(--space-2);display:flex}.explain-head>:first-child{flex:1;min-width:0}.explain{display:block;position:relative}.explain:not([open]){height:0}.explain>.explain-q{z-index:2;position:absolute;top:0;right:0}.explain[open]>.explain-body{padding-right:calc(var(--space-3) + 28px)}.explain-q{background:var(--control-fill);width:22px;height:22px;font:var(--role-label);color:var(--mid);cursor:pointer;border:0;border-radius:999px;flex:none;place-items:center;margin:0;padding:0;list-style:none;display:inline-grid;position:relative}.explain-q::-webkit-details-marker{display:none}.explain-q:before{content:"";position:absolute;inset:-11px}.explain-q[aria-expanded=true],.explain[open]>.explain-q{background:var(--ink);color:var(--ground)}.explain-q:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.explain-body{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--control-fill);font:var(--role-meta);color:var(--ink);border-radius:12px}.explain-body>*{font:inherit;color:inherit;max-width:none;margin:0}.explain-body>*+*{margin-top:var(--space-2)}.dc-progress.pp .threshold-alias,.dc-progress.pp .threshold-hint,.dc-progress.pp .milestones .block-title,.dc-progress.pp .milestones .block-sub,.dc-progress.pp .milestones .milestones-foot,.dc-progress.pp .milestones .milestone-body small{display:none}.dc-progress.pp .milestones .milestones-list{gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dc-progress.pp .milestones .milestone-row,.dc-progress.pp .milestones .milestone-row+.milestone-row{align-items:center;column-gap:var(--space-2);min-height:0;padding:var(--space-2);background:var(--control-fill);border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr);display:grid}.dc-progress.pp .milestones .milestone-row.locked{box-shadow:inset 0 0 0 1px var(--rule);background:0 0}.dc-progress.pp .milestones .milestone-badge{grid-row:1/3;width:20px;height:20px}.dc-progress.pp .milestones .milestone-body strong{font:var(--role-meta);color:var(--ink);font-weight:600}.dc-progress.pp .milestones .milestone-value{font:var(--role-meta);color:var(--mid);grid-column:2;justify-self:start}.dc-progress.pp .milestones .milestones-group-label{margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-2)}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2]) .tap-hint{display:none}.dc-progress.pp td.name .curve-when{margin:0 var(--space-1) 0 0;display:inline}.dc-progress.pp td.name .curve-when.curve-within{display:none}.dc-progress.pp td.name>.curve-when:first-of-type:before{content:"\a ";white-space:pre}.vol-chart{margin-top:var(--space-2)}.vol-bars{align-items:flex-end;gap:3px;height:120px;display:flex}.vol-col{cursor:pointer;background:0 0;border:0;flex:1;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.vol-bar{border-radius:3px 3px 0 0;flex-direction:column;width:100%;display:flex;overflow:hidden}.vol-bar .trend-seg{flex-shrink:1;flex-basis:0;height:auto;min-height:2px}.vol-col:not(.sel) .vol-bar{opacity:.5}.vol-col:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.vol-axis{margin-top:var(--space-1);gap:3px;display:flex}.vol-axis span{white-space:nowrap;min-width:0;font:var(--role-chart);color:var(--faint);flex:1;overflow:visible}.vol-read{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--rule)}.vol-read .trend-week-stats{margin-top:var(--space-1)}.dc-progress.pp .lever-how,.dc-progress.pp .base-note,.dc-progress.pp .threshold-goal-note,.tp .plan-calendar.plan-calendar-open-day .plan-day-rail{display:none}.tp .plan-calendar.plan-calendar-open-day .plan-calendar-day{padding-top:var(--space-2)}.tp .plan-week-card{margin-bottom:0}.tp .plan-tile-strip{margin-bottom:var(--space-2)}.tp .tp-figures{margin-top:var(--space-3)}.tp .tp-read-row{margin-top:var(--space-2)}.tp .tp-head .plan-hero-stats{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tp .tp-head .plan-hero-compliance{margin:0;display:inline}.tp .tp-head .plan-hero-compliance:before{content:"· "}.tp .tp-notes .dc-fold>summary,.tp .tp-notes .plan-changes-sum{min-height:40px}.dc-profile.prp .connection-switch{border-radius:999px}.dc-profile.prp .connection-switch .connection-switch-knob{border-radius:50%}html[data-layout=v2] main:has(>.workout-page-head) .card{margin:var(--space-4) 0 0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}html[data-layout=v2] main:has(>.workout-page-head) .card>.kicker:first-child{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid)}html[data-layout=v2] main:has(>.workout-page-head) .kicker{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid)}html[data-layout=v2] main:has(>.workout-page-head) .workout-detail-grid{gap:0}html[data-layout=v2] .workout-daynav{margin:var(--space-1) 0 0}html[data-layout=v2] .workout-daynav-date{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}html[data-layout=v2] .workout-daynav-arrow small{font:var(--role-meta);color:var(--faint)}html[data-layout=v2] .workout-page-head{margin:var(--space-2) 0 var(--space-2)}html[data-layout=v2] .workout-page-head .page-subtitle{font:var(--role-meta);color:var(--mid)}html[data-layout=v2] .workout-actions-btn{align-items:center;gap:var(--space-1);min-height:var(--control-h);padding:0 var(--space-4);background:var(--control-fill);font:var(--role-control);color:var(--ink);border:0;border-radius:999px;display:inline-flex}html[data-layout=v2] main:has(>.workout-page-head) :is(p,li,td,dd){font:var(--role-meta)}html[data-layout=v2] main:has(>.workout-page-head) :is(.notes-hint,.empty-note){color:var(--mid)}html[data-layout=v2] main:has(>.workout-page-head) :is(strong,b){font-weight:600}html[data-layout=v2] .race-phase,html[data-layout=v2] .race-fuel{padding:var(--space-2) 0;border-top:1px solid var(--rule)}html[data-layout=v2] .race-phase:first-of-type,html[data-layout=v2] .race-fuel:first-of-type{border-top:0}html[data-layout=v2] .race-target{font:var(--role-figure);font-variant-numeric:tabular-nums;color:var(--ink)}html[data-layout=v2] .race-splits th{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}html[data-layout=v2] .race-intent-today{display:none}html[data-layout=v2] main:has(>.workout-page-head) .plan-adjust{margin:var(--space-3) 0 0;padding:var(--space-2) 0 0;border:0;border-top:1px solid var(--rule);font:var(--role-meta);color:var(--mid);background:0 0;border-radius:0}.dc-progress.pp .milestones-fold{border-top:1px solid var(--rule)}.dc-progress.pp .milestones-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;list-style:none;display:flex}.dc-progress.pp .milestones-fold>summary::-webkit-details-marker{display:none}.dc-progress.pp .milestones-fold>summary .milestones-group-label{border:0;margin:0;padding:0}.dc-progress.pp .milestones-fold-n{font:var(--role-meta);font-variant-numeric:tabular-nums;color:var(--mid)}.dc-progress.pp .milestones-fold-n:after{content:" ›";margin-left:var(--space-1);color:var(--faint);transition:transform .15s;display:inline-block}.dc-progress.pp .milestones-fold[open] .milestones-fold-n:after{transform:rotate(90deg)}.dc-progress.pp .milestones-fold>.milestones-list{padding-bottom:var(--space-3)}.ns2 .sheet-head{align-items:center;gap:var(--space-2)}.ns2 .sheet-title{font:var(--role-title);white-space:nowrap}.ns2 .notices-actions{gap:var(--space-1);flex-wrap:nowrap;display:flex}.ns2 .sheet-clear{min-height:32px;padding:0 var(--space-3);background:var(--control-fill);font:var(--role-control);color:var(--ink);white-space:nowrap;border:0;border-radius:999px}.ns2 .sheet-clear:disabled{opacity:.45}.ns2 .notice-card{padding:var(--space-3) 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0;margin:0}.ns2 .notice-card:first-child{border-top:0}.ns2 .notice-title{font:var(--role-title)}.ns2 .notice-new{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.ns2 .notice-body{font:var(--role-meta);color:var(--ink)}.ns2 .notice-meta-line{font:var(--role-chart);color:var(--faint)}.ns2 .notice-open{font:var(--role-control)}.effort-bar{margin-top:var(--space-2)}.effort-track{gap:2px;display:flex}.effort-seg{min-width:0;min-height:56px;padding:var(--space-2);text-align:left;cursor:pointer;opacity:.72;border:0;border-radius:6px;flex-direction:column;justify-content:center;gap:2px;display:flex}.effort-seg.sel{opacity:1;box-shadow:inset 0 0 0 2px var(--ink)}.effort-seg-0{background:var(--zone-2);color:var(--zone-2-ink)}.effort-seg-1{background:var(--zone-4);color:var(--zone-4-ink)}.effort-seg-2{background:var(--zone-6);color:var(--zone-6-ink)}.effort-name{font:var(--role-control);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.effort-hr{font:var(--role-chart);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.effort-seg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.effort-axis{margin-top:var(--space-1);gap:2px;display:flex}.effort-axis span{min-width:0;font:var(--role-chart);font-variant-numeric:tabular-nums;color:var(--faint)}.effort-axis .effort-axis-end{flex:none}.effort-note{margin:var(--space-2) 0 0;font:var(--role-meta);color:var(--ink)}html[data-layout=v2] :where(main) :where(p,li,td,dd){font:var(--role-body)}html[data-layout=v2] :where(main) :where(td,th){font-variant-numeric:tabular-nums}html[data-layout=v2] :where(main) th{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid)}html[data-layout=v2] .dimension-label{font:var(--role-control)}html[data-layout=v2] .dimension-state{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none}html[data-layout=v2] .dimension-explanation,html[data-layout=v2] .coach-read-why{font:var(--role-body);color:var(--ink)}html[data-layout=v2] .dimension-evidence,html[data-layout=v2] .cond-parts{font:var(--role-meta);color:var(--mid)}.rail-desc{white-space:pre-line}html[data-layout=v2] .coach-read-rows{gap:var(--space-3);margin:var(--space-2) 0 0;flex-direction:column;display:flex}html[data-layout=v2] .coach-read-rows dt{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);margin:0 0 2px}html[data-layout=v2] .coach-read-rows dd{font:var(--role-body);color:var(--ink);margin:0}html[data-layout=v2] .coach-read-rows .quiet dd{color:var(--mid)}.aerobic-feature-card .explain-head{margin:0 0 var(--space-1);align-items:center}.aerobic-feature-card .explain-head>.aerobic-trend-callout{margin:0}.aerobic-feature-card>.card-read{margin:0 0 var(--space-4)}.dc-progress.pp #perf-panel-engine .cs-card{margin-top:var(--space-5)}.explain:has(+.section-link)>.explain-q{top:10px}html[data-layout=v2] .zone-chip{font:var(--role-label);font-variant-numeric:tabular-nums}html[data-layout=v2] .analysis-section{margin-top:0}html[data-layout=v2] .analysis-section-body{padding:0 0 var(--space-3);border-top:0}html[data-layout=v2] .dimension-row{padding:var(--space-2) 0}html[data-layout=v2] .dimension-list{padding-top:0}html[data-layout=v2] .pva-totals{margin-top:var(--space-2);padding-top:var(--space-2)}html[data-layout=v2] .structure-bar.run-structure{margin:var(--space-1) 0 var(--space-3)}.zl2{margin:var(--space-2) 0 0;padding:0;list-style:none}.zl2-row{align-items:baseline;column-gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 72px 84px;row-gap:6px;display:grid}.zl2-head{padding:0 0 var(--space-1);font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);border-top:0}.zl2-name{align-items:center;gap:var(--space-2);min-width:0;font:var(--role-control);color:var(--ink);display:flex}.zl2-sw{border-radius:3px;flex:none;width:10px;height:10px}.zl2-hr,.zl2-pace{text-align:right;font-variant-numeric:tabular-nums}.zl2-row:not(.zl2-head) .zl2-hr,.zl2-row:not(.zl2-head) .zl2-pace{font:var(--role-body);font-variant-numeric:tabular-nums;color:var(--ink)}.zl2-track{background:var(--control-fill);border-radius:999px;grid-column:1/-1;height:10px;position:relative}.zl2-track>i{border-radius:999px;position:absolute;top:0;bottom:0}.zl2-band{opacity:.45}.zl2-track>.zl2-ran{background:var(--ink);min-width:4px;top:2px;bottom:2px}.zl2-spread{font:var(--role-chart);color:var(--faint);grid-column:1/-1;margin-top:-2px}.zl2-key{margin:var(--space-2) 0 0;font:var(--role-meta);color:var(--mid);align-items:center;gap:6px;display:flex}.zl2-key i{border-radius:999px;width:18px;height:8px;display:inline-block}.zl2-key-band{background:var(--zone-3);opacity:.45}.zl2-key-ran{margin-left:var(--space-2);background:var(--ink)}html[data-layout=v2] .library-rail-note{display:none}html[data-layout=v2] .library-rail-foot .explain-head{align-items:center}html[data-layout=v2] .library-rail-foot .explain-head>:first-child{flex:none}.wl2-row{padding:var(--space-2) 0;border-top:1px solid var(--rule)}.wl2-row:first-child{border-top:0}.wl2-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);text-align:left;width:100%;min-height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;display:flex}.wl2-name{min-width:0;font:var(--role-title)}.wl2-stat{font:var(--role-meta);font-variant-numeric:tabular-nums;color:var(--mid);flex:none}.wl2-shape{margin:2px 0 0}.wl2-shape .workout-profile{margin:0}.wl2-shape .workout-profile svg{height:24px;min-height:0}.wl2-shape .workout-profile-line{vector-effect:non-scaling-stroke}.wl2-shape .workout-profile-point{display:none}.wl2-meta{margin:var(--space-1) 0 0;font:var(--role-meta);color:var(--mid)}.wl2-warn{margin:var(--space-1) 0 0;font:var(--role-meta);color:var(--ink-warn,var(--status-warning))}.wl2-more{gap:var(--space-1);margin-top:var(--space-2);display:grid}.wl2-more p{font:var(--role-body);color:var(--ink);margin:0}.wl2-more p b{margin-right:4px;font-weight:600}.wl2-more .workout-session{font:var(--role-meta);color:var(--mid)}.wl2-more .wl2-tags{font:var(--role-meta);color:var(--faint)}.wl2-actions{margin:var(--space-2) 0 0}html[data-layout=v2] main .activity-table :is(td,th){padding-top:6px;padding-bottom:6px}html[data-layout=v2] .split-delta{font:var(--role-meta)}html[data-layout=v2] .curve-readout:has(>.tap-hint){display:none}html[data-layout=v2] .splits-total{margin-top:var(--space-1);font:var(--role-meta);color:var(--mid)}html[data-layout=v2] .workout-step-lines{gap:var(--space-2);margin-top:var(--space-2)}html[data-layout=v2] .workout-step-lines li{column-gap:var(--space-2);grid-template-columns:88px minmax(0,1fr);row-gap:2px}html[data-layout=v2] .workout-step-kind{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none}html[data-layout=v2] .workout-step-text{font:var(--role-control);color:var(--ink)}html[data-layout=v2] .workout-step-intent{font:var(--role-meta);color:var(--mid);margin:0}html[data-layout=v2] main p.workout-meta{margin-top:var(--space-3);font:var(--role-figure-s);font-variant-numeric:tabular-nums;gap:2px}html[data-layout=v2] .workout-meta span{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);text-transform:none;color:var(--mid)}html[data-layout=v2] .workout-meta small{font:var(--role-meta);color:var(--mid)}.hp .skeleton-card{padding:var(--space-3) 0;border:0;border-top:1px solid var(--rule);box-shadow:none;gap:var(--space-2);background:0 0;border-radius:0;margin:0}.hp .skeleton-card:first-of-type{min-height:132px;margin:0 calc(-1 * var(--gutter)) var(--space-3);padding:var(--space-4) var(--gutter);background:var(--band);border-top:0}.hp .skeleton-card:first-of-type .skeleton-line{background:color-mix(in srgb, var(--band-ink) 16%, transparent);animation:none}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .set-more,:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .zone-note,:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .zone-evidence{margin:0}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(.set-more,.zone-note,.zone-evidence)>summary,:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .race-contingency summary{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h);border-top:1px solid var(--rule);font:var(--role-control);letter-spacing:0;text-transform:none;color:var(--ink);margin:0;padding:0;display:flex}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(.set-more,.zone-note,.zone-evidence)>summary:after,:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .race-contingency summary:after{content:"+";font:var(--role-body);color:var(--faint);flex:none;margin-left:auto}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(.set-more,.zone-note,.zone-evidence)[open]>summary:after,:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .race-contingency[open] summary:after{content:"−"}.dc-profile.prp .zone-anchor-prov-row>summary:after{color:var(--faint)}html[data-layout=v2] .coach-read-more-toggle{width:100%;min-height:var(--control-h);border-top:1px solid var(--rule);color:var(--ink);justify-content:space-between;align-self:stretch}html[data-layout=v2] .coach-read-chevron{color:var(--faint)}.dc-progress.pp details:is(.set-more,.zone-note,.zone-evidence)>summary:not(.analysis-section-header),.dc-progress.pp #perf-panel-review .review-why>summary,.dc-profile.prp [data-section] :is(.set-more,.zone-note,.zone-evidence)>summary{font:var(--role-control);color:var(--ink)}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(b,strong){font-weight:600}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) .login-btn{font:var(--role-control);letter-spacing:0}html[data-layout=v2] main td{font-weight:400}html[data-layout=v2] .race-target b{font:inherit}html[data-layout=v2] main p.race-target{font:var(--role-figure);font-variant-numeric:tabular-nums;color:var(--ink)}.dc-progress.pp .base-stat span{font:var(--role-meta);color:var(--mid)}.dc-progress.pp .physiology-endlabel{font:var(--role-chart)}.dc-progress.pp .aerobic-current strong{font:var(--role-figure);font-variant-numeric:tabular-nums}.dc-progress.pp .curve-star{font:var(--role-control)}.dc-profile.prp .zone-evidence-run span{font:var(--role-meta);color:var(--mid)}.dc-progress.pp .best-effort-presets,.dc-progress.pp .ae-range{width:fit-content;max-width:100%;margin-bottom:var(--space-3);background:var(--control-fill);border-radius:999px;flex-wrap:nowrap;gap:0;padding:2px;display:flex}.dc-progress.pp :is(.best-effort-presets,.ae-range) .filter-chip{background:0 0;min-height:32px;padding:0 9px}.dc-progress.pp :is(.best-effort-presets,.ae-range) .filter-chip.active{background:var(--accent);color:var(--accent-ink)}@media (max-width:359px){.dc-progress.pp :is(.best-effort-presets,.ae-range) .filter-chip{padding:0 6px}}.dc-progress.pp .lever-row{height:auto;min-height:56px;padding:var(--space-2) 0}.dc-progress.pp .lever-name{white-space:normal;overflow:visible}html[data-layout=v2] .activity-rail .rail-rule,html[data-layout=v2] .activity-rail .rail-totals{margin-top:var(--space-3)}html[data-layout=v2] .ink-rail.activity-rail{margin-bottom:0}html[data-layout=v2] main:has(>.workout-page-head) .workout-detail-grid>.card:first-child{margin-top:0}.dc-progress.pp .limited-data.limited-data-compact{margin-top:var(--space-3);padding-top:var(--space-2)}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(.back-link,.linked-workout-title,.engine-evidence-link),.ns2 .notice-open{position:relative}:is(.tp,.hp,.ap,.pp,.prp,html[data-layout=v2] main) :is(.back-link,.linked-workout-title,.engine-evidence-link):before,.ns2 .notice-open:before{content:"";position:absolute;inset:min(0px,50% - 22px)}:is(html[data-layout=v2] .analysis-section-body>.card,html[data-layout=v2] .analysis-section-body .card:has(>.notes-form)){box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}html[data-layout=v2] .notes-row.group-card{padding:var(--space-2) 0;background:0 0;border-radius:0}html[data-layout=v2] .notes-row.group-card+.notes-row.group-card{border-top:1px solid var(--rule)}html[data-layout=v2] .pva-set{padding:var(--space-1) 0 var(--space-1) var(--space-3);border:0;border-left:3px solid var(--accent);background:0 0;border-radius:0}html[data-layout=v2] .zone-profile-provenance{background:0 0;border-radius:0}.dc-progress.pp .physiology-chart,.dc-progress.pp .threshold-goal-tile,.dc-progress.pp .tbank-stat{background:0 0;border:0;border-radius:0;padding:0}.dc-progress.pp .tbank-stat-value{font:var(--role-figure);font-variant-numeric:tabular-nums}.dc-progress.pp .tbank-stat-label{font:var(--role-meta);color:var(--mid)}.dc-progress.pp #perf-panel-review .review-coach.dc-cream{padding:var(--space-2) 0;border:0;border-top:1px solid var(--rule);background:0 0;border-radius:0}.dc-progress.pp #perf-panel-review .review-coach.dc-cream .card-read{color:var(--ink)}html[data-layout=v2] main:has(>.workout-page-head) .card{margin-top:var(--space-3)}.dc-progress.pp .aerobic-current>div,.dc-progress.pp .threshold-row.engine-card{background:0 0;border:0;border-radius:0;padding:0}.dc-profile.prp .set-more.zone-anchor-help{flex:1 0 100%;width:100%}html[data-layout=v2] main .cond-total td:first-child{font:var(--role-control);color:var(--ink)}.onboard-wrap.ob2 .rail-question{font:var(--role-display);letter-spacing:0}.onboard-wrap.ob2 .rail-support{font:var(--role-body)}.onboard-wrap.ob2 .onboard-back{font:var(--role-control)}.onboard-wrap.ob2 .onboard-progress-meta{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.onboard-wrap.ob2 :is(b,strong){font-weight:600}.onboard-wrap.ob2 .login-btn{font:var(--role-control);letter-spacing:0;border-radius:999px}.onboard-wrap.ob2 .onboard-done-tick{font:var(--role-figure)}.onboard-wrap.ob2 .onboard-choices{gap:var(--space-2)}.onboard-wrap.ob2{flex-direction:column;min-height:calc(100dvh - 64px);display:flex}.onboard-wrap.ob2 .onboard-rail{flex-direction:column;flex:1 0 46dvh;padding-bottom:22px;display:flex}.onboard-wrap.ob2 .onboard-rail .rail-question{margin-top:auto;font-size:44px;line-height:.98}.onboard-wrap.ob2 .onboard-body{padding-bottom:calc(20px + env(safe-area-inset-bottom));flex:none}.onboard-wrap.ob2.ob-time .onboard-done-tick{display:none}.onboard-first-time{flex-direction:column;gap:2px;margin:14px 0 4px;display:flex}.onboard-first-time b{font:var(--role-hero);color:var(--accent);font-variant-numeric:tabular-nums;font-size:64px}.onboard-first-time span:last-child{font:var(--role-meta);color:var(--ink-fg-mute)}.onboard-wrap.ob2 .onboard-choice{padding:var(--space-3) 14px;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px}.onboard-wrap.ob2 .onboard-choice-name{font:var(--role-title);flex:none}.onboard-wrap.ob2 .onboard-choice-note{text-align:left;font:var(--role-meta);color:var(--mid);flex:none;margin-left:0}.onboard-wrap.ob2 .onboard-body .section-kicker{margin:var(--space-3) 0 0;font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);display:block}.onboard-wrap.ob2 .onboard-body .onboard-note{padding:var(--space-2) 0;border:0;border-bottom:1px solid var(--rule);font:var(--role-body);color:var(--mid);background:0 0;border-radius:0;margin:0}.onboard-wrap.ob2 .onboard-body .section-kicker+.onboard-note{margin-top:var(--space-1);border-top:1px solid var(--rule)}.onboard-wrap.ob2 .onboard-body .onboard-note+.onboard-note{margin-top:0}.onboard-wrap.ob2 .onboard-rail .onboard-note{margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--ink-hairline);font:var(--role-body);color:var(--ink-fg-mute);background:0 0;border-radius:0}.onboard-wrap.ob2 .onboard-rail .onboard-note strong{color:var(--ink-fg)}.onboard-wrap.ob2 .login-skip{margin-top:var(--space-3);font:var(--role-control);color:var(--mid);display:inline-block;position:relative}.onboard-wrap.ob2 .login-skip:before{content:"";position:absolute;inset:calc(50% - 22px) 0}html[data-layout=v2] main:has(>.guide-block)>.section-kicker{margin:var(--space-4) 0 0;font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}html[data-layout=v2] main:has(>.guide-block)>.block-title{margin:var(--space-2) 0 0;font:var(--role-display);letter-spacing:0;color:var(--ink)}html[data-layout=v2] main:has(>.guide-block)>.notes-hint{margin:var(--space-2) 0 0;font:var(--role-body);color:var(--mid)}html[data-layout=v2] .guide-block.card{margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--rule);box-shadow:none;background:0 0;border-radius:0}html[data-layout=v2] .guide-block>.kicker{margin:0 0 var(--space-2);font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}html[data-layout=v2] :is(.guide-block p,.guide-lede,.guide-foot){font:var(--role-body);color:var(--mid)}html[data-layout=v2] :is(.guide-ramprow,.guide-wklabel){font:var(--role-chart);color:var(--faint)}html[data-layout=v2] .guide-rung{gap:var(--space-3);padding:var(--space-2) 0;border-top-color:var(--rule)}html[data-layout=v2] .guide-rung h3{font:var(--role-title);margin:0}html[data-layout=v2] .guide-tag{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--faint)}html[data-layout=v2] :is(.guide-node,.guide-tile,.guide-lt){padding:var(--space-2) 0;background:0 0;border:0;border-radius:0}html[data-layout=v2] .guide-node span{font:var(--role-meta);color:var(--ink)}html[data-layout=v2] .guide-arrow{font:var(--role-meta);color:var(--faint)}html[data-layout=v2] .guide-tiles{margin-bottom:var(--space-2)}html[data-layout=v2] :is(.guide-tile,.guide-lt) b{font:var(--role-control)}html[data-layout=v2] :is(.guide-tile,.guide-lt) span{font:var(--role-chart);color:var(--mid)}html[data-layout=v2] :is(.guide-pt,.guide-rd){padding:var(--space-2) 0;border-top-color:var(--rule)}.ns2 .sheet-clear{position:relative}.ns2 .sheet-clear:before{content:"";position:absolute;inset:calc(50% - 22px) 0}.tp .tp-sec>.explain~.season-arc .season-arc-head{padding-left:calc(28px + var(--space-2))}.tp .season-arc-head{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing)}.tp .season-arc-head span{font:inherit}.pline{margin:var(--space-3) 0 var(--space-2)}.pline-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.pline-title{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}.pline-ranges{gap:6px;display:inline-flex}.pline-delta{margin:var(--space-2) 0 0;font:var(--role-title);color:var(--ink)}.pline-chart{width:100%;height:auto;margin-top:4px;display:block}.pline-grid line{stroke:var(--hairline);stroke-width:1px}.pline-grid text,.pline-axis{font:var(--role-chart);fill:var(--faint);font-variant-numeric:tabular-nums;font-size:30px}.pline-line{fill:none;stroke:var(--accent);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.pline-dot{fill:var(--accent);stroke:var(--ground);stroke-width:5px}.pline-now{fill:var(--ink)}.pline-best{font:var(--role-chart);fill:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600}.pline-scrub{stroke:var(--mid);stroke-width:1.5px;stroke-dasharray:4 6}.pline-race{fill:var(--mid);stroke:var(--ground);stroke-width:4px}.pline-foot{font:var(--role-meta);color:var(--mid);min-height:1.4em;margin:4px 0 0}.pline-foot b{color:var(--ink);font-variant-numeric:tabular-nums}.races-head{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);display:flex}.races-kicker{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid);margin:0}.races-kicker-raced{margin-top:var(--space-5);margin-bottom:var(--space-2)}.races-list{margin:0;padding:0;list-style:none}.rl-row{padding:var(--space-3) 0;border-top:1px solid var(--rule)}.rl-row p{margin:0}.rl-date{font:var(--role-label);letter-spacing:var(--type-eyebrow-spacing);color:var(--mid)}.rl-name{font:var(--role-title);color:var(--ink);margin-top:2px;text-decoration:none;display:block}.rl-meta,.rl-note{font:var(--role-meta);color:var(--mid)}.rl-note{margin-top:var(--space-1)}.rl-raced-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.rl-raced-head .rl-edit-link{cursor:pointer;background:0 0;border:0;padding:2px 0 0}.rl-desc{margin-top:var(--space-1);font:var(--role-meta);color:var(--mid);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-style:italic;display:-webkit-box;overflow:hidden}.rl-control{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-h);text-align:left;cursor:pointer;font:var(--role-control);color:var(--ink);background:0 0;border:0;margin:0;padding:0;display:flex}.rl-control span:last-child{color:var(--faint)}.rl-chips{margin:0 0 var(--space-2)}.rl-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:flex}.rl-head-text{flex-direction:column;min-width:0;display:flex}.rl-head .rl-name{overflow-wrap:anywhere}.rl-edit-link{font:var(--role-control);color:var(--accent-text);flex:none;padding-top:2px}.rl-edit{margin:var(--space-2) 0 var(--space-1)}.rl-edit .filter-input{max-width:none}.rl-stale{text-align:left}.rl-stale a{color:var(--accent-text)}.rl-edit .filter-chip.lead{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.rl-edit-acts{gap:var(--space-2);flex-wrap:wrap;display:flex}.rl-remove{color:var(--status-serious)}.cal-race-acts{gap:var(--space-4);display:flex}.rf{margin-top:var(--space-5)}.rf-lengths{margin:0 0 var(--space-2)}.rf-again{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.rf-month{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.rf-month-name{flex:none;width:5.5em}.rf-days{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.rf-day{text-align:center;min-width:2.75em;text-decoration:none}.rf-day-text{font:var(--role-control);color:var(--text-secondary)}.rf-options{gap:var(--space-2);margin:0 0 var(--space-2);flex-direction:column;display:flex}.rf-options .filter-row{margin-bottom:0}.rf-month-text{flex-direction:column;min-width:0;display:flex}.rf-link{font:var(--role-control);color:var(--accent-text);flex:none}.rf-more{margin-top:var(--space-2)}.rf-more .rf-link{font:inherit}.season-arc-races{float:right;font:var(--role-control);letter-spacing:0;text-transform:none;color:var(--accent-text);text-decoration:none}.niggle{margin:var(--space-2) 0 0;flex-direction:column;gap:6px;display:flex}.niggle-line{font:var(--role-body);color:var(--text-primary);margin:0}.niggle .link-quiet{font:var(--role-control);color:var(--mid);align-self:flex-start;padding:0}.niggle-form{flex-direction:column;gap:8px;margin-top:4px;display:flex}.niggle-score{font:var(--role-body);color:var(--text-primary);flex-direction:column;gap:4px;display:flex}.niggle-score b{font-family:var(--font-grotesk), system-ui, sans-serif;font-weight:600}.niggle-score input[type=range]{width:100%;accent-color:var(--accent)}.race-goals{grid-template-columns:auto auto auto 1fr;align-items:baseline;gap:4px 10px;margin:8px 0 0;display:grid}.race-goal{color:var(--text-muted);display:contents}.race-goal.lead{color:var(--text-primary)}.race-goal-letter{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:var(--type-eyebrow-case)}.race-goal-time{font-family:var(--font-grotesk), system-ui, sans-serif;font-variant-numeric:tabular-nums;font-weight:600}.race-goal.lead .race-goal-time{font-size:var(--type-heading)}.race-goal-pace{font-variant-numeric:tabular-nums}.race-goal-needs{font-size:var(--type-small);grid-column:1/-1;margin:0 0 4px}.checkin{margin:var(--space-2) 0 0;flex-direction:column;gap:8px;display:flex}.checkin-lead{font:var(--role-body);color:var(--text-primary);margin:0;font-weight:600}.checkin-row{flex-direction:column;gap:4px;display:flex}.checkin-q{font-size:var(--type-eyebrow);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-spacing);text-transform:var(--type-eyebrow-case);color:var(--text-muted)}.checkin-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.checkin .link-quiet{font:var(--role-control);color:var(--mid);align-self:flex-start;padding:0}.checkin-answers,.checkin-line{font:var(--role-body);color:var(--text-primary);margin:0}.checkin-answers,.checkin-err{color:var(--text-muted)}.checkin .checkin-door{font:var(--role-body);color:var(--text-primary)}.race-band-link,.race-friend-link,.tp .race-friend-link{width:auto;min-height:0;font:var(--role-control);color:var(--accent-text);text-align:left;margin-top:10px;padding:0;display:inline-block}.band-actions .link-quiet{white-space:nowrap}.band-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.band-how{font:var(--role-body);color:var(--text-muted);margin:0 0 14px}.pace-band{border:1px dashed var(--border);color:#111;width:32mm;min-width:118px;font-family:var(--font-grotesk), system-ui, sans-serif;background:#fff;border-radius:4px;padding:6px 6px 8px}.band-head{border-bottom:1px solid #111;flex-direction:column;gap:1px;padding-bottom:4px;font-size:10px;line-height:1.2;display:flex}.band-head b{font-size:11px}.band-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:10px}.band-table th{text-align:right;color:#555;border-bottom:1px solid #ccc;padding:2px 0;font-weight:500}.band-table th:first-child,.band-table td:first-child{text-align:left}.band-table td{text-align:right;border-bottom:1px solid #e3e3e3;padding:1.5px 0;line-height:1.25}.band-table tr.band-finish td{border-bottom:0;font-weight:700}.band-gel{vertical-align:middle;background:#111;border-radius:50%;width:5px;height:5px;margin-left:3px;display:inline-block}.band-foot{color:#555;text-align:center;margin-top:4px;font-size:8px}@media print{html,body{background:#fff!important}body *{visibility:hidden}.pace-band,.pace-band *{visibility:visible}.pace-band{border-color:#999;position:absolute;top:10mm;left:10mm}@page{margin:0}}
