:root{color-scheme:dark;--bg-canvas:#000000;--bg-surface:#000000;--bg-soft:#06190d;--text-primary:#14ff6e;--text-secondary:#9accaa;--text-tertiary:#76a886;--border-subtle:#2b633b;--border-strong:#7ab68a;--action-primary:#14ff6e;--action-soft:#06190d;--status-good:#14ff6e;--status-caution:#ffd074;--status-caution-bg:#231a06;--status-stop:#ff9d96;--status-stop-bg:#290d0b;--button-text:#000000;--header-bg:#000000;--nav-bg:#000000;--decision-border:#7ab68a;--decision-start:#06190d;--decision-end:#000000;--today-bg:#06190d;--today-selected-bg:#14ff6e;--key-session-start:transparent;--key-session-end:#231a06;--focus-ring:#14ff6e;--ready-indicator:#14ff6e;--missing-indicator:#76a886;--source-dot:#76a886;--space-page:16px;--radius-card:0px;--shadow-soft:none}html[data-theme=light]{color-scheme:light;--bg-canvas:#ffffff;--bg-surface:#ffffff;--bg-soft:#f0f3ee;--text-primary:#111711;--text-secondary:#435143;--text-tertiary:#596759;--border-subtle:#a5b0a3;--border-strong:#3f6948;--action-primary:#173e24;--action-soft:#f0f3ee;--status-good:#173e24;--status-caution:#795000;--status-caution-bg:#fff5d8;--status-stop:#a12825;--status-stop-bg:#fff0eb;--button-text:#ffffff;--header-bg:#ffffff;--nav-bg:#ffffff;--decision-border:#3f6948;--decision-start:#f0f3ee;--decision-end:#ffffff;--today-bg:#f0f3ee;--today-selected-bg:#173e24;--key-session-start:transparent;--key-session-end:#fff5d8;--focus-ring:#173e24;--ready-indicator:#173e24;--missing-indicator:#795000;--source-dot:#596759;--shadow-soft:none}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;font-family:Paperlogy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.app-shell{min-height:100svh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{width:min(100%,1120px);min-height:64px;margin:0 auto;padding:0 var(--space-page);display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:12px;gap:12px}.brand{display:inline-flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;border:0;background:transparent;font-size:18px;font-weight:700;letter-spacing:-.04em;cursor:pointer;padding:0}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--action-primary);color:white;font-size:15px;letter-spacing:0}.header-context{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px}.icon-button,.settings-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--text-secondary);cursor:pointer}.main-content{width:min(100%,1120px);margin:0 auto;padding:20px var(--space-page) 30px}.eyebrow,.section-eyebrow{margin:0;color:var(--action-primary);font-weight:700;letter-spacing:.11em;text-transform:uppercase}.muted-text{margin:6px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.55}.caption{color:var(--text-tertiary);font-size:12px}.race-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 20px}.race-context h2{margin:5px 0 0;font-size:18px;line-height:1.35;letter-spacing:-.02em}.dday{flex:0 0 auto;display:grid;justify-items:end;grid-gap:1px;gap:1px;color:var(--action-primary)}.dday strong{font-size:24px;line-height:1;letter-spacing:-.04em}.dday span{color:var(--text-secondary);font-size:12px}.calendar-card,.day-detail,.decision-card,.plan-preview,.score-card{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.decision-card{padding:20px;border-color:var(--decision-border);background:linear-gradient(145deg,var(--decision-start),var(--decision-end) 65%)}.decision-topline,.detail-heading,.score-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.decision-card h1{max-width:520px;margin:8px 0 0;font-size:clamp(28px,8vw,40px);line-height:1.15;letter-spacing:-.055em}.decision-lead{margin:18px 0 5px;font-size:20px;font-weight:700;letter-spacing:-.03em}.decision-copy{max-width:600px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.confidence,.recovery-badge,.source-pill,.status-badge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;white-space:nowrap;border-radius:999px;font-size:11px;font-weight:700;line-height:1}.status-badge{padding:8px 10px}.recovery-badge.good,.status-badge.good{background:var(--action-soft);color:var(--status-good)}.recovery-badge.caution,.status-badge.caution{background:var(--status-caution-bg);color:var(--status-caution)}.status-badge.stop{background:var(--status-stop-bg);color:var(--status-stop)}.status-badge.neutral{background:var(--bg-soft);color:var(--text-secondary)}.decision-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}.primary-button{min-height:46px;padding:0 16px;border:0;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer}.primary-button:hover{filter:brightness(.9)}.action-hint{color:var(--text-secondary);font-size:12px;line-height:1.45}.decision-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:11px}.two-column{display:grid;grid-gap:16px;gap:16px;margin-top:16px}.plan-preview,.score-card{padding:18px}.calendar-card h2,.plan-preview h2,.score-card h2{margin:4px 0 0;font-size:18px;letter-spacing:-.035em}.confidence{padding:7px 9px;background:var(--bg-soft);color:var(--text-secondary)}.score-row{display:flex;align-items:center;gap:16px;margin-top:18px}.score-number{display:flex;align-items:baseline;min-width:125px;color:var(--action-primary)}.score-number strong{font-size:48px;line-height:.95;letter-spacing:-.07em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score-number span{margin-left:4px;color:var(--text-tertiary);font-size:14px}.score-summary{max-width:230px;margin:8px 0 0}.evidence-list,.score-summary{color:var(--text-secondary);font-size:12px;line-height:1.5}.evidence-list{display:grid;grid-gap:6px;gap:6px;margin:18px 0 0;padding:14px 0 0 17px;border-top:1px solid var(--border-subtle)}.updated-at{margin:14px 0 0;color:var(--text-tertiary);font-size:11px;line-height:1.5}.mini-plan-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:14px 0;border-bottom:1px solid var(--border-subtle)}.mini-plan-row:first-of-type{margin-top:8px}.mini-plan-row:last-of-type{border-bottom:0}.date-block,.mini-plan-content{display:grid;grid-gap:2px;gap:2px}.date-block strong{font-size:12px}.date-block span,.mini-plan-content span{color:var(--text-tertiary);font-size:11px;line-height:1.4}.mini-plan-content strong{font-size:13px;line-height:1.4}.key-session{background:linear-gradient(90deg,var(--key-session-start),var(--key-session-end),var(--key-session-start))}.plan-note,.tomorrow-note{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:12px;line-height:1.5}.tomorrow-note{margin-top:4px;padding-top:14px;border-top:1px solid var(--border-subtle)}.note-icon{display:grid;place-items:center;flex:0 0 auto;width:18px;height:18px;border:1px solid var(--border-strong);border-radius:50%;color:var(--action-primary);font-size:11px;font-weight:700}.status-strip{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;padding:2px 2px 0;color:var(--text-secondary);font-size:11px}.status-strip>div{display:inline-flex;align-items:center;gap:5px}.status-strip strong{color:var(--text-primary);font-weight:600}.status-indicator{display:inline-block;width:7px;height:7px;border-radius:50%}.status-indicator.ready{background:var(--ready-indicator)}.status-indicator.caution{background:var(--status-caution)}.status-indicator.missing{background:var(--missing-indicator)}.source-pill{gap:5px;padding:7px 9px;background:var(--bg-soft);color:var(--text-secondary)}.source-dot{width:6px;height:6px;border-radius:50%;background:var(--source-dot)}.offline-banner{display:flex;align-items:flex-start;gap:10px;width:min(100%,1120px);margin:12px auto 0;padding:12px var(--space-page);border:1px solid var(--status-caution);border-radius:12px;color:var(--text-primary)}.offline-banner>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.offline-banner strong{font-size:13px}.offline-banner span:not(.status-indicator){color:var(--text-secondary);font-size:12px;line-height:1.45}.source-status-panel{margin-top:18px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.source-status-list{display:grid;grid-gap:1px;gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.source-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--bg-surface)}.source-status-row>div:first-child{display:grid;grid-gap:2px;gap:2px;min-width:0}.source-status-row strong{font-size:13px}.source-status-row span{color:var(--text-secondary);font-size:11px;line-height:1.4}.source-status-meta{display:grid;justify-items:end;grid-gap:3px;gap:3px;flex:0 0 auto}.source-status-meta small{color:var(--text-tertiary);font-size:10px}.completion-badge,.report-state,.sync-badge{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;border-radius:999px;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.sync-badge{padding:6px 8px;background:var(--bg-soft);color:var(--text-secondary)}.sync-badge .status-indicator{width:6px;height:6px;background:var(--source-dot)}.sync-badge.ready .status-indicator{background:var(--ready-indicator)}.sync-badge.missing .status-indicator,.sync-badge.offline .status-indicator,.sync-badge.stale .status-indicator{background:var(--missing-indicator)}.sync-badge.error .status-indicator{background:var(--status-stop)}.completion-badge{padding:6px 8px;background:var(--bg-soft);color:var(--text-secondary)}.completion-badge.good{background:var(--action-soft);color:var(--status-good)}.completion-badge.caution{background:var(--status-caution-bg);color:var(--status-caution)}.completion-badge.stop{background:var(--status-stop-bg);color:var(--status-stop)}.text-button{grid-column:2;width:-moz-fit-content;width:fit-content;padding:0;border:0;background:transparent;color:var(--action-primary);font-size:11px;font-weight:700;cursor:pointer}.text-button:hover{text-decoration:underline}.secondary-button{min-height:44px;margin-top:16px;padding:0 14px;border-radius:11px;background:var(--bg-surface);font-size:13px;font-weight:700;cursor:pointer}.checkin-card,.forecast-panel{margin-top:16px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.checkin-card h2,.forecast-panel h2{margin:4px 0 0;font-size:18px;letter-spacing:-.035em}.checkin-toggle{margin-top:5px;font-size:12px}.checkin-summary,.forecast-copy{margin:12px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.checkin-form{display:grid;grid-gap:14px;gap:14px;margin-top:16px}.rating-fieldset{min-width:0;margin:0;padding:0;border:0}.rating-fieldset legend{padding:0;color:var(--text-primary);font-size:12px;font-weight:700}.pain-buttons,.rating-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:7px}.pain-buttons{grid-template-columns:repeat(4,minmax(0,1fr))}.pain-buttons button,.rating-buttons button{min-height:40px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-soft);color:var(--text-secondary);font-size:13px;cursor:pointer}.pain-buttons button.selected,.rating-buttons button.selected{border-color:var(--action-primary);background:var(--action-soft);color:var(--action-primary);font-weight:700}.rating-fieldset small{display:block;margin-top:5px;color:var(--text-tertiary);font-size:10px}.checkin-text-field{display:grid;grid-gap:5px;gap:5px;color:var(--text-secondary);font-size:12px}.checkin-text-field input{width:100%;min-height:40px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-soft);color:var(--text-primary);font:inherit}.checkin-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.checkin-form-footer>span{min-width:0;color:var(--text-secondary);font-size:11px;line-height:1.4}.checkin-form-footer .primary-button{flex:0 0 auto;min-height:42px;padding-inline:12px;font-size:12px}.checkin-save-error{color:var(--status-stop);line-height:1.4}.forecast-unverified{display:inline-flex;padding:7px 9px;border-radius:999px;background:var(--status-caution-bg);color:var(--status-caution);font-size:10px;font-weight:700;white-space:nowrap}.profile-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:14px}.profile-buttons button{display:grid;grid-gap:2px;gap:2px;min-height:48px;padding:7px 5px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-soft);color:var(--text-secondary);text-align:center;cursor:pointer}.profile-buttons button strong{font-size:12px}.profile-buttons button span{overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.profile-buttons button.selected{border-color:var(--action-primary);background:var(--action-soft);color:var(--action-primary)}.forecast-window-list{display:grid;grid-gap:1px;gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.forecast-window{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--bg-surface)}.forecast-window>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.forecast-window strong{font-size:13px}.forecast-window span{overflow:hidden;color:var(--text-tertiary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.forecast-window-value{justify-items:end;flex:0 0 auto}.forecast-window-value strong{color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.forecast-empty{margin-top:14px;padding:14px 12px;border:1px dashed var(--border-subtle);color:var(--text-tertiary);font-size:12px;line-height:1.5}.forecast-footnote{margin:12px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.45}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 0 18px}.page-intro h1,.placeholder-view h1{margin:8px 0 0;font-size:clamp(28px,8vw,40px);line-height:1.1;letter-spacing:-.055em}.plan-range{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--text-secondary);font-size:12px}.range-line{height:1px;flex:1 1;background:var(--border-subtle)}.calendar-card{padding:18px 14px 8px}.day-list{margin-top:10px}.day-row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:68px;padding:10px 4px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.day-row:last-child{border-bottom:0}.day-row.selected,.day-row:hover{border-radius:10px;background:var(--bg-soft)}.calendar-date,.day-main,.day-side{display:grid;grid-gap:3px;gap:3px;min-width:0}.calendar-date{justify-items:center;color:var(--text-tertiary)}.calendar-date strong{color:var(--text-primary);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calendar-date span{font-size:11px}.day-main{position:relative;padding-right:2px}.day-main strong{font-size:13px;line-height:1.35}.day-main strong,.day-main>span:not(.today-mark){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-main>span:not(.today-mark){color:var(--text-secondary);font-size:11px;line-height:1.4}.today-mark{width:-moz-fit-content;width:fit-content;padding:3px 6px;border-radius:5px;background:var(--action-soft);color:var(--action-primary);font-size:10px;font-weight:700}.day-side{justify-items:end}.day-side .completion-badge,.day-side .status-badge{max-width:92px;overflow:hidden;text-overflow:ellipsis}.chevron{color:var(--text-tertiary);font-size:21px;line-height:.8}.day-detail{margin-top:16px;padding:18px;scroll-margin-bottom:90px}.detail-heading h3{margin:5px 0 0;font-size:22px;letter-spacing:-.04em}.icon-button{font-size:24px;line-height:1}.detail-decision{margin-top:18px;padding:13px;border-radius:10px;background:var(--bg-soft)}.detail-decision p{margin:8px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.detail-grid{display:grid;grid-gap:1px;gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.detail-grid>div{display:grid;grid-template-columns:64px 1fr;grid-gap:4px 10px;gap:4px 10px;padding:12px;background:var(--bg-surface)}.detail-grid span{color:var(--text-tertiary);font-size:11px}.detail-grid strong{font-size:12px;line-height:1.45}.detail-grid small{grid-column:2;color:var(--text-tertiary);font-size:10px}.detail-footer{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--text-tertiary);font-size:11px}.detail-footer>span:last-child{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.plan-note{margin-top:14px;padding:2px}.plan-note p{margin:0}.placeholder-view{min-height:calc(100svh - 160px);display:grid;align-content:center;justify-items:start;max-width:520px}.placeholder-view>p:not(.eyebrow){margin:14px 0 0;color:var(--text-secondary);font-size:16px;line-height:1.65}.placeholder-state{display:grid;grid-template-columns:12px 1fr;grid-gap:2px 8px;gap:2px 8px;align-items:center;margin-top:26px;padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface)}.placeholder-state .status-indicator{grid-row:span 2}.placeholder-state strong{font-size:13px}.placeholder-state small{color:var(--text-tertiary);font-size:11px}.activity-summary-card,.report-reader{margin-top:4px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;margin-top:16px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.metric-grid>div{display:grid;grid-gap:4px;gap:4px;padding:14px 12px;background:var(--bg-surface)}.metric-grid span{color:var(--text-tertiary);font-size:11px}.metric-grid strong{font-size:17px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.activity-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;color:var(--text-secondary);font-size:12px;line-height:1.45}.compact-status{margin-top:16px;box-shadow:none}.report-state{padding:7px 9px;background:var(--bg-soft);color:var(--text-secondary)}.report-state.final{background:var(--action-soft);color:var(--status-good)}.report-state.stale,.report-state.waiting_dependencies{background:var(--status-caution-bg);color:var(--status-caution)}.report-reader-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.report-reader h2{margin:5px 0 0;font-size:22px;letter-spacing:-.04em}.report-lead{margin:18px 0 0;font-size:18px;font-weight:700;line-height:1.5;letter-spacing:-.025em}.report-section-list{display:grid;grid-gap:1px;gap:1px;margin-top:18px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.report-section-list>div{display:grid;grid-gap:4px;gap:4px;padding:13px 12px;background:var(--bg-surface)}.report-section-list strong{font-size:13px}.report-section-list span{color:var(--text-secondary);font-size:12px;line-height:1.45}.report-warning{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:var(--text-tertiary);font-size:11px;line-height:1.5}.archive-panel{display:grid;grid-gap:0;gap:0;min-width:0;max-width:100%;margin-top:16px;padding:18px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.archive-copy{color:var(--text-secondary);line-height:1.55}.archive-copy,.archive-error{margin:12px 0 0;font-size:12px}.archive-error{color:var(--status-stop);line-height:1.45}.archive-empty{margin:14px 0 0;color:var(--text-tertiary);font-size:12px;line-height:1.45}.historical-summary-card{display:grid;grid-gap:0;gap:0;margin-top:16px;padding:15px;border:1px solid var(--decision-border);border-radius:12px;background:linear-gradient(145deg,var(--decision-start),var(--decision-end) 72%)}.historical-summary-card h3{margin:4px 0 0;font-size:18px;letter-spacing:-.035em}.historical-summary-copy{margin:11px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.historical-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:var(--border-subtle)}.historical-metrics>div{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:10px;background:var(--bg-surface)}.historical-metrics span,.historical-race-card span,.historical-subheading span{color:var(--text-tertiary);font-size:10px}.historical-metrics strong{overflow-wrap:anywhere;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.historical-index-note{margin:11px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.4}.historical-race-card{display:grid;grid-gap:4px;gap:4px;margin-top:13px;padding:11px 12px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-surface)}.historical-race-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.historical-race-card strong{color:var(--action-primary);font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.historical-race-card p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.4}.historical-gear-block{margin-top:14px}.historical-subheading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.historical-subheading strong{font-size:12px}.historical-gear-list{display:grid;grid-gap:1px;gap:1px;margin-top:7px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:var(--border-subtle)}.historical-gear-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;background:var(--bg-surface)}.historical-gear-row span{min-width:0;overflow-wrap:anywhere;color:var(--text-secondary);font-size:11px;line-height:1.35}.historical-gear-row small{flex:0 0 auto;color:var(--text-tertiary);font-size:10px}.historical-warning{margin:10px 0 0;color:var(--status-caution);font-size:10px;line-height:1.4}.archive-list{display:grid;grid-gap:1px;gap:1px;min-width:0;max-width:100%;max-height:360px;margin-top:14px;overflow:auto;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle);overscroll-behavior:contain}.archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;width:100%;min-width:0;min-height:62px;padding:11px 12px;border:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);text-align:left;cursor:pointer}.archive-item:last-child{border-bottom:0}.archive-item.selected,.archive-item:hover{background:var(--bg-soft)}.archive-item-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.archive-item-main strong{overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.archive-item-main small{color:var(--text-tertiary);font-size:10px;line-height:1.35}.archive-item-chevron{align-self:center;color:var(--text-tertiary);font-size:22px;line-height:1}.report-markdown-card{min-width:0;max-width:100%;margin-top:16px;padding-top:16px;overflow:hidden;border-top:1px solid var(--border-subtle)}.report-markdown-card h3{max-width:100%;margin:5px 0 0;font-size:20px;line-height:1.25;letter-spacing:-.04em}.archive-kind{flex:0 0 auto;padding:7px 9px;border-radius:999px;background:var(--action-soft);color:var(--status-good);font-size:10px;font-weight:700}.archive-meta{margin:10px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.45}.report-markdown{min-width:0;max-width:100%;margin-top:18px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.report-markdown h1,.report-markdown h2,.report-markdown h3,.report-markdown h4,.report-markdown h5,.report-markdown h6{margin:1.55em 0 .45em;color:var(--text-primary);line-height:1.3;letter-spacing:-.03em}.report-markdown h1{margin-top:0;font-size:24px}.report-markdown h2{font-size:20px}.report-markdown h3{font-size:17px}.report-markdown h4,.report-markdown h5,.report-markdown h6{font-size:15px}.report-markdown p{margin:.8em 0;overflow-wrap:anywhere}.report-markdown ol,.report-markdown ul{margin:.7em 0;padding-left:1.35em}.report-markdown li+li{margin-top:.3em}.report-markdown blockquote{margin:1em 0;padding:.15em 0 .15em 12px;border-left:3px solid var(--action-primary);color:var(--text-secondary)}.report-markdown hr{margin:1.5em 0;border:0;border-top:1px solid var(--border-subtle)}.report-markdown a{color:var(--action-primary);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.report-markdown code{padding:.14em .35em;border-radius:5px;font-size:.88em;overflow-wrap:anywhere}.report-markdown code,.report-markdown pre{background:var(--bg-soft);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.report-markdown pre{width:100%;min-width:0;max-width:100%;margin:1em 0;padding:12px;overflow:auto;border:1px solid var(--border-subtle);border-radius:9px;font-size:11px;line-height:1.55;white-space:pre}.report-markdown pre code{padding:0;background:transparent;font-size:inherit}.markdown-table-wrap{width:100%;min-width:0;max-width:100%;margin:1em 0;overflow-x:auto;border:1px solid var(--border-subtle);border-radius:9px;-webkit-overflow-scrolling:touch}.report-markdown table{width:100%;min-width:420px;border-collapse:collapse;font-size:11px;line-height:1.45}.report-markdown td,.report-markdown th{padding:8px 9px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.report-markdown th{background:var(--bg-soft);color:var(--text-primary);font-weight:700;white-space:nowrap}.report-markdown tr:last-child td{border-bottom:0}.markdown-image-placeholder,.markdown-link-text{color:var(--text-tertiary);font-style:italic}.workout-preview-card{margin-top:16px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft);scroll-margin-bottom:90px}.workout-preview-card h3{margin:4px 0 0;font-size:21px;letter-spacing:-.04em}.preview-status-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.dispatch-blocked,.preview-validity{display:inline-flex;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:700}.preview-validity.valid{background:var(--action-soft);color:var(--status-good)}.dispatch-blocked,.preview-validity.invalid{background:var(--status-caution-bg);color:var(--status-caution)}.dispatch-gate{display:grid;grid-gap:5px;gap:5px;margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--status-caution) 35%,var(--border-subtle));border-radius:10px;background:var(--status-caution-bg)}.dispatch-gate>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.dispatch-gate strong{color:var(--status-caution);font-size:11px;letter-spacing:.03em}.dispatch-gate small,.dispatch-gate span{color:var(--text-secondary);font-size:11px;line-height:1.45}.preview-source{margin:12px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.workout-dsl{max-height:260px;margin:14px 0 0;padding:13px;overflow:auto;background:var(--bg-soft);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.preview-diff,.workout-dsl{border:1px solid var(--border-subtle);border-radius:10px}.preview-diff{display:grid;grid-gap:1px;gap:1px;margin-top:14px;overflow:hidden;background:var(--border-subtle)}.preview-diff>div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--bg-surface)}.preview-diff strong{font-size:11px}.preview-diff span{text-align:right}.preview-diff span,.preview-warning{color:var(--text-secondary);font-size:11px}.preview-warning{display:flex;align-items:flex-start;gap:8px;margin-top:12px;line-height:1.5}.preview-warning strong{flex:0 0 auto;color:var(--status-caution)}.preview-warning.stop strong{color:var(--status-stop)}.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;color:var(--text-tertiary);font-size:10px;line-height:1.4}.preview-footer .secondary-button{flex:0 0 auto;margin-top:0;min-height:38px;padding-inline:12px;font-size:11px}.login-page{display:grid;place-items:center;min-height:100svh;padding:24px var(--space-page);background:var(--bg-canvas)}.login-card{width:min(100%,420px);padding:24px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.login-card h1{margin:8px 0 0;font-size:28px;letter-spacing:-.05em}.login-card form{display:grid;grid-gap:14px;gap:14px;margin-top:24px}.login-card label{display:grid;grid-gap:6px;gap:6px;color:var(--text-secondary);font-size:12px}.login-card input{min-height:44px;padding:0 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-soft);color:var(--text-primary)}.login-card .primary-button{width:100%;margin-top:4px}.login-card .primary-button:disabled{opacity:.65;cursor:wait}.login-error{margin:0;color:var(--status-stop);font-size:12px}.g2-panel{margin-top:16px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.g2-state{display:inline-flex;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:700}.g2-state.blocked{background:var(--status-caution-bg);color:var(--status-caution)}.g2-state.ready{background:var(--action-soft);color:var(--status-good)}.g2-copy{margin:12px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.g2-step-list{display:grid;grid-gap:1px;gap:1px;margin-top:14px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--border-subtle)}.g2-step{display:grid;grid-template-columns:8px 1fr;grid-gap:9px;gap:9px;align-items:start;padding:10px 11px;background:var(--bg-surface)}.g2-step>div{display:grid;grid-gap:3px;gap:3px}.g2-step strong{font-size:12px}.g2-step span:not(.status-indicator){color:var(--text-secondary);font-size:11px;line-height:1.4}.watch-receipt-box{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle)}.watch-receipt-box>div:first-child{display:grid;grid-gap:3px;gap:3px}.watch-receipt-box strong{font-size:12px}.watch-receipt-box span{color:var(--text-secondary);font-size:11px;line-height:1.45}.watch-receipt-box .secondary-button{width:-moz-fit-content;width:fit-content;min-height:38px;margin-top:0}.watch-receipt-confirmed{width:-moz-fit-content;width:fit-content;padding:7px 9px;border-radius:999px;background:var(--action-soft);color:var(--status-good)!important;font-size:10px!important;font-weight:700}.watch-receipt-form{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-soft)}.watch-receipt-form label{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);font-size:11px;line-height:1.45}.watch-receipt-form input{flex:0 0 auto;margin-top:2px;accent-color:var(--action-primary)}.watch-receipt-form .primary-button{width:-moz-fit-content;width:fit-content;min-height:40px;font-size:12px}.watch-receipt-form .primary-button:disabled{opacity:.55;cursor:not-allowed}.watch-receipt-form small{color:var(--status-stop);font-size:11px}.gear-list-card{margin-top:4px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.gear-card-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.gear-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-soft)}.gear-card.retired{opacity:.72}.gear-card-body{grid-gap:10px}.gear-card-body,.gear-card-top{display:grid;gap:10px;min-width:0}.gear-card-top{grid-template-columns:minmax(0,1fr) 58px;grid-gap:10px;align-items:start}.gear-image-wrap{display:grid;place-items:center;width:58px;height:52px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:#fff}.gear-image-wrap.placeholder{color:var(--text-tertiary)}.gear-image-wrap.placeholder .material-symbols-rounded{font-size:22px}.gear-image{display:block;width:100%;height:100%;object-fit:contain}.gear-card-content{display:grid;grid-gap:8px;gap:8px;min-width:0}.gear-card-heading{display:flex;align-items:flex-start;min-width:0}.gear-card-heading>div{min-width:0}.gear-card h3{margin:0;overflow-wrap:anywhere;font-size:15px;line-height:1.35}.gear-color{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-secondary);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.gear-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:var(--border-subtle);width:100%}.gear-metrics>div{display:grid;grid-gap:3px;gap:3px;padding:9px 10px;background:var(--bg-surface)}.gear-metrics span{color:var(--text-tertiary);font-size:10px}.gear-metrics strong{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gear-footnote{margin:14px 0 0;color:var(--text-tertiary);font-size:10px;line-height:1.45}.gear-empty{min-height:240px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);width:100%;padding:6px max(var(--space-page),env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(var(--space-page),env(safe-area-inset-right));border-top:1px solid var(--border-subtle);box-shadow:0 -6px 20px rgba(0,0,0,.16)}.bottom-nav button{display:grid;justify-items:center;grid-gap:3px;gap:3px;padding:4px 2px;border:0;border-radius:10px;cursor:pointer}.bottom-nav button.active{background:var(--action-soft);font-weight:700}.material-symbols-rounded{font-family:Material Symbols Rounded,Segoe UI Symbol,sans-serif;font-weight:400;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}.nav-icon{display:grid;place-items:center;width:22px;height:22px;line-height:1}.gear-placeholder-symbol svg,.nav-icon svg{display:block;width:22px;height:22px}.gear-placeholder-symbol{display:grid;place-items:center;color:var(--text-tertiary)}@media (min-width:640px){:root{--space-page:24px}.main-content{padding-top:28px}.two-column{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.decision-card{padding:24px}.calendar-card{--calendar-pad-inline:18px;padding-inline:18px}.offline-banner{padding-inline:24px}}@media (min-width:768px){.header-inner{min-height:72px}.main-content{padding-top:38px}.race-context{padding-bottom:28px}.decision-card h1{font-size:42px}.day-row{grid-template-columns:76px minmax(0,1fr) auto;padding-inline:10px}.calendar-date{justify-items:start}.calendar-date strong{font-size:14px}.calendar-card{padding:22px 22px 8px}.day-detail{padding:22px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--font-instrument:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--line-bright:color-mix(in srgb,var(--action-primary) 72%,var(--border-subtle))}html{overflow-x:clip}body,html{background:var(--bg-canvas)}body{color:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg-canvas)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:var(--bg-canvas)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-canvas);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--action-primary)}::selection{background:var(--action-primary);color:var(--button-text)}button,input{border-radius:2px!important}button:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.app-shell{position:relative;overflow-x:clip;background:var(--bg-canvas)}.app-shell:before{position:fixed;inset:0;z-index:30;pointer-events:none;content:"";background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--text-primary) 12%,transparent) 0 1px,transparent 1px 4px)}html[data-theme=light] .app-shell:before{background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--text-primary) 9%,transparent) 0 1px,transparent 1px 4px)}.app-header{border-bottom:1px solid var(--line-bright);background:var(--header-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.header-inner{min-height:72px;gap:14px}.brand{gap:0;letter-spacing:.04em;text-transform:uppercase}.brand,.brand-mark{color:var(--text-primary)}.brand-mark{width:56px;height:56px;overflow:hidden;border:0;border-radius:0!important;background:transparent;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}.brand-mark img,.brand-mark picture{display:block;width:100%;height:100%}.brand-mark img{object-fit:contain}.brand-word{position:relative;z-index:1;margin-left:-7px;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font-size:16px;letter-spacing:.08em;line-height:1}.brand-word,.header-context{font-family:var(--font-instrument)}.header-context{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.icon-button,.settings-button{border:1px solid transparent;border-radius:2px!important}.icon-button:hover,.settings-button:hover{border-color:var(--border-strong);background:var(--bg-soft);color:var(--text-primary)}.main-content{padding-top:24px}.eyebrow,.section-eyebrow{font-family:var(--font-instrument);font-size:11px;letter-spacing:.12em}.eyebrow:before,.section-eyebrow:before{content:"// ";color:var(--text-tertiary)}.action-hint,.caption,.decision-copy,.muted-text,.score-summary,.updated-at{line-height:1.65}.race-context{position:relative;padding:4px 0 18px;border-bottom:1px solid var(--border-subtle)}.race-context:after{position:absolute;right:0;bottom:-1px;width:52px;height:2px;content:"";background:var(--action-primary)}.calendar-card h2,.dday strong,.detail-heading h3,.page-intro h1,.placeholder-view h1,.plan-preview h2,.race-context h2,.report-markdown-card h3,.score-card h2,.score-number strong,.workout-preview-card h3{font-family:var(--font-instrument),Paperlogy,system-ui,sans-serif}.dday{font-family:var(--font-instrument)}.dday strong{text-shadow:0 0 8px rgba(20,255,110,.16)}.activity-summary-card,.archive-panel,.calendar-card,.checkin-card,.day-detail,.decision-card,.forecast-panel,.g2-panel,.gear-list-card,.historical-summary-card,.login-card,.placeholder-view,.plan-preview,.report-reader,.score-card,.source-status-panel,.workout-preview-card{border:1px solid var(--border-subtle);border-radius:2px!important;background:var(--bg-surface);box-shadow:none}.decision-card{border:2px solid var(--action-primary);background:var(--decision-start)}.decision-card h1{letter-spacing:-.03em}.decision-lead{letter-spacing:.01em}.decision-lead,.decision-meta{font-family:var(--font-instrument)}.decision-action-row{margin-top:20px}.archive-kind,.completion-badge,.confidence,.dispatch-blocked,.forecast-unverified,.g2-state,.preview-validity,.recovery-badge,.report-state,.source-pill,.status-badge,.sync-badge,.watch-receipt-confirmed{border-radius:2px!important;font-family:var(--font-instrument);letter-spacing:.02em}.status-badge{padding:7px 9px;border:1px solid;background:transparent!important}.completion-badge.good,.g2-state.ready,.preview-validity.valid,.recovery-badge.good,.status-badge.good,.watch-receipt-confirmed{color:var(--status-good)}.completion-badge.caution,.dispatch-blocked,.g2-state.blocked,.preview-validity.invalid,.recovery-badge.caution,.status-badge.caution{color:var(--status-caution)}.completion-badge.stop,.status-badge.stop{color:var(--status-stop)}.completion-badge,.confidence,.status-badge.neutral{color:var(--text-secondary)}.primary-button{min-height:48px;border:1px solid var(--action-primary);border-radius:2px!important;background:var(--action-primary);color:var(--button-text);font-family:var(--font-instrument);letter-spacing:.02em}.primary-button:hover{filter:none;background:var(--bg-surface);color:var(--action-primary)}.secondary-button{min-height:48px;border:1px solid var(--border-strong);border-radius:2px!important;background:transparent;color:var(--text-primary);font-family:var(--font-instrument)}.secondary-button:hover{background:var(--bg-soft);color:var(--action-primary)}.text-button{font-family:var(--font-instrument)}.decision-meta,.status-strip{border-top-color:var(--border-subtle)}.confidence,.source-pill,.sync-badge{border:1px solid var(--border-subtle);background:transparent}.source-dot,.status-indicator{border-radius:0}.offline-banner{border-radius:2px!important;background:var(--status-caution-bg)}.offline-banner,.offline-banner strong{color:var(--status-caution)}.two-column{gap:18px;margin-top:18px}.archive-panel,.checkin-card,.forecast-panel,.g2-panel,.gear-list-card,.plan-preview,.score-card,.source-status-panel{padding:20px}.score-number strong{color:var(--action-primary)}.score-number span{font-family:var(--font-instrument)}.evidence-list{list-style:"›  "}.evidence-list li::marker{color:var(--action-primary)}.mini-plan-row{min-height:64px}.decision-meta,.mini-plan-row,.tomorrow-note{border-bottom-color:var(--border-subtle)}.key-session{background:var(--key-session-end)}.note-icon{border-radius:2px}.archive-list,.detail-grid,.forecast-window-list,.g2-step-list,.gear-metrics,.historical-gear-list,.metric-grid,.pain-buttons,.preview-diff,.profile-buttons,.rating-buttons,.source-status-list{border-radius:2px!important}.archive-item,.detail-grid>div,.forecast-window,.g2-step,.gear-metrics>div,.historical-gear-row,.preview-diff>div,.source-status-row{background:var(--bg-surface)}.archive-item:hover,.forecast-window:hover,.source-status-row:hover{background:var(--bg-soft)}.checkin-form input,.checkin-text-field input,.login-card input{border-radius:2px!important;border-color:var(--border-strong);background:var(--bg-surface);color:var(--text-primary)}.pain-buttons button,.profile-buttons button,.rating-buttons button{border-radius:2px!important;border-color:var(--border-subtle);background:transparent}.pain-buttons button.selected,.profile-buttons button.selected,.rating-buttons button.selected{border-color:var(--action-primary);background:var(--action-primary);color:var(--button-text)}.page-intro{align-items:flex-start;border-bottom:1px solid var(--border-subtle)}.plan-range{margin-top:20px;margin-bottom:20px;font-family:var(--font-instrument);text-transform:uppercase;letter-spacing:.04em}.day-row{min-height:70px;border-bottom-color:var(--border-subtle)}.day-row:hover{border-radius:2px!important;background:var(--bg-soft)}.day-row.today{border-left:2px solid var(--action-primary);background:var(--today-bg)}.day-row.today.selected,.day-row.today:hover{background:var(--today-selected-bg);color:var(--button-text)}.day-row.today.selected .calendar-date,.day-row.today.selected .calendar-date strong,.day-row.today.selected .chevron,.day-row.today.selected .day-main>span:not(.today-mark),.day-row.today.selected .day-side{color:var(--button-text)}.day-row.selected{outline:1px solid var(--border-strong);outline-offset:-1px}.today-mark{border-radius:2px;font-family:var(--font-instrument);background:var(--action-primary);color:var(--button-text)}.day-detail{border:2px solid var(--action-primary);scroll-margin-top:92px}.detail-decision,.report-markdown pre,.workout-dsl{border-radius:2px;background:var(--bg-soft)}.pace-legend{margin-top:16px;border:1px solid var(--border-strong);border-radius:2px;background:var(--bg-soft)}.pace-legend summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;color:var(--text-primary);font-family:var(--font-instrument);font-size:11px;letter-spacing:.08em;cursor:pointer;list-style:none}.pace-legend summary::-webkit-details-marker{display:none}.pace-legend summary:after{content:"+";color:var(--action-primary);font-size:17px;line-height:1}.pace-legend[open] summary:after{content:"−"}.pace-legend-summary-note{color:var(--text-tertiary);font-family:Paperlogy,system-ui,sans-serif;font-size:10px;letter-spacing:0}.pace-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;border-top:1px solid var(--border-strong);background:var(--border-strong)}.pace-legend-item{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:11px 12px;background:var(--bg-surface)}.pace-legend-item strong{color:var(--action-primary);font-family:var(--font-instrument);font-size:11px;letter-spacing:.03em}.pace-legend-item span{color:var(--text-primary);font-family:var(--font-instrument);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pace-legend-footnote,.pace-legend-item small{color:var(--text-tertiary);font-size:10px;line-height:1.4}.pace-legend-footnote{margin:0;padding:10px 12px 11px;border-top:1px solid var(--border-strong)}.calendar-card{--calendar-pad-inline:14px}.day-row{width:calc(100% + var(--calendar-pad-inline) + var(--calendar-pad-inline));margin-inline:calc(0px - var(--calendar-pad-inline));padding-inline:calc(var(--calendar-pad-inline) + 4px)}.day-row.selected{border:2px solid var(--action-primary)!important;border-radius:2px!important;outline:none;background:var(--action-soft)}.day-row.today{border:2px solid var(--action-primary)}.day-row.today.selected{border-left-width:2px}.key-session{border:1px solid var(--action-primary)}.day-detail{width:calc(100% + var(--calendar-pad-inline) + var(--calendar-pad-inline));margin:12px calc(0px - var(--calendar-pad-inline));padding:18px calc(var(--calendar-pad-inline) + 18px)}.activity-summary-card,.report-reader{margin-top:20px;padding:20px}.placeholder-view{align-content:start;padding-top:4px}.gear-list-card{margin-top:20px}.gear-card-list{gap:1px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:2px!important;background:var(--border-subtle)}.gear-card{border:0;border-radius:0!important}.dispatch-gate,.historical-race-card,.watch-receipt-form{border-radius:2px!important}.gear-card{background:var(--bg-surface)}.gear-card.retired{opacity:.82}.gear-image-wrap{border-radius:2px}.gear-image-wrap.placeholder{background:var(--bg-surface)}.report-markdown{color:var(--text-secondary);font-size:14px;line-height:1.75}.report-markdown h1,.report-markdown h2,.report-markdown h3,.report-markdown h4,.report-markdown h5,.report-markdown h6{font-family:var(--font-instrument),Paperlogy,system-ui,sans-serif;letter-spacing:-.02em}.report-markdown blockquote{border-left-color:var(--action-primary)}.markdown-table-wrap,.report-markdown code,.report-markdown pre{border-radius:2px}.bottom-nav{border:0;box-shadow:none;overflow:clip}.bottom-nav button{height:41.6px;min-height:41.6px;padding-block:2px;gap:2px;place-items:center;border-radius:2px!important;color:var(--text-tertiary);font-size:11px;letter-spacing:.08em}.bottom-nav button.active{background:var(--action-primary);color:var(--button-text)}.bottom-nav button.active:before{content:none}.bottom-nav button:focus-visible{outline-offset:-2px}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}@media (min-width:768px){.main-content{padding-top:34px}.decision-card h1{font-size:38px}.brand-mark{width:64px;height:64px}.plan-range{margin-top:24px;margin-bottom:24px}.calendar-card{--calendar-pad-inline:22px}.day-row{padding-inline:calc(var(--calendar-pad-inline) + 10px)}.day-detail{padding-inline:calc(var(--calendar-pad-inline) + 22px)}.gear-list-card{margin-top:24px}}@media (min-width:640px) and (max-width:767px){.calendar-card{--calendar-pad-inline:18px}}@media (prefers-reduced-motion:reduce){.app-shell:before{display:none}.brand-mark{box-shadow:none}}.app-shell{word-spacing:normal}.eyebrow,.section-eyebrow{letter-spacing:.04em;word-spacing:normal}.section-eyebrow{font-family:Paperlogy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}.calendar-card h2,.decision-card h1,.decision-lead,.detail-heading h3,.page-intro h1,.placeholder-view h1,.plan-preview h2,.plan-range,.race-context h2,.report-markdown-card h3,.report-reader h2,.score-card h2,.section-heading h2,.section-heading h3,.workout-preview-card h3{font-family:Paperlogy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.01em;word-spacing:normal}.decision-lead,.decision-meta{letter-spacing:0}.decision-meta{font-family:Paperlogy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.completion-badge,.forecast-unverified,.g2-state,.report-state,.status-badge{letter-spacing:0;word-spacing:normal}.header-inner{grid-template-columns:minmax(0,1fr) auto}.race-context:after,.settings-button{display:none}.page-intro{border-bottom:0;padding-bottom:4px}.score-row{align-items:flex-start}.score-number{min-width:0;flex:0 0 auto;white-space:nowrap}.score-number strong{display:inline-block;min-width:2ch;letter-spacing:-.03em}.score-number span{display:inline-block;margin-left:3px;white-space:nowrap}.score-row>div:last-child{min-width:0;flex:1 1 auto}.score-summary{max-width:none}.plan-preview{--panel-pad-inline:20px}.mini-plan-row.key-session{width:calc(100% + 40px);margin-inline:-20px;padding-inline:20px;border:2px solid var(--action-primary);background:var(--action-soft)}.g2-step{align-items:center}.g2-step>.status-indicator{align-self:center}.calendar-card{--calendar-pad-inline:20px;padding:20px}.calendar-date{justify-items:start}.day-row{width:calc(100% + 40px);margin-inline:-20px;padding-inline:20px;scroll-margin-top:90px}.day-row.today:not(.selected){border:2px solid var(--action-primary);background:var(--today-bg);color:var(--text-primary)}.day-row.today:not(.selected) .calendar-date,.day-row.today:not(.selected) .calendar-date strong,.day-row.today:not(.selected) .day-main>strong,.day-row.today:not(.selected) .day-side{color:var(--text-primary)}.day-row.today:not(.selected) .day-main>span:not(.today-mark){color:var(--text-secondary)}.chevron{display:none}.day-detail{width:calc(100% + 40px);margin:0 -20px;padding:20px}.activity-report-link{grid-column:1/-1;margin-top:2px}.daily-report-card{min-width:0;max-width:100%;margin-top:20px;padding:20px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:2px!important;background:var(--bg-surface)}.daily-report-card h2{margin:5px 0 0;font-size:20px;line-height:1.3}.daily-report-card .report-markdown{margin-top:18px}html body :not(#pip-boy-radius-exception),html body :not(#pip-boy-radius-exception):after,html body :not(#pip-boy-radius-exception):before{border-radius:0!important}html body ::-webkit-scrollbar-thumb{border-radius:0!important}.page-intro>div,.section-heading>div{position:relative;min-width:0}.page-intro>div:before,.section-heading>div:before{position:absolute;inset-inline:0;top:7px;z-index:0;border-top:1px solid var(--line-bright);content:""}.page-intro .eyebrow,.section-heading .section-eyebrow{position:relative;z-index:1;display:table;padding-right:12px;background:var(--bg-canvas)}.section-heading .section-eyebrow{background:var(--bg-surface)}.page-intro .eyebrow:before{content:""}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;border-top:1px solid var(--line-bright);padding-top:0;background:var(--nav-bg)}.bottom-nav:before{position:absolute;inset-inline:0;top:27px;z-index:0;border-top:2px solid var(--action-primary);content:""}.bottom-nav button{position:relative;z-index:1;height:52px;min-height:52px;padding:0 2px;background:transparent;color:var(--action-primary);font-family:var(--font-instrument);font-size:10px;font-weight:700;letter-spacing:.06em;line-height:1}.bottom-nav button>span{display:inline-block;max-width:100%;overflow:hidden;padding:8px 4px;background:var(--nav-bg);text-overflow:ellipsis;white-space:nowrap}.bottom-nav button.active{background:transparent;color:var(--action-primary)}.bottom-nav button.active>span{padding:6px 4px;border:2px solid var(--action-primary);background:var(--nav-bg)}@media (max-width:359px){.bottom-nav button{font-size:9px;letter-spacing:.04em}.bottom-nav button.active>span,.bottom-nav button>span{padding-inline:2px}}