:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-primary:#c1bdf0;--brand-primary-hover:#b1ace6;--brand-primary-soft:#ece9f8;--brand-bg:#f7f6fc;--brand-surface:#fff;--brand-surface-soft:#fcfbff;--brand-lavender-50:#f7f5fe;--brand-lavender-75:#f4f1fc;--brand-lavender-100:#eee8f8;--brand-border:#e6e3f2;--brand-text:#4a4f6b;--brand-text-strong:#323754;--brand-danger:#9a3412;--bg:var(--brand-bg);--text:var(--brand-text);--muted:#64748b;--surface:var(--brand-surface);--surface-soft:var(--brand-surface-soft);--line:var(--brand-border);--accent:var(--brand-primary);--accent-strong:var(--brand-primary-hover);--error:var(--brand-danger);--schedule-head-bg:var(--brand-lavender-50);--schedule-head-bg-2:var(--brand-lavender-100);--schedule-row-odd:#fff;--schedule-row-even:#fcfaff;--schedule-chip-bg:#eee8fb;--schedule-chip-strong-bg:#e9e1fb;--schedule-ink:#4b3f69;--highlight-week-bg:#fffbea;--highlight-week-border:#f2de9b;--highlight-today-bg:#fff4df;--highlight-today-border:#f0c36b;--highlight-today-ink:#6c4a07}.ghost-link{color:var(--accent-strong);font-weight:600;text-decoration:none}.ghost-link:hover{text-decoration:underline}.ghost-link-button{appearance:none;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.ghost-link-button:disabled{cursor:not-allowed;opacity:.55;text-decoration:none}.button-primary{background:var(--accent);color:#fff;border:0;border-radius:10px;box-shadow:0 4px 6px -1px #b1acec59}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-primary:disabled{background:var(--brand-primary-soft);box-shadow:none}
*{box-sizing:border-box}html,body{background:radial-gradient(circle at top right,#efecfb,var(--bg)44%);color:var(--text);margin:0;padding:0;font-family:Avenir Next,Segoe UI,sans-serif}a{color:inherit}.intake-page{min-height:100vh;padding:2rem 1rem;display:block}.intake-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:min(100%,1200px);margin-inline:auto;padding:2rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.plan-page .intake-card{width:min(100%,1560px)}.intake-card h1{margin:0;font-size:2rem}.page-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.lead{color:var(--muted);margin:.65rem 0 1.5rem}.intake-form{gap:1rem;display:grid}.intake-form label,.intake-form fieldset{border:0;gap:.45rem;margin:0;padding:0;display:grid}.intake-form span,.intake-form legend{font-weight:600}.help-text{color:var(--muted);font-size:.82rem}.intake-form input,.intake-form select,.intake-form textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--surface-soft);border-radius:10px;padding:.65rem .75rem}.radio-grid{gap:.35rem;display:grid}.intake-form .radio-option,.intake-form .check-option{grid-template-columns:none;justify-content:flex-start;align-items:center;gap:.55rem;display:flex}.intake-form .radio-option input,.intake-form .check-option input{width:auto;accent-color:var(--accent-strong);background:0 0;border:0;flex:none;order:0;margin:0;padding:0}.intake-form .radio-option span,.intake-form .check-option span{order:1}.check-grid{grid-template-columns:1fr;gap:.4rem;display:grid}.intake-form button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:.75rem 1rem;font-weight:600;box-shadow:0 4px 6px -1px #b1acec59}.intake-form button:disabled{cursor:wait;background:var(--brand-primary-soft);box-shadow:none}.submission-table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto visible}.submission-table{border-collapse:collapse;width:100%}.submission-table th,.submission-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.65rem .55rem;font-size:.95rem}.schedule-day{color:var(--schedule-ink);white-space:nowrap;font-size:.82rem;font-weight:600}.submission-table th{color:var(--muted);font-weight:600}.submission-detail-toggle{border:1px solid var(--line);width:2rem;height:2rem;color:var(--accent-strong);font:inherit;cursor:pointer;background:#fff;border-radius:999px;font-weight:700;line-height:1}.submission-detail-toggle[aria-expanded=true]{background:var(--surface-soft)}.submission-detail-row td{background:#fbfcfe;padding:0}.submission-detail-panel{border-top:1px solid var(--line);padding:1rem}.submission-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.2rem;display:grid}.submission-detail-item{gap:.25rem;min-width:0;display:grid}.submission-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.submission-detail-value{white-space:pre-wrap;overflow-wrap:anywhere}.submission-col-date{white-space:nowrap}.submission-col-email{word-break:normal;overflow-wrap:normal}.submission-col-goal{white-space:normal;overflow-wrap:anywhere}.submission-count-badge{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:400;display:block}.submission-subtable{border-collapse:collapse;width:calc(100% - 2rem);margin:.6rem 0 .6rem 2rem}.submission-subtable th,.submission-subtable td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .55rem;font-size:.9rem}.submission-subtable th{color:var(--muted);font-weight:600}.submission-copy-link-button{font:inherit;color:var(--accent-strong);cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.submission-copy-link-button:disabled{cursor:default;opacity:.6}.schedule-table{border:1px solid var(--brand-border);table-layout:fixed;border-radius:14px;min-width:1080px;overflow:hidden}.schedule-desktop-view{display:block}.schedule-mobile-view{display:none}.mobile-week-nav{justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.7rem;display:flex}.sticky-log-bar{left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px));z-index:20;color:#fff;background:linear-gradient(#2477b3,#1f6aa5);border:1px solid #1f6aa5;border-radius:14px;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem .9rem;display:flex;position:fixed;box-shadow:0 10px 24px #1f6aa559}.sticky-log-bar.is-logged{background:linear-gradient(#34a86d,#2f9e63);border-color:#2f9e63;box-shadow:0 10px 24px #2f9e634d}.sticky-log-bar.is-missed{background:linear-gradient(#e2903f,#c2660d);border-color:#c2660d;box-shadow:0 10px 24px #c2660d4d}.sticky-log-bar-main{color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:auto;align-items:flex-start;gap:.1rem;padding:0;display:flex}.sticky-log-bar-label{font-size:.9rem;font-weight:700}.sticky-log-bar-sublabel{opacity:.85;font-size:.72rem}.sticky-log-bar-why{opacity:.85;font-size:.72rem;font-style:italic}.sticky-log-bar-done{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff9;border-radius:10px;flex:none;padding:.5rem .85rem;font-size:.82rem;font-weight:700}.sticky-log-bar-done:hover:not(:disabled){background:#ffffff40}.sticky-log-bar-done:disabled{opacity:.6;cursor:not-allowed}.sticky-log-bar-check{opacity:.9;flex:none;font-size:.78rem;font-weight:700}.mobile-week-nav-label{color:var(--schedule-ink);font-size:.84rem;font-weight:700}.mobile-week-track{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:100%;grid-auto-flow:column;gap:.7rem;display:grid;overflow-x:auto}.mobile-week-card{scroll-snap-align:start;border:1px solid var(--brand-border);background:var(--schedule-row-odd);border-radius:12px;padding:.6rem}.mobile-week-card.current-week-row{background:var(--highlight-week-bg);border-color:var(--highlight-week-border)}.mobile-week-head{gap:.3rem;margin-bottom:.6rem;display:grid}.mobile-week-days{gap:.55rem;display:grid}.mobile-day-item{background:#fff;border:1px solid #d5e1ec;border-radius:10px;padding:.45rem;position:relative}.schedule-mobile-hint{color:#3e5469;margin:.7rem 0 0;font-size:.8rem}.mobile-schedule-mode-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.7rem;display:flex}.mobile-mode-toggle{border:1px solid var(--brand-border);background:var(--schedule-row-odd);border-radius:999px;display:inline-flex;overflow:hidden}.mobile-mode-toggle-button{color:var(--schedule-ink);cursor:pointer;background:0 0;border:0;padding:.35rem .9rem;font-size:.84rem;font-weight:700}.mobile-mode-toggle-button.is-active{background:var(--highlight-week-bg);box-shadow:inset 0 0 0 1px var(--highlight-week-border);border-radius:999px}.mobile-always-week-pref{color:var(--schedule-ink);align-items:center;gap:.35rem;font-size:.78rem;display:flex}.mobile-day-nav{justify-content:space-between;align-items:center;gap:.55rem;margin-bottom:.7rem;display:flex}.mobile-day-nav-label{color:var(--schedule-ink);text-align:center;flex-direction:column;align-items:center;gap:.2rem;font-size:.84rem;font-weight:700;display:flex}.mobile-day-status-chip{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.mobile-day-status-chip.upcoming{color:#7c2d12;background:#fff7ed;border:1px solid #fdba74}.mobile-day-status-chip.completed{color:#3e5469;background:#eef2f6;border:1px solid #cbd5e1}.mobile-day-boundary-banner{margin-bottom:.7rem}.mobile-day-single{gap:.55rem;display:grid}.schedule-table thead th{background:linear-gradient(180deg,var(--schedule-head-bg),var(--schedule-head-bg-2));color:var(--schedule-ink);border-bottom:1px solid var(--brand-border)}.schedule-table tbody tr:nth-child(odd) td{background:var(--schedule-row-odd)}.schedule-table tbody tr:nth-child(2n) td{background:var(--schedule-row-even)}.schedule-table tbody tr.current-week-row td{background:var(--highlight-week-bg);border-top:1px solid var(--highlight-week-border);border-bottom:1px solid var(--highlight-week-border)}.schedule-table tbody tr[data-current-week=true]{scroll-margin-top:120px}.week-start-cell{white-space:nowrap;color:var(--schedule-ink);font-size:.8rem;font-weight:600}.week-time-cell{white-space:nowrap;color:#2d577d;margin-top:.2rem;font-size:.76rem;font-weight:700}.week-meta-cell{width:95px;min-width:95px}.week-download-link{color:var(--accent-strong);cursor:pointer;font-weight:800;text-decoration:none;display:inline-block}.week-download-link:hover{text-decoration:underline}.template-week-badge{letter-spacing:.02em;color:var(--muted-text,#888);border:1px solid var(--muted-border,#bbb);vertical-align:middle;white-space:nowrap;border-radius:3px;margin-left:.35rem;padding:.05em .35em;font-size:.7em;font-weight:600;display:inline-block}.plan-preview-template{color:var(--muted-text,#888);white-space:nowrap;font-size:.85em}.schedule-toolbar{flex-wrap:wrap;gap:.65rem;margin-bottom:.8rem;display:flex}.ghost-link-button{color:inherit;font:inherit;cursor:pointer;text-underline-offset:.18em;background:0 0;border:0;padding:0;text-decoration:underline}.ghost-link-button:hover{opacity:.8}.workout-cell,.rest-cell{min-width:0}.workout-total{background:var(--schedule-chip-strong-bg);color:var(--schedule-ink);border-radius:999px;margin-top:.25rem;padding:.2rem .45rem;font-size:.8rem;font-weight:700;display:inline-block}.workout-activity-total{color:#114a73;background:#e6f4ff;border:1px solid #b6dcfb;border-radius:999px;margin-top:.25rem;padding:.2rem .45rem;font-size:.78rem;font-weight:700;display:inline-block}.workout-splits{gap:.3rem;margin-top:.45rem;display:grid}.workout-split-row{border:1px solid var(--brand-border);background:#fff;border-radius:8px;align-items:center;gap:.4rem;padding:.28rem .38rem;display:flex}.split-icon{width:1.15rem;height:1.15rem;color:var(--schedule-ink);border:1px solid #ddd4f2;border-radius:999px;flex:none;justify-content:center;align-items:center;padding-bottom:.03rem;font-size:.78rem;font-weight:700;line-height:1;display:inline-flex}.split-icon.walk{background:#f6f1ff}.split-icon.run{background:#f0e9ff}.split-text{color:var(--schedule-ink);word-break:normal;overflow-wrap:normal;font-size:.82rem;line-height:1.2}.split-duration{font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:.12rem;display:inline}.split-body{display:inline}.workout-exercise-section{margin-top:.4rem}.workout-exercise-section-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:.2rem;font-size:.72rem;font-weight:700}.workout-exercise-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.workout-exercise-item details{border:1px solid var(--brand-border);background:#fff;border-radius:8px}.workout-exercise-item summary{cursor:pointer;align-items:baseline;gap:.4rem;padding:.28rem .38rem;font-size:.82rem;list-style:none;display:flex}.workout-exercise-item summary::-webkit-details-marker{display:none}.workout-exercise-item summary::marker{content:""}.workout-exercise-name{color:var(--schedule-ink);font-weight:600}.workout-exercise-dosage{color:var(--muted);margin-left:auto;font-size:.76rem}.workout-exercise-description{color:var(--schedule-ink);white-space:pre-line;margin:0;padding:0 .55rem .5rem;font-size:.78rem;line-height:1.35}.exercise-option-list{gap:.4rem;display:grid}.general-fitness-template-option,.exercise-option-row{border:1px solid var(--brand-border);background:var(--surface);border-radius:8px;padding:.3rem .5rem}.exercise-option-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.exercise-warning-chip{color:var(--error);background:#fff3e9;border:1px solid #fdba74;border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.exercise-preview{margin-top:.15rem}.exercise-preview summary{cursor:pointer;color:var(--accent-strong);align-items:center;gap:.3rem;font-size:.76rem;list-style:none;display:inline-flex}.exercise-preview summary::-webkit-details-marker{display:none}.exercise-preview summary::marker{content:""}.exercise-preview summary:before{content:"▸";font-size:.7rem;transition:transform .15s;display:inline-block}.exercise-preview[open] summary:before{transform:rotate(90deg)}.exercise-preview-content{border-top:1px dashed var(--brand-border);gap:.25rem;margin-top:.3rem;padding-top:.3rem;display:grid}.exercise-preview-warning{margin:0}.exercise-preview-meta{color:var(--muted);margin:0;font-size:.78rem}.exercise-selection-warning{color:var(--error);background:#fff3e9;border:1px solid #fdba74;border-radius:8px;margin:.2rem 0 0;padding:.4rem .6rem;font-size:.8rem}.split-text.repeat-compact{white-space:nowrap;padding-right:.2rem}.repeat-chip{color:var(--schedule-ink);background:var(--schedule-head-bg);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.1rem .4rem;font-size:.72rem;font-weight:700}.pace-chip{color:#7b4a03;white-space:nowrap;vertical-align:baseline;background:#ffeecf;border:1px solid #f2cf88;border-radius:999px;align-items:center;margin:0 .12rem;padding:.06rem .38rem;font-size:.72rem;font-weight:700;display:inline-flex}.pace-inline{white-space:nowrap;align-items:center;gap:.15rem;margin-left:.15rem;display:inline-flex}.race-prediction-copy{color:#113b5c;white-space:pre-wrap;margin-top:.2rem;font-weight:600;line-height:1.45}.race-prediction-placeholder{color:#4a6984;margin-top:.2rem;font-weight:500}.race-prediction-editor{gap:.55rem;width:100%;display:grid}.race-prediction-editor-textarea{border:1px solid var(--line);width:100%;font:inherit;color:inherit;resize:vertical;background:#ffffffb8;border-radius:10px;padding:.65rem .75rem}.race-prediction-editor-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.intensity-hint-box{color:#113b5c;background:linear-gradient(#eef7ff,#e3f1ff);border:1px solid #9cc4e6;border-radius:10px;gap:.45rem;margin:.45rem 0 .8rem;padding:.65rem .8rem;font-size:.9rem;font-weight:600;display:grid}.intensity-pill{min-width:4.1rem;color:var(--schedule-ink);vertical-align:baseline;background:#f6f8fb;border:1px solid #c9d0dd;border-radius:999px;justify-content:center;align-items:center;padding:.12rem .5rem;font-size:.78rem;font-weight:700;line-height:1.1;display:inline-flex}.intensity-hint-row{grid-template-columns:4.5rem minmax(0,1fr);align-items:center;gap:.45rem;display:grid}.intensity-pill.intensity-easy{background:#eef9f0;border-color:#bfe8c7}.intensity-pill.intensity-tempo{background:#fff5e8;border-color:#f6d2a2}.intensity-pill.intensity-hard{background:#fff1f1;border-color:#f5c3c3}.workout-split-row.split-tone-easy{background:#eef9f0;border-color:#bfe8c7}.workout-split-row.split-tone-tempo{background:#fff5e8;border-color:#f6d2a2}.workout-split-row.split-tone-hard{background:#fff1f1;border-color:#f5c3c3}.workout-split-row.split-tone-ri{background:#edf5ff;border-color:#bfd7f3}.workout-split-row.split-tone-cream{background:#fffefb;border-color:#f3ecdc}.workout-note.split-tone-easy{background:#eef9f0;border-left-color:#77bf85;border-radius:8px;padding:.28rem .38rem .28rem .45rem}.workout-note.split-tone-tempo{background:#fff5e8;border-left-color:#ebad56;border-radius:8px;padding:.28rem .38rem .28rem .45rem}.workout-note.split-tone-hard{background:#fff1f1;border-left-color:#e38383;border-radius:8px;padding:.28rem .38rem .28rem .45rem}.workout-note.split-tone-ri{background:#edf5ff;border-left-color:#7da8d4;border-radius:8px;padding:.28rem .38rem .28rem .45rem}.workout-note.split-tone-cream{background:#fffefb;border-left-color:#eee3c7;border-radius:8px;padding:.28rem .38rem .28rem .45rem}.interval-row{grid-template-columns:minmax(0,1fr);align-items:center;row-gap:.35rem;display:grid}.interval-rows{gap:.2rem;min-width:0;display:grid}.interval-sub-row{border-radius:7px;align-items:center;gap:.35rem;min-width:0;padding:.12rem .2rem;display:flex}.interval-sub-row.split-tone-easy{background:#eef9f0}.interval-sub-row.split-tone-tempo{background:#fff5e8}.interval-sub-row.split-tone-hard{background:#fff1f1}.interval-sub-row.split-tone-ri{background:#edf5ff}.interval-sub-row.split-tone-cream{background:#fffefb}.interval-repeat-wrap{white-space:nowrap;flex:none;justify-content:flex-end;align-items:center;min-width:0;margin-left:0;padding-left:0;display:flex}.workout-note{color:var(--schedule-ink);border-left:3px solid var(--accent);padding-left:.45rem;font-size:.8rem}.workout-split-row.no-icon-row{padding-left:.55rem;padding-right:.55rem}.rest-chip{color:var(--schedule-ink);background:var(--schedule-chip-bg);border-radius:999px;margin-top:.35rem;padding:.22rem .5rem;font-size:.76rem;font-weight:700;display:inline-block}.workout-label-row{flex-wrap:wrap;gap:.28rem;margin-top:.35rem;display:flex}.workout-label-chip{color:var(--schedule-ink);background:var(--schedule-chip-bg);white-space:nowrap;border-radius:999px;padding:.22rem .5rem;font-size:.76rem;font-weight:700;display:inline-block}.race-week-chip{color:#6c4a07;background:#fff4df;border:1px solid #f0c36b;border-radius:999px;margin-top:.3rem;padding:.08rem .35rem;font-size:.68rem;font-weight:700;display:inline-block}.today-cell{z-index:3;background:linear-gradient(#fffaf0,#fff3dc);border:2px solid #e3b24f;border-radius:10px;padding:.35rem;position:relative;box-shadow:0 0 0 2px #e3b24f2e}.today-cell .schedule-day{color:#7d4d08;font-weight:700}.today-cell:before{content:"Today";letter-spacing:.02em;color:#7d4d08;background:#ffe9bf;border:1px solid #e4c27a;border-radius:999px;padding:.03rem .36rem;font-size:.62rem;font-weight:800;line-height:1.2;position:absolute;top:-.48rem;right:.45rem}.today-cell.today-cell-injury{background:linear-gradient(#fff7f7,#ffeceb);border-color:#d79a98;box-shadow:0 0 0 2px #d79a982e}.today-cell.today-cell-injury .schedule-day{color:#8f3d3b}.today-cell.today-cell-injury:before{color:#8f3d3b;background:#fdeaea;border-color:#e9b4b3}.race-day-highlight{z-index:3;background:linear-gradient(#f2fff4,#e2f8e7);border:2px solid #63b276;border-radius:10px;padding:.35rem;position:relative;box-shadow:0 0 0 2px #63b2762e}.race-day-highlight .schedule-day{color:#1d6a32;font-weight:700}.race-day-highlight:before{content:"Race Day";letter-spacing:.02em;color:#1d6a32;background:#dff5e5;border:1px solid #97d2a4;border-radius:999px;padding:.03rem .36rem;font-size:.62rem;font-weight:800;line-height:1.2;position:absolute;top:-.48rem;right:.45rem}.download-link{cursor:pointer}.inline-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.plan-header-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.plan-actions-row{border-bottom:1px solid var(--line);padding-bottom:.5rem}.plan-action-button{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text-strong);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;padding:.32rem .65rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.plan-action-button:hover{background:var(--brand-lavender-50);border-color:var(--brand-primary)}.plan-action-button-danger{color:var(--brand-danger);border-color:var(--brand-danger)}.race-prediction-box,.athlete-notes-box{color:#113b5c;background:linear-gradient(#eef7ff,#e3f1ff);border:1px solid #9cc4e6;border-radius:10px;flex-wrap:wrap;gap:.8rem 1.2rem;margin:.45rem 0 .8rem;padding:.65rem .8rem;font-size:.9rem;font-weight:600;display:flex;position:relative}.athlete-notes-dismiss-btn{color:#5a85a8;font-size:.8rem;line-height:1;position:absolute;top:.4rem;right:.5rem}.athlete-notes-dismissed-bar{margin:.45rem 0 .8rem}.athlete-notes-expand-btn{color:#5a85a8;font-size:.82rem}.personal-why-box{border:1px solid var(--highlight-today-border);background:linear-gradient(180deg,#fffdf5,var(--highlight-today-bg));color:var(--highlight-today-ink);border-radius:10px;flex-wrap:wrap;gap:.8rem 1.2rem;margin:.45rem 0 .8rem;padding:.65rem .8rem;font-size:.9rem;font-weight:600;display:flex}.personal-why-value{margin:0}.personal-why-label{font-weight:800}.race-prediction-pace-list{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.journey-progress-chip{border:1px solid var(--highlight-today-border);background:linear-gradient(180deg,var(--highlight-today-bg),#fff9ec);color:var(--highlight-today-ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.9rem;margin:0 0 .9rem;padding:.7rem 1rem;display:flex}.journey-progress-chip-stat{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.journey-progress-chip-value{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:800}.journey-progress-chip-label{letter-spacing:.02em;text-transform:uppercase;opacity:.85;font-size:.72rem;font-weight:600}.journey-progress-chip-divider{background:var(--highlight-today-border);opacity:.7;align-self:stretch;width:1px}.journey-progress-compact{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 .8rem;font-size:.85rem}.celebration-toast{z-index:40;color:#fff;text-align:center;background:linear-gradient(#34a86d,#2f9e63);border-radius:999px;max-width:calc(100vw - 1.6rem);padding:.55rem 1.1rem;font-size:.86rem;font-weight:700;animation:.22s ease-out celebration-toast-in;position:fixed;top:.8rem;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #2f9e6359}@keyframes celebration-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.celebration-toast{animation:none}}.plan-progress-bar-wrap{margin:0 0 .9rem}.plan-progress-bar-head{color:var(--schedule-ink);justify-content:space-between;gap:.6rem;margin-bottom:.3rem;font-size:.78rem;font-weight:600;display:flex}.plan-progress-bar-track{background:#eef0f4;border-radius:999px;height:.5rem;overflow:hidden}.plan-progress-bar-fill{background:linear-gradient(90deg,var(--brand-primary),var(--brand-primary-hover));border-radius:999px;height:100%;transition:width .26s}@media (prefers-reduced-motion:reduce){.plan-progress-bar-fill{transition:none}}.achievement-strip{flex-wrap:wrap;gap:.5rem;margin:0 0 .9rem;display:flex}.achievement-badge{border:1px solid var(--highlight-today-border);background:linear-gradient(180deg,#fffdf5,var(--brand-lavender-50));border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .7rem .35rem .35rem;display:flex;box-shadow:0 1px 2px #6c4a071f}.achievement-badge-medal{background:radial-gradient(circle at 32% 28%,#fff6d8,#f2cf6b 45%,#cf9a2e 85%);border:1px solid #b8862a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:1.05rem;line-height:1;display:flex;box-shadow:inset 0 1px 1px #ffffffb3,0 1px 2px #6c4a0740}.achievement-badge-text{flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;display:flex}.achievement-badge-title{letter-spacing:.02em;text-transform:uppercase;color:var(--brand-text);opacity:.75;font-size:.66rem;font-weight:700}.achievement-badge-value{color:var(--schedule-ink);font-size:.86rem;font-weight:700}.race-result-lock{color:#6f4b15;white-space:nowrap;background:#fff;border:1px solid #e0bd7a;border-radius:999px;padding:.2rem .5rem;font-size:.78rem;font-weight:700}.race-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.race-result-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.race-result-actions{justify-content:flex-end;display:flex}@media (max-width:760px){.race-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.race-result-notes-grid{grid-template-columns:1fr}}@media (max-width:520px){.race-result-grid{grid-template-columns:1fr}}.status{margin:0;font-weight:600}.status.success{color:var(--accent-strong)}.status.error,.field-error{color:var(--error)}.status-banner{border:1px solid #0000;border-radius:10px;margin:0;padding:.75rem .9rem;font-weight:600}.status-banner.success{color:#14532d;background:#eaf8ee;border-color:#b7e5c5}.status-banner.status-warning{color:#7c2d12;background:#fff7ed;border-color:#fdba74;gap:.6rem;display:grid}.plan-starts-on-banner{margin-bottom:.75rem}.notification-health-banner{width:min(100%,1200px);margin:1rem auto 0}.run-day-cell-wrap{cursor:grab;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:.45rem;height:100%;min-height:100%;display:grid}.rest-cell-drag-wrap{cursor:grab;height:100%;min-height:100%}.week-workout-cell{flex:auto;display:block}.run-day-cell-wrap:active,.rest-cell-drag-wrap:active{cursor:grabbing}.run-day-cell-wrap.skipped-run-day-cell .workout-cell{opacity:.62;filter:grayscale(.35)}.run-day-cell-wrap.skipped-run-day-cell .workout-split-row,.run-day-cell-wrap.skipped-run-day-cell .workout-total{background:#eef2f6}.run-day-cell-wrap.run-drag-source{opacity:.52}.run-log-actions{margin-top:0;align-content:end;gap:.35rem;margin-block-start:auto;display:grid}.pre-run-coach-note-banner{background:linear-gradient(#fdf4ff 0%,#f8edff 100%);border:1px solid #d8b4fe;border-radius:12px;gap:.45rem;margin-top:.45rem;padding:.65rem .75rem;display:grid;box-shadow:inset 0 1px #ffffffd9}.pre-run-coach-note-banner.compact{gap:.3rem;padding:.5rem .6rem}.pre-run-coach-note-banner-head{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.pre-run-coach-note-banner-label{color:#7c3aed;font-size:.75rem;font-weight:700}.pre-run-coach-note-banner p{color:#4c1d95;white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.45}.pre-run-coach-note-banner.compact p{font-size:.84rem;line-height:1.35}.run-log-action-row{flex-wrap:nowrap;align-items:center;gap:.35rem;min-height:28px;display:flex;position:relative}.coach-note-unread-dot{background:#dc2626;border-radius:999px;flex:none;width:.58rem;height:.58rem;display:inline-block;box-shadow:0 0 0 2px #fee2e2}.coach-note-unread-dot.in-button{z-index:2;pointer-events:none;background:#ef4444;width:.56rem;height:.56rem;position:absolute;top:-.28rem;left:-.28rem;box-shadow:0 0 0 1px #fff,0 0 0 3px #ef44443d}.coach-note-unread-dot.inbox-filter-dot{vertical-align:middle;width:.5rem;height:.5rem;margin-left:.35rem;box-shadow:0 0 0 2px #fff,0 0 0 3px #ef44443d}.schedule-table tbody td{vertical-align:top}.schedule-table tbody tr{height:auto}.schedule-table tbody td>.run-day-cell-wrap{height:100%;min-height:100%}.schedule-table tbody td.day-state-injury,.mobile-day-item.day-state-injury{position:relative}.schedule-table tbody td.day-state-injury .schedule-day,.mobile-day-item.day-state-injury .schedule-day{color:#9f5a58}.schedule-table tbody td.day-state-injury:after{content:"";pointer-events:none;z-index:0;background:#e8a2a0;height:2px;position:absolute;bottom:.25rem;left:.35rem;right:.35rem}.schedule-table tbody td.day-state-injury-start:after{border-top-left-radius:999px;border-bottom-left-radius:999px}.schedule-table tbody td.day-state-injury-end:after{border-top-right-radius:999px;border-bottom-right-radius:999px}.mobile-day-item.day-state-injury:after{content:"";pointer-events:none;z-index:0;background:#e8a2a0;border-radius:999px;height:2px;position:absolute;bottom:.3rem;left:.45rem;right:.45rem}.run-drop-target{border-radius:10px;transition:box-shadow .12s,background .12s,outline-color .12s}td.run-drop-target-active .run-drop-target{outline-offset:-2px;background:#dff0ff;outline:2px dashed #8fc1e6;box-shadow:inset 0 0 0 2px #4d9dd8}.schedule-drag-hint{color:#3e5469;margin:.7rem 0 0;font-size:.84rem}.run-log-chip{color:#1f2937;box-sizing:border-box;background:#f8fbff;border:1px solid #cad8e7;border-radius:12px;flex-wrap:wrap;align-content:center;justify-self:start;align-items:center;gap:.3rem;min-width:126px;min-height:28px;padding:.22rem .4rem;font-size:.72rem;display:inline-flex}.run-log-chip-placeholder{visibility:hidden}.run-log-chip-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:.1rem .4rem;font-weight:700;display:inline-flex}.run-log-chip-badge.neutral{color:#7c2d12;background:#ffedd5}.run-log-chip-badge.effort-easy{color:#0f5132;background:#d1fae5}.run-log-chip-badge.effort-medium{color:#7a3d02;background:#ffedd5}.run-log-chip-badge.effort-hard{color:#7f1d1d;background:#fee2e2}.run-log-chip-badge.pain.pain-1{color:#7f1d1d;background:#fff1f2}.run-log-chip-badge.pain.pain-2{color:#7f1d1d;background:#ffe4e6}.run-log-chip-badge.pain.pain-3{color:#9f1239;background:#fecdd3}.run-log-chip-badge.pain.pain-4{color:#9f1239;background:#fda4af}.run-log-chip-badge.pain.pain-5{color:#fff;background:#b91c1c}.run-log-button{color:#17344d;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #b8c8d9;border-radius:8px;justify-self:start;padding:.34rem .6rem;font-size:.74rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.run-log-button.has-unread-coach-note{padding-left:1rem;position:relative;overflow:visible}.stalled-week-pill{border-radius:999px;justify-content:center;align-items:center;min-width:1.8rem;padding:.12rem .5rem;font-weight:700;display:inline-flex}.stalled-week-pill-orange{color:#9a3412;background:#ffedd5}.stalled-week-pill-red{color:#991b1b;background:#fee2e2}.stalled-week-link-orange{color:#9a3412;background:#fff7ed;border-color:#fdba74}.stalled-week-link-red{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.stalled-focus-row td{background-image:linear-gradient(#fb923c0f,#fb923c00)}.run-log-button:hover:not(:disabled){background:#f1f6fb;border-color:#98b6d1}.run-log-button-primary{color:#fff;background:#1f6aa5;border-color:#1f6aa5}.run-log-button-primary:hover:not(:disabled){background:#195a8e;border-color:#195a8e}.run-log-button:disabled{opacity:.6;cursor:not-allowed}.run-log-quick-done-button{color:#fff;white-space:nowrap;cursor:pointer;background:#2f9e63;border:1px solid #2f9e63;border-radius:8px;padding:.34rem .65rem;font-size:.74rem;font-weight:700;transition:background .12s,border-color .12s}.run-log-quick-done-button:hover:not(:disabled){background:#268552;border-color:#268552}.run-log-quick-done-button:disabled{opacity:.6;cursor:not-allowed}.run-log-move-button{border:1px solid var(--brand-primary-hover);color:var(--brand-text-strong);white-space:nowrap;cursor:pointer;background:#fff;border-radius:8px;padding:.34rem .6rem;font-size:.74rem;font-weight:700}.run-log-move-button.is-target{color:#fff;background:#4d9dd8;border-color:#4d9dd8}.run-log-move-button.is-cancel{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.run-log-move-button:disabled{opacity:.6;cursor:not-allowed}.rest-move-action-row{justify-content:flex-end;margin-top:.4rem;display:flex}.mobile-day-item.is-move-source{opacity:.55}.mobile-day-item.is-move-target{background:#dff0ff;border-radius:10px;box-shadow:inset 0 0 0 2px #4d9dd8}.run-log-dialog-backdrop{z-index:30;background:linear-gradient(#0f172a5c,#0f172a80);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.run-log-dialog{background:linear-gradient(#fff,#f8fbff);border:1px solid #d4e1ec;border-top:4px solid #2d7fbf;border-radius:14px;gap:.75rem;width:min(520px,100%);max-height:calc(100dvh - 2rem);padding:1rem;display:grid;overflow:auto;box-shadow:0 16px 40px #0f172a40}.run-log-dialog-compact{width:min(620px,100%)}.plan-view-backdrop{z-index:30;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.plan-view-modal{background:#fff;border:1px solid #d4e1ec;border-top:4px solid #2d7fbf;border-radius:14px;flex-direction:column;width:min(1100px,100%);height:calc(100dvh - 2rem);padding:0;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a40}.plan-view-modal-header{border-bottom:1px solid #d4e1ec;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.plan-view-modal-frame{-webkit-overflow-scrolling:touch;border:none;flex:1;width:100%;min-height:0}.plan-preview-content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1rem;overflow-y:auto}.plan-preview-week{margin-bottom:1.25rem}.plan-preview-week h4{margin:0 0 .5rem}.plan-preview-day{margin-bottom:.5rem}.plan-preview-day-date{color:#4a5c6b;font-size:.85rem;font-weight:600}@media (max-width:720px){.plan-view-backdrop{justify-content:stretch;align-items:flex-end;padding:0}.plan-view-modal{width:100%;height:calc(100dvh - 1.2rem);padding-bottom:env(safe-area-inset-bottom,0px);border-top:4px solid #2d7fbf;border-radius:16px 16px 0 0}}.run-log-dialog-handle{display:none}.run-log-dialog h3{margin:0}.restart-week-summary{border-collapse:collapse;width:100%;font-size:.9rem}.restart-week-summary td{border-bottom:1px solid var(--line);padding:.3rem .5rem}.restart-week-summary td:first-child{color:var(--muted)}.restart-week-summary td:last-child{text-align:right}.athlete-preferred-date-note{color:#1a5c94;margin-top:-.35rem;font-size:.8rem}@media (prefers-color-scheme:dark){.athlete-preferred-date-note{color:#7fc4f5}}.plan-schedule-preview-modal{height:min(680px,100dvh - 2rem)}.plan-preview-modal-title{font-size:.95rem;font-weight:600}.plan-preview-scroll{flex:1;min-height:0;padding:1rem;overflow-y:auto}.plan-preview-loading{color:var(--muted);padding:1rem 0}.plan-preview-table{border-collapse:collapse;width:100%;font-size:.875rem}.plan-preview-table th{text-align:left;border-bottom:2px solid var(--line);color:var(--muted);white-space:nowrap;padding:.4rem .6rem;font-weight:600}.plan-preview-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.4rem .6rem}.plan-preview-table .plan-preview-dates{font-variant-numeric:tabular-nums;white-space:nowrap}.plan-preview-row-past td{color:var(--muted)}.plan-preview-row-restart td{color:#1a5c94;background:#eef7ff;font-weight:600}.continue-plan-confirm-note{margin-bottom:.5rem;font-size:.9rem}.email-preview-box{border:1px solid var(--line);background:#f8fbff;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.email-preview-header{border-bottom:1px solid var(--line);background:#f1f7fc;flex-direction:column;gap:.2rem;padding:.5rem .75rem;font-size:.825rem;display:flex}.email-preview-label{color:var(--muted);font-weight:600}.email-preview-body{white-space:pre-wrap;word-break:break-word;margin:0;padding:.75rem;font-family:inherit;font-size:.825rem;line-height:1.55}@media (prefers-color-scheme:dark){.plan-preview-row-restart td{color:#7fc4f5;background:#0f2d47}.email-preview-box{background:#1a2530;border-color:#2a3a4a}.email-preview-header{background:#162030;border-color:#2a3a4a}}@media (max-width:720px){.plan-schedule-preview-modal{height:calc(100dvh - 1.2rem)}}.run-log-plan-summary{background:linear-gradient(#f8fbff,#f1f7fc);border:1px solid #d9e4ef;border-radius:12px;gap:.55rem;padding:.8rem .9rem;display:grid}.run-log-plan-summary-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.run-log-plan-summary-label{letter-spacing:.04em;text-transform:uppercase;color:#34556f;font-size:.78rem;font-weight:700}.run-log-plan-summary-splits{gap:.45rem}.run-log-field{gap:.35rem;display:grid}.run-log-field span{font-size:.86rem;font-weight:600}fieldset.run-log-field{border:0;margin:0;padding:0}.run-log-field select,.run-log-field textarea,.run-log-field input:not([type=radio]):not([type=checkbox]){width:100%}.run-log-file-input{color:#17344d;font-size:.82rem}.run-log-file-input::file-selector-button{color:#17344d;cursor:pointer;background:#fff;border:1px solid #b8c8d9;border-radius:8px;margin-right:.55rem;padding:.34rem .6rem;font-size:.74rem;font-weight:600;transition:background .12s,border-color .12s,color .12s}.run-log-file-input::file-selector-button:hover{background:#f1f6fb;border-color:#98b6d1}.run-log-file-input:disabled::file-selector-button{opacity:.6;cursor:not-allowed}.run-log-image-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.55rem;display:grid}.run-log-image-item{gap:.25rem;margin:0;display:grid}.run-log-image-preview-button{cursor:zoom-in;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block}.run-log-image-item img{aspect-ratio:1;object-fit:cover;background:#fff;border:1px solid #d9e4ef;border-radius:8px;width:100%;display:block}.run-log-image-preview-backdrop{z-index:40}.run-log-image-preview-dialog{width:min(880px,100%)}.run-log-image-preview-frame{background:#0f172a;border:1px solid #2d7fbf;border-radius:10px;place-items:center;max-height:calc(100dvh - 12rem);padding:.5rem;display:grid;overflow:auto}.run-log-image-preview-frame img{object-fit:contain;background:#fff;border-radius:6px;width:100%;max-width:760px;height:auto;max-height:calc(100dvh - 13rem);display:block}.coach-note-readonly{color:#19364f;white-space:pre-wrap;background:#f8fbff;border:1px solid #d9e4ef;border-radius:10px;padding:.55rem .65rem;font-size:.9rem}.run-log-future-hint{color:#5d6e7e;margin:-.1rem 0 0;font-size:.82rem}.active-filter-link{background:#edf5fc;border-color:#7aa3c6}.run-log-radio-row{flex-wrap:wrap;gap:.6rem;display:flex}.run-log-radio-option{color:#233a50;white-space:nowrap;background:#fff;border:1px solid #c8d6e3;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .52rem;font-size:.84rem;display:inline-flex}.run-log-radio-option input{accent-color:#2d7fbf;flex:none;width:auto}.run-log-radio-option.selected{border-width:2px;padding:.17rem .47rem;box-shadow:0 0 0 2px #2d7fbf1f}.run-log-radio-option.tone-neutral{background:#f2f4f7}.run-log-radio-option.tone-easy{background:#e8f9ef;border-color:#98d8b4}.run-log-radio-option.tone-medium{background:#fff3e6;border-color:#f2c48d}.run-log-radio-option.tone-hard{background:#ffe9eb;border-color:#f3a3ad}.run-log-radio-option.tone-pain-1{background:#fff7f7;border-color:#ffd9dd}.run-log-radio-option.tone-pain-2{background:#fff0f1;border-color:#ffc3cc}.run-log-radio-option.tone-pain-3{background:#ffe5e8;border-color:#ffacb9}.run-log-radio-option.tone-pain-4{background:#ffd5db;border-color:#ff8ea0}.run-log-radio-option.tone-pain-5{color:#7f1d1d;background:#ffc0ca;border-color:#f44b63}.run-log-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.session-layout-grid{grid-template-columns:minmax(92px,1.2fr) .8fr 1.8fr;align-items:center;gap:.35rem .45rem;display:grid}.session-layout-head{color:#38556f;font-size:.76rem;font-weight:700}.session-layout-row{display:contents}.session-layout-day{color:#1f3f5a;font-size:.84rem;font-weight:600}.check-option.compact{min-height:1.55rem;padding:.15rem .2rem}.session-tag-dropzone{background:#fbfdff;border:1px dashed #b9cce0;border-radius:8px;justify-content:flex-start;align-items:center;min-height:1.7rem;padding:.2rem .28rem;display:flex}.session-tag-dropzone.drag-valid{background:#edf8ff;border-color:#8ab7df}.session-tag-chip{color:#194464;cursor:grab;text-transform:capitalize;background:#f0f6fd;border:1px solid #c7d8ea;border-radius:999px;align-items:center;padding:.16rem .48rem;font-size:.72rem;font-weight:700;display:inline-flex}.session-tag-chip:active{cursor:grabbing}.session-speed,.session-tempo,.session-long{color:#1b4e77;background:#eef7ff;border-color:#bcd9f5}.session-cross,.session-strength{color:#2c6540;background:#eef9f0;border-color:#bfe2c5}.session-rest{color:#506173;background:#f3f5f8;border-color:#d6dde6}.session-tag-empty{color:#8ea1b4;font-size:.72rem}.run-log-adjust-warning{color:#861a2a;background:#fff0f2;border:1px solid #f5b7bf;border-radius:10px;align-items:flex-start;gap:.45rem;margin-bottom:.8rem;padding:.5rem .6rem;font-size:.83rem;display:flex}.run-log-adjust-warning input{margin-top:.05rem}.injury-adjustment-copy{gap:.35rem;display:grid}.injury-adjustment-tip-block{gap:.6rem;padding-top:.15rem;display:grid}.settings-section-divider{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.email-templates-list{gap:1.25rem;margin-top:1rem;display:grid}.email-template-editor{border:1px solid var(--line);border-radius:10px;gap:.6rem;padding:1rem 1.1rem;display:grid}.email-template-editor h3{align-items:center;gap:.5rem;margin:0;font-size:1rem;display:flex}.email-template-editor textarea{resize:vertical;font-family:inherit}.email-template-customized-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--brand-primary,#0b5fff);background:var(--brand-lavender-50,#eef1ff);border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.email-template-variables{color:#6b7280;margin:0;font-size:.78rem}.inbound-reply-expand-toggle{color:var(--brand-text-strong,#1a1a1a);margin-left:.35rem;font-weight:700}.inbound-reply-expanded-cell{background:#f7f9fb}.inbound-reply-format-label{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:0 0 .5rem;font-size:.72rem;font-weight:700}.inbound-reply-html-frame{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:360px}.inbound-reply-text{white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);background:#fff;border-radius:8px;max-height:360px;margin:0;padding:.75rem .9rem;font-family:inherit;overflow-y:auto}.plan-details-toggle{background:#f7f9fb;border:1px solid #dbe2ea;border-radius:10px;margin:.9rem 0 .6rem}.plan-details-toggle summary{cursor:pointer;color:var(--schedule-ink);align-items:center;gap:.4rem;padding:.65rem .9rem;font-size:.88rem;font-weight:700;list-style:none;display:flex}.plan-details-toggle summary::-webkit-details-marker{display:none}.plan-details-toggle summary::marker{content:""}.plan-details-toggle summary:before{content:"▸";color:var(--muted);font-size:.75rem;transition:transform .15s;display:inline-block}.plan-details-toggle[open] summary:before{transform:rotate(90deg)}.plan-details-toggle[open] summary{border-bottom:1px solid #dbe2ea}.plan-details-content{gap:.6rem;padding:.7rem .9rem .9rem;display:grid}.injury-adjustment-details{font-size:.82rem}.injury-adjustment-details summary{cursor:pointer;font-weight:600}.injury-adjustment-list{margin:.45rem 0 0;padding-left:1rem}.injury-adjustment-list li+li{margin-top:.25rem}.injury-adjustment-tip-section{background:#ffffff8c;border:1px solid #f2c7cd;border-radius:9px;padding:.55rem .65rem}.injury-adjustment-parent-line{font-weight:600}.injury-adjustment-sub-list{margin:.35rem 0 0;padding-left:1.1rem}.injury-adjustment-sub-list li+li{margin-top:.2rem}.injury-adjustment-sub-list li.injury-adjustment-sub-label{margin-left:-1rem;font-weight:600;list-style:none}.injury-adjustment-sections{gap:.55rem;margin-top:.45rem;display:grid}.injury-adjustment-section{gap:.2rem;display:grid}.injury-adjustment-section-title{font-weight:700}.coach-inbox-date-cell{white-space:nowrap}.ghost-button{color:#17344d;background:#fff;border:1px solid #b8c8d9}@media (max-width:720px){.intake-card{padding:1.25rem}.page-head{flex-direction:column;align-items:flex-start}.submission-table th,.submission-table td{padding:.5rem .45rem;font-size:.85rem}.submission-detail-grid{grid-template-columns:1fr}.schedule-desktop-view{display:none}.schedule-mobile-view{padding-bottom:4.4rem;display:block}.week-meta-cell{width:88px;min-width:88px}.run-day-cell-wrap>.workout-cell{flex-basis:auto;min-height:0}.run-log-dialog-backdrop{align-items:flex-end;padding:0}.run-log-dialog{width:100%;max-height:calc(100dvh - 1.2rem);padding:.8rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;gap:.6rem;animation:.22s ease-out run-log-dialog-slide-up}.run-log-dialog-handle{touch-action:none;background:#d4dbe3;border-radius:999px;width:2.6rem;height:.3rem;margin:-.3rem auto .1rem;display:block}.run-log-dialog h3{font-size:1rem;line-height:1.25}.split-text.repeat-compact{white-space:normal}.run-log-radio-row{gap:.45rem}.run-log-radio-option{padding:.2rem .45rem;font-size:.8rem}.run-log-action-row{flex-wrap:wrap}.run-log-quick-done-button,.run-log-button{padding:.42rem .7rem;font-size:.8rem}.pre-run-coach-note-banner{padding:.55rem .6rem}.pre-run-coach-note-banner-head{flex-direction:column;align-items:flex-start}.journey-progress-chip{gap:.7rem;padding:.6rem .8rem}.journey-progress-chip-value{font-size:1.15rem}.athlete-plan-page .page-head{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.1rem}.athlete-plan-page .page-head h1{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.athlete-plan-page .page-head .inline-actions{white-space:nowrap;flex-shrink:0;font-size:.78rem}.athlete-plan-page .lead{margin:.05rem 0;font-size:.72rem;line-height:1.3}.athlete-plan-page .personal-why-box{margin-top:.3rem;margin-bottom:.3rem}.achievement-strip{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}}@keyframes run-log-dialog-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.run-log-dialog{animation:none}}.landing-page{max-width:760px;margin-inline:auto;padding:1.75rem 1.25rem 5rem}.landing-topbar{justify-content:space-between;align-items:center;padding:.5rem 0 2rem;display:flex}.landing-wordmark{letter-spacing:.02em;color:var(--brand-text-strong);font-size:1.1rem;font-weight:700}.landing-hero{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:1.5rem;margin-bottom:3rem;display:flex;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.landing-hero-photo{object-fit:cover;object-position:center 30%;width:100%;height:320px;display:block}.landing-hero-content{flex-direction:column;gap:.9rem;padding:0 1.75rem 1.9rem;display:flex}.landing-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.landing-hero h1{text-wrap:balance;color:var(--brand-text-strong);margin:0;font-size:1.85rem;line-height:1.25}.landing-hero-lead{max-width:60ch;color:var(--text);margin:0;font-size:1.05rem}.landing-cta{border-radius:10px;align-self:flex-start;align-items:center;padding:.75rem 1.4rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.landing-section{padding:0 .25rem 3rem}.landing-story,.landing-invitation{flex-direction:column;gap:1rem;max-width:66ch;display:flex}.landing-story p,.landing-invitation p{color:var(--text);margin:0;font-size:1.05rem;line-height:1.7}.landing-story-emphasis{color:var(--brand-text-strong);font-weight:700;font-size:1.15rem!important}.landing-invitation{gap:1.1rem}.landing-invitation .landing-cta{margin-top:.4rem}.landing-signature{color:var(--muted);margin-top:.25rem;font-style:italic}@media (max-width:640px){.landing-hero-photo{object-position:center 22%;height:240px}.landing-hero h1{font-size:1.5rem}.landing-cta{justify-content:center;align-self:stretch}}
