.notification-bell{display:inline-flex;position:relative}.notification-bell__button{min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-2);border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease), background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-bell__button:hover{background:var(--bg-overlay);border-color:var(--border-strong);color:var(--text-primary)}.notification-bell__button--unread{color:var(--accent)}.notification-bell__refresh{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--type-body-sm-size);cursor:pointer;align-self:flex-start}.notification-bell__refresh:hover{background:var(--bg-overlay);border-color:var(--border-strong)}.notification-bell__badge{background:var(--color-accent-lime);color:var(--color-background);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;display:flex;position:absolute;top:-4px;right:-4px}.notification-bell__panel{top:calc(100% + var(--space-2));background:var(--color-card-dark);border-radius:var(--radius-card);width:min(360px,90vw);max-height:70vh;padding:var(--space-3);z-index:20;gap:var(--space-2);flex-direction:column;display:flex;position:absolute;left:0;overflow-y:auto}.notification-item{border-bottom:1px solid var(--color-background);padding-bottom:var(--space-2);gap:var(--space-1);flex-direction:column;display:flex}.notification-item--unread{border-left:3px solid var(--color-accent-lime);padding-left:var(--space-2)}.notification-item__type{font-weight:var(--font-weight-medium)}.notification-item__source{color:var(--color-text-secondary);font-size:var(--font-size-small,.85rem)}.notification-item__actions{gap:var(--space-2);display:flex}.pwa-update-banner{background:var(--color-card-dark);border:1px solid var(--border-default);border-left:3px solid var(--color-accent-lime);border-radius:var(--radius-card);padding:var(--space-4) var(--space-5);margin:var(--space-2) var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.pwa-update-banner--info{border-left-color:var(--color-text-secondary);flex-direction:row;justify-content:space-between;align-items:center}.pwa-update-banner__detail{color:var(--color-text-secondary);font-size:var(--font-size-small,.85rem);margin:0}.pwa-update-banner__actions{gap:var(--space-2);display:flex}.auth-screen{max-width:400px;padding:var(--space-5) var(--space-4);margin:0 auto}.auth-form{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.auth-form input{min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--color-card-dark);color:var(--color-text-primary);font-size:var(--font-size-base);margin-bottom:var(--space-3)}.auth-error{color:var(--color-status-error)}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-signout-bar{padding:var(--space-2) var(--space-4);justify-content:flex-end;display:flex}.auth-signout-button{min-height:44px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);border:1px solid var(--border-control);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;background:0 0}.auth-signout-button:disabled{opacity:.5;cursor:not-allowed}.dashboard-body{max-width:720px}.dashboard-header{margin-bottom:var(--space-4)}.dashboard-section{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-4)}.dashboard-metrics{margin:0;padding:0;list-style:none}.dashboard-metric{justify-content:space-between;align-items:baseline;gap:var(--space-3);border-bottom:1px solid var(--color-card-light);min-height:44px;display:flex}.dashboard-metric:last-child{border-bottom:none}.dashboard-metric__label{flex:1}.dashboard-metric__value{font-weight:var(--font-weight-bold)}.dashboard-metric__source{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.dashboard-safety-pending{color:var(--color-text-secondary)}.dashboard-safety-clear{color:var(--color-status-success)}.dashboard-safety-tier1{color:var(--color-status-error);font-weight:var(--font-weight-bold)}.dashboard-safety-tier2{color:var(--color-status-warning);font-weight:var(--font-weight-medium)}.dashboard-sync-status{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.dashboard-offline-notice{background:var(--color-card-dark);color:var(--color-status-offline);border:1px solid var(--color-status-offline);border-radius:var(--radius-card);padding:var(--space-3);margin:var(--space-4)}.dashboard-stale-notice{background:var(--color-card-dark);color:var(--color-status-warning);border:1px solid var(--color-status-warning);border-radius:var(--radius-card);padding:var(--space-3);margin:var(--space-4) var(--space-4) 0}.dashboard-stale-timestamp{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 var(--space-4) var(--space-4)}.quick-rpe{background:var(--color-card-dark);border:1px solid var(--border-default);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.quick-rpe__heading{font-size:var(--font-size-md)}.quick-rpe__session{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.quick-rpe__fine{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.quick-rpe__question{font-weight:var(--font-weight-bold);margin:0}.quick-rpe__scale{gap:var(--space-1);grid-template-columns:repeat(10,minmax(0,1fr));display:grid}.quick-rpe__value{border-radius:var(--radius-control);border:1px solid var(--border-control);min-height:44px;color:inherit;font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;background:0 0}.quick-rpe__value:hover:not(:disabled),.quick-rpe__value:focus-visible{border-color:var(--color-accent,currentColor)}.quick-rpe__ends{justify-content:space-between;margin:0;display:flex}.quick-rpe__note{gap:var(--space-2);flex-direction:column;display:flex}.quick-rpe__note label{gap:var(--space-1);flex-direction:column;display:flex}.quick-rpe__note textarea{font:inherit;padding:var(--space-2);border-radius:var(--radius-card)}.quick-rpe__actions{gap:var(--space-2);display:flex}.quick-rpe__note textarea{border:1px solid var(--border-control);border-radius:var(--radius-control);background-color:var(--bg-inset);color:inherit}.dashboard-home__hero{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);display:grid}@media (width<=900px){.dashboard-home__hero{grid-template-columns:minmax(0,1fr)}}.dashboard-readiness__figure{align-items:center;gap:var(--space-6);display:flex}.dashboard-readiness__score{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);letter-spacing:-.04em;color:var(--accent);line-height:1}.dashboard-readiness__score[data-category=low]{color:var(--status-critical)}.dashboard-readiness__score[data-category=moderate]{color:var(--status-warning)}.dashboard-readiness__meta{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dashboard-readiness__category{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-tight);color:var(--text-primary)}.dashboard-readiness__inputs{gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard-readiness__placeholder{gap:var(--space-3);flex-direction:column;display:flex}.dashboard-today__headline{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-today__discipline{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.dashboard-recovery{flex-direction:column;display:flex}.dashboard-recovery__row{align-items:center;gap:0 var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value""delta value";display:grid}.dashboard-recovery__row:last-child{border-bottom:0;padding-bottom:0}.dashboard-recovery__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);grid-area:label}.dashboard-recovery__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;color:var(--text-primary);text-align:right;white-space:nowrap;grid-area:value}.dashboard-recovery__value--missing{font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-muted)}.dashboard-recovery__delta{font-size:var(--font-size-xs);color:var(--text-muted);grid-area:delta}.dashboard-spark-figure{flex-direction:column;gap:6px;margin:0;display:flex}.dashboard-spark__caption{font-size:var(--font-size-xs);color:var(--text-secondary)}.dashboard-spark{height:64px;padding-top:var(--space-2);border-bottom:1px solid var(--border-default);isolation:isolate;align-items:flex-end;gap:5px;display:flex}.dashboard-spark__axis{font-size:var(--font-size-xs);color:var(--text-secondary);gap:5px;display:flex}.dashboard-spark__axis>span{text-align:center;white-space:nowrap;flex:1 1 0;min-width:6px;overflow:hidden}.dashboard-spark__bar{background:var(--accent-dim);border-radius:3px 3px 0 0;flex:1 1 0;min-width:6px;position:relative}.dashboard-spark__bar:before{content:"";inset-inline:0;background:var(--bg-inset);z-index:-1;border-radius:3px;height:64px;position:absolute;bottom:0}.dashboard-spark__bar--empty{background:var(--border-default)}.dashboard-recommendation__text{font-size:var(--font-size-base);color:var(--text-primary);margin:0}.dashboard-recent__discipline{font-weight:var(--font-weight-medium);color:var(--text-primary)}.dashboard-garmin__health{margin:0}.dashboard-home .dashboard-body{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-home .dashboard-header h1{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.dashboard-home .dashboard-header p{font-size:var(--font-size-xs);color:var(--text-muted);margin:2px 0 0}.dashboard-home .dashboard-section h2{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.dashboard-home .dashboard-section p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.dashboard-home .dashboard-metrics{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-home .dashboard-metric{align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.dashboard-home .dashboard-metric:last-child{border-bottom:0}.dashboard-home .dashboard-metric__value{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.dashboard-home .dashboard-metric__source,.dashboard-home .dashboard-sync-status{font-size:var(--font-size-xs);color:var(--text-muted)}@media (width<=560px){.dashboard-readiness__figure{align-items:flex-start;gap:var(--space-3);flex-direction:column}.dashboard-readiness__score{font-size:var(--font-size-2xl)}}.dashboard-alerts{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);gap:var(--space-2);flex-direction:column;display:flex}.dashboard-alerts__heading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0}.dashboard-alerts__definition,.dashboard-alerts__not-applied,.dashboard-alerts__all-normal,.dashboard-alerts__note{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.dashboard-alerts__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dashboard-alerts__row{align-items:baseline;gap:var(--space-2);padding-left:var(--space-3);border-left:3px solid var(--border-default);flex-wrap:wrap;display:flex}.dashboard-alerts__row--alert{border-left-color:var(--status-warning)}.dashboard-alerts__row--normal{border-left-color:var(--status-success)}.dashboard-alerts__row--insufficient_data{border-left-color:var(--status-neutral);border-left-style:dashed}.dashboard-alerts__metric{font-weight:var(--font-weight-bold)}.dashboard-alerts__status{font-size:var(--font-size-sm);color:var(--text-secondary)}.dashboard-alerts__row--alert .dashboard-alerts__status{color:var(--status-warning)}.dashboard-alerts__values{font-size:var(--font-size-sm);color:var(--text-secondary);margin-left:auto}.dashboard-load__source{margin:0 0 var(--space-3)}.dashboard-load__source-label{color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.dashboard-load__source .ui-stat__meta{margin-top:var(--space-2);display:block}.athlete-state__confidence,.athlete-state__coverage,.athlete-state__scale{margin:var(--space-3) 0 0}.athlete-state__heading{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.athlete-state__signals{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.athlete-state__signal{padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);grid-template-columns:1fr;gap:2px;display:grid}.athlete-state__signal-name{font-weight:600}.athlete-state__freshness{font-size:var(--font-size-sm);color:var(--text-secondary)}.athlete-state__freshness:before{content:"";width:8px;height:8px;margin-right:var(--space-2);border-radius:var(--radius-pill);background:var(--status-neutral);vertical-align:baseline;display:inline-block}.athlete-state__freshness--current:before{background:var(--status-success)}.athlete-state__freshness--stale:before{background:var(--status-warning)}.athlete-state__freshness--outdated:before{background:var(--status-critical)}.athlete-state__deviation{font-size:var(--font-size-sm);color:var(--text-secondary)}.athlete-state__limitations{padding-left:var(--space-5);gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;display:grid}@media (width>=560px){.athlete-state__signal{align-items:baseline;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto}.athlete-state__deviation{text-align:right}}.dashboard-norms,.dashboard-response{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.dashboard-norms__list{margin:var(--space-2) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.dashboard-norms__row{grid-template-columns:1fr;gap:2px;display:grid}.dashboard-norms__figure{font-variant-numeric:tabular-nums}.dashboard-response__answer{margin:var(--space-2) 0;font-size:var(--font-size-lg)}@media (width>=560px){.dashboard-norms__row{align-items:baseline;column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto}.dashboard-norms__row .ui-stat__meta:last-child{text-align:right}}.dashboard-anchor-prompt{border-color:var(--accent-line)}.dashboard-anchor-prompt__unlocks{color:var(--text-secondary);margin:.75rem 0;padding-left:1.1rem;font-size:.875rem;line-height:1.6}.dashboard-anchor-prompt__unlocks li{margin-bottom:.25rem}.dashboard-anchor-prompt__watch{padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--accent-wash);border-radius:var(--radius-control);margin:0}.dash-hero{gap:var(--space-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.dash-hero__readiness{align-items:center;gap:var(--space-5);min-width:0;display:flex}.dash-hero__readiness-text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.dash-hero__ring-figure{font-family:var(--font-family-base);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:2.75rem;font-weight:600;line-height:1}.dash-hero__ring-figure--missing{color:var(--text-muted)}.dash-hero__verdict{font-size:var(--type-subtitle-size);font-weight:var(--type-subtitle-weight);letter-spacing:var(--type-subtitle-tracking);color:var(--text-primary);text-wrap:pretty;max-width:34ch;margin:0;line-height:1.45}.dash-hero__meta{margin:0}.dash-hero__cell{gap:var(--space-3);min-width:0;padding:var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-direction:column;display:flex}.dash-hero__action{margin-top:auto}.dash-drawer{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.dash-drawer+.dash-drawer{padding-top:0}.dash-drawer__summary{cursor:pointer;color:var(--accent);font-size:var(--type-body-sm-size);align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);font-weight:600;list-style:none;display:inline-flex}.dash-drawer__summary::-webkit-details-marker{display:none}.dash-drawer__summary:before{content:"▸";transition:transform var(--duration-fast) var(--ease)}.dash-drawer[open] .dash-drawer__summary:before{transform:rotate(90deg)}.dash-drawer__body{gap:var(--space-4);padding-top:var(--space-4);flex-direction:column;display:flex}@media (prefers-reduced-motion:reduce){.dash-drawer__summary:before{transition:none}}@media (width<=1100px){.dash-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dash-hero__readiness{grid-column:1/-1}}@media (width<=760px){.dash-hero{gap:var(--space-5);grid-template-columns:minmax(0,1fr)}.dash-hero__readiness{gap:var(--space-4)}.dash-hero__cell{padding:var(--space-4)}}.dashboard-home .ui-stat__label{color:var(--text-secondary);border-bottom:0;text-decoration:none}.dashboard-home .ui-stat__value{font-variant-numeric:tabular-nums}.dash-feed{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-feed__row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);min-width:0;display:flex}.dash-feed__row:last-child{border-bottom:0}.dash-feed__main{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-feed__discipline{color:var(--text-primary)}.dash-feed__name{color:var(--text-secondary);font-weight:400}.dash-feed__figures{gap:var(--space-5);flex:none;display:flex}.dash-feed__figure{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.dash-feed__num{font-size:var(--type-metric-sm-size);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:600;line-height:1.1}.dash-feed__num--load{color:var(--accent)}@media (width<=480px){.dash-feed__figures{gap:var(--space-4)}.dash-feed__num{font-size:var(--type-subtitle-size)}}@media (width<=760px){.dash-hero__readiness{display:block}.dash-hero__readiness:after{content:"";clear:both;display:block}.dash-hero__readiness>figure{float:left;margin-right:var(--space-4);margin-bottom:var(--space-2)}.dash-hero__verdict{max-width:none}}.dash-drawer--flush{border-top:0;padding-top:0}.dash-row{gap:var(--space-5);display:grid}.dash-row--full{grid-template-columns:minmax(0,1fr)}.dash-row--three{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}.dash-notes{gap:var(--space-2);flex-direction:column;display:flex}.dash-notes .ui-stat__meta{margin:0}.dash-datacard{gap:var(--space-3)}.dash-load__caveat{font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-secondary);margin:0}.dash-recommendation .dashboard-recommendation__text{max-width:78ch;font-size:var(--type-subtitle-size);line-height:1.5}.dash-datacard .pui-datastatus{border:0;padding:0}.dashboard-recommendation__provenance{font-size:var(--pui-font-size-sm,.8125rem);color:var(--pui-text-muted,#9aa3a0);flex-wrap:wrap;gap:.25rem .75rem;margin:.75rem 0 0;display:flex}.dashboard-recommendation__stale{color:var(--pui-text-muted,#9aa3a0);font-style:italic}.dashboard-recommendation__live{font-size:var(--pui-font-size-sm,.8125rem);color:var(--pui-text,#e8efe9);margin:.375rem 0 0}.dashboard-recommendation__live strong{color:var(--pui-accent,#c3f53c)}.dash-why{gap:var(--space-4) var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,2fr) minmax(0,1fr);display:grid}@media (width<=52rem){.dash-why{gap:var(--space-4);grid-template-columns:1fr}}.dash-why__block{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.dash-why__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dash-why__list li{color:var(--text-primary);border-left:2px solid var(--border-default);padding-left:var(--space-3);max-width:62ch;line-height:1.5}.dash-why__watch{color:var(--text-primary);border-left:2px solid var(--status-warning);padding-left:var(--space-3);margin:0;line-height:1.5}.dash-hero__actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.dash-hero__date{color:var(--text-secondary);text-transform:none;letter-spacing:0}.analysis-screen{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.analysis-screen__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.analysis-run-button{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);background:var(--color-accent-lime);color:var(--color-background);font-weight:var(--font-weight-medium);border:none}.analysis-run-button:disabled{opacity:.6}.analysis-panel{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.analysis-panel__score-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.analysis-panel__score{flex-direction:column;display:flex}.analysis-panel__score-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.analysis-panel__score-category,.analysis-panel__confidence-value{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.analysis-panel__confidence{flex-direction:column;align-items:flex-end;display:flex}.analysis-panel__safety{font-weight:var(--font-weight-medium)}.analysis-panel__insufficient-data{color:var(--color-status-warning)}.analysis-panel__inputs,.analysis-panel__dimensions,.analysis-panel__limitations{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.analysis-panel__input,.analysis-panel__dimension{gap:var(--space-1);flex-direction:column;display:flex}.analysis-panel__input-label,.analysis-panel__dimension-name{font-weight:var(--font-weight-medium)}.analysis-panel__input-values,.analysis-panel__dimension-score,.analysis-panel__dimension-rationale{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guidance-card__headline{font-size:var(--font-size-lg,1.125rem);margin:var(--space-2) 0;line-height:1.45}.guidance-card__action{white-space:nowrap}.guidance-card__subheading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:var(--space-3) 0 var(--space-2)}.guidance-card__basis,.guidance-card__limitations{padding-left:var(--space-4);flex-direction:column;gap:2px;margin:0;display:flex}.guidance-card__basis-item--missing{color:var(--text-muted)}.guidance-card--safety_block,.guidance-card--safety_advisory{border-left:3px solid var(--color-status-error)}.guidance-card--reduce,.guidance-card--pain_limited{border-left:3px solid var(--color-status-warning)}.guidance-card--proceed{border-left:3px solid var(--color-accent-lime)}.trends-grid{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.trends-window{gap:var(--space-3);padding:0 var(--space-4);border-left:1px solid var(--border-subtle);flex-direction:column;display:flex}.trends-window:first-child{border-left:0;padding-left:0}.trends-window__title{font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-weight:600}.trends-window__stats{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.trends-window__stats>div{flex-direction:column;gap:2px;display:flex}.trends-window__stats dt{font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.trends-window__stats dd{color:var(--text-primary);font-size:var(--type-metric-sm-size);font-variant-numeric:tabular-nums;margin:0;font-weight:600;line-height:1.1}.trends-window__stats dd .ui-stat__meta{margin-left:var(--space-2);font-size:var(--type-caption-size);color:var(--text-muted);font-weight:400;display:inline-block}.trends-disciplines{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.trends-window>.ui-stat__meta,.trends-disciplines .ui-stat__meta{font-size:var(--type-caption-size);color:var(--text-muted)}.trends-missing{color:var(--text-muted)}.trends-recovery{border-collapse:collapse;width:100%}.trends-recovery.ui-table th,.trends-recovery.ui-table td{padding:var(--space-2) var(--space-3);text-align:left;border:0}.trends-recovery.ui-table thead th{font-size:var(--type-label-size);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-default);font-weight:600}.trends-recovery.ui-table tbody tr+tr td{border-top:1px solid var(--border-subtle)}.trends-recovery.ui-table tbody th{color:var(--text-secondary);font-size:var(--type-body-sm-size);font-weight:400}.trends-recovery.ui-table td{color:var(--text-primary);font-size:var(--type-body-size);font-variant-numeric:tabular-nums;font-weight:500}.trends-recovery.ui-table .ui-table__num{text-align:right}.trends-recovery.ui-table td .ui-stat__meta{font-size:var(--type-caption-size);color:var(--text-muted);font-weight:400;display:block}.readiness-trend{gap:var(--space-4);flex-direction:column;display:flex}.readiness-trend__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.readiness-trend__ranges{border:1px solid var(--border-default);border-radius:var(--radius-control);flex:none;display:inline-flex;overflow:hidden}.readiness-trend__range{min-height:var(--touch-target-min);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--type-body-sm-size);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;background:0 0;border:0}.readiness-trend__range+.readiness-trend__range{border-left:1px solid var(--border-default)}.readiness-trend__range:hover{background:var(--bg-overlay);color:var(--text-primary)}.readiness-trend__range--active{background:var(--bg-elevated);color:var(--accent);font-weight:600}@media (width<=760px){.readiness-trend__head{flex-direction:column;align-items:stretch}.readiness-trend__ranges{align-self:flex-start}}.trends-recovery__scroll{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.analysis-screen,.analysis-screen>*,.trends-window,.trends-window>*{min-width:0}.trends-recovery{width:100%;min-width:420px}.analysis-screen__topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.analysis-screen__context{max-width:62ch;color:var(--text-secondary);font-size:var(--type-body-size);margin:0}.analysis-screen__notice{color:var(--text-muted);font-size:var(--type-body-sm-size);margin:0}.analysis-screen__section-title{font-size:var(--type-title-size);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:600}.analysis-summary__block{gap:var(--space-2);flex-direction:column;display:flex}.analysis-summary__row{gap:var(--space-3);grid-template-columns:7.5rem 1fr;align-items:start;display:grid}@media (width<=40rem){.analysis-summary__row{gap:var(--space-1);grid-template-columns:1fr}}.analysis-summary__role{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-top:.1875rem;font-size:.6875rem}.analysis-summary__role--action{color:var(--accent)}.analysis-summary__role--limitation{color:var(--status-warning)}.analysis-summary__text{color:var(--text-primary);max-width:68ch;margin:0;line-height:1.55}.analysis-summary__missing{gap:var(--space-2);flex-direction:column;display:flex}.analysis-summary__missing-list{padding-left:var(--space-5);color:var(--text-secondary);margin:0;line-height:1.5}.trends-recovery__unit{text-transform:none}.session-plan{gap:var(--space-2);flex-direction:column;display:flex}.session-plan__head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.session-plan__heading{font-size:var(--font-size-md)}.session-plan__fine{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.session-plan__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.session-plan__table th,.session-plan__table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--border-default)}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--bg-canvas);min-height:100dvh;display:grid}.shell__sidebar{align-self:start;gap:var(--space-5);height:100dvh;padding:var(--space-5) var(--space-4);background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.shell-brand{align-items:center;gap:var(--space-3);padding:0 var(--space-2);display:flex}.shell-brand__mark{border-radius:var(--radius-sm);background:var(--accent-wash);border:1px solid var(--accent-line);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.shell-brand__text{flex-direction:column;min-width:0;display:flex}.shell-brand__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;color:var(--text-primary)}.shell-brand__tagline{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.3}.shell-nav{gap:var(--space-5);flex-direction:column;flex:auto;display:flex}.shell-nav__group{flex-direction:column;gap:2px;display:flex}.shell-nav__group-label{margin:0 0 var(--space-2) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.shell-nav__item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);min-height:38px;color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:1px solid #0000;display:flex}.shell-nav__item:hover{background:var(--bg-elevated);color:var(--text-primary)}.shell-nav__item--active{background:var(--accent-wash);border-color:var(--accent-line);color:var(--text-primary);position:relative}.shell-nav__item--active:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:2px;position:absolute;top:6px;bottom:6px;left:-1px}.shell-nav__item--active svg{color:var(--accent)}.shell-nav__item__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shell__sidebar-footer{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-direction:column;display:flex}.shell-connection{align-items:center;gap:var(--space-2);padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted);margin:0;display:flex}.shell-connection__dot{border-radius:var(--radius-pill);background:var(--status-success);width:7px;height:7px}.shell-connection--offline .shell-connection__dot{background:var(--status-warning)}.shell__main{flex-direction:column;min-width:0;display:flex}.shell__topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--topbar-height);padding:var(--space-3) var(--space-7);background:color-mix(in srgb, var(--bg-canvas) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.shell__topbar-title{min-width:0}.shell__page-group{color:var(--text-muted);margin:0 0 1px}.shell__page-title{color:var(--text-primary);margin:0}.shell__page-description{color:var(--text-secondary);margin:2px 0 0}.shell__topbar-actions{align-items:center;gap:var(--space-3);flex:none;display:flex}.shell-pill{padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--border-default);color:var(--text-secondary);align-items:center;display:inline-flex}.shell-pill--warning{background:var(--status-warning-wash);color:var(--status-warning);border-color:#0000}.shell__banner{padding:var(--space-3) var(--space-7) 0}.shell__content{width:100%;max-width:var(--content-max);padding:var(--space-6) var(--space-7) var(--space-9);flex:auto;margin-inline:auto}.shell-bottomnav,.shell-sheet{display:none}@media (width<=1400px){.shell__content,.shell__banner,.shell__topbar{padding-left:var(--space-6);padding-right:var(--space-6)}}@media (width<=1023px){.shell{grid-template-columns:minmax(0,1fr)}.shell__sidebar{display:none}.shell__topbar,.shell__content,.shell__banner{padding-left:var(--space-4);padding-right:var(--space-4)}.shell__content{padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom) + var(--space-7))}.shell-bottomnav{z-index:40;height:calc(var(--bottomnav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--bg-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-subtle);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.shell-bottomnav:before{content:"";height:var(--space-6);background:linear-gradient(to top, var(--bg-canvas), transparent);pointer-events:none;position:absolute;bottom:100%;left:0;right:0}.shell-bottomnav__item--active:after{content:"";background:var(--accent);border-radius:0 0 2px 2px;width:24px;height:2px;position:absolute;top:0}.shell-bottomnav__item{min-height:var(--touch-target-min);padding:var(--space-1) 2px;color:var(--text-muted);font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.shell-bottomnav__item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.shell-bottomnav__item--active{color:var(--accent)}.shell-sheet{z-index:50;background:var(--bg-canvas);padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.shell-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-canvas);border-bottom:1px solid var(--border-subtle);display:flex;position:sticky;top:0}.shell-sheet__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.shell-sheet__close{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer}.shell-sheet__nav{gap:var(--space-6);padding:var(--space-5) var(--space-4);flex-direction:column;display:flex}.shell-sheet__group{gap:var(--space-2);flex-direction:column;display:flex}.shell-sheet__group-label{margin:0 0 var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.shell-sheet__item{align-items:center;gap:var(--space-4);width:100%;min-height:var(--touch-target-min);padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);text-align:left;cursor:pointer;font-family:inherit;display:flex}.shell-sheet__item--active{border-color:var(--accent-line);background:var(--accent-wash)}.shell-sheet__item--active svg{color:var(--accent)}.shell-sheet__item__text{flex-direction:column;gap:2px;min-width:0;display:flex}.shell-sheet__item__label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.shell-sheet__item__description{font-size:var(--font-size-xs);line-height:var(--line-snug);color:var(--text-muted)}.shell-sheet__footer{padding:0 var(--space-4) var(--space-7)}}@media (width<=520px){.shell__page-description{display:none}}.shell__content h1,.shell__content h2,.shell__content h3,.shell__content h4{line-height:var(--line-tight);letter-spacing:-.01em;color:var(--text-primary);margin:0}.shell__content p{line-height:var(--line-normal)}.ui-page{gap:var(--space-6);flex-direction:column;display:flex}.ui-section{gap:var(--space-4);flex-direction:column;display:flex}.ui-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.ui-section__title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.ui-section__hint{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.ui-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;display:grid}.ui-grid--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.ui-grid--narrow{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (width<=559px){.ui-grid--narrow{grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr))}}.ui-card{gap:var(--space-3);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);flex-direction:column;display:flex}.ui-card--elevated{background:var(--bg-elevated);border-color:var(--border-default);box-shadow:var(--shadow-md)}.ui-card--accent{border-color:var(--accent-line)}.ui-card--flush{padding:0;overflow:hidden}.ui-card__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.ui-card__body{gap:var(--space-3);flex-direction:column;display:flex}.ui-stat{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ui-stat__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted)}.ui-stat__value{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-tight);letter-spacing:-.02em;color:var(--text-primary)}.ui-stat__value--sm{font-size:var(--font-size-lg)}.ui-stat__value--missing{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--text-muted)}.ui-stat__unit{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-muted);margin-left:2px}.ui-stat__meta{font-size:var(--font-size-xs);color:var(--text-muted)}p.ui-stat__meta{font-size:var(--type-body-sm-size);line-height:1.5}.ui-trend--up{color:var(--status-success)}.ui-trend--down{color:var(--status-critical)}.ui-trend--flat{color:var(--text-muted)}.ui-badge{align-items:center;gap:var(--space-2);padding:2px var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);white-space:nowrap;background:0 0;line-height:1.6;display:inline-flex}.ui-badge--success{background:var(--status-success-wash);color:var(--status-success);border-color:#0000}.ui-badge--warning{background:var(--status-warning-wash);color:var(--status-warning);border-color:#0000}.ui-badge--critical{background:var(--status-critical-wash);color:var(--status-critical);border-color:#0000}.ui-badge--info{background:var(--status-info-wash);color:var(--status-info);border-color:#0000}.ui-badge--accent{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent)}.ui-badge--muted{color:var(--text-muted)}.ui-badge__dot{border-radius:var(--radius-pill);background:currentColor;flex:none;width:6px;height:6px}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-2) var(--space-5);border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--bg-elevated);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);display:inline-flex}.ui-button:hover:not(:disabled){background:var(--bg-overlay);border-color:var(--border-strong)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);font-weight:var(--font-weight-semibold)}.ui-button--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.ui-button--ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.ui-button--ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.ui-button--danger{border-color:var(--status-critical);color:var(--status-critical);background:0 0}.ui-button--sm{min-height:32px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs)}.ui-centered-notice{text-align:center;padding:var(--space-4)}.ui-empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-7) var(--space-5);border:1px dashed var(--border-default);border-radius:var(--radius-card);background:var(--bg-inset);flex-direction:column;display:flex}.ui-empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ui-empty__text{max-width:60ch;font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--bg-elevated) 0%, var(--bg-overlay) 50%, var(--bg-elevated) 100%);background-size:200% 100%;animation:1.4s linear infinite ui-skeleton-shimmer}.ui-skeleton--text{height:12px;margin:var(--space-2) 0}.ui-skeleton--card{height:118px}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-alert{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);font-size:var(--font-size-sm);border-left-width:3px;flex-direction:column;display:flex}.ui-alert--critical{border-left-color:var(--status-critical);background:var(--status-critical-wash)}.ui-alert--warning{border-left-color:var(--status-warning);background:var(--status-warning-wash)}.ui-alert--info{border-left-color:var(--status-info);background:var(--status-info-wash)}.ui-table-scroll{overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.ui-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.ui-table tr:last-child td{border-bottom:0}.ui-table__num{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;text-align:right}.ui-table__note{font-family:var(--font-family-base);font-size:var(--font-size-xs);font-variant-numeric:normal;color:var(--text-muted);display:block}.ui-def{border-bottom:1px dotted var(--border-strong);cursor:help}.ui-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-table{min-width:420px}.ui-table-scroll{min-width:0}input[type=checkbox],input[type=radio]{width:var(--touch-target-dense);height:var(--touch-target-dense);accent-color:var(--accent);flex-shrink:0}.plan-screen{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.plan-button{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);font-size:var(--font-size-base);cursor:pointer;border:1px solid #0000}.plan-button--primary{background:var(--color-accent-lime);color:var(--color-background);font-weight:var(--font-weight-bold)}.plan-button--primary:disabled{opacity:.5;cursor:not-allowed}.plan-button--secondary{background:var(--color-card-light);color:var(--color-text-primary);border-color:var(--color-card-light)}.plan-link{color:var(--color-accent-lime);cursor:pointer;padding:var(--space-2) 0;font-size:var(--font-size-base);background:0 0;border:none}.plan-link--danger{color:var(--color-status-error)}.plan-week__nav{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.plan-week__grid{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;display:grid}.plan-week__day{align-items:stretch;gap:var(--space-2);text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);width:100%;min-height:168px;padding:var(--space-3);color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);flex-direction:column;display:flex}.plan-week__day:hover{background:var(--bg-elevated);border-color:var(--border-default)}.plan-week__day--today{border-color:var(--accent-line);background:var(--bg-elevated)}.plan-week__day--today .plan-week__date{color:var(--accent)}.plan-week__weekday{width:auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}.plan-week__date{width:auto;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.plan-week__empty{color:var(--text-muted);font-size:var(--font-size-xs)}.plan-week__workouts{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.plan-week__chip{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-left:2px solid var(--accent-dim);border-radius:var(--radius-sm);padding:var(--space-2);font-size:var(--font-size-xs);line-height:var(--line-snug);flex-direction:column;gap:2px;display:flex}.plan-week__chip-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.plan-week__chip-meta{color:var(--text-muted)}@media (width<=1200px){.plan-week__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.plan-week__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-week__day{min-height:120px}}@media (width<=420px){.plan-week__grid{grid-template-columns:minmax(0,1fr)}.plan-week__day{min-height:0}}.plan-view-toggle{margin-bottom:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);gap:2px;width:fit-content;padding:2px;display:inline-flex}.plan-view-toggle__button{min-height:var(--touch-target-min);padding:var(--space-1) var(--space-5);color:var(--text-secondary);font-size:var(--font-size-sm);background:0 0;border:0;flex:none}.plan-view-toggle__button--active{background:var(--accent-wash);border:1px solid var(--accent-line);color:var(--text-primary)}.plan-month__nav{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.plan-month__label{text-align:center;font-weight:var(--font-weight-medium);text-transform:capitalize;flex:1}.plan-month__weekday-row{gap:var(--space-1);margin-bottom:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.plan-month__weekday{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-month__grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.plan-month__day{justify-content:flex-start;align-items:center;gap:var(--space-1);min-height:var(--touch-target-min);aspect-ratio:1;background:var(--color-card-dark);border:1px solid var(--color-card-light);border-radius:var(--radius-control);padding:var(--space-1);color:var(--color-text-primary);cursor:pointer;flex-direction:column;display:flex}.plan-month__day--today{border-color:var(--color-accent-lime)}.plan-month__day--outside{color:var(--color-text-secondary);opacity:.5}.plan-month__date{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.plan-month__badges{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.plan-month__badge{background:var(--color-card-light);border-radius:50%;justify-content:center;align-items:center;width:1rem;height:1rem;font-size:.6rem;line-height:1;display:inline-flex}.plan-day__empty{color:var(--color-text-secondary)}.plan-day__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-day__add{margin-top:var(--space-4);width:100%}.plan-workout-card{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-4)}.plan-workout-card__header{font-weight:var(--font-weight-bold);justify-content:space-between;display:flex}.plan-workout-card__structure{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-workout-card__note{font-style:italic}.plan-workout-card__sync-status{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-workout-card__actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.plan-builder{gap:var(--space-3);flex-direction:column;display:flex}.plan-field{gap:var(--space-1);flex-direction:column;display:flex}.plan-field input,.plan-field select,.plan-field textarea{min-height:var(--touch-target-min);background:var(--color-card-dark);color:var(--color-text-primary);border:1px solid var(--border-control);border-radius:var(--radius-control);padding:var(--space-2)}.plan-toggle{align-items:center;gap:var(--space-2);display:flex}.plan-section-card{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-3);margin-bottom:var(--space-3)}.plan-section-card__header{justify-content:space-between;align-items:center;display:flex}.plan-elements{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-element{background:var(--color-card-light);border-radius:var(--radius-control);padding:var(--space-3)}.plan-element__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-element__detail{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.plan-builder__add-section{margin-top:var(--space-2)}.plan-errors{color:var(--color-status-error)}.plan-builder__actions{gap:var(--space-3);justify-content:flex-end;display:flex}.plan-approval{margin-top:var(--space-6);border:1px dashed var(--color-status-warning);border-radius:var(--radius-card);padding:var(--space-4)}.plan-approval__header{align-items:center;gap:var(--space-2);display:flex}.plan-approval__badge{background:var(--color-status-warning);color:var(--color-background);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control)}.plan-approval__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-approval__item{align-items:center;gap:var(--space-3);background:var(--color-card-dark);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.plan-approval__actions{gap:var(--space-2);display:flex}.app-nav{gap:var(--space-2);padding:var(--space-3) var(--space-4) 0;display:flex}.app-nav__tab{min-height:var(--touch-target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--color-card-dark);color:var(--color-text-secondary);cursor:pointer}.plan-workout-card--conflict{border:1px solid var(--color-status-error)}.plan-workout-card__sync-status--conflict{color:var(--color-status-error);font-weight:var(--font-weight-medium)}.plan-conflict{gap:var(--space-3);flex-direction:column;display:flex}.plan-conflict__explanation{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-conflict__versions{gap:var(--space-3);flex-direction:column;display:flex}.plan-conflict__version{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-3)}.plan-conflict__summary{gap:var(--space-1) var(--space-2);margin:var(--space-2) 0 0;grid-template-columns:auto 1fr;display:grid}.plan-conflict__summary dt{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-conflict__actions{gap:var(--space-2);display:flex}.plan-version-history__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-version-history__empty{color:var(--color-text-secondary)}.plan-version-card{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-3)}.plan-version-card__header{font-weight:var(--font-weight-bold);justify-content:space-between;display:flex}.plan-version-card__timestamp{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.plan-version-card__changes{margin:var(--space-2) 0 0;padding-left:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);list-style:outside}.plan-version-card__snapshot{margin-top:var(--space-2);font-size:var(--font-size-sm)}.app-nav__tab--active{border-color:var(--color-accent-lime);color:var(--color-text-primary)}.plan-dev-tools{border:1px dashed var(--border-default);border-radius:var(--radius-sm);background:var(--bg-inset)}.plan-dev-tools__summary{padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);cursor:pointer}.plan-dev-tools[open] .plan-dev-tools__summary{border-bottom:1px dashed var(--border-default)}.plan-profile-form{gap:var(--space-3);flex-direction:column;display:flex}.plan-profile-form__intro{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.plan-profile-form fieldset{border:1px solid var(--color-card-light);border-radius:var(--radius-control);padding:var(--space-3);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.plan-profile-form legend{padding:0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.plan-profile-form small{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-profile-form__weekdays{gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-profile-form__weekday{min-height:44px;padding:0 var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-control);align-items:center;gap:6px;display:flex}.plan-profile-form__actions,.plan-generator__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-generator__sessions,.plan-generator__limitations{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-generator__limitations{padding-left:var(--space-4);list-style:outside}.plan-generator__session{padding:var(--space-2);border-left:2px solid var(--color-accent-lime);background:var(--color-card-dark);border-radius:var(--radius-control);flex-direction:column;gap:2px;display:flex}.plan-generator__day{font-weight:var(--font-weight-bold)}.plan-generator__intent{color:var(--color-accent-lime);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.plan-generator__rationale{font-style:italic}.plan-adaptation{border-left:3px solid var(--color-status-warning)}.plan-adaptation--rest{border-left-color:var(--color-status-error)}.plan-adaptation__reason{margin:var(--space-2) 0;line-height:1.45}.plan-adaptation__actions{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.plan-profile-form__anchor{margin-top:var(--space-4)}.plan-profile-form__field{margin-bottom:var(--space-3);display:block}.plan-profile-form__field>span{margin-bottom:var(--space-1);font-weight:600;display:block}.plan-profile-form__field small{margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm);display:block}.plan-profile-form__warning{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--status-warning);background:var(--status-warning-wash);color:var(--text-primary);font-size:var(--font-size-sm)}.plan-zones{margin:var(--space-4) 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.plan-zones__heading{margin:0 0 var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.plan-zones__list{margin:var(--space-2) 0 0;gap:var(--space-1);padding:0;list-style:none;display:grid}.plan-zones__zone{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.plan-zones__range{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.plan-zones__limitations{margin:var(--space-3) 0 0;padding-left:var(--space-5);gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);display:grid}.threshold-trend__latest{margin:var(--space-2) 0 0;font-variant-numeric:tabular-nums}.threshold-trend__scroll{margin-top:var(--space-3);overflow-x:auto}.threshold-trend__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:26rem}.threshold-trend__table caption{margin-bottom:var(--space-2);text-align:left}.threshold-trend__table th,.threshold-trend__table td{padding:var(--space-2);border-bottom:1px solid var(--border-subtle);text-align:left}.threshold-trend__table thead th{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.threshold-trend__subheading{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.threshold-trend__changes,.threshold-trend__limitations{margin:0 0 var(--space-3);padding-left:var(--space-5);gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-size-sm);display:grid}.threshold-trend__warning{color:var(--text-warning,var(--text-secondary))}.training-pattern,.device-threshold{border:1px solid var(--accent-line);border-radius:var(--radius-control);background:var(--accent-wash);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.training-pattern__heading,.device-threshold__heading{font-size:var(--font-size-base,1rem);margin:0}.training-pattern__facts,.training-pattern__limitations{padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.training-pattern .ui-button,.device-threshold .ui-button{align-self:flex-start;min-height:44px}.device-threshold p{margin:0}.plan-profile-form__anchor .device-threshold{margin-bottom:var(--space-3)}.plan-profile-form__anchor{scroll-margin-top:calc(var(--topbar-height,64px) + env(safe-area-inset-top,0px) + var(--space-3))}.plan-profile-form__anchor:focus{outline:2px solid var(--accent);outline-offset:4px}.plan-week__chip-note{-webkit-line-clamp:3;line-clamp:3;color:var(--text-muted);font-size:var(--type-caption-size);-webkit-box-orient:vertical;margin-top:2px;line-height:1.4;display:-webkit-box;overflow:hidden}.plan-support{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--border-default)}.plan-support__head{margin-bottom:var(--space-4)}.plan-support__heading{font-size:var(--type-title-size);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:600}.plan-support__context{margin:var(--space-2) 0 0;max-width:68ch;color:var(--text-muted);font-size:var(--type-body-sm-size)}.plan-workout-card--skipped{opacity:.75}.plan-workout-card--skipped .plan-workout-card__structure{text-decoration:line-through}.plan-workout-card__skip{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plan-skip-form{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.plan-skip-form__heading{font-weight:var(--font-weight-bold)}.plan-skip-form__note{gap:var(--space-1);font-size:var(--font-size-sm);flex-direction:column;display:flex}.plan-skip-form__note textarea{font:inherit;padding:var(--space-2);border-radius:var(--radius-card)}.plan-week__chip--skipped{opacity:.6}.week-review{margin-top:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.week-review__heading{font-size:var(--font-size-lg)}.week-review__subheading{font-size:var(--font-size-md);margin-top:var(--space-3)}.week-review__metrics{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.week-review__days,.week-review__items,.week-review__reasons{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.week-review__day{background:var(--color-card-dark);border-radius:var(--radius-card);padding:var(--space-3)}.week-review__day-name{font-weight:var(--font-weight-bold);margin-bottom:var(--space-2);text-transform:capitalize;display:block}.week-review__item{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.week-review__item-title{overflow-wrap:anywhere;min-width:0}.week-review__fine{color:var(--color-text-secondary);font-size:var(--font-size-sm);display:block}.week-review__item .week-review__fine{display:inline}.week-review__table-wrap{overflow-x:auto}.week-review__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.week-review__table th,.week-review__table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--border-default);vertical-align:top;white-space:nowrap}.week-review__table th[scope=row]{white-space:normal}.week-review__empty{color:var(--color-text-secondary)}.plan-import{gap:var(--space-3);flex-direction:column;display:flex}.plan-import__intro,.plan-import__meta{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.plan-import__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan-import__row{gap:var(--space-1);background:var(--color-card-dark);border:1px solid var(--color-card-light);border-radius:var(--radius-card);padding:var(--space-3);flex-direction:column;display:flex}.plan-import__row--skipped,.plan-import__row--duplicate{opacity:.8}.plan-import__head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-import__head input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent);margin:0}.plan-import__date{color:var(--color-text-secondary);font-size:var(--font-size-sm);min-width:8ch}.plan-import__title{color:var(--color-text-primary);font-weight:600}.plan-import__notes{padding-left:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.plan-import__warning,.plan-import__error{color:var(--color-status-warning)}.plan-import__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-skip-form__note textarea{border:1px solid var(--border-control);border-radius:var(--radius-control);background-color:var(--bg-inset);color:inherit}:root{--bg-canvas:#050807;--bg-surface:#0f1613;--bg-elevated:#17211d;--bg-overlay:#1f2b26;--bg-inset:#030605;--color-background:var(--bg-canvas);--color-card-dark:var(--bg-surface);--color-card-light:var(--bg-elevated);--surface-raised:var(--bg-elevated);--surface-input:var(--bg-inset);--border-subtle:#233029;--border-default:#2f3e37;--border-strong:#42554c;--color-border:var(--border-default);--border-control:#6b867c;--text-primary:#f2f7f4;--text-secondary:#c0cec7;--text-muted:#9fb2aa;--text-inverse:#050807;--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--accent:#bff24a;--accent-strong:#d6ff86;--accent-dim:#86a82f;--accent-wash:#bff24a1f;--accent-line:#bff24a52;--color-accent-lime:var(--accent);--status-success:#54de8b;--status-warning:#fbbf24;--status-critical:#fb7185;--status-info:#60a5fa;--status-neutral:#9fb2aa;--status-success-wash:#54de8b1f;--status-warning-wash:#fbbf241f;--status-critical-wash:#fb71851f;--status-info-wash:#60a5fa1f;--color-status-error:var(--status-critical);--color-status-warning:var(--status-warning);--color-status-success:var(--status-success);--color-status-offline:var(--status-neutral);--text-warning:var(--status-warning);--text-danger:var(--status-critical);--accent-warning:var(--status-warning);--color-danger:var(--status-critical);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--radius-card:var(--radius-lg);--radius-control:var(--radius-sm);--font-family-base:"Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;--font-family-numeric:var(--font-family-base);--font-family-mono:"SF Mono", "JetBrains Mono", ui-monospace, "Cascadia Mono", consolas, monospace;--type-display-size:3.5rem;--type-display-line:1;--type-display-weight:600;--type-display-tracking:-.03em;--type-metric-xl-size:2.5rem;--type-metric-xl-line:1.05;--type-metric-xl-weight:600;--type-metric-xl-tracking:-.025em;--type-metric-size:1.75rem;--type-metric-line:1.1;--type-metric-weight:600;--type-metric-tracking:-.02em;--type-metric-sm-size:1.25rem;--type-metric-sm-line:1.2;--type-metric-sm-weight:600;--type-metric-sm-tracking:-.01em;--type-title-size:1.25rem;--type-title-line:1.3;--type-title-weight:600;--type-title-tracking:-.012em;--type-subtitle-size:1.0625rem;--type-subtitle-line:1.4;--type-subtitle-weight:600;--type-subtitle-tracking:-.008em;--type-body-size:1rem;--type-body-line:1.55;--type-body-weight:400;--type-body-sm-size:.9063rem;--type-body-sm-line:1.5;--type-body-sm-weight:400;--type-label-size:.8125rem;--type-label-line:1.3;--type-label-weight:600;--type-label-tracking:.04em;--type-caption-size:.8125rem;--type-caption-line:1.4;--type-caption-weight:400;--font-size-xs:var(--type-caption-size);--font-size-sm:var(--type-body-sm-size);--font-size-small:var(--type-body-sm-size);--font-size-base:var(--type-body-size);--font-size-md:var(--type-subtitle-size);--font-size-lg:var(--type-title-size);--font-size-xl:var(--type-metric-size);--font-size-2xl:var(--type-metric-xl-size);--font-size-display:var(--type-display-size);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-tight:1.15;--line-snug:1.35;--line-normal:1.55;--tracking-wide:.06em;--tracking-caps:.09em;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 16px 48px #0000008c;--sidebar-width:248px;--topbar-height:64px;--bottomnav-height:64px;--content-max:1280px;--ease:cubic-bezier(.2, 0, .2, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.24s;--touch-target-min:44px;--touch-target-dense:24px}*{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.num{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
