:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--page-card-gap:var(--space-5);--radius-sm:12px;--radius-md:16px;--radius-lg:18px;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:24px;--motion-fast:180ms;--motion-medium:260ms;--motion-slow:420ms;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tab-bar-clearance:calc(8rem + (var(--safe-bottom) * 2))}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text)}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}html{-webkit-tap-highlight-color:transparent}[tabindex]:focus,[tabindex]:focus-visible,a:focus,a:focus-visible,button:focus,button:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:none;box-shadow:none}pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:12px;line-height:1.5}[hidden]{display:none!important}.app-shell{min-height:100vh;background:var(--bg);color:var(--text)}.safe-top{padding-top:var(--safe-top)}.safe-bottom{padding-bottom:var(--safe-bottom)}.landing-min-page{min-height:100vh;background:#000;color:#fff}.landing-min-page a{color:inherit}.landing-min-page .app-shell{min-height:100vh;display:flex;flex-direction:column;background:#000;color:#fff}.landing-min-page .landing-topbar{width:100%;border-bottom:1px solid rgba(255,255,255,.12);padding:var(--space-4)}.landing-min-page .landing-topbar-inner{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600;letter-spacing:.01em}.landing-min-page .landing-logo{width:3rem;height:3rem;display:block}.landing-min-page .landing-min-main{display:flex;align-items:center;justify-content:center;flex:1 0 auto;padding:var(--space-4);min-height:calc(100vh - 4.5rem)}.landing-min-page .landing-min-content{width:100%;max-width:28rem;display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.landing-min-page .landing-hero-heading{display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:var(--space-3);gap:var(--space-3)}.landing-min-page .landing-min-title{font-size:clamp(3rem,12vw,4.5rem);line-height:1;font-weight:700;letter-spacing:-.02em}.landing-min-page .landing-min-subtitle{font-size:clamp(1.1rem,4.5vw,1.5rem);opacity:.85}.landing-min-page .landing-powered-by{margin-top:var(--space-3);width:8rem;height:auto}.landing-min-page .landing-wordmark-image{height:clamp(5.5rem,18vw,9.5rem);width:auto;display:block;margin-top:-1rem;justify-self:end}.landing-min-page .landing-min-copy{font-size:var(--text-sm);line-height:1.6;opacity:.95}.landing-min-page .landing-min-bullets{list-style:disc;padding-left:1.25rem;display:grid;grid-gap:var(--space-4);gap:var(--space-4);opacity:.9}.landing-min-page .landing-min-pilot{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1.2rem}.landing-min-page .landing-min-pilot-title{font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:rgba(255,255,255,.8)}.landing-min-page .landing-min-form{display:grid;grid-gap:.8rem;gap:.8rem}.landing-min-page .landing-min-form input[type=email]{width:100%;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:.75rem .9rem;color:#fff;font-size:1rem}.landing-min-page .landing-min-form input[type=email]::placeholder{color:rgba(255,255,255,.5)}.landing-min-page .landing-min-helper{font-size:.85rem;color:rgba(255,255,255,.7)}.landing-min-page .landing-min-status{font-size:.9rem;color:rgba(255,255,255,.8);min-height:1.2rem}.landing-min-page .landing-min-cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 var(--space-5);margin-top:var(--space-3);border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;font-size:var(--text-sm);text-decoration:none;cursor:pointer}.landing-min-page .landing-min-cta:disabled{opacity:.75;cursor:default}.landing-min-page .landing-min-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}.landing-min-page .landing-min-footer{padding:1.5rem 1.25rem 2rem;text-align:center}.landing-min-page .landing-min-dev-link{font-size:.8rem;color:rgba(255,255,255,.45);text-decoration:none}.landing-min-page .landing-min-dev-link:focus-visible,.landing-min-page .landing-min-dev-link:hover{color:rgba(255,255,255,.8)}@media (min-width:48rem){.landing-min-page .landing-min-content{max-width:36rem}.landing-min-page .landing-min-copy{font-size:var(--text-md)}}@media (max-width:40rem){.landing-min-page .landing-wordmark-image{height:6rem;margin-top:-.2rem}.landing-min-page .landing-min-main{padding:var(--space-3)}.landing-min-page .landing-min-content{gap:var(--space-4)}}.app-header,.nav{background:var(--bg);color:var(--text);border-bottom:1px solid var(--color-border-subtle)}.container,.nav-bar{width:min(100%,56rem);margin:0 auto}.container-wide{width:min(100%,80rem)}.nav-bar{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.brand,.nav-bar{align-items:center}.brand{display:inline-flex;gap:var(--space-3);min-width:0}.brand-logo{width:3.75rem;height:3.75rem;display:block;flex:0 0 auto}.app-name{font-family:var(--font-display);font-size:var(--text-xl);line-height:1;font-weight:700}.app-tag{margin-top:var(--space-1);font-size:var(--text-xs)}.app-tag,.header-subtitle{color:var(--text-secondary)}.header-subtitle{width:min(100%,56rem);margin:0 auto;padding:0 var(--space-5) var(--space-4);font-size:var(--text-sm)}.nav-actions{display:flex;align-items:center;gap:var(--space-2)}.app-menu,.nav-actions{position:relative}.app-menu__trigger,.ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text);padding:0}.app-menu__trigger{display:inline-flex;align-items:center;justify-content:center}.app-header__menuGlyph{display:inline-block;font-size:1.5rem;line-height:1}.app-menu__popover{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:20;min-width:12rem;padding:var(--space-1);border-radius:var(--radius-md);border:1px solid var(--separator);background:var(--surface-elevated);box-shadow:0 12px 28px var(--shadow-popover-color);display:grid;grid-gap:2px;gap:2px}.app-menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;min-height:44px;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);display:flex;align-items:center;color:var(--text);text-align:left;justify-content:flex-start;cursor:pointer}.app-menu__item:focus-visible,.app-menu__item:hover{background:var(--surface-muted)}.ghost,.primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:2.75rem;padding:0 var(--space-5);border-radius:999px;font-weight:600;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;cursor:pointer;text-decoration:none}.primary{background:var(--accent);color:var(--color-text);box-shadow:0 8px 20px var(--shadow-button-color)}.primary:active{background:var(--accent-strong)}.primary:disabled,.primary[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(40%)}.primary:disabled:hover,.primary[disabled]:hover{background:var(--accent)}.danger{min-height:2.75rem;padding:0 var(--space-5);border-radius:999px;font-weight:600;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--system-red);color:var(--color-text);box-shadow:0 8px 20px var(--shadow-button-color);border:1px solid transparent;width:10.5rem}.danger:disabled{opacity:.6;cursor:not-allowed}.ghost{border:1px solid var(--separator);background:transparent;color:var(--color-text)}.ghost:disabled,.ghost[disabled]{opacity:.45;cursor:not-allowed}.app-menu__trigger{padding:0;border-radius:0;min-height:36px;min-width:36px;border:0;background:transparent;box-shadow:none}.app-header__menuGlyph{font-size:1.875rem}.content{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-5);padding-bottom:calc(var(--space-8) + var(--safe-bottom))}.content-with-tabbar{padding-bottom:calc(var(--tab-bar-clearance) + var(--space-8))}.section{display:flex;flex-direction:column;gap:var(--space-5)}.section-title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin:0}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid var(--separator);display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.tab-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,56rem);grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--space-3) var(--space-3) calc(var(--space-3) + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--separator)}.tab-bar,.tab-item{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.tab-item{min-height:2.75rem;border-radius:var(--radius-md);justify-items:center;padding:var(--space-2) 0;font-size:var(--text-xs);color:var(--text-secondary)}.tab-item.active,.tab-item[aria-current=page]{color:var(--text);background:var(--surface-muted)}.tab-item.is-disabled{color:var(--text-disabled)}.tab-icon{width:2rem;height:2rem;display:block;object-fit:contain}.rebuild-shell{display:grid;grid-gap:var(--page-card-gap);gap:var(--page-card-gap)}.page-intro{display:flex;flex-direction:column;gap:18px;padding:2px 0}.page-intro__copy{display:grid;grid-gap:10px;gap:10px}.page-intro__eyebrow{margin:0;color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase}.page-intro__title{margin:0;font-family:var(--font-display);font-size:clamp(2rem,8vw,2.8rem);line-height:.98}.page-intro__description{margin:0;color:var(--text-secondary);font-size:.97rem;line-height:1.62;max-width:40rem}.page-intro__meta{display:flex;flex-wrap:wrap;gap:10px}.page-intro__meta .rebuild-meta{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--color-border-soft);background:var(--color-surface-muted)}.page-intro__actions{display:flex;flex-wrap:wrap;gap:10px}.coach-screen{gap:var(--space-6)}.coach-screen--prototype{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.rebuild-hero{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.rebuild-kicker{margin:0;color:var(--accent);font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase}.rebuild-hero h1{margin:0;font-size:clamp(2rem,8vw,2.6rem);line-height:.98}.rebuild-copy{margin:0;color:var(--text-secondary);font-size:.95rem;line-height:1.6}.rebuild-copy--error{color:#ff9a9a}.rebuild-card,.rebuild-summary-card{--y-card-accent:var(--accent);--y-card-bg:var(--surface-elevated);--y-card-border:var(--color-border-soft);--y-card-text:var(--color-text-strong);--y-card-muted:var(--text-secondary);--y-card-meta:var(--color-text-subtle);position:relative;overflow:hidden;display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:clamp(16px,4vw,20px);border-radius:var(--radius-lg);border:1px solid var(--y-card-border);background:linear-gradient(180deg,var(--color-surface-subtle),var(--color-card-sheen-end)) var(--y-card-bg);box-shadow:0 12px 28px var(--shadow-popover-soft-color);color:var(--y-card-text)}.rebuild-card:before,.rebuild-summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--y-card-accent)}.rebuild-summary-card strong{font-size:clamp(1.8rem,8vw,2.4rem);line-height:1;letter-spacing:-.02em}.rebuild-summary-card-error{--y-card-accent:var(--danger)}.rebuild-label,.rebuild-meta{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.rebuild-grid{display:grid;grid-gap:14px;gap:14px}.rebuild-grid-two-up{grid-template-columns:1fr}.coach-cards-v2,.coach-section{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.coach-section{align-content:start}.coach-section__header,.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding-bottom:2px}.coach-section__title,.section-header__title{margin:0;font-size:1rem;line-height:1.2;font-weight:700;letter-spacing:.01em}.coach-section__copy,.section-header__copy{margin:6px 0 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5;max-width:38rem}.section-header__actions{display:flex;flex-wrap:wrap;gap:10px}.rebuild-card-full{width:100%}.rebuild-card h2{margin:0;font-size:clamp(1.125rem,3.6vw,1.35rem);line-height:1.2}.y-card{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--y-card-accent:var(--accent);--y-card-bg:var(--surface-elevated);--y-card-border:var(--color-border-soft);--y-card-text:var(--color-text-strong);--y-card-muted:var(--text-secondary);--y-card-meta:var(--color-text-subtle);position:relative;overflow:hidden;display:grid;grid-gap:var(--s4);gap:var(--s4);padding:clamp(var(--s4),4vw,20px);border-radius:18px;border:1px solid var(--y-card-border);background:linear-gradient(180deg,var(--color-surface-subtle),var(--color-card-sheen-end)) var(--y-card-bg);box-shadow:0 12px 28px var(--shadow-popover-soft-color);color:var(--y-card-text)}.y-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--y-card-accent)}.y-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.y-card__titleGroup{display:grid;grid-gap:var(--s1);gap:var(--s1);min-width:0}.y-card__title{margin:0;font-size:clamp(1.125rem,3.6vw,1.35rem);line-height:1.2;font-weight:700;color:var(--y-card-text)}.y-card__subtitle{margin:0;font-size:.925rem;line-height:1.45;color:var(--y-card-muted)}.y-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.y-card__button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid transparent;font-size:.875rem;font-weight:600;line-height:1;color:var(--y-card-text);display:inline-flex;align-items:center;justify-content:center;background:transparent}.y-card__button--primary{background:var(--y-card-accent);color:var(--color-text-on-accent)}.y-card__button--secondary{background:var(--color-border-subtle);border-color:var(--color-border-emphasis)}.y-card__button--link{min-height:44px;padding:0 8px;border-radius:8px;border-color:transparent;background:transparent;color:var(--y-card-muted)}.y-card__button:focus-visible{outline:none;box-shadow:none}.y-card__button:disabled{opacity:.65}.y-card__body{display:grid;grid-gap:var(--s4);gap:var(--s4)}.y-card__primary{display:grid;grid-gap:var(--s1);gap:var(--s1)}.y-card__metric{margin:0;font-size:clamp(2.35rem,9vw,2.8rem);font-weight:750;line-height:1;letter-spacing:-.02em;color:var(--y-card-text)}.y-card__metricLabel{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--y-card-muted)}.y-card__content{min-width:0;max-width:100%;font-size:.9375rem;line-height:1.6;color:var(--y-card-text)}.y-card__content,.y-card__content ul{display:grid;grid-gap:var(--s2);gap:var(--s2)}.y-card__content ul{margin:0;padding-left:1.15rem}.y-card__content li{color:var(--y-card-text)}.y-card__content strong{color:var(--y-card-accent);font-weight:650}.y-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;padding-top:var(--s3);border-top:1px solid var(--color-surface-interactive-strong)}.y-card__meta{margin:0;font-size:.8125rem;line-height:1.45;color:var(--y-card-meta)}.app-card__footerSlot{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-height:1.25rem}@media (max-width:24rem){.y-card__actions{width:100%}.y-card__button{flex:1 1 auto}}@media (min-width:42rem){.y-card__header{flex-wrap:nowrap}}.rebuild-actions{display:flex;flex-wrap:wrap;gap:10px}.rebuild-button,.rebuild-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:44px;padding:0 var(--space-4);border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;line-height:1;cursor:pointer}.rebuild-button{background:var(--accent);color:var(--color-text-on-accent)}.rebuild-button-secondary{background:var(--color-border-subtle);border-color:var(--color-border-strong);color:var(--text)}.rebuild-button:disabled{opacity:.65;cursor:progress}.rebuild-button-row{display:flex;flex-wrap:wrap;gap:10px}.rebuild-link{background:var(--color-border-subtle);border-color:var(--color-border-emphasis);color:var(--text)}.rebuild-button-danger{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-text)}.rebuild-list,.rebuild-list-tight{margin:0;padding-left:1.15rem;color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.rebuild-admin-grid,.rebuild-form,.rebuild-provider-list,.rebuild-week-grid{display:grid;grid-gap:12px;gap:12px}.rebuild-plan-summary{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border-radius:18px;background:var(--color-surface-muted);border:1px solid var(--color-border-subtle)}.rebuild-plan-summary__row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.workout-type-badge{display:inline-block;font-size:.625rem;font-weight:700;letter-spacing:.06em;line-height:1;padding:.2rem .4rem;border-radius:4px;white-space:nowrap;vertical-align:middle}.workout-type-easy{background:var(--color-success);color:var(--system-green)}.workout-type-recovery{background:var(--color-teal);color:var(--system-teal)}.workout-type-long-run{background:var(--color-info);color:var(--system-blue)}.workout-type-progression,.workout-type-tempo{background:var(--color-primary);color:var(--color-text)}.workout-type-interval,.workout-type-threshold{background:var(--color-danger);color:var(--system-red)}.workout-type-fartlek,.workout-type-hills,.workout-type-steady,.workout-type-strides{background:var(--color-primary);color:var(--color-text)}.workout-type-race-pace{background:var(--color-danger);color:var(--system-red)}.workout-type-strength{background:var(--color-gray);color:var(--system-gray)}.workout-type-cross-training{background:var(--color-purple);color:var(--system-purple)}.workout-type-test-run{background:var(--color-danger);color:var(--system-red)}.workout-type-rest{background:var(--color-gray-strong);color:var(--system-gray2)}.workout-type-generic{background:var(--color-gray);color:var(--system-gray)}.workout-type-lock,.workout-type-recurring{background:var(--color-gray-strong);color:var(--color-text)}.y-card--weekly-plan .y-v2-week-accordion{display:grid;grid-gap:8px;gap:8px}.y-card--weekly-plan .y-v2-week-scrollWrap{position:relative}.y-card--weekly-plan .y-v2-week-scroll{overflow-y:auto;padding-right:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.y-card--weekly-plan .y-v2-week-scrollHint{position:absolute;left:50%;right:auto;top:auto;bottom:.35rem;transform:translateX(-50%)}.y-card--weekly-plan .y-v2-week-accordionDay{border:1px solid var(--color-border-soft);border-radius:14px;background:var(--color-surface-subtle);overflow:hidden}.y-card--weekly-plan .y-v2-week-accordionDay.is-today{border-color:var(--color-primary-border-bright);box-shadow:0 0 0 1px var(--color-primary-glow)}.y-card--weekly-plan .y-v2-week-accordionHeader{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;text-align:left;padding:10px 12px;min-height:44px;cursor:pointer}.y-card--weekly-plan .y-v2-week-accordionHeader.is-disabled{cursor:default;opacity:.95}.y-card--weekly-plan .y-v2-week-accordionHeaderInfo{min-width:0;display:grid;grid-gap:6px;gap:6px}.y-card--weekly-plan .y-v2-week-accordionDayLabel{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.y-card--weekly-plan .y-v2-week-accordionChips{min-width:0;display:grid;grid-gap:6px;gap:6px}.y-card--weekly-plan .y-v2-week-accordionDay.is-open .y-v2-week-accordionChips{display:none}.y-card--weekly-plan .y-v2-week-planChip{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:0;background:transparent;color:var(--text-primary);font-size:.72rem}.y-card--weekly-plan .y-v2-week-planChipBadge{display:inline-flex;align-items:center}.y-card--weekly-plan .workout-type-badge{color:var(--text-primary)}.y-card--weekly-plan .workout-type-lock,.y-card--weekly-plan .workout-type-recurring{color:var(--color-text)}.y-card--weekly-plan .y-v2-week-planChipSport{font-size:var(--text-sm);font-weight:700;color:var(--text-primary)}.y-card--weekly-plan .y-v2-week-planChip.is-completed{color:var(--text-primary)}.y-card--weekly-plan .y-v2-week-planChip.is-empty{color:var(--color-text-soft)}.y-card--weekly-plan .y-pill{display:inline-flex;align-items:center;border-radius:4px;padding:.2rem .4rem;font-size:.625rem;font-weight:700;letter-spacing:.06em;line-height:1;white-space:nowrap;text-transform:uppercase}.y-card--weekly-plan .y-pill--completed{background:var(--color-success-soft);color:var(--text-primary)}.y-card--weekly-plan .y-pill--confirm{background:var(--color-warning-soft-strong);color:var(--text-primary)}.y-card--weekly-plan .y-pill--planned{background:var(--color-info-soft);color:var(--text-primary)}.y-card--weekly-plan .y-pill--rest{background:var(--color-gray-soft);color:var(--color-text-stronger-soft)}.y-card--weekly-plan .y-pill--missed{background:var(--color-danger-soft-strong);color:var(--text-primary)}.y-card--weekly-plan .y-v2-week-itemStatus,.y-card--weekly-plan .y-v2-week-status{flex-shrink:0}.y-card--weekly-plan .y-v2-week-accordionStatusWrap{display:inline-flex;align-items:center;gap:8px;justify-self:end}.y-card--weekly-plan .y-v2-week-accordionChevron{width:24px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--color-text-strongest-soft)}.y-card--weekly-plan .y-v2-week-accordionPanel{display:grid;grid-gap:10px;gap:10px;padding:0 12px 12px;border-top:1px solid var(--color-border-faint)}.y-card--weekly-plan .y-v2-week-dayItem{display:grid;grid-gap:8px;gap:8px;padding:10px;border-radius:12px;border:1px solid var(--color-border-softest);background:var(--color-surface-overlay)}.y-card--weekly-plan .y-v2-week-dayItem.is-completed{border-color:var(--color-border-medium);background:var(--color-surface-overlay)}.y-card--weekly-plan .y-v2-week-dayItemHeader{display:flex;gap:8px;justify-content:space-between;align-items:flex-start}.y-card--weekly-plan .y-v2-week-dayItemMeta{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.y-card--weekly-plan .y-v2-week-dayItemTitle{display:inline-flex;align-items:center;gap:8px;min-width:0}.y-card--weekly-plan .y-v2-week-dayItemHeadline{font-size:var(--text-sm);color:var(--text-primary);font-weight:600;line-height:1.35}.y-card--weekly-plan .y-v2-week-daySection{display:grid;grid-gap:6px;gap:6px}.y-card--weekly-plan .y-v2-week-daySectionTitle{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.y-card--weekly-plan .y-v2-week-dayDescription,.y-card--weekly-plan .y-v2-week-dayWhy{margin:0;font-size:var(--text-sm);line-height:1.35;color:var(--text-primary)}.y-card--weekly-plan .y-v2-week-rest{margin:0;font-size:var(--text-sm);line-height:1.35;color:var(--text-secondary)}.y-card--weekly-plan .y-v2-week-linkCodeRow{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-start}.y-card--weekly-plan .y-v2-week-linkCodeRow .y-v2-week-dayWhy{margin:0;white-space:nowrap}.y-card--weekly-plan .y-v2-week-linkCodeCopy{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-text);border-radius:0;min-height:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0}.y-card--weekly-plan .y-v2-week-linkCodeCopyIcon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.y-card--weekly-plan .y-v2-week-copiedTag{font-size:.74rem;color:var(--text-secondary)}.y-card--weekly-plan .y-v2-week-editorPortal{min-width:0}.y-card--weekly-plan .seven-day-list{display:grid;grid-gap:10px;gap:10px}.y-card--weekly-plan .seven-day-item{border:1px solid var(--color-border-soft);border-radius:12px;padding:10px;display:grid;grid-gap:8px;gap:8px;background:var(--color-surface-overlay)}.y-card--weekly-plan .seven-day-item.is-today{border-color:var(--color-primary-border-bright);box-shadow:0 0 0 1px var(--color-primary-glow)}.y-card--weekly-plan .seven-day-item.is-locked{opacity:.68}.y-card--weekly-plan .seven-day-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.y-card--weekly-plan .seven-day-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.y-card--weekly-plan .seven-day-date{font-size:.76rem;color:var(--text-secondary)}.y-card--weekly-plan .seven-day-edit-label{margin-top:-2px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-quiet)}.y-card--weekly-plan .week-plan-dropzone{display:flex;flex-direction:column;gap:8px;min-height:42px;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.y-card--weekly-plan .week-plan-dropzone.is-drop-target{border-radius:12px;background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary-outline)}.y-card--weekly-plan .week-plan-pill{padding:.6rem .75rem;border-radius:10px;background:var(--color-border-subtle);border:1px solid var(--color-border-medium);color:var(--text-primary);font-size:var(--text-sm);line-height:1.35;cursor:-webkit-grab;cursor:grab;touch-action:none;position:relative}.y-card--weekly-plan .week-plan-pill.is-dragging{opacity:.28}.week-edit-mode .y-card--weekly-plan .week-plan-pill{padding-right:1.8rem;transform-origin:center;--jiggle-rot:0.45deg;--jiggle-x:0.22px;--jiggle-y:0.18px;animation-name:week-plan-jiggle;animation-duration:.16s;animation-delay:-90ms;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}.week-edit-mode .y-card--weekly-plan .week-plan-pill:before{content:"";position:absolute;right:.5rem;top:50%;width:.55rem;height:1.2rem;transform:translateY(-50%);border-radius:999px;background:repeating-linear-gradient(to bottom,var(--color-text-handle),var(--color-text-handle) 2px,transparent 2px,transparent 4px)}.y-card--weekly-plan .week-plan-empty{padding:.6rem .75rem;border-radius:10px;border:1px dashed var(--color-border-dashed);font-size:var(--text-sm);color:var(--text-secondary)}.week-plan-drag-ghost{position:fixed;left:0;top:0;z-index:60;pointer-events:none;padding:.6rem .75rem;border-radius:10px;background:var(--color-surface-elevated-3);border:1px solid var(--color-border-strong);color:var(--text-primary);font-size:var(--text-sm);line-height:1.35;box-shadow:0 12px 28px var(--shadow-card-raised-color)}@keyframes week-plan-jiggle{0%{transform:translate(calc(var(--jiggle-x) * -1),calc(var(--jiggle-y) * -1)) rotate(calc(var(--jiggle-rot) * -1))}to{transform:translate(var(--jiggle-x),var(--jiggle-y)) rotate(var(--jiggle-rot))}}@media (prefers-reduced-motion:reduce){.week-edit-mode .y-card--weekly-plan .week-plan-pill{animation:none}}.state-panel-grid{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.state-panel-grid+.rebuild-copy,.state-panel-grid+.rebuild-meta,.state-panel-grid+.rebuild-stat-grid{margin-top:2px}.state-panel{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border-radius:18px;background:var(--color-surface-panel);border:1px solid var(--color-border-faint)}.state-panel__row{display:flex;justify-content:space-between;align-items:center;gap:12px}.rebuild-session-rationale{margin:6px 0 0;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.admin-overview-card,.coach-overview-card,.settings-overview-card{gap:var(--space-4)}.goal-splits-list{display:grid;grid-gap:10px;gap:10px}.goal-splits-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--color-surface-muted);border:1px solid var(--color-border-subtle)}.day-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.day-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--color-border-soft);background:var(--color-surface-muted);color:var(--text);font:inherit}.day-chip--selected{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.coach-overview-grid{display:grid;grid-gap:14px;gap:14px}.coach-overview-copy{display:grid;grid-gap:12px;gap:12px}.coach-ai-summary{display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-subtle)}.coach-ai-summary__row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.coach-badge-row{display:flex;flex-wrap:wrap;gap:8px}.coach-badge{border-radius:999px;border:1px solid var(--color-border-strong)}.coach-badge,.status-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;background:var(--color-surface-panel-strong);color:var(--text);font-size:.8125rem;line-height:1}.status-badge{border-radius:999px;border:1px solid var(--color-border-medium);font-weight:600;white-space:nowrap}.status-badge--success{border-color:var(--color-success-border);background:var(--color-success-soft-muted)}.status-badge--warning{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.status-badge--danger{border-color:var(--color-danger-border-strong);background:var(--color-danger-soft)}.celebration-layer{position:fixed;left:0;right:0;bottom:calc(var(--tab-bar-clearance) + 12px);z-index:40;display:flex;justify-content:center;pointer-events:none;padding:0 16px}.celebration-toast{min-width:min(100%,320px);max-width:min(100%,420px);display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid var(--color-border-medium);background:linear-gradient(180deg,var(--color-surface-panel-strong),var(--color-surface-soft)) var(--surface-elevated);box-shadow:0 16px 36px var(--shadow-card-raised-color);transform:translateY(0);animation:celebration-pop var(--motion-medium) ease}.celebration-toast--success{border-color:var(--color-success-border-strong)}.celebration-toast--highlight{border-color:var(--color-warning-border);box-shadow:0 18px 40px var(--color-primary-soft-strong)}.celebration-toast__title{font-size:.95rem;line-height:1.2}.celebration-toast__message{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}@keyframes celebration-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-detail-list,.settings-provider-content{display:grid;grid-gap:10px;gap:10px}.admin-actions{justify-content:flex-end}.admin-actions--footer{justify-content:flex-start}.admin-card-signals{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-signal{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--color-border-soft);background:var(--color-surface-panel-strong);color:var(--text);font-size:.8125rem;font-weight:600;line-height:1}.admin-signal--warning{border-color:var(--color-warning-border);background:var(--color-warning-soft-muted)}.admin-signal--danger{border-color:var(--color-danger-border-strong);background:var(--color-danger-soft)}.settings-connect-image{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:flex-start}.settings-connect-image img{display:block;width:auto;max-width:100%;height:42px}.settings-disconnect-button{justify-self:start}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-user-sections{display:grid;grid-gap:16px;gap:16px}.admin-user-section{display:grid;grid-gap:12px;gap:12px}.admin-user-section__header{display:grid;grid-gap:4px;gap:4px}.admin-user-section__title{margin:0;font-size:.95rem;line-height:1.2}.admin-detail-tile{display:grid;grid-gap:6px;gap:6px;min-height:72px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-panel)}.admin-detail-tile strong{font-size:.95rem;line-height:1.35}.admin-diagnostics-panel{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-surface-interactive-strong)}.admin-diagnostics-grid{display:grid;grid-gap:10px;gap:10px}.admin-diagnostics-card{display:grid;grid-gap:6px;gap:6px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-muted)}.admin-diagnostics-card p{margin:0;color:var(--text-secondary);font-size:.875rem;line-height:1.45}.rebuild-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.rebuild-stat-grid--compact{gap:8px}.rebuild-stat-tile{display:grid;grid-gap:6px;gap:6px;min-height:88px;padding:14px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-panel)}.rebuild-stat-tile strong{font-size:1.6rem;line-height:1}.rebuild-stat-tile--compact{min-height:74px;padding:12px;gap:4px}.rebuild-stat-tile--compact strong{font-size:1.05rem;line-height:1.2}.rebuild-day-card,.rebuild-provider-card{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:14px;background:var(--color-surface-panel)}.rebuild-day-card h3{margin:0;font-size:.95rem}.rebuild-day-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px}.rebuild-admin-header{display:flex;flex-direction:column;gap:12px}.rebuild-field{display:grid;grid-gap:6px;gap:6px;color:var(--text-secondary);font-size:.8125rem}.rebuild-form--structured{gap:14px}.rebuild-form-divider{grid-column:1/-1;height:1px;margin:2px 0;background:var(--color-border-subtle)}.rebuild-field-full{grid-column:1/-1}.rebuild-field input,.rebuild-field select,.rebuild-field textarea{width:100%;border:1px solid var(--color-border-medium);border-radius:14px;background:var(--color-surface-panel);color:var(--text);padding:12px 14px}.rebuild-field textarea{min-height:120px}.rebuild-error-text{color:var(--color-text-danger-soft);font-size:.8125rem}.auth-card,.legal-card{gap:18px}.auth-card .rebuild-link,.legal-card .rebuild-link,.paywall-screen .rebuild-link{justify-content:center}.auth-authenticated-block,.auth-dev-link-block,.legal-section-list{display:grid;grid-gap:14px;gap:14px}.auth-inline-error{color:var(--color-text-danger-soft)}.rebuild-checkbox-field{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:.875rem}.rebuild-checkbox-field input{margin-top:2px}.auth-page-shell .auth-legacy-card,.auth-page-shell .auth-legacy-card form{display:grid;grid-gap:14px;gap:14px}.auth-page-shell .auth-consent{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:.875rem;letter-spacing:0;text-transform:none}.auth-page-shell .auth-consent span{display:block}.auth-page-shell .auth-consent a{color:var(--accent);text-decoration:underline;text-underline-offset:.12em}.auth-page-shell .auth-consent input{margin-top:2px}.auth-page-shell .form-field input[type=email]{min-height:3rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--surface);color:var(--text);padding:0 var(--space-3);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.auth-page-shell .form-field input[type=email]::placeholder{color:var(--text-secondary)}.auth-page-shell .form-field input[type=email]:focus{outline:2px solid var(--color-primary-glow);outline-offset:0;border-color:var(--color-primary-border-bright)}.auth-page-shell .auth-status-error{color:var(--danger)}.auth-page-shell .auth-continue-button{width:-moz-fit-content;width:fit-content;text-decoration:none}.legal-section-item{display:grid;grid-gap:8px;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--color-border-subtle)}.legal-section-item:last-child{padding-bottom:0;border-bottom:0}.legal-section-item h3{margin:0;font-size:.95rem}.performance-pace-list{display:grid;grid-gap:12px;gap:12px}.performance-pace-row{display:grid;grid-gap:10px;gap:10px;padding:14px 0;border-bottom:1px solid var(--color-border-subtle)}.performance-pace-row:first-child{padding-top:0}.performance-pace-row:last-child{padding-bottom:0;border-bottom:0}.performance-pace-value{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;min-width:72px;padding:8px 12px;border-radius:999px;background:var(--color-warning-soft-alt);color:var(--accent);font-weight:600}.coach-performance-summary{display:grid;grid-gap:14px;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-subtle)}.coach-performance-summary__row{display:flex;align-items:center;justify-content:space-between;gap:12px}@media (min-width:48rem){.admin-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.coach-next-days-list{display:grid;grid-gap:12px;gap:12px}.coach-next-days-row{display:grid;grid-gap:4px;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--color-border-subtle)}.coach-next-days-row:last-child{padding-bottom:0;border-bottom:0}.coach-refresh-block{justify-items:center;padding-bottom:calc(var(--tab-bar-clearance) - var(--space-3))}.coach-refresh-block,.y-v2-recovery-progress{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.y-v2-recovery-progressTrack{position:relative;width:100%;height:10px;border-radius:999px;background:var(--color-surface-interactive-strong);overflow:hidden;border:1px solid var(--color-border-medium)}.y-v2-recovery-progressFill{height:100%;width:0;border-radius:999px;background:var(--y-card-accent);transition:width .18s linear}.y-v2-recovery-progressFill.is-indeterminate{width:45%;animation:y-v2-progress-indeterminate 1.1s ease-in-out infinite}.y-v2-recovery-progressValue{font-size:var(--text-xs);color:var(--text-secondary)}@keyframes y-v2-progress-indeterminate{0%{transform:translateX(-120%)}to{transform:translateX(240%)}}.coach-pull-refresh-indicator{text-align:center;padding:6px 0 2px}.coach-v2-debug #coachV2DebugMount{margin-top:8px}.y-v2-phase-scrollWrap{position:relative;max-width:100%;min-width:0}.y-v2-pain-guidance{margin-top:2px;display:grid;grid-gap:6px;gap:6px;padding:10px;border-radius:12px;border:1px solid var(--color-border-strong);background:var(--color-surface-muted)}.y-v2-pain-guidanceBadge{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:4px 10px;font-size:.67rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.y-v2-pain-guidanceBadge--ok{background:var(--color-success-soft-strong);color:var(--color-success-text-soft)}.y-v2-pain-guidanceBadge--reduce{background:var(--color-warning-soft-stronger);color:var(--color-warning-text-soft)}.y-v2-pain-guidanceBadge--pause{background:var(--color-danger-soft-stronger);color:var(--color-danger-text-soft)}.y-v2-pain-guidanceTitle{font-size:.84rem;font-weight:700;color:var(--color-text-highest)}.y-v2-weeklyBarsChart{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;min-width:0}.y-v2-weeklyBarsScale{min-width:0;padding-right:var(--s1);border-right:1px solid var(--color-border-subtle);color:var(--color-text-subtle-3)}.y-v2-weeklyBarsScaleTop{height:var(--y-v2-scale-top,.95rem)}.y-v2-weeklyBarsScaleAxis{position:relative;height:var(--y-v2-scale-height,var(--y-v2-phase-bars-height,4.8rem))}.y-v2-weeklyBarsScaleBottom{height:var(--y-v2-scale-bottom,.95rem)}.y-v2-weeklyBarsScaleEmpty{margin-top:var(--s1);font-size:.72rem;color:var(--color-text-faint);text-align:right}.y-v2-weeklyBarsTick{position:absolute;left:0;right:0;transform:translateY(-50%);display:flex;align-items:center;justify-content:flex-end;gap:4px}.y-v2-weeklyBarsTickLabel{font-size:.72rem;line-height:1;color:var(--color-text-muted);white-space:nowrap;text-align:right}.y-v2-weeklyBarsTickMark{width:8px;height:1px;background:var(--color-surface-interactive-bright);flex:0 0 auto}.y-v2-next-race-layout{grid-template-columns:minmax(0,1fr) auto;align-items:start}.y-v2-next-race-content,.y-v2-next-race-layout{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.y-v2-next-race-content{align-content:start;align-self:start}.y-v2-next-race-art{display:flex;justify-content:flex-end;align-items:flex-start;align-self:start;width:clamp(108px,30vw,152px);height:clamp(170px,42vw,240px);flex:0 0 clamp(108px,30vw,152px);overflow:hidden}.y-v2-next-race-image{width:100%;height:100%;display:block;flex:0 0 auto;object-fit:contain;object-position:center bottom}.y-v2-next-race-details{font-size:var(--text-sm)}.y-v2-next-race-details li{white-space:nowrap}.y-v2-kv{display:grid;grid-gap:var(--space-1);gap:var(--space-1);font-size:var(--text-sm)}.y-v2-kv strong{color:var(--text-primary);font-weight:600}.y-v2-phase-purposeHeader{gap:2px;margin-bottom:var(--space-4)}.y-v2-phase-purposeTitle{margin:0;font-size:1rem;line-height:1.25;font-weight:650}.y-v2-phase-purposeSubtitle{margin:0;line-height:1.4;white-space:normal;overflow:visible}.y-v2-phase-progress{display:grid;grid-gap:8px;gap:8px;min-width:0;max-width:100%}.y-v2-phase-progressTrack{position:relative;width:100%;height:.95rem;border-radius:999px;background:var(--color-surface-interactive-strong);overflow:hidden}.y-v2-phase-progressFill{position:absolute;inset:0 auto 0 0;border-radius:999px;min-width:0;background:var(--color-success)}.y-v2-phase-progressStats{font-size:.72rem;color:var(--color-text-stronger-soft-2);padding-inline:4px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.y-v2-phase-scroll{--y-v2-phase-visible:5;--y-v2-phase-col:4.2rem;max-width:100%;width:100%;overflow-x:auto;padding:8px;border:1px solid var(--color-surface-interactive-strong);border-radius:12px;background:var(--color-surface-overlay-strong);-webkit-overflow-scrolling:touch;scrollbar-width:thin}@media (max-width:54rem){.y-v2-phase-scroll{--y-v2-phase-visible:3;--y-v2-phase-col:5.1rem}}.y-v2-phase-track{display:flex;gap:var(--s2);align-items:end;width:max-content;min-width:max-content}.y-v2-phase-week{display:grid;grid-gap:var(--s1);gap:var(--s1);justify-items:center;flex:0 0 var(--y-v2-phase-col,4.2rem);width:var(--y-v2-phase-col,4.2rem);padding:var(--s1);border-radius:10px;border:1px solid var(--color-border-subtle);background:var(--color-surface-soft);position:relative}.y-v2-phase-week.is-race-week{--y-v2-phase-race-stack-width:1.6rem;--y-v2-phase-race-side-width:4.4rem;flex:0 0 calc(var(--y-v2-phase-col) * 2.05);min-width:calc(var(--y-v2-phase-col) * 2.05);width:calc(var(--y-v2-phase-col) * 2.05)}.y-v2-phase-week.is-current{border-color:var(--y-phase-outline,var(--color-text));box-shadow:0 0 0 1px var(--y-phase-glow,var(--color-text))}.y-v2-phase-weekLabel{font-size:.68rem;font-weight:700;color:var(--color-text-high)}.y-v2-phase-main{height:var(--y-v2-phase-bars-height,4.8rem);display:flex;align-items:flex-end;justify-content:center;gap:var(--s1)}.y-v2-phase-week.is-race-week .y-v2-phase-main{display:grid;grid-template-columns:var(--y-v2-phase-race-stack-width,1.6rem) var(--y-v2-phase-race-side-width,4.4rem);justify-content:center;align-items:end;grid-gap:var(--s1);gap:var(--s1)}.y-v2-phase-bars{width:1.6rem;height:var(--y-v2-phase-bars-height,4.8rem);position:relative;display:flex;align-items:flex-end;justify-content:center;border-radius:.45rem;background:var(--color-surface-subtle)}.y-v2-phase-bar{position:absolute;bottom:0;width:100%}.y-v2-phase-bar--planned{background:none;border:1px solid var(--y-phase-color,var(--color-text));box-sizing:border-box}.y-v2-phase-bar--completed{background:var(--y-phase-completed,var(--color-text))}.y-v2-phase-raceSide{height:100%;display:flex;align-items:flex-end;min-width:var(--y-v2-phase-race-side-width,4.4rem);justify-content:center}.y-v2-phase-raceStack{width:var(--y-v2-phase-race-stack-width,1.6rem);height:var(--y-v2-phase-bars-height,4.8rem);display:flex;flex-direction:column;justify-content:flex-end;gap:0;border-radius:.45rem;background:var(--color-surface-subtle)}.y-v2-phase-raceMarker{min-height:0;height:calc(var(--y-v2-phase-bars-height, 4.8rem) * var(--y-v2-race-distance-ratio, 0));box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px dashed var(--y-phase-color,var(--color-phase-taper));border-bottom:0;border-radius:0;margin-bottom:-1px;color:var(--y-phase-color,var(--color-phase-taper));font-size:.5rem;font-weight:400;letter-spacing:0;line-height:1;text-transform:uppercase;padding:.06rem}.y-v2-phase-bars--raceTarget{width:100%;height:calc(var(--y-v2-phase-bars-height, 4.8rem) * var(--y-v2-race-target-ratio, 0));border-radius:0;flex:0 0 auto;background:transparent}.y-v2-phase-bars--raceTarget:before{content:none}.y-v2-phase-week.is-race-week .y-v2-phase-raceSide{width:var(--y-v2-phase-race-side-width,4.4rem);min-width:var(--y-v2-phase-race-side-width,4.4rem);align-items:flex-end}.y-v2-phase-bars--raceTarget .y-v2-phase-bar--planned{height:100%!important;z-index:2;border-radius:0}.y-v2-phase-bars--raceTarget .y-v2-phase-bar--completed{width:100%;z-index:1;border-radius:0}.y-v2-phase-date{font-size:.62rem;color:var(--color-text-subtle);white-space:nowrap}.y-v2-phase-runner-inline{display:block;object-fit:contain;object-position:center bottom;height:4.8rem;width:4.2rem;max-height:4.8rem;max-width:4.2rem;align-self:flex-end}.y-v2-phase-footer{width:100%}.y-v2-phase-footer--race{display:grid;grid-template-columns:var(--y-v2-phase-race-stack-width,1.6rem) var(--y-v2-phase-race-side-width,4.4rem);justify-content:center;grid-column-gap:var(--s1);column-gap:var(--s1);align-items:center}.y-v2-phase-footer--race .y-v2-phase-date:first-child{justify-self:center}.y-v2-phase-raceMeta{justify-self:end;text-align:center;width:auto;padding-left:.35rem}.y-v2-phase-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--color-text-strong-soft);background:var(--color-surface-overlay-heavy);border:1px solid var(--color-border-medium);pointer-events:none}.coach-phase-kv{margin-top:8px}.y-v2-recovery-sectionTitle{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.y-v2-recovery-todayStats{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.y-v2-recovery-todayLine{font-size:var(--text-sm);color:var(--text-primary)}.y-v2-recovery-trendsContainer{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.y-v2-recovery-trends{gap:var(--space-2)}.y-v2-recovery-trendRow{display:flex;align-items:baseline;justify-content:flex-start;gap:var(--space-1);flex-wrap:wrap}.y-v2-recovery-trendLabel{color:var(--text-primary)}.y-v2-recovery-trendDelta{font-size:var(--text-xs);white-space:nowrap}.y-v2-recovery-trendDelta.is-up{color:var(--color-status-success)}.y-v2-recovery-trendDelta.is-down{color:var(--color-status-danger)}.y-v2-recovery-trendDelta.is-flat{color:var(--color-status-neutral)}.goal-screen--template{padding-top:var(--space-2);padding-bottom:calc(var(--tab-bar-clearance) + var(--space-6))}.goal-screen--prototype .form-field,.goal-screen--prototype .section,.goal-screen--template .form-field,.goal-screen--template .section{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.goal-screen--prototype .form-field label,.goal-screen--prototype .radio-fieldset legend,.goal-screen--template .form-field label,.goal-screen--template .radio-fieldset legend{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.goal-screen--prototype .form-field input,.goal-screen--prototype .form-field select,.goal-screen--template .form-field input,.goal-screen--template .form-field select{width:100%;border:1px solid var(--color-border-medium);border-radius:14px;background:var(--color-surface-panel);color:var(--text);padding:12px 14px}.goal-screen--prototype .race-details,.goal-screen--template .race-details{display:grid;grid-gap:var(--goal-field-stack-gap,calc(var(--space-3) * .4));gap:var(--goal-field-stack-gap,calc(var(--space-3) * .4));grid-template-columns:minmax(0,1fr)}.goal-screen--prototype .race-details .form-field,.goal-screen--template .race-details .form-field{min-width:0}.goal-screen--prototype .race-date-input-wrapper,.goal-screen--template .race-date-input-wrapper{display:flex}.goal-screen--prototype .race-date-input-wrapper input[type=date],.goal-screen--template .race-date-input-wrapper input[type=date]{flex:1 0;min-width:0;width:100%;max-width:100%;display:block;box-sizing:border-box}.goal-screen--prototype .race-details input[type=date]::-webkit-datetime-edit,.goal-screen--template .race-details input[type=date]::-webkit-datetime-edit{min-width:0}.goal-screen--prototype .race-details input[type=date]::-webkit-calendar-picker-indicator,.goal-screen--template .race-details input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);opacity:1}.goal-screen--prototype .radio-fieldset,.goal-screen--template .radio-fieldset{margin:0;padding:0;border:0;display:grid;grid-gap:10px;gap:10px}.goal-screen--prototype .radio,.goal-screen--template .radio{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:var(--text-sm)}.goal-screen--prototype .field-error,.goal-screen--template .field-error{font-size:var(--text-xs);color:var(--color-text-danger-soft)}.goal-screen--prototype .field-error:empty,.goal-screen--template .field-error:empty{display:none}.goal-screen--prototype .subtle,.goal-screen--template .subtle{margin:0;font-size:var(--text-xs);color:var(--text-secondary)}.goal-screen--prototype .target-splits-card h3,.goal-screen--template .target-splits-card h3{margin:0;font-size:1rem}.goal-screen--prototype .target-splits-table,.goal-screen--template .target-splits-table{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2)}.goal-screen--prototype .target-splits-row,.goal-screen--template .target-splits-row{display:flex;justify-content:flex-start;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.goal-screen--prototype .target-splits-label,.goal-screen--template .target-splits-label{color:var(--text-secondary);min-width:3.5rem}.goal-screen--prototype .target-splits-time,.goal-screen--template .target-splits-time{color:var(--text-primary);font-weight:600}.goal-screen--prototype .target-splits-placeholder,.goal-screen--template .target-splits-placeholder{font-size:var(--text-sm);color:var(--text-secondary)}.goal-screen--prototype .target-splits-note,.goal-screen--template .target-splits-note{margin-top:var(--space-2)}.goal-screen--template .goal-template-card{--y-template-gap:var(--space-3);--goal-field-stack-gap:calc(var(--space-3) * 0.4)}.performance-screen{display:grid;grid-gap:var(--page-card-gap);gap:var(--page-card-gap)}.goal-screen--template .goal-template-card .y-card__content{display:grid;grid-gap:var(--goal-field-stack-gap);gap:var(--goal-field-stack-gap)}.goal-screen--template .y-card-template__formSection{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-surface-interactive-strong);border-radius:12px;background:var(--color-surface-subtle)}.y-card__toast{margin:0;font-size:var(--text-xs);color:var(--text-secondary)}.field-error{font-size:var(--text-xs);color:var(--danger);min-height:0;margin-top:var(--space-1)}.input-invalid{border-color:var(--danger)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + var(--space-4));transform:translateX(-50%);background:var(--surface-elevated);color:var(--text);padding:var(--space-2) var(--space-4);border-radius:999px;font-size:var(--text-xs);box-shadow:0 12px 28px var(--shadow-popover-color);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.toast.is-visible{opacity:1}.toast.is-error{color:var(--danger)}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:1000}.modal[aria-hidden=false]{display:flex}.modal-backdrop{position:absolute;inset:0;background:var(--color-overlay)}.modal-dialog{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;width:min(92vw,420px);z-index:1;display:grid;grid-gap:12px;gap:12px;text-align:center}.modal-dialog h3,.modal-dialog p{margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.performance-screen form{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.performance-screen .form-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.performance-screen .form-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.performance-screen .form-field input,.performance-screen .form-field select{min-height:2.75rem;border-radius:var(--radius-md);border:1px solid var(--separator);padding:0 var(--space-3);background:var(--surface);color:var(--text);width:100%}.running-index-category{text-transform:none;letter-spacing:0}.fitness-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.fitness-performance-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.fitness-performance-grid .form-field{min-width:0}.fitness-performance-grid input[type=date],.fitness-performance-grid select{width:100%;min-width:0;max-width:100%;display:block;box-sizing:border-box}.fitness-performance-grid .race-date-input-wrapper{display:flex}.fitness-performance-grid .race-date-input-wrapper input[type=date]{flex:1 0;min-width:0}.fitness-performance-grid .race-date-input-wrapper input[type=date]::-webkit-datetime-edit{min-width:0}.fitness-date-field{inline-size:100%;max-inline-size:100%;min-inline-size:0;contain:inline-size;overflow:hidden}.fitness-time-group{display:flex;align-items:center;gap:var(--space-2)}.fitness-time-input{width:3.25rem;text-align:center;padding:0}.fitness-time-separator{font-weight:600;color:var(--text-secondary)}@media (min-width:40rem){.fitness-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}}.training-paces-table-wrap{width:100%;overflow-x:auto}.training-paces-table{width:100%;border-collapse:collapse;min-width:16rem}.training-paces-table td,.training-paces-table th{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--separator);text-align:left;font-size:var(--text-sm)}.training-paces-table tbody tr:last-child td,.training-paces-table tbody tr:last-child th{border-bottom:0}.training-paces-table__label{display:block;font-weight:600;color:var(--text-primary)}.training-paces-table__description{display:block;margin-top:.15rem;color:var(--text-secondary);font-size:var(--text-xs);font-weight:400;line-height:1.35}.performance-screen .fitness-date-field input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);opacity:1}.performance-screen .field-error:empty{display:none}.contact-screen .form-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.contact-screen .form-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.contact-screen .form-field input,.contact-screen .form-field textarea{min-height:2.75rem;border-radius:var(--radius-md);border:1px solid var(--separator);padding:0 var(--space-3);background:var(--surface);color:var(--text);width:100%}.contact-screen .form-field textarea{min-height:auto;padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.settings-screen--prototype .form-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.settings-screen--prototype{padding-bottom:calc(var(--tab-bar-clearance) + var(--space-6))}.admin-page,.settings-screen--prototype{display:grid;grid-gap:var(--page-card-gap);gap:var(--page-card-gap)}.admin-page{padding-bottom:var(--space-8)}.admin-summary-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.admin-metric-card .y-card__content p{margin:0}.admin-search-card,.admin-table-card{overflow:hidden}.admin-page .form-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.admin-page .form-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.admin-page .form-field input,.admin-page .form-field select{min-height:2.75rem;border-radius:var(--radius-md);border:1px solid var(--separator);padding:0 var(--space-3);background:var(--surface);color:var(--text);width:100%}.admin-table-content{gap:var(--space-4)}.admin-table-wrap{overflow-x:auto;border:1px solid var(--separator);border-radius:var(--radius-md)}.admin-table{width:100%;min-width:74rem;border-collapse:collapse;background:var(--surface)}.admin-table td,.admin-table th{padding:.9rem .85rem;border-bottom:1px solid var(--separator);text-align:left;vertical-align:top;font-size:var(--text-sm)}.admin-table th{background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.admin-table tbody tr:last-child td{border-bottom:0}.admin-row-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--separator);background:transparent;color:var(--text);min-height:2rem;padding:0 var(--space-3);border-radius:999px;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap}.admin-table__detailsRow td{background:var(--color-surface-soft)}.admin-user-details{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.admin-user-details__section{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.admin-user-details__section h3{margin:0;font-size:var(--text-md)}.admin-user-details__grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.admin-user-details__grid div{display:grid;grid-gap:.2rem;gap:.2rem;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--separator);background:var(--color-surface-soft)}.admin-user-details__grid span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.admin-user-details__grid strong{font-size:var(--text-sm);color:var(--text);word-break:break-word}.admin-empty-state{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-6);border:1px dashed var(--separator);border-radius:var(--radius-md);text-align:center}.admin-empty-state p,.admin-empty-state strong{margin:0}.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.admin-pagination__status{color:var(--text-secondary);font-size:var(--text-sm)}.admin-pagination__status strong{color:var(--text)}.admin-pagination__jump{display:inline-flex;align-items:center;gap:var(--space-2)}.admin-pagination__jump label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.admin-pagination__jump input{width:4.5rem;min-height:2.5rem;border-radius:var(--radius-md);border:1px solid var(--separator);background:var(--surface);color:var(--text);padding:0 var(--space-3)}@media (max-width:48rem){.admin-summary-grid{grid-template-columns:1fr}.admin-pagination{align-items:stretch}.admin-pagination__jump{justify-content:flex-start}}.settings-screen--prototype .form-field label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.settings-screen--prototype .form-field input,.settings-screen--prototype .form-field select{min-height:2.75rem;border-radius:var(--radius-md);border:1px solid var(--separator);padding:0 var(--space-3);background:var(--surface);color:var(--text);width:100%}.integration{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--separator)}.integration:last-child{border-bottom:none}.integration-name{font-weight:600}.integration-status{font-size:var(--text-xs);color:var(--text-secondary)}.integration-status.connected{color:var(--success)}.integration-status.disconnected{color:var(--text-secondary)}.connect-btn{position:relative;width:10.5rem;height:2.75rem;min-width:10.5rem;min-height:2.75rem;max-width:10.5rem;max-height:2.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background-size:contain;background-position:50%;background-repeat:no-repeat;color:transparent;font-size:0;line-height:0;text-indent:-9999px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0}.connect-btn.connect-btn--image{background:transparent;box-shadow:none;border:0}.connect-btn img{width:100%;height:100%;display:block;object-fit:contain}.danger-outline{min-height:2.75rem;padding:0 var(--space-5);border-radius:999px;font-weight:600;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--danger);color:var(--danger);background:transparent}.danger-outline:disabled{opacity:.5;cursor:not-allowed}.connect-btn.danger-outline{color:var(--danger);font-size:var(--text-sm);line-height:normal;font-weight:600;text-indent:0;padding:0 var(--space-5)}.training-prefs-content{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.preferences-screen{padding-bottom:calc(var(--tab-bar-clearance) + var(--space-6))}.preferences-screen .form-field{display:grid;grid-gap:6px;gap:6px}.preferences-screen .form-field label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.preferences-screen .form-field input,.preferences-screen .form-field select{width:100%;border:1px solid var(--color-border-medium);border-radius:14px;background:var(--color-surface-panel);color:var(--text);padding:12px 14px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.training-prefs-group{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.training-prefs-label{font-size:var(--text-sm);font-weight:600}.training-prefs-helper{color:var(--text-secondary)}.training-prefs-warning{color:var(--color-warning-text-strong)}.training-prefs-advanced,.training-prefs-fixed-commitments{padding-top:var(--space-2);border-top:1px solid var(--separator)}.training-prefs-fixed-commitments{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.training-prefs-fixed-commitments__header{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.training-prefs-fixed-commitments__body{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.training-prefs-fixed-commitments__form{margin-top:0;min-width:0}.training-prefs-fixed-commitments__timeRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.training-prefs-fixed-commitments .form-field{min-width:0}.training-prefs-fixed-commitments input:not([type=checkbox]),.training-prefs-fixed-commitments select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.training-prefs-fixed-commitments input[type=time]::-webkit-date-and-time-value,.training-prefs-fixed-commitments input[type=time]::-webkit-datetime-edit{min-width:0}.training-prefs-fixed-commitments input[type=time]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);opacity:1}.training-prefs-fixed-commitments__status{min-height:1rem}.training-prefs-toggle{font-weight:600}.toggle-row{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text)}input[type=checkbox],input[type=radio]{min-height:auto;height:1rem;width:1rem;padding:0;border:1px solid var(--separator);background:var(--surface);accent-color:var(--primary)}input[type=checkbox]{border-radius:.25rem}.training-days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.training-day-chip{min-height:44px;border:1px solid var(--separator);border-radius:999px;background:var(--surface);color:var(--text);font-size:var(--text-sm);font-weight:600}.training-day-chip.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.weekly-checkin-commitments{display:grid;grid-gap:var(--space-3);gap:var(--space-3);min-width:0}.weekly-checkin-commitment{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.training-prefs-fixed-commitments__row{cursor:pointer}.commitment-actions{display:flex;justify-content:flex-start;gap:var(--space-2);flex-wrap:wrap}.weekly-checkin-subtle{font-size:.85rem;color:var(--color-text-subtle-2)}.weekly-checkin-commitment-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--color-text-subtle-4)}@media (max-width:40rem){.training-days-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.training-prefs-fixed-commitments__timeRow{grid-template-columns:minmax(0,1fr)}}.daily-checkin-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.daily-checkin-intro{gap:var(--space-3);margin-bottom:var(--space-2)}.y-card--daily-checkin .y-card__content{gap:var(--space-4)}.y-v2-checkin-controls{gap:var(--space-6)}.y-v2-choice-group{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.y-v2-choice-title{font-size:.875rem;font-weight:700;line-height:1.3;color:var(--text)}.y-v2-choice-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.y-v2-chip{min-height:44px;padding:0 var(--space-3);border-radius:999px;border:1px solid var(--color-border-soft);background:var(--color-surface-panel-strong);color:var(--text);font-size:var(--text-xs);font-weight:600;line-height:1}.y-v2-chip.is-selected{border-color:var(--color-primary-border-strong);background:var(--color-primary-soft-strong)}.y-v2-chip:disabled{opacity:.55}.y-v2-chip--compact{min-width:34px;min-height:34px;padding:0 10px}.y-v2-pain-level-group{padding:10px;border:1px solid var(--color-border-soft);border-radius:12px;background:var(--color-surface-subtle)}.y-v2-pain-levelSubtitle{font-size:.72rem;color:var(--color-text-muted)}.y-v2-pain-levelRow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:6px;gap:6px}@media (min-width:720px){.content{padding:var(--space-6) var(--space-5) calc(var(--space-8) + var(--safe-bottom))}.page-intro{flex-direction:row;align-items:flex-end;justify-content:space-between}.rebuild-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.admin-diagnostics-grid,.rebuild-grid-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.y-v2-next-race-layout{grid-template-columns:minmax(0,1fr) 132px}.y-v2-checkin-controls .y-v2-choice-row{gap:var(--space-2)}.y-v2-checkin-controls .y-v2-chip{min-height:38px;padding:0 var(--space-2);font-size:.72rem}.rebuild-admin-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.performance-pace-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.coach-settings-page{width:100%;max-width:none}.coach-settings-frame{width:100%;min-height:calc(100vh - 7rem);height:calc(100vh - 7rem);border:0;border-radius:1rem;background:transparent}.coach-settings-frame-page{width:100%;max-width:none;padding:12px;box-sizing:border-box}.coach-settings-frame-page.csv2-shell{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.coach-settings-top-toolbar{margin-top:.15rem}.coach-settings-program-field{min-width:180px}.coach-settings-program-group-field{min-width:220px}.coach-settings-program-version-toolbar{margin-top:.5rem}.coach-settings-zero-margin{margin:0}.coach-settings-top-spacing{margin-top:.75rem}.coach-settings-table-scroll{overflow:auto;margin-top:.5rem}.coach-settings-table{width:100%;border-collapse:collapse}.coach-settings-ai-highlight{border:1px solid var(--color-info-highlight-border);background:var(--color-info-highlight-bg)}.coach-settings-pre{white-space:pre-wrap;margin-top:.35rem}.csv2-toolbar{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.csv2-toolbar .grow{flex:1 1 auto}.csv2-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border:1px solid var(--border-color);border-radius:999px;font-size:.85rem;color:var(--text-secondary)}.csv2-status-dot{width:.45rem;height:.45rem;border-radius:999px;background:var(--text-secondary)}.csv2-status-badge[data-state=unsaved] .csv2-status-dot{background:var(--warning-color,var(--color-warning-amber))}.csv2-status-badge[data-state=saved] .csv2-status-dot{background:var(--success-color,var(--color-success))}.csv2-status-badge[data-state=saving] .csv2-status-dot{background:var(--accent-color,var(--color-info))}.csv2-status-badge[data-state=error] .csv2-status-dot{background:var(--system-red,var(--color-danger))}.csv2-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:.25rem;border:1px solid var(--border-color);border-radius:.95rem;background:var(--color-surface-softer)}.csv2-tab{border:1px solid var(--border-color);background:var(--color-surface-softest);color:var(--text-secondary);padding:.65rem 1rem;border-radius:.75rem;cursor:pointer;font-weight:600;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.csv2-tab:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-color) 25%,var(--border-color) 75%);background:var(--color-surface-subtle-strong)}.csv2-tab[aria-selected=true]{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 55%,var(--border-color) 45%);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface-softest));box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--color-primary) 80%,transparent)}.csv2-tabpanel[hidden]{display:none}.csv2-phase-preview-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.csv2-phase-preview-btn{border:1px solid var(--border-color);background:var(--color-surface-softer);color:var(--text-secondary);border-radius:.6rem;padding:.35rem .65rem;cursor:pointer;font-weight:600;font-size:.82rem}.csv2-phase-preview-btn[aria-selected=true]{color:var(--text-primary);border-color:color-mix(in srgb,var(--csv2-phase-preview-color,var(--accent-color)) 55%,var(--border-color) 45%);background:color-mix(in srgb,var(--csv2-phase-preview-color,var(--accent-color)) 10%,var(--color-surface-softer));box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--csv2-phase-preview-color,var(--accent-color)) 75%,transparent)}.csv2-phase-preview-card{margin-top:.75rem;border:1px solid var(--color-border-subtle);border-radius:1rem;background:var(--color-surface-elevated-2);padding:.9rem;box-shadow:inset 0 0 0 1px var(--color-surface-soft)}.csv2-phase-preview-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.csv2-phase-preview-title{font-size:.95rem;font-weight:700;color:var(--color-text-high-2)}.csv2-phase-preview-badge{border:1px solid color-mix(in srgb,var(--csv2-phase-preview-color,var(--accent-color)) 50%,var(--color-border-soft) 50%);color:var(--csv2-phase-preview-color,var(--accent-color));background:color-mix(in srgb,var(--csv2-phase-preview-color,var(--accent-color)) 10%,transparent);border-radius:999px;padding:.2rem .45rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.csv2-phase-preview-subtitle{margin-top:.15rem;color:var(--text-secondary);font-size:.8rem}.csv2-phase-preview-section{margin-top:.75rem;border-top:1px solid var(--color-border-subtle-2);padding-top:.65rem}.csv2-phase-preview-label{color:var(--color-text-high);font-weight:700;font-size:.78rem}.csv2-phase-preview-text{margin-top:.25rem;color:var(--color-text-stronger-soft-2);line-height:1.35;font-size:.84rem}.csv2-grid{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.csv2-grid.cols-2{grid-template-columns:1.1fr 1fr}.csv2-card{border:1px solid var(--border-color);border-radius:1rem;background:var(--card-bg);padding:var(--space-3)}.csv2-top-card{padding:.9rem 1rem}.csv2-top-card .section-header{margin-bottom:.15rem}.csv2-top-card h3{margin:0;font-size:1.05rem}.csv2-card h4{margin:0 0 .35rem;font-size:1rem}.csv2-card .subtle{margin-top:0}.csv2-meta-list{display:grid;grid-template-columns:11rem 1fr;grid-gap:.4rem .75rem;gap:.4rem .75rem;font-size:.9rem}.csv2-meta-list .k{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.csv2-program-timeline{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.csv2-period-block{border:1px solid var(--border-color);border-radius:.9rem;padding:.75rem;background:var(--color-surface-softest)}.csv2-period-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.csv2-period-header .period-title{font-weight:700;text-transform:capitalize}.csv2-mini-btn{border:1px solid var(--border-color);background:var(--color-surface-soft);color:var(--text-primary);border-radius:.55rem;padding:.2rem .5rem;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.csv2-mini-btn:hover:not(:disabled){background:var(--color-border-subtle-2);border-color:color-mix(in srgb,var(--accent-color) 35%,var(--border-color) 65%)}.csv2-mini-btn:disabled{color:var(--text-secondary);background:transparent;cursor:not-allowed;opacity:.6}.csv2-week-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));grid-gap:.5rem;gap:.5rem}.csv2-week{border:1px solid var(--border-color);border-radius:.75rem;padding:.45rem;display:grid;grid-gap:.35rem;gap:.35rem;cursor:pointer;background:var(--color-surface-softest)}.csv2-week.selected{border-color:color-mix(in srgb,var(--accent-color) 60%,var(--border-color) 40%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color) 35%,transparent)}.csv2-week-label{font-size:.8rem;font-weight:700}.csv2-bar-box{height:84px;border-radius:.55rem;background:var(--csv2-phase-box-bg,var(--color-surface-subtle));border:1px solid var(--csv2-phase-box-border,var(--color-border-muted));display:flex;align-items:flex-end;padding:.2rem}.csv2-bar{width:100%;border-radius:.35rem;min-height:6px;background:var(--csv2-phase-bar-fill,color-mix(in srgb,var(--accent-color) 55%,var(--color-chart-lime) 45%));box-shadow:inset 0 0 0 1px var(--csv2-phase-bar-edge,var(--color-surface-interactive-strong))}.csv2-week-km{font-size:.75rem;color:var(--text-secondary)}.csv2-week-badge{font-size:.68rem;line-height:1.1;padding:.18rem .28rem;border-radius:.35rem;border:1px solid color-mix(in srgb,var(--accent-color) 50%,var(--border-color) 50%);background:color-mix(in srgb,var(--accent-color) 12%,transparent);color:var(--accent-color);justify-self:start}.csv2-inline-editor{margin-top:var(--space-3);border-top:1px dashed var(--border-color);padding-top:var(--space-3)}.csv2-inline-editor[hidden]{display:none}.csv2-week-editor-backdrop{position:fixed;inset:0;background:var(--color-surface-overlay-deep);z-index:70}.csv2-week-editor-backdrop[hidden]{display:none}.csv2-week-editor-modal{position:fixed;inset:4vh 4vw;z-index:80;margin:0;padding:1rem;border:1px solid var(--border-color);border-radius:1rem;background:var(--color-surface-elevated-2);box-shadow:0 20px 60px var(--shadow-modal-color);overflow:auto}.csv2-week-editor-modal[hidden]{display:none}.csv2-week-editor-header{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between;margin-bottom:.6rem}.csv2-week-editor-header h4{margin:0 0 .35rem}.csv2-week-editor-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.csv2-primary-btn{border:1px solid color-mix(in srgb,var(--accent-color) 55%,var(--color-black) 45%);background:color-mix(in srgb,var(--accent-color) 22%,transparent);color:var(--text-primary);border-radius:.65rem;padding:.45rem .7rem;cursor:pointer}.csv2-primary-btn:hover{background:color-mix(in srgb,var(--accent-color) 32%,transparent)}.csv2-inline-editor-grid{display:grid;grid-template-columns:minmax(180px,220px) minmax(180px,220px) 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:end}.csv2-field{display:grid;grid-gap:.35rem;gap:.35rem}.coach-settings-frame-page .csv2-field label,.coach-settings-page .csv2-field label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.coach-settings-frame-page .csv2-field input,.coach-settings-frame-page .csv2-field select,.coach-settings-frame-page .csv2-field textarea,.coach-settings-page .csv2-field input,.coach-settings-page .csv2-field select,.coach-settings-page .csv2-field textarea{min-height:2.75rem;border-radius:14px;border:1px solid var(--color-border-medium);padding:0 var(--space-3);background:var(--color-surface-panel);color:var(--text);width:100%;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.coach-settings-frame-page .csv2-field textarea,.coach-settings-page .csv2-field textarea{min-height:auto;padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.csv2-field label{font-size:.8rem;color:var(--text-secondary)}.csv2-field input,.csv2-field select,.csv2-field textarea{width:100%}.csv2-placeholder{border:1px dashed var(--border-color);border-radius:.8rem;padding:.9rem;color:var(--text-secondary);background:var(--color-surface-softest)}.csv2-type-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.csv2-type-tab{border:1px solid var(--border-color);border-radius:.6rem;padding:.35rem .6rem;cursor:pointer;background:transparent;color:var(--text-secondary);font-size:.85rem}.csv2-type-tab[aria-selected=true]{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-color) 55%,var(--border-color) 45%)}.csv2-list{display:grid;grid-gap:.6rem;gap:.6rem}.csv2-item{border:1px solid var(--border-color);border-radius:.75rem;padding:.75rem}.csv2-item-title{font-weight:600;margin-bottom:.35rem}.csv2-code{font-family:var(--font-mono);font-size:.78rem;background:var(--color-surface-soft);border:1px solid var(--color-border-muted);padding:.45rem;border-radius:.5rem;white-space:pre-wrap}.csv2-validation-list{display:grid;grid-gap:.4rem;gap:.4rem}.csv2-validation-item{border:1px solid var(--border-color);border-radius:.65rem;padding:.5rem .65rem}.csv2-validation-item.error{border-color:color-mix(in srgb,var(--system-red) 50%,var(--border-color) 50%)}.csv2-validation-item.warning{border-color:color-mix(in srgb,var(--warning-color,var(--color-warning-amber)) 50%,var(--border-color) 50%)}.csv2-diff-group{border:1px solid var(--border-color);border-radius:.75rem;padding:.75rem}.csv2-diff-group h5{margin:0 0 .4rem;font-size:.9rem}.csv2-diff-group ul{margin:0;padding-left:1rem}.csv2-debug-json textarea{min-height:220px;font-family:var(--font-mono);font-size:.8rem}.csv2-excel-controls{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .35rem;border:1px solid var(--border-color);border-radius:.65rem;background:var(--color-surface-softest)}.csv2-excel-status{margin-top:.6rem;font-size:.83rem;color:var(--text-secondary)}.csv2-excel-status.error{color:var(--system-red,var(--color-danger))}.csv2-confirm-backdrop{position:fixed;inset:0;z-index:90;background:var(--color-overlay-strong)}.csv2-confirm-backdrop[hidden]{display:none}.csv2-confirm-modal{position:fixed;z-index:95;top:18vh;left:50%;transform:translateX(-50%);width:min(560px,92vw);border:1px solid var(--border-color);border-radius:1rem;background:var(--color-surface-elevated-2);box-shadow:0 22px 60px var(--shadow-modal-color);padding:1rem}.csv2-confirm-modal[hidden]{display:none}.csv2-confirm-modal h4{margin:0 0 .5rem}.csv2-confirm-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.5rem}.csv2-danger-btn{border:1px solid color-mix(in srgb,var(--system-red,var(--color-danger)) 55%,var(--color-black) 45%);background:color-mix(in srgb,var(--system-red,var(--color-danger)) 16%,transparent);color:var(--text-primary);border-radius:.65rem;padding:.45rem .75rem;cursor:pointer}.csv2-danger-btn:hover{background:color-mix(in srgb,var(--system-red,var(--color-danger)) 26%,transparent)}