:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", Roboto, Helvetica, Arial, sans-serif;--bg:#f7f8fa;--surface:#fff;--surface-muted:#f2f4f7;--surface-sunken:#eceff3;--surface-overlay:#fffffff5;--text-primary:#111827;--text-secondary:#475569;--text-muted:#5b6b80;--border:#e5e7eb;--border-strong:#7c8ca1;--primary:#1665d8;--primary-hover:#0f52b0;--primary-subtle:#e9f1fd;--primary-border:#a9c6ef;--primary-text:#0f52b0;--primary-foreground:#fff;--danger:#c1303d;--danger-hover:#a12631;--danger-text:#a01c2a;--danger-subtle:#fdf0f1;--danger-subtle-hover:#f9dfe1;--warning-text:#8a5406;--warning-border:#e6c98e;--warning-subtle:#fdf5e8;--success-text:#166534;--success-border:#9bd4ad;--success-subtle:#eaf7ef;--focus-ring:#7db0ff;--color-bg:var(--bg);--color-bg-subtle:var(--surface-muted);--color-surface:var(--surface);--color-surface-elevated:var(--surface);--color-surface-muted:var(--surface-sunken);--color-text:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-muted);--color-border:var(--border);--color-border-strong:var(--border-strong);--color-primary:var(--primary);--color-primary-hover:var(--primary-hover);--color-primary-soft:var(--primary-subtle);--color-success:#22c55e;--color-success-soft:var(--success-subtle);--color-nutrition:#10b981;--color-nutrition-soft:#e8f8f2;--color-workout:#8b5cf6;--color-workout-soft:#f1edff;--color-weight:#3b82f6;--color-weight-soft:#eaf3ff;--color-danger:var(--danger);--color-danger-soft:var(--danger-subtle);--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 12px 28px #1e40af14;--shadow-lg:0 24px 48px #1e40af1f;--text-page:1.5rem;--text-section:1.125rem;--text-card:1rem;--text-body:.9375rem;--text-label:.8125rem;--text-caption:.75rem;--text-metric:1.75rem;--text-metric-sm:1.25rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-normal:1.55;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--control-touch:44px;--control-normal:48px;--control-lead:56px;--field-affix:40px;--z-sticky:20;--z-composer:30;--z-nav:40;--z-dialog:50;--keyboard-inset:0px;--page-max:640px;--page-gutter:var(--space-4);--nav-height:64px;--nav-icon:26px;--nav-icon-quick:54px;--nav-label:var(--text-label);--page-bottom-space:calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-5));--gutter-left:max(var(--page-gutter), env(safe-area-inset-left));--gutter-right:max(var(--page-gutter), env(safe-area-inset-right));--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--mobile-nav-height:var(--nav-height);--mobile-page-gutter:var(--page-gutter);--mobile-bottom-space:var(--page-bottom-space)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f17;--surface:#111827;--surface-muted:#151e2d;--surface-sunken:#1d2939;--surface-overlay:#111827f5;--text-primary:#e5e7eb;--text-secondary:#b6c2d2;--text-muted:#9ca3af;--border:#263449;--border-strong:#64748b;--primary:#72a7ff;--primary-hover:#8ab6ff;--primary-subtle:#1d3559;--primary-border:#416ca6;--primary-text:#a9c9ff;--primary-foreground:#101722;--danger:#ff7b87;--danger-hover:#ff9aa3;--danger-text:#ffb1b8;--danger-subtle:#3a2027;--danger-subtle-hover:#512932;--warning-text:#f5c978;--warning-border:#9b7b3e;--warning-subtle:#3b2f1b;--success-text:#8cdaa5;--success-border:#4a8e60;--success-subtle:#1b3828;--focus-ring:#9cc1ff;--color-success:#4ade80;--color-nutrition:#34d399;--color-nutrition-soft:#123b35;--color-workout:#a78bfa;--color-workout-soft:#2d244c;--color-weight:#60a5fa;--color-weight-soft:#1b3356;--shadow-sm:0 1px 2px #00000038;--shadow-md:0 12px 28px #00000042;--shadow-lg:0 24px 48px #00000052}@media (width>=641px){:root{--page-max:720px;--page-gutter:var(--space-6);--page-bottom-space:calc(var(--control-normal) + var(--space-8))}}*{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);font-synthesis:none;-webkit-text-size-adjust:100%;font-size:16px}body{min-width:320px;font-size:var(--text-body);line-height:var(--leading-normal);background:var(--bg);margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);overflow-wrap:anywhere;margin:0}h1{font-size:var(--text-page);font-weight:var(--weight-bold);letter-spacing:-.01em}h2{font-size:var(--text-section);font-weight:var(--weight-semibold)}h3{font-size:var(--text-card);font-weight:var(--weight-semibold)}h4{font-size:var(--text-body);font-weight:var(--weight-semibold)}p{line-height:var(--leading-normal)}label,legend,.form-field label,.form-field>span{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--text-secondary)}legend{padding:0}small{font-size:var(--text-caption)}button,input,select,textarea{font-family:inherit;font-size:var(--text-body)}input,select,textarea{width:100%;min-width:0;max-width:100%;min-height:var(--control-touch);padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);background:var(--surface)}textarea{padding:var(--space-3);line-height:var(--leading-normal);resize:vertical}select{padding-right:var(--space-2)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--primary);padding:0}input[type=date]{appearance:none;height:var(--control-touch);padding-right:var(--space-2);text-align:left;font-variant-numeric:tabular-nums;font-family:inherit;line-height:normal;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{padding-inline:var(--space-1);margin-inline-start:auto}input[type=date]::-webkit-datetime-edit-text{color:var(--text-muted)}input[type=date]:not(:focus):invalid::-webkit-datetime-edit{color:var(--text-muted)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--text-muted)}::placeholder{color:var(--text-muted)}button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-touch);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--primary);color:var(--primary-foreground);font-weight:var(--weight-semibold);text-align:center;cursor:pointer;border:1px solid #0000;line-height:1.2;display:inline-flex}button:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--text-secondary);font-weight:var(--weight-medium);border-color:#0000}button.secondary:disabled{background:var(--surface-muted);border-color:var(--border);color:var(--text-muted)}button.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary);font-weight:var(--weight-medium)}button.danger{background:var(--danger-subtle);color:var(--danger-text);font-weight:var(--weight-medium);border-color:#0000}@media (hover:hover){button:hover:not(:disabled){background:var(--primary-hover)}button.secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--text-muted)}button.danger:hover:not(:disabled){background:var(--danger-subtle-hover)}}button.secondary[aria-pressed=true],button.secondary[aria-expanded=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}.app-shell{width:min(100%, var(--page-max));background:var(--surface);min-height:100dvh;margin:0 auto;overflow-x:clip}@media (width>=641px){.app-shell{border-left:1px solid var(--border);border-right:1px solid var(--border)}}main{min-width:0}.app-header{z-index:var(--z-sticky);padding:calc(var(--space-2) + var(--safe-top)) var(--gutter-right) var(--space-3) var(--gutter-left);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.app-header-bar{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-header h1{margin-top:var(--space-1);font-size:var(--text-page)}.app-home-link{min-height:var(--control-touch);margin-left:calc(var(--space-2) * -1);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.1em;background:0 0}.app-settings-link{width:var(--control-touch);min-width:var(--control-touch);min-height:var(--control-touch);margin-right:calc(var(--space-2) * -1);border-radius:var(--radius-md);color:var(--text-secondary);background:0 0;flex:none;padding:0}@media (hover:hover){.app-home-link:hover:not(:disabled){color:var(--primary-text);background:0 0}.app-settings-link:hover:not(:disabled){background:var(--surface-muted);color:var(--primary-text)}}.app-settings-link[aria-current=page]{background:var(--primary-subtle);color:var(--primary)}.app-settings-link .nav-icon{width:22px;height:22px;margin:0;display:block}.page-section{padding:var(--space-4) var(--gutter-right) var(--page-bottom-space) var(--gutter-left)}.section-heading{margin-bottom:var(--space-4)}.section-heading .eyebrow,.section-heading h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-heading:has(>div:only-child){margin-bottom:0}.nav-icon{vertical-align:middle;width:20px;height:20px;display:inline-flex}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.main-nav{z-index:var(--z-nav);width:min(100%, var(--page-max));height:calc(var(--nav-height) + var(--safe-bottom));padding:0 max(var(--space-2), env(safe-area-inset-right)) var(--safe-bottom) max(var(--space-2), env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}:root[data-keyboard=open] .main-nav{display:none}.main-nav button{min-width:48px;min-height:48px;padding:var(--space-1) 0;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:0;font-weight:var(--weight-medium);background:0 0;border:0;flex-direction:column;gap:5px;position:relative}.main-nav .nav-icon svg{stroke-width:2px}.main-nav button:after{content:attr(data-compact);font-size:var(--nav-label);font-weight:var(--weight-medium);letter-spacing:-.01em;line-height:1.15}.main-nav button .nav-icon{width:var(--nav-icon);height:var(--nav-icon)}.nav-label-wide{display:none}.main-nav button.active{color:var(--primary);background:0 0}.main-nav button.active:after{font-weight:var(--weight-semibold)}.main-nav button.active .nav-icon svg{stroke-width:2.3px}.main-nav button.active:before{content:"";border-radius:0 0 var(--radius-pill) var(--radius-pill);background:var(--primary);width:18px;height:3px;position:absolute;top:0}@media (hover:hover){.main-nav button:hover:not(.active){color:var(--text-secondary);background:0 0}}.main-nav button.nav-quick{gap:0}.main-nav button.nav-quick:after{content:none}.main-nav button.nav-quick .nav-icon{width:var(--nav-icon-quick);height:var(--nav-icon-quick);border-radius:var(--radius-pill);background:var(--primary);color:var(--primary-foreground);padding:14px}.main-nav button.nav-quick.active:before{content:none}.main-nav button.nav-quick.active .nav-icon{background:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-subtle)}@media (width>=641px){.main-nav{height:var(--control-normal);padding:0 var(--page-gutter);background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.main-nav button{gap:var(--space-2);min-height:var(--control-touch);font-size:var(--text-body);flex-direction:row}.main-nav button:after{content:none}.nav-label-wide{display:inline}.main-nav button.nav-quick .nav-icon{width:26px;height:26px;padding:4px}}.domain-nav{margin:0 calc(var(--gutter-right) * -1) var(--space-5) calc(var(--gutter-left) * -1);padding:0 var(--gutter-right) 0 var(--gutter-left);border-bottom:1px solid var(--border);background:0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.domain-nav button{min-height:var(--control-touch);padding:var(--space-2) var(--space-1);color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;overflow:hidden}.domain-nav button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--weight-semibold);background:0 0}.domain-nav button:focus-visible{outline-offset:-3px}@media (hover:hover){.domain-nav button:hover:not(.active){color:var(--text-primary);background:0 0}}@media (width<=400px){.domain-nav button{font-size:var(--text-label)}}.body-weight-form,.record-list,.workout-filter,.workout-form,.knowledge-filter,.knowledge-form,.plan-panel,.diet-panel,.nutrition-summary,.goal-panel,.body-weight-trend,.progress-panel,.home-card,.weekly-card,.meal-draft-card,.account-panel,.ai-usage-panel{gap:var(--space-3);min-width:0;max-width:100%;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);align-content:start;display:grid}.eyebrow{margin:0 0 var(--space-1);color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.06em}.panel-note,.field-hint,.goal-help{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-regular);line-height:var(--leading-normal);margin:0}.form-field{gap:var(--space-1);margin:0 0 var(--space-3);min-width:0;display:grid}.form-actions,.record-actions,.move-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.page-actions{gap:var(--space-2);margin:0 0 var(--space-4);display:flex}.metric{align-content:start;gap:2px;min-width:0;display:grid}.metric-label{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);overflow-wrap:anywhere}.metric-value{color:var(--text-primary);font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);overflow-wrap:anywhere;margin:0}.metric-value .metric-unit,.metric-value .metric-target{color:var(--text-muted);font-size:var(--text-label);font-weight:var(--weight-medium)}progress{appearance:none;width:100%;height:5px;margin-top:var(--space-1);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--primary);border:0}progress::-webkit-progress-bar{border-radius:var(--radius-pill);background:var(--surface-sunken)}progress::-webkit-progress-value{border-radius:var(--radius-pill);background:var(--primary)}progress::-moz-progress-bar{border-radius:var(--radius-pill);background:var(--primary)}.coach-badge,.draft-status,.quantity-source,.record-card em{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap;flex:none;align-items:center;font-style:normal;display:inline-flex}.message,.field-error,.empty-state{margin:var(--space-3) 0;overflow-wrap:anywhere}.message{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:var(--text-label)}.message.error{background:var(--danger-subtle);color:var(--danger-text)}.message.success{background:var(--success-subtle);color:var(--success-text)}.message.warning{background:var(--warning-subtle);color:var(--warning-text)}.message.info{background:var(--primary-subtle);color:var(--primary-text)}.message ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.message ul li{margin:2px 0}.message p{margin:0}.field-error{color:var(--danger-text);font-size:var(--text-label);font-weight:var(--weight-medium);margin:0}.empty-state{padding:var(--space-4) 0;color:var(--text-muted);font-size:var(--text-label);text-align:center}.details-toggle,.panel-toggle,.goal-trigger,.progress-exercise-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-touch);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-medium);text-align:left;display:flex}.details-toggle strong,.panel-toggle strong,.goal-trigger strong{font-weight:var(--weight-semibold)}.details-toggle small,.panel-toggle small,.goal-trigger small{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-regular);white-space:normal;margin-top:2px;display:block}.details-toggle:focus-visible,.panel-toggle:focus-visible,.goal-trigger:focus-visible,.progress-exercise-trigger:focus-visible{outline-offset:-3px}@media (hover:hover){.details-toggle:hover:not(:disabled),.panel-toggle:hover:not(:disabled),.goal-trigger:hover:not(:disabled),.progress-exercise-trigger:hover:not(:disabled){background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}}.details-toggle[aria-expanded=true],.panel-toggle[aria-expanded=true],.goal-trigger[aria-expanded=true],.progress-exercise-trigger[aria-expanded=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}.segmented{border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:3px;display:flex}.segmented button{min-width:0;min-height:var(--control-touch);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);background:0 0;border:0;flex:1 1 0}.segmented button.active,.segmented button[aria-pressed=true]{background:var(--surface);color:var(--primary-text);font-weight:var(--weight-semibold)}@media (hover:hover){.segmented button:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}}.stepper{align-items:center;gap:var(--space-2);display:flex}.stepper button{width:var(--control-touch);min-width:var(--control-touch);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-section);font-weight:var(--weight-medium);flex:none;padding:0}.stepper input{width:3.5rem;padding-inline:var(--space-1);text-align:center;font-variant-numeric:tabular-nums;flex:none}.stepper-unit{color:var(--text-secondary);font-size:var(--text-label)}@media (hover:hover){.stepper button:hover:not(:disabled){background:var(--surface-muted)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.diet-page,.workout-page,.settings-page,.weekly-review-page,.plan-page,.meal-coach-page,.quick-record-page{align-content:start;gap:var(--space-5);min-width:0;display:grid}.diet-page>.section-heading,.workout-page>.section-heading{margin-bottom:0}.plan-page,.plan-panel,.meal-coach-page,.workout-page{overflow-wrap:anywhere}.not-found-page .page-actions{margin-top:var(--space-4)}.panel-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.panel-heading>div,.panel-heading h2,.panel-heading h3{min-width:0}.setting-summary{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.setting-summary>div{min-width:0}.setting-summary .eyebrow{margin-bottom:2px}.setting-summary .panel-note{overflow-wrap:anywhere}.setting-summary button{flex:none}.section-link{padding-top:var(--space-4);border-top:1px solid var(--border)}.account-identity-info{align-items:center;gap:var(--space-3);min-width:0;display:flex}.account-avatar{border-radius:var(--radius-pill);background:var(--primary-subtle);width:40px;height:40px;color:var(--primary-text);font-weight:var(--weight-semibold);flex:none;place-items:center;display:inline-grid}.account-name{color:var(--text-primary);font-weight:var(--weight-semibold);font-size:var(--text-body);margin:0}.character-count{color:var(--text-muted);font-size:var(--text-caption);text-align:right;margin:0}.link-button{min-height:44px;color:var(--primary-text);font-size:var(--text-label);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;justify-self:start;align-items:center;padding:0 2px;text-decoration:underline;display:inline-flex}.button-link{min-height:44px;color:var(--primary-text);font-size:var(--text-label);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 2px;text-decoration:underline;display:inline-flex}.generate-button{width:100%}@media (width>=641px){.generate-button{justify-self:start;width:auto;min-width:10rem}}.record-list{gap:0;padding:0}.record-list>h2,.record-list>.draft-summary{padding:var(--space-4) var(--space-4) var(--space-3)}.record-list>p,.record-list>.empty-state,.record-list>.message,.record-list>.draft-bulk-actions,.record-list>.draft-save-actions{padding:0 var(--space-4) var(--space-4);margin:0}.record-card{justify-content:space-between;align-items:flex-start;gap:var(--space-3);min-width:0;max-width:100%;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.record-card:first-of-type{border-top:0}.record-card>div:first-child{flex:11rem;min-width:0;max-width:100%}.record-card time{color:var(--text-muted);font-size:var(--text-caption);font-variant-numeric:tabular-nums;display:block}.record-card strong{font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;margin-top:2px;display:block}.record-card p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:var(--text-label);white-space:pre-wrap;overflow-wrap:anywhere}.record-actions{flex:none}.record-actions button{min-width:0;padding-inline:var(--space-3);font-size:var(--text-label);white-space:nowrap}.meal-group{border-top:1px solid var(--border)}.meal-group:first-of-type{border-top:0}.meal-group h3{padding:var(--space-3) var(--space-4) 0;color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0}.meal-group .record-card{border-top:0}.meal-item{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:var(--text-label)}.meal-item:first-child{margin-top:0}.meal-item strong{font-size:var(--text-body);font-weight:var(--weight-semibold);margin:0;display:inline}.meal-macros{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.meal-memo{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-caption);white-space:pre-wrap;overflow-wrap:anywhere}.weight-primary-field input{height:var(--control-lead);font-size:var(--text-metric-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.body-weight-form h2{font-size:var(--text-card)}.body-weight-form .form-field{margin:0}.body-weight-details{gap:var(--space-3);display:grid}.body-weight-details.is-collapsed{opacity:0;pointer-events:none;max-height:0;margin:0;overflow:hidden}.body-weight-details.is-open{opacity:1;max-height:500px;transition:max-height .2s,opacity .2s}.bodyweight-status .message p{margin:var(--space-1) 0 0}.body-composition-section>.ds-button,.body-composition-section>.body-composition-form,.body-composition-section>.body-composition-latest{margin:0 var(--space-4) var(--space-4)}.body-composition-section>.ds-button{min-height:44px}.body-composition-latest{gap:var(--space-1);display:grid}.body-composition-latest-label{color:var(--text-muted);font-size:var(--text-caption);margin:0}.body-composition-metrics{gap:var(--space-1) var(--space-3);font-size:var(--text-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.body-composition-latest time{color:var(--text-muted);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.body-composition-form{gap:var(--space-3);min-width:0;display:grid}.body-composition-form h3{font-size:var(--text-card);font-weight:var(--weight-semibold);margin:0}.body-composition-form .form-field,.body-composition-form .goal-help{margin:0}.body-weight-trend{background:0 0;border:0;border-radius:0;padding:0;overflow:hidden}.trend-heading{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.trend-heading h2{font-size:var(--text-card)}.trend-period-label{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap}.trend-periods{border-radius:var(--radius-md);background:var(--surface-sunken);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;display:grid}.trend-periods button{min-height:var(--control-touch);padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);background:0 0;border:0}.trend-periods button.active{background:var(--surface);color:var(--primary-text);font-weight:var(--weight-semibold)}.trend-summary{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.trend-summary div{align-content:start;gap:2px;min-width:0;display:grid}.trend-summary span{color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere}.trend-summary strong{font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.trend-summary div:first-child strong,.trend-summary strong.is-primary-metric{font-size:var(--text-metric)}.trend-summary strong.is-empty{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-muted)}.trend-summary small{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;line-height:1.3}.trend-up{color:var(--danger-text)}.trend-down{color:var(--success-text)}.trend-chart-wrap,.progress-chart-wrap{width:100%;min-width:0}.trend-chart-wrap{border-radius:var(--radius-md);position:relative}.trend-chart{width:100%;height:auto;min-height:150px;display:block}.trend-axis{stroke:var(--border-strong);stroke-width:1px}.trend-axis-label,.trend-date-label{fill:var(--text-muted);font-size:10px}.trend-line{fill:none;stroke:var(--primary);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.trend-point.is-selected{fill:var(--primary)}.trend-guide{stroke:var(--primary-border);stroke-width:1.5px;stroke-dasharray:3 3}.trend-hit-layer{position:absolute;inset:0}.trend-hit{cursor:pointer;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;padding:0;position:absolute;top:0;bottom:0;transform:translate(-50%)}@media (hover:hover){.trend-hit:hover:not(:disabled){background:0 0}}.trend-hit:focus-visible{outline-offset:-3px}.trend-tip{top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground);text-align:center;white-space:nowrap;pointer-events:none;gap:0;margin:0;display:grid;position:absolute;transform:translate(-50%)}.trend-tip span{font-size:var(--text-caption);opacity:.85}.trend-tip strong{font-size:var(--text-label);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.trend-readout{align-items:baseline;gap:var(--space-2);min-height:var(--control-touch);overflow-wrap:anywhere;margin:0;display:flex}.trend-readout strong{font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.trend-readout span{color:var(--text-secondary);font-size:var(--text-label)}.trend-readout-hint{color:var(--text-muted);font-size:var(--text-label)}.trend-empty,.progress-chart-empty{padding:var(--space-6) var(--space-2);color:var(--text-muted);font-size:var(--text-label);text-align:center;margin:0}.trend-point-group{cursor:pointer}.trend-point-group:focus:not(:focus-visible){outline-color:#0000}.trend-point-hit{fill:#0000;stroke:#0000}.trend-point-group:focus-visible .trend-point-hit,.trend-point-group:hover .trend-point-hit{stroke:var(--primary-border);stroke-width:2px}.trend-point{fill:var(--primary);stroke:var(--surface);stroke-width:2px}.trend-point-group.is-selected .trend-point{fill:var(--primary-hover);stroke:var(--primary-text);stroke-width:3px}.progress-point-detail{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--primary-border);border-radius:var(--radius-md);background:var(--primary-subtle);display:grid}.progress-point-detail-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.progress-point-detail-head h3{font-size:var(--text-body)}.progress-point-detail-head time{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums}.progress-point-detail dl{gap:var(--space-2) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));margin:0;display:grid}.progress-point-detail dl>div{gap:2px;min-width:0;display:grid}.progress-point-detail dt{color:var(--text-secondary);font-size:var(--text-caption)}.progress-point-detail dd{font-size:var(--text-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.workout-filter,.workout-form,.exercise-editor{gap:var(--space-3);overflow-wrap:anywhere;min-width:0;max-width:100%;display:grid}.workout-filter,.workout-form{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.exercise-editor{padding-top:var(--space-4);border-top:1px solid var(--border)}.exercise-editor-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);width:100%;min-width:0;min-height:var(--control-touch);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);text-align:left;display:flex}.exercise-editor.is-open .exercise-editor-head{border-color:var(--primary-border);background:var(--primary-subtle);color:var(--primary-text)}.exercise-editor-head:focus-visible{outline-offset:-3px}.exercise-editor-name{min-width:0;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.exercise-editor-summary{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;flex:none}.exercise-editor.is-open .exercise-editor-summary{color:var(--primary-text)}.exercise-editor-body{gap:var(--space-3);min-width:0;padding-top:var(--space-3);display:grid}.exercise-editor.is-collapsed .exercise-editor-body{opacity:0;pointer-events:none;max-height:0;padding-top:0;overflow:hidden}.workout-form-actions{z-index:var(--z-sticky);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-2));margin:var(--space-2) calc(var(--space-4) * -1) calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4) calc(var(--space-3) + var(--safe-bottom));border-top:1px solid var(--border);background:var(--surface-overlay);position:sticky;box-shadow:0 -4px 12px #16202e14}.workout-form-actions>button{flex:8rem;min-width:0}.workout-filter label,.workout-form label{gap:var(--space-1);display:grid}.workout-form fieldset{min-width:0}.workout-form>fieldset:not([class]){gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.set-editor{gap:var(--space-2);min-width:0;padding:var(--space-3) 0 0;border-top:1px solid var(--border);display:grid}.set-fields{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.set-fields>div{align-content:start;gap:var(--space-1);min-width:0;display:grid}.set-fields input{font-variant-numeric:tabular-nums}.set-target{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;margin:0}.set-completed-row{align-items:center;gap:var(--space-2);min-height:var(--control-touch);display:flex}.set-completed-row input[type=checkbox]{flex-shrink:0;width:24px;height:24px}.set-completed-row label{font-size:var(--text-body)}.set-rir{margin:0}.set-editor .move-actions button{min-width:0;padding-inline:var(--space-2);font-size:var(--text-label);font-weight:var(--weight-medium);flex:auto}.plan-set{min-width:0}.plan-exercise{gap:var(--space-2);display:grid}.execution-progress{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;margin:0;display:flex}.execution-progress strong{font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.execution-progress span{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums}.execution-exercise{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;display:grid;overflow:hidden}.execution-exercise-head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-normal);padding:var(--space-2) var(--space-3);background:var(--surface-muted);color:var(--text-primary);font-size:var(--text-body);font-weight:var(--weight-medium);text-align:left;border:0;border-radius:0;display:flex}.execution-exercise.is-open .execution-exercise-head{background:var(--primary-subtle);color:var(--primary-text);font-weight:var(--weight-semibold)}.execution-exercise-head:focus-visible{outline-offset:-3px}.execution-exercise-name{overflow-wrap:anywhere;min-width:0}.execution-exercise.is-open .execution-exercise-state{color:var(--primary-text)}.execution-exercise-body .set-editor.is-done .set-target{color:var(--success-text)}.execution-next{min-height:var(--control-normal);margin-top:var(--space-1)}.workout-card{overflow-wrap:anywhere;min-width:0;max-width:100%}.workout-card-main{flex:12rem;min-width:0}.workout-card-head{align-items:baseline;gap:2px var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.workout-card time{flex:none;display:inline}.workout-card strong{font-size:var(--text-card);margin-top:0;display:inline}.workout-summary{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;margin:2px 0 0}.workout-exercise-list{margin:var(--space-2) 0 0;font-size:var(--text-label);gap:2px;padding:0;list-style:none;display:grid}.workout-exercise-list li{justify-content:space-between;align-items:baseline;gap:0 var(--space-3);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;display:flex}.workout-exercise-name{min-width:0;color:var(--text-primary);font-weight:var(--weight-medium);overflow-wrap:anywhere}.workout-exercise-sets{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.workout-card-actions{align-self:flex-start}.workout-card-menu{width:var(--control-touch);min-width:var(--control-touch);font-size:var(--text-section);padding:0;line-height:1}.workout-card-overflow{gap:var(--space-2);width:100%;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.workout-card-overflow button{flex:6rem;min-width:0}.workout-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);overflow-wrap:anywhere}.workout-detail h3{margin-bottom:var(--space-1);font-size:var(--text-label)}.workout-detail ul{color:var(--text-secondary);font-size:var(--text-label)}.workout-detail p{font-size:var(--text-label)}.today-start{gap:var(--space-3);min-width:0;display:grid}.today-start h2{font-size:var(--text-section)}.today-start>button{justify-self:start}.today-start .today-direct-start{min-height:var(--control-normal);justify-self:stretch}.today-method-alt{gap:var(--space-2);display:grid}.today-method-caption{color:var(--text-muted);font-size:var(--text-caption);margin:0}.today-method-switch{gap:var(--space-2);flex-wrap:wrap;display:flex}.today-method-switch button{min-height:var(--control-touch);flex:auto}.routine-picker-row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.routine-picker-row h2{font-size:var(--text-section);flex:none}.routine-picker-row select{width:auto;min-width:0;min-height:var(--control-normal);font-size:var(--text-card);font-weight:var(--weight-semibold);flex:10rem}.routine-preview{gap:var(--space-2);min-width:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);display:grid}.routine-picker-start{min-height:var(--control-normal);margin-top:var(--space-1)}.today-routine-exercises{gap:0;margin:0;padding:0;list-style:none;display:grid}.today-routine-exercises li{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.today-routine-exercises li:first-child{border-top:0}.today-routine-exercise{min-width:0;font-size:var(--text-body);font-weight:var(--weight-medium);overflow-wrap:anywhere}.today-routine-target{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;flex:none}.today-routine-day{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.today-routine-meta{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.plan-manual{gap:var(--space-3);min-width:0;display:grid}.plan-summary{gap:var(--space-3);min-width:0;max-width:100%;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow-wrap:anywhere;align-content:start;display:grid}.plan-summary-head{gap:2px;min-width:0;display:grid}.plan-summary-head h2{font-size:var(--text-section);overflow-wrap:anywhere}.plan-summary-meta{color:var(--text-secondary);font-size:var(--text-label);margin:0}.plan-summary-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.plan-summary-list li{justify-content:space-between;align-items:baseline;gap:2px var(--space-3);min-width:0;padding:var(--space-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.plan-summary-list li:first-child{border-top:0}.plan-summary-name{min-width:0;font-size:var(--text-body);font-weight:var(--weight-medium);overflow-wrap:anywhere}.plan-summary-prescription{gap:var(--space-1);min-width:0;margin-top:var(--space-1);flex:100%;display:grid}.plan-summary-prescription p{gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;grid-template-columns:4.5rem minmax(0,1fr);margin:0;display:grid}.plan-summary-prescription p span{color:var(--text-muted)}.plan-summary-prescription strong{min-width:0;color:var(--text-primary);font-weight:var(--weight-semibold);overflow-wrap:anywhere}.plan-summary-rationale{min-width:0;color:var(--text-secondary);font-size:var(--text-caption);flex:100%}.plan-summary-rationale summary{gap:var(--space-2);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;list-style-position:inside;display:grid}.plan-summary-rationale summary span{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.plan-summary-rationale-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.5;display:-webkit-box;overflow:hidden}.plan-summary-rationale-measuring{-webkit-line-clamp:unset;display:block;overflow:visible}.plan-summary-rationale-static{display:block}.plan-summary-rationale summary b{color:var(--primary-text);font-weight:var(--weight-semibold);white-space:nowrap}.plan-summary-rationale p{margin:var(--space-2) 0 0;color:var(--text-secondary)}.plan-summary-start{min-height:var(--control-lead);font-size:var(--text-card)}.plan-summary-actions>button{flex:8rem;min-width:0}.draft-escape{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.draft-escape .plan-note{flex:12rem;min-width:0}.draft-escape button{flex:none}.plan-panel{min-width:0;max-width:100%}.plan-panel label{gap:var(--space-1);min-width:0;display:grid}.plan-note,.plan-provider-note,.plan-panel>p:not(.message){color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.nl-textarea{min-height:7.5rem;line-height:var(--leading-normal)}.workout-filter.is-collapsed,.collapsible-form.is-collapsed{opacity:0;pointer-events:none;border-width:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden}.workout-filter.is-open,.collapsible-form.is-open{opacity:1;max-height:5000px;transition:max-height .2s,opacity .2s}.collapsible-form[hidden]{display:none}.exercise-name-field{gap:var(--space-1);min-width:0;max-width:100%;display:grid}.exercise-catalog-link{color:var(--success-text);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.exercise-suggestions{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);max-height:12rem;margin:0;list-style:none;display:grid;overflow-y:auto}.exercise-suggestions button{text-align:left;background:var(--surface);width:100%;color:var(--text-primary);border:1px solid var(--border);font-weight:var(--weight-regular);overflow-wrap:anywhere;justify-content:flex-start}.exercise-suggestions button:hover:not(:disabled){background:var(--primary-subtle);border-color:var(--primary-border)}.routine-source{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0;display:inline-block}.workout-card .routine-source{margin-left:var(--space-2)}.plan-review{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);min-width:0;display:grid}.plan-review-heading{font-size:var(--text-label);margin:0}.plan-review-empty{color:var(--text-muted);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.plan-review-summary{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));margin:0;display:grid}.plan-review-summary>div{gap:2px;min-width:0;display:grid}.plan-review-summary dt{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere}.plan-review-summary dd{font-size:var(--text-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.plan-review-exercises,.plan-review-sets{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.plan-review-exercise{gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-muted);border-radius:var(--radius-md);display:grid}.plan-review-exercise.is-omitted{border:1px dashed var(--border-strong)}.plan-review-exercise.is-added{background:var(--warning-subtle)}.plan-review-exercise-head{align-items:baseline;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.plan-review-exercise-head strong{overflow-wrap:anywhere;font-size:var(--text-label)}.plan-review-exercise-state{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere}.plan-review-set{align-items:baseline;gap:2px var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.plan-review-set-number{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.plan-review-set-value{font-size:var(--text-label);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.plan-review-set-rir{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.plan-review-status{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);overflow-wrap:anywhere;flex-basis:100%}.plan-review-status.is-target-met{color:var(--success-text)}.plan-review-status.is-below-target-reps,.plan-review-status.is-modified-load{color:var(--warning-text)}.plan-review-status.is-not-recorded,.plan-review-status.is-not-completed,.plan-review-status.is-load-not-recorded{color:var(--text-muted)}.progress-panel{overflow:hidden}.progress-panel h2{font-size:var(--text-card)}.progress-panel>p{margin:0}.progress-exercise-field{gap:var(--space-1);min-width:0;display:grid}.progress-exercise-name{overflow-wrap:anywhere;min-width:0;font-size:var(--text-body);font-weight:var(--weight-semibold)}.progress-exercise-hint{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-medium);flex-shrink:0}.progress-exercise-picker{gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);display:grid}.progress-exercise-picker ul{gap:var(--space-1);max-height:15rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.progress-exercise-picker button{justify-content:space-between;gap:var(--space-2);text-align:left;background:var(--surface);width:100%;color:var(--text-primary);border:1px solid var(--border);font-weight:var(--weight-regular)}.progress-exercise-picker button:hover:not(:disabled){background:var(--primary-subtle);border-color:var(--primary-border)}.progress-exercise-picker button[aria-selected=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}.progress-exercise-picker button span{overflow-wrap:anywhere;min-width:0}.progress-exercise-picker button small{color:var(--text-muted);font-weight:var(--weight-regular);flex-shrink:0}.progress-exercise-picker .empty-state{padding:var(--space-3) 0}.progress-panel .trend-periods{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-headline{gap:2px;display:grid}.progress-headline .eyebrow{margin:0}.progress-headline strong{font-size:var(--text-metric);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.progress-change{color:var(--text-secondary);font-size:var(--text-label);margin:0}.progress-change span{font-weight:var(--weight-semibold);color:var(--text-primary)}.progress-metrics{gap:var(--space-1);flex-wrap:wrap;display:flex}.progress-metrics button{min-width:5.5rem;min-height:var(--control-touch);padding:0 var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);flex:auto}.progress-metrics button.active{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text);font-weight:var(--weight-semibold)}html[data-theme=dark] .progress-panel button.ds-button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}html[data-theme=dark] .progress-panel button.ds-button-secondary[aria-pressed=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}html[data-theme=dark] .progress-panel button.progress-exercise-trigger,html[data-theme=dark] .progress-panel .progress-metrics button,html[data-theme=dark] .progress-panel .trend-periods button,html[data-theme=dark] button.progress-exercise-trigger,html[data-theme=dark] .progress-metrics button,html[data-theme=dark] .trend-periods button{border-color:var(--border-strong);color:var(--text-primary);background:var(--surface)!important}html[data-theme=dark] .settings-page button.ds-button-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}html[data-theme=dark] .settings-page button.ds-button-secondary:disabled{background:var(--surface-sunken);color:var(--text-secondary);border-color:#0000}html[data-theme=dark] .profile-actions button:first-child{border-color:var(--border-strong);color:var(--text-primary);background:var(--surface)!important}.progress-comparison{padding-top:var(--space-3);border-top:1px solid var(--border);gap:2px;display:grid}.progress-comparison .eyebrow{color:var(--text-secondary);margin:0}.progress-comparison-dates{color:var(--text-muted);font-size:var(--text-caption);margin:0}.progress-comparison ul{margin:var(--space-1) 0 0;font-size:var(--text-label);font-weight:var(--weight-medium);gap:2px;padding:0;list-style:none;display:grid}.progress-note{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.progress-history h3{margin:0 0 var(--space-1);font-size:var(--text-label)}.progress-history ol{margin:0;padding:0;list-style:none;display:grid}.progress-history li{align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-label);flex-wrap:wrap;display:flex}.progress-history li:first-child{border-top:0}.progress-history time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.progress-history span{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.progress-history em{color:var(--text-muted);font-style:normal;font-size:var(--text-caption)}.knowledge-filter,.knowledge-form,.tag-editor{gap:var(--space-3);min-width:0;max-width:100%;display:grid}.knowledge-filter{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.knowledge-filter .form-actions{align-items:end}.tag-editor{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}.tag-input-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;align-items:end;min-width:0;display:grid}.tag-input-row label,.tag-input-row input,.tag-input-row .field-error{grid-column:1/-1}.knowledge-card,.knowledge-card-body,.knowledge-detail{overflow-wrap:anywhere;min-width:0;max-width:100%}.knowledge-card h3,.knowledge-detail h4{overflow-wrap:anywhere;margin:0}.knowledge-card time{margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-caption)}.knowledge-category{font-weight:var(--weight-semibold)}.tag-list{gap:var(--space-1);margin:var(--space-2) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li{overflow-wrap:anywhere;background:var(--surface-sunken);border-radius:var(--radius-pill);max-width:100%;padding:2px var(--space-2);color:var(--text-secondary);font-size:var(--text-caption)}.knowledge-preview,.knowledge-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.knowledge-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.nutrition-summary .panel-heading{align-items:baseline}.nutrition-summary h2{font-size:var(--text-section)}.nutrition-grid{gap:var(--space-4) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.nutrition-secondary{gap:var(--space-1) var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-label);flex-wrap:wrap;margin:0;display:flex}.nutrition-secondary span{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.nutrition-secondary b{font-weight:var(--weight-semibold);color:var(--text-primary)}.goal-summary{gap:var(--space-1) var(--space-3);margin:calc(var(--space-3) * -1) 0 0;padding:0 var(--space-1)}.goal-summary .link-button{margin-block:-10px}.diet-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diet-grid label,.diet-form label,.food-input label{gap:var(--space-1);min-width:0;display:grid}.diet-form{gap:var(--space-3);min-width:0;display:grid}.meal-entry-panel .segmented{margin-bottom:var(--space-1)}.food-input{gap:var(--space-3);min-width:0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.food-input h3,.food-input legend,.food-input>p,.food-input>button,.food-input>.draft-item-head{grid-column:1/-1;margin:0}.food-input legend{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);padding:0}.food-input h3{font-size:var(--text-label);color:var(--text-secondary)}.food-results{gap:var(--space-2);flex-wrap:wrap;display:flex}.preview{padding:var(--space-2) var(--space-3);background:var(--success-subtle);color:var(--success-text);border-radius:var(--radius-md);font-size:var(--text-label);grid-column:1/-1;margin:0}.direct-nutrition-fields{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.direct-nutrition-fields>.details-toggle,.nutrition-toggle{grid-column:1/-1}.check-field{align-items:center;gap:var(--space-2);min-height:var(--control-touch);grid-column:1/-1;display:flex!important}.check-field input[type=checkbox]{width:20px;height:20px}.meal-draft-panel form{gap:var(--space-3);display:grid}.meal-draft-panel .form-field{margin:0}.meal-draft-details{padding-top:var(--space-1)}.draft-total{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-top:1px solid var(--border);padding-top:var(--space-2);margin:0}.draft-total+.draft-total-macros{margin-top:calc(var(--space-1) * -1)}.meal-draft-card{gap:var(--space-3);background:var(--surface-muted)}.meal-draft-card h3{font-size:var(--text-card)}.food-catalog-form>.details-toggle,.food-catalog-form>.form-actions,.food-advanced{grid-column:1/-1}.food-advanced{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.food-card-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.diet-panel>.record-card{padding-inline:0}.food-catalog-card strong{font-size:var(--text-body)}.secondary-panel{background:var(--surface)}.meal-photo-capture,.label-scan{gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);display:grid}.label-scan h3{font-size:var(--text-label);color:var(--text-secondary)}.meal-photo-capture h3{font-size:var(--text-section);font-weight:var(--weight-semibold);color:var(--text-primary)}.photo-pickers{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.photo-picker{min-height:var(--control-touch);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-medium);text-align:center;cursor:pointer;overflow-wrap:anywhere;justify-content:center;align-items:center;display:flex;position:relative}.photo-picker:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}.photo-picker input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-selected{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-label);margin:0;display:flex}.photo-selected span{overflow-wrap:anywhere;min-width:0}.photo-selected button{min-height:var(--control-touch);white-space:nowrap}.photo-hint{width:100%;min-width:0}.meal-photo-capture>.form-field{margin:0}.meal-photo-capture.is-complete{padding-block:var(--space-2)}.photo-analysis-complete{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.photo-analysis-complete h3{color:var(--text-primary);margin:0}.photo-analysis-complete button{min-height:var(--control-touch);white-space:nowrap;flex:none}.photo-recovery{gap:var(--space-2);flex-wrap:wrap;display:flex}.photo-recovery button{flex:auto;min-width:0}.label-review{gap:var(--space-4);display:grid}.label-group{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.label-group+.label-group{padding-top:var(--space-4);border-top:1px solid var(--border)}.label-group legend{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);padding:0}.label-field{gap:var(--space-1);min-width:0;display:grid}.label-field.needs-review input,.label-field.needs-review select{border-color:var(--warning-text);background:var(--warning-subtle)}.label-field.advisory input,.label-field.advisory select{border-color:var(--primary-text);background:var(--primary-subtle)}.label-unit{color:var(--text-muted);font-weight:var(--weight-regular)}.label-attention{color:var(--warning-text);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.label-advisory{color:var(--primary-text);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.label-evidence,.label-basis-note{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.label-warnings{padding-left:var(--space-4);color:var(--warning-text);font-size:var(--text-label);gap:2px;margin:0;display:grid}.label-warnings li{overflow-wrap:anywhere}.label-duplicate{margin:0}.label-scan .form-actions button{flex:auto;min-width:0}.label-sections{display:grid}.label-sections .draft-item-row:first-child,.label-sections .label-group:first-child .draft-item-head{border-top:0}.label-issues-title{font-weight:var(--weight-semibold);margin:0}@media (width>=641px){.label-group{grid-template-columns:repeat(2,minmax(0,1fr))}.label-group legend,.label-group .draft-item-head,.label-group .label-evidence,.label-group .label-basis-note{grid-column:1/-1}}.coach-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.coach-header h1,.coach-header h2,.coach-header p{margin:0}.coach-header h2{font-size:var(--text-section)}.coach-header>div{gap:2px;min-width:0;display:grid}.coach-header>div>p:last-child{color:var(--text-muted);font-size:var(--text-label)}.coach-context,.coach-empty,.coach-collision{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);min-width:0;font-size:var(--text-label);margin:0;display:grid}.coach-context p,.coach-empty p,.coach-collision p,.coach-empty h2,.coach-collision h2{margin:0}.coach-context strong{font-size:var(--text-body)}.coach-context .link-button{min-height:var(--control-touch);margin:calc(var(--space-3) * -1) 0;vertical-align:middle;display:inline}.coach-empty h2,.coach-collision h2{font-size:var(--text-card)}.coach-empty button{margin-top:var(--space-1);justify-self:start}.coach-conversation{gap:var(--space-5);min-width:0;display:grid}.coach-scroll-end{scroll-margin-bottom:calc(var(--coach-composer-height,9rem) + var(--nav-height) + env(safe-area-inset-bottom) + var(--space-4))}.coach-exchange{gap:var(--space-2);min-width:0;display:grid}.coach-message{gap:2px;min-width:0;max-width:92%;display:grid}.coach-message span{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold)}.coach-message p{white-space:pre-wrap;line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0}.coach-message.user{justify-self:end}.coach-message.user span{text-align:right}.coach-message.user p{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--primary-subtle);color:var(--primary-text)}.coach-message.assistant p{color:var(--text-primary)}.coach-recommendation{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);display:grid}.coach-recommendation h3,.coach-recommendation p{margin:0}.coach-recommendation h3{font-size:var(--text-label);color:var(--text-secondary)}.coach-recommendation ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.coach-recommendation li{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border);display:flex}.coach-recommendation li:first-child{border-top:0}.coach-recommendation li>div{gap:2px var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.coach-recommendation li strong,.coach-recommendation li span{overflow-wrap:anywhere}.coach-recommendation li>div span{color:var(--text-secondary);font-size:var(--text-label)}.coach-badge.catalog{background:var(--success-subtle);color:var(--success-text)}.coach-badge.ai_estimated{background:var(--warning-subtle);color:var(--warning-text)}.coach-badge.needs_review{background:var(--danger-subtle);color:var(--danger-text)}.coach-totals{padding-top:var(--space-2);border-top:1px solid var(--border);gap:2px;display:grid}.coach-totals>p:not(.message){color:var(--text-secondary);font-size:var(--text-label);margin:0}.coach-totals strong{color:var(--text-primary);font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.coach-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.coach-actions button{width:100%}.coach-composer{z-index:var(--z-composer);bottom:max(calc(var(--keyboard-inset) + var(--space-2)), calc(var(--nav-height) + env(safe-area-inset-bottom) + var(--space-2)));gap:var(--space-1);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-overlay);display:grid;position:sticky;box-shadow:0 2px 12px #16202e1a}.coach-composer label{font-size:var(--text-caption)}.coach-composer>div{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;min-width:0;display:grid}.coach-composer textarea{min-height:48px;max-height:9rem}.coach-composer button{min-width:72px}@media (width>=641px){.coach-composer{bottom:var(--space-2)}}.goal-panel{gap:0;padding:0;overflow:hidden}.goal-trigger{background:var(--surface);border:0;border-radius:0;min-height:60px}.goal-trigger[aria-expanded=true]{background:var(--primary-subtle)}.chevron{font-size:var(--text-section);transition:transform .15s}.chevron.open{transform:rotate(180deg)}.goal-form{gap:var(--space-5);padding:var(--space-4);border-top:1px solid var(--border);display:grid}.goal-form>section{gap:var(--space-3);display:grid}.goal-form h2{font-size:var(--text-label);color:var(--text-secondary);font-weight:var(--weight-semibold)}.goal-basic{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.goal-basic label,.goal-range label{gap:var(--space-1);min-width:0;display:grid}.app-header-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.theme-toggle{width:var(--control-touch);min-width:var(--control-touch);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-section);font-weight:var(--weight-regular);background:0 0;border:0;padding:0}.theme-toggle[aria-pressed=true]{background:var(--surface-muted);color:var(--primary-text)}@media (hover:hover){.theme-toggle:hover:not(:disabled){background:var(--surface-muted);color:var(--primary-text)}}.workout-page .record-list{background:0 0;border:0;gap:0;padding:0}.workout-page .record-list>h2{padding:0 0 var(--space-3);font-size:var(--text-section)}.workout-page .record-list>p,.workout-page .record-list>.empty-state,.workout-page .record-list>.message{padding-inline:0}.workout-page .workout-card{justify-content:stretch;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:minmax(0,1fr);display:grid}.workout-page .workout-card+.workout-card{margin-top:var(--space-3)}.workout-card-head{align-items:center}.workout-card-head strong{font-size:var(--text-section);letter-spacing:-.01em}.workout-card .workout-summary{margin-top:var(--space-2);color:var(--text-muted)}.workout-exercise-list{gap:var(--space-1);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.workout-exercise-list li{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.workout-exercise-name{min-width:0;font-weight:var(--weight-semibold);overflow-wrap:anywhere}.workout-exercise-sets{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;text-align:right;flex:0 auto}.workout-exercise-more{color:var(--text-muted);font-size:var(--text-label)}.workout-card-actions{justify-content:flex-end;align-items:center}.workout-card-actions button{min-height:var(--control-touch);color:var(--text-secondary);background:0 0;border-color:#0000}.workout-card-actions button[aria-expanded=true]{background:var(--primary-subtle);color:var(--primary-text)}.workout-card-actions .workout-card-menu{font-size:var(--text-section);border:0}.workout-card-overflow{margin-top:calc(var(--space-2) * -1);padding-top:var(--space-3);border-top:1px solid var(--border);justify-content:flex-end}.workout-card-overflow button{flex:0 7rem}.workout-detail{gap:var(--space-5);margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--border);display:grid}.workout-detail-exercise{gap:var(--space-3);min-width:0;display:grid}.workout-detail-exercise+.workout-detail-exercise{padding-top:var(--space-5);border-top:1px solid var(--border)}.workout-detail-exercise-head{gap:var(--space-1);min-width:0;display:grid}.workout-detail-exercise h3{font-size:var(--text-card);margin:0}.workout-detail-summary{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;margin:0}.workout-detail-notes{gap:var(--space-1);color:var(--text-muted);font-size:var(--text-caption);display:grid}.workout-detail-notes p{margin:0}.workout-set-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.workout-set-row{align-items:baseline;gap:var(--space-2);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-label);font-variant-numeric:tabular-nums;grid-template-columns:minmax(3rem,1.2fr) repeat(3,minmax(0,1fr));display:grid}.workout-set-row:first-child{border-top:0}.workout-set-row>span{text-align:right}.workout-set-row>.workout-set-number{text-align:left}.workout-set-row>.workout-set-rir{text-align:left;color:var(--text-secondary);font-size:var(--text-caption);grid-column:2/-1}.workout-set-number{color:var(--text-muted);font-weight:var(--weight-semibold)}.workout-set-status{color:var(--text-muted);font-size:var(--text-caption);white-space:nowrap}.workout-set-status.is-complete{color:var(--success-text);font-weight:var(--weight-semibold)}.workout-set-legacy-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workout-form>fieldset:first-of-type{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.workout-form .exercise-editor{padding-top:var(--space-5);border-top-color:var(--border)}.workout-form .exercise-editor-head{min-height:var(--control-touch);background:0 0;border:0;border-radius:0;padding-inline:0}.workout-form .exercise-editor.is-open .exercise-editor-head{color:var(--text-primary);background:0 0}.workout-form .exercise-editor-body{padding-top:var(--space-4)}.workout-form .set-editor{column-gap:var(--space-3);padding:var(--space-3) 0;border:0;border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-inline-size:0;margin:0}.workout-form .set-editor .set-fields,.workout-form .set-editor .set-completed-row,.workout-form .set-editor .set-rir,.workout-form .set-editor .move-actions{grid-column:1/-1}.workout-form .set-editor .set-fields{gap:var(--space-3)}.workout-form .set-editor .set-completed-row{min-height:var(--control-touch);padding-top:var(--space-1)}.workout-form .set-editor .move-actions{justify-content:flex-start}.workout-form .move-actions button,.execution-panel .move-actions button{min-height:var(--control-touch);padding-inline:var(--space-2);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);background:0 0;border-color:#0000}.workout-form .move-actions button.danger,.execution-panel .move-actions button.danger{color:var(--danger-text);background:0 0}.workout-form .set-editor>.form-field.set-rir{margin:0}.execution-exercise{border:0;border-radius:0;gap:0;overflow:visible}.execution-exercise-head{min-height:var(--control-touch);background:0 0;border:0;border-radius:0;padding-inline:0}.execution-exercise-body{padding:var(--space-3) 0 0;gap:0}.execution-panel .set-editor{column-gap:var(--space-3);padding:var(--space-3) 0;border:0;border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-inline-size:0;margin:0}.execution-panel .set-editor .set-fields,.execution-panel .set-editor .set-completed-row,.execution-panel .set-editor .set-rir{grid-column:1/-1}.execution-panel .set-editor .set-completed-row{min-height:var(--control-touch)}.execution-panel .set-editor .set-rir{margin:0}.execution-panel .set-editor.is-done{border-top-color:var(--success-text)}.execution-panel .set-editor.is-done .set-target{color:var(--success-text)}.progress-panel .trend-summary{gap:var(--space-4) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}.progress-panel .trend-summary div{min-width:0}.progress-panel .trend-summary strong{overflow-wrap:anywhere;min-width:0}.progress-panel .progress-metrics{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));display:grid}.progress-panel .progress-metrics button{min-width:0}.progress-panel .progress-point-detail{border-radius:var(--radius-md);background:var(--primary-subtle);border:0}.progress-panel .progress-history li{min-height:var(--control-touch);padding-block:var(--space-3)}.goal-basic label>div,.goal-range label>div{min-width:0;position:relative}.goal-basic input,.goal-range input{padding-right:var(--field-affix)}.goal-basic span,.goal-range span{right:var(--space-3);bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-label);position:absolute}.goal-range{gap:var(--space-1) var(--space-2);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;display:grid}.goal-range:first-of-type{border-top:0;padding-top:0}.goal-range>strong{font-size:var(--text-body);font-weight:var(--weight-semibold);grid-column:1/-1}.goal-range>b{padding-bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-label);font-weight:var(--weight-semibold)}.goal-range .field-error{grid-column:1/-1}.profile-fields{gap:var(--space-3);min-width:0;display:grid}.profile-fields label{gap:var(--space-1);min-width:0;display:grid}.profile-fields label>div{min-width:0;position:relative}.profile-fields label>div input{padding-right:var(--field-affix)}.profile-fields label>div span{right:var(--space-3);bottom:var(--space-3);color:var(--text-muted);font-size:var(--text-label);position:absolute}.activity-description{margin:0}.profile-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.profile-actions button{width:100%;min-height:44px}.recommendation{gap:var(--space-3);padding:var(--space-4);background:var(--surface-muted);border-radius:var(--radius-lg);display:grid}.recommendation h2{font-size:var(--text-label);color:var(--text-secondary)}.recommendation-calories{color:var(--text-secondary);font-size:var(--text-label);margin:0}.recommendation-calories strong{color:var(--text-primary);font-size:var(--text-metric);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.recommendation-macros{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.recommendation-macros li{padding:var(--space-2);background:var(--surface);border-radius:var(--radius-md);text-align:center;gap:2px;display:grid}.recommendation-macros span{color:var(--text-secondary);font-size:var(--text-caption)}.recommendation-macros strong{font-size:var(--text-body);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.recommendation-basis{gap:var(--space-1);margin:0;display:grid}.recommendation-basis div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-label);flex-wrap:wrap;display:flex}.recommendation-basis dt{color:var(--text-muted)}.recommendation-basis dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.recommendation-steps{padding-left:var(--space-4);color:var(--text-muted);font-size:var(--text-caption);gap:2px;margin:0;line-height:1.45;display:grid}.recommendation-summary{color:var(--text-secondary);font-size:var(--text-label);line-height:var(--leading-normal);margin:0}.recommendation>button{width:100%;min-height:44px}.onboarding-step{gap:var(--space-5);min-width:0;display:grid}.onboarding-step>.details-toggle{width:100%}.onboarding-goal-edit{gap:var(--space-3);display:grid}.onboarding-goal-edit h2{font-size:var(--text-label);color:var(--text-secondary)}.onboarding-composition{gap:var(--space-3);display:grid}.onboarding-composition.is-collapsed{opacity:0;pointer-events:none;max-height:0;overflow:hidden}.onboarding-composition.is-open{opacity:1;max-height:1200px;transition:max-height .2s,opacity .2s}.onboarding-actions{gap:var(--space-2);display:grid}.onboarding-actions button{width:100%;min-height:44px}@media (width<=400px){.profile-actions,.recommendation-macros{grid-template-columns:1fr}.recommendation-macros li{text-align:left;justify-content:space-between;display:flex}.food-advanced,.direct-nutrition-fields,.photo-pickers{grid-template-columns:1fr}.photo-selected{flex-direction:column;align-items:stretch}.photo-selected button{width:100%}.coach-header{flex-direction:column}.coach-header>button{width:100%}.coach-message{max-width:96%}.coach-recommendation li{flex-wrap:wrap;align-items:flex-start}.coach-composer>div{grid-template-columns:1fr}.coach-composer button{width:100%}}.routine-settings h3{font-size:var(--text-label);color:var(--text-secondary);margin:0}.settings-group{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}.settings-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-grid>div{align-content:start;gap:var(--space-1);min-width:0;display:grid}.stepper-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.stepper-row>label{min-width:0}@media (width<=340px){.stepper-row{flex-direction:column;align-items:stretch}}.routine-goal{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-3);background:var(--surface-muted);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.routine-goal h3{color:var(--text-secondary);font-size:var(--text-label);margin:0}.routine-goal-value{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.routine-goal .field-hint{flex-basis:100%}.routine-goal .link-button{min-height:var(--control-touch)}.chip-fieldset{gap:var(--space-2);padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--border);margin:0;display:grid}.chip-fieldset legend{color:var(--text-secondary);font-weight:var(--weight-semibold);font-size:var(--text-label);padding:0}.chip-group{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip-presets{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.chip-presets-label{color:var(--text-muted);font-size:var(--text-caption)}.chip-preset{min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--primary-text);font-size:var(--text-label);font-weight:var(--weight-medium);background:0 0;border:0;text-decoration:underline}.chip{align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-primary);font-size:var(--text-label);font-weight:var(--weight-regular);line-height:1.2;display:inline-flex}.chip-toggle{cursor:pointer;position:relative}.chip-toggle input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.chip-toggle:before{content:"";text-align:center;width:11px;display:inline-block}.chip-toggle:has(input:checked){border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-text);font-weight:var(--weight-semibold)}.chip-toggle:has(input:checked):before{content:"✓";font-weight:var(--weight-bold)}.chip-toggle:has(input:focus-visible){outline:3px solid var(--focus-ring);outline-offset:1px}.chip-toggle:has(input:disabled){background:var(--surface-muted);border-color:var(--border);color:var(--text-muted);cursor:not-allowed}.chip-static{background:var(--surface-sunken);border-color:var(--border)}.chip-retired{background:var(--warning-subtle);border-color:var(--warning-text);color:var(--warning-text)}.chip-list{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.chip-list li{align-items:center;display:inline-flex}.chip-remove{min-width:44px;min-height:44px;margin-left:calc(var(--space-2) * -1);color:var(--danger-text);font-size:var(--text-section);cursor:pointer;background:0 0;border:none}.routine-exercise-select{gap:var(--space-1);margin-top:var(--space-2);display:grid}.routine-exercise-select>button{min-height:44px}.routine-exercise-add{justify-self:start;width:auto}.routine-exercise-none{color:var(--text-muted);font-size:var(--text-label);margin:0}.routine-additional{min-height:5.5rem;line-height:var(--leading-normal)}.routine-draft{gap:var(--space-3);display:grid}.routine-basis{gap:var(--space-1);margin:0;display:grid}.routine-basis div{justify-content:space-between;gap:var(--space-3);font-size:var(--text-label);flex-wrap:wrap;display:flex}.routine-basis dt{color:var(--text-muted)}.routine-basis dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.routine-day{gap:var(--space-2);padding:var(--space-3);background:var(--surface-muted);border-radius:var(--radius-md);display:grid}.routine-day h3{font-size:var(--text-card);margin:0}.routine-day-meta{color:var(--text-muted);font-size:var(--text-caption);margin:0}.routine-day-focus{color:var(--text-secondary);font-size:var(--text-label);margin:0}.routine-day>button{width:100%;min-height:44px}.routine-exercise-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.routine-exercise-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-label);flex-wrap:wrap;display:flex}.routine-exercise-list li:first-child{border-top:0}.routine-exercise-name{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.routine-exercise-linked{color:var(--success-text);font-size:var(--text-caption)}.routine-exercise-unlinked{color:var(--warning-text);font-size:var(--text-caption);font-weight:var(--weight-medium)}.routine-exercise-sets{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;margin-left:auto}.routine-exercise-remove{min-height:44px;font-size:var(--text-label);flex-basis:100%}@media (hover:hover){.chip-toggle:hover{border-color:var(--primary)}.link-button:hover{color:var(--primary-hover)}}@media (width<=400px){.routine-exercise-sets{flex-basis:100%;margin-left:0}.weekly-highlight-day{margin-left:0}.weekly-review-nav button{font-size:var(--text-caption)}}.current-routine{gap:var(--space-3);display:grid}.current-routine>.form-actions>button{flex:auto;min-height:44px}.routine-progression{gap:var(--space-3);display:grid}.routine-progression>button{min-height:44px}.progression-card{gap:var(--space-2);padding:var(--space-3) 0 0;border-top:1px solid var(--border);min-width:0;display:grid}.progression-card:first-of-type{border-top:0;padding-top:0}.progression-head{align-items:center;gap:var(--space-2);font-size:var(--text-body);flex-wrap:wrap;margin:0;display:flex}.progression-status{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);white-space:nowrap}.progression-status.status-ready_to_increase_load,.progression-status.status-ready_to_increase_reps,.progression-status.status-ready_to_reduce_assistance{color:var(--success-text)}.progression-status.status-review_target,.progression-status.status-manual_review{color:var(--warning-text)}.progression-targets{gap:2px;margin:0;display:grid}.progression-targets div{align-items:baseline;gap:var(--space-1);font-size:var(--text-label);flex-wrap:wrap;display:flex}.progression-targets dt{color:var(--text-muted);flex:none}.progression-targets dd{font-weight:var(--weight-semibold);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.progression-proposed{color:var(--primary-text)}.progression-message{color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.progression-effort{color:var(--text-secondary);font-size:var(--text-caption);overflow-wrap:anywhere;margin:0}.progression-evidence{gap:2px;margin:0;padding:0;list-style:none;display:grid}.progression-evidence li{align-items:center;gap:var(--space-1);color:var(--text-muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.progression-evidence-date{font-weight:var(--weight-semibold);color:var(--text-secondary)}.progression-evidence-set{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.progression-met{color:var(--success-text)}.progression-unmet{color:var(--warning-text)}.progression-actions>button{width:100%;min-height:44px}.routine-editor{gap:var(--space-3);display:grid}.routine-day-editor{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);min-width:0;margin:0;display:grid}.routine-day-editor>legend{padding:0 var(--space-1);color:var(--text-secondary);font-weight:var(--weight-semibold)}.routine-editor .form-actions>button{flex:auto;min-height:44px}.routine-day-actions{padding-top:var(--space-2);border-top:1px solid var(--border)}.routine-day-actions button{min-width:0;padding-inline:var(--space-2);font-size:var(--text-label);font-weight:var(--weight-medium);flex:auto}.weekly-review-header{gap:var(--space-2);display:grid}.weekly-review-header h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.weekly-review-range{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.weekly-review-range strong{font-size:var(--text-card);font-variant-numeric:tabular-nums}.weekly-review-partial{color:var(--text-muted);font-size:var(--text-caption)}.weekly-review-goal{color:var(--text-muted);font-size:var(--text-label);margin:0}.weekly-review-nav{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.weekly-review-nav button{min-height:44px;padding:0 var(--space-1);font-size:var(--text-label);white-space:nowrap}.weekly-card h2{font-size:var(--text-card)}.weekly-insight-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.weekly-insight-list li{padding:var(--space-2) var(--space-3);background:var(--surface-muted);border-radius:var(--radius-md);gap:2px;display:grid}.weekly-insight-message{color:var(--text-primary);font-size:var(--text-label);line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0}.weekly-metrics{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));margin:0;display:grid}.weekly-metrics>div{align-content:start;gap:2px;min-width:0;display:grid}.weekly-metrics dt{color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere}.weekly-metrics dd{font-size:var(--text-metric-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.weekly-metric-note{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-regular);overflow-wrap:anywhere;display:block}.weekly-detail{color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.weekly-note,.weekly-empty{color:var(--text-muted);font-size:var(--text-label);overflow-wrap:anywhere;margin:0}.weekly-empty{padding:var(--space-2) 0}.weekly-adherence{gap:var(--space-2);display:grid}.weekly-adherence-count{font-size:var(--text-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.weekly-adherence-count .weekly-note{font-weight:var(--weight-regular);display:inline}.weekly-adherence-days{gap:2px;margin:0;padding:0;list-style:none;display:grid}.weekly-adherence-days li{justify-content:space-between;align-items:baseline;gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-3);background:var(--surface-muted);border-radius:var(--radius-md);font-size:var(--text-label);flex-wrap:wrap;display:flex}.weekly-adherence-days li.is-performed{background:var(--primary-subtle)}.weekly-adherence-day{overflow-wrap:anywhere;min-width:0}.weekly-adherence-state{color:var(--text-muted);font-size:var(--text-caption);overflow-wrap:anywhere}.weekly-adherence-days li.is-performed .weekly-adherence-state{color:var(--primary-text);font-weight:var(--weight-semibold)}.weekly-highlight-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.weekly-highlight-list li{align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border);font-size:var(--text-label);flex-wrap:wrap;display:flex}.weekly-highlight-list li:first-child{border-top:0}.weekly-highlight-name{font-weight:var(--weight-semibold);overflow-wrap:anywhere}.weekly-highlight-status{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--text-muted)}.weekly-highlight-status.status-ready_to_increase_load,.weekly-highlight-status.status-ready_to_increase_reps,.weekly-highlight-status.status-ready_to_reduce_assistance{color:var(--success-text)}.weekly-highlight-status.status-review_target{color:var(--warning-text)}.weekly-highlight-day{color:var(--text-muted);font-size:var(--text-caption);margin-left:auto}.weekly-goal-list{color:var(--text-secondary);font-size:var(--text-label);gap:2px;margin:0;padding:0;list-style:none;display:grid}.weekly-goal-list li{overflow-wrap:anywhere}.weekly-card>button{justify-self:start;min-height:44px}.quick-record-form{gap:var(--space-2);display:grid}.quick-record-form .form-field{margin:0}.quick-record-help{color:var(--text-secondary);font-size:var(--text-label);overflow-wrap:anywhere;margin:0;line-height:1.5}.draft-summary{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.draft-summary h2{font-size:var(--text-card)}.draft-summary p{color:var(--text-muted);font-size:var(--text-label);margin:0}.draft-bulk-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.draft-bulk-actions button{min-width:0;min-height:var(--control-touch);font-size:var(--text-label)}.draft-card{display:block}.draft-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.draft-select{align-items:center;gap:var(--space-2);min-height:var(--control-touch);cursor:pointer;display:flex}.draft-select input[type=checkbox]{flex-shrink:0;width:20px;height:20px}.draft-select .eyebrow{margin:0}.draft-status.ready{background:var(--success-subtle);color:var(--success-text)}.draft-status.needs-review{background:var(--warning-subtle);color:var(--warning-text)}.draft-status.saved{background:var(--success-subtle);color:var(--success-text)}.draft-status.saving{background:var(--surface-sunken);color:var(--text-secondary)}.draft-status.advisory{background:var(--primary-subtle);color:var(--primary-text)}.draft-card.is-saved{background:var(--surface-muted)}.draft-editor-fields{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.draft-editor-fields:disabled{opacity:.7}.draft-save-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.draft-save-actions p{color:var(--text-muted);font-size:var(--text-label);margin:0}.draft-save-actions button{flex:auto;min-width:0}.draft-card details{margin:var(--space-2) 0}.draft-card summary{cursor:pointer;min-height:var(--control-touch);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);align-items:center;display:flex}.diet-history-date-field{gap:var(--space-2);padding-top:var(--space-2)}.diet-history-date-field input[type=date]{height:var(--control-touch);min-height:var(--control-touch);padding-block:0;line-height:1.25}.quick-record-page .draft-bulk-actions,.quick-record-page .draft-save-actions,.diet-page .form-actions{gap:var(--space-3)}.draft-item-row,.draft-item-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border);display:flex}.draft-item-main{gap:2px;min-width:0;display:grid}.draft-item-name{font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.draft-item-detail{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.draft-item-main em{margin-top:2px}.draft-item-toggle{min-height:var(--control-touch);padding:0 var(--space-3);font-size:var(--text-label);flex:none}.draft-item-head legend,.draft-item-head .draft-item-name{padding:0}.draft-meta-row .draft-item-name{font-weight:var(--weight-medium)}@media (width<=640px){body{overflow-x:hidden}.app-header h1{font-size:1.375rem}.record-actions button{padding-inline:var(--space-2)}.plan-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.plan-actions>button:first-child{grid-column:1/-1}.body-weight-form .form-actions button[type=submit]{flex:auto}}@media (width>=641px){.workout-form-actions{bottom:var(--space-2);padding-bottom:var(--space-3)}}@media (width<=360px){.knowledge-filter,.tag-input-row,.goal-basic,.nutrition-grid,.diet-grid,.food-input,.trend-summary{grid-template-columns:1fr}}@media (width>=641px){.nutrition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.diet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.details-toggle,.panel-toggle{justify-self:start;width:auto;min-width:16rem}.goal-trigger,.progress-exercise-trigger,.food-catalog-form>.details-toggle,.nutrition-toggle,.direct-nutrition-fields>.details-toggle{justify-self:stretch;width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workout-form-heading,.execution-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.workout-form-heading h2,.execution-heading h2{margin:0}.eyebrow,.exercise-kicker{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px}.workout-form-count,.execution-heading-state{color:var(--primary-text);font-size:var(--text-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;flex:none}.workout-meta{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.workout-meta legend{margin-bottom:calc(var(--space-1) * -1);color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);padding:0}.workout-meta-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workout-meta-grid label{gap:var(--space-1);display:grid}.workout-exercise{gap:var(--space-3);min-width:0;padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}.workout-exercise-header{align-items:center;gap:var(--space-2);min-width:0;display:flex}.workout-exercise .exercise-editor-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;min-height:3.25rem;padding:var(--space-2) 0;text-align:left;background:0 0;border:0;border-radius:0;flex:auto;display:flex}.workout-exercise .exercise-editor-head:focus-visible{outline-offset:2px}.workout-exercise .exercise-editor-name{gap:2px;min-width:0;display:grid}.workout-exercise .exercise-editor-name strong{overflow-wrap:anywhere}.workout-exercise .exercise-editor-summary{max-width:48%;color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;text-align:right;flex:none}.workout-exercise-body{gap:var(--space-3);min-width:0;display:grid}.workout-exercise.is-collapsed .workout-exercise-body{display:none}.workout-exercise-name,.workout-exercise-name .exercise-name-field{gap:var(--space-1);display:grid}.workout-exercise-name .exercise-name-field input{min-height:var(--control-normal)}.exercise-load-note,.set-list-note,.execution-rir-hint{color:var(--text-secondary);font-size:var(--text-caption);margin:0;line-height:1.45}.set-list{border-top:1px solid var(--border);min-width:0}.set-list-header,.set-row{gap:var(--space-2);grid-template-columns:2rem minmax(0,1.2fr) minmax(0,.9fr) 2.75rem 6.25rem;min-width:0;display:grid}.set-list-header{padding:var(--space-2) 0;color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);align-items:center}.set-list-header span:nth-child(n+2):nth-child(-n+4){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-row{padding:var(--space-2) 0;border-top:1px solid var(--border);align-items:start;position:relative}.set-number{min-height:var(--control-normal);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.set-input-cell{align-content:start;gap:2px;min-width:0;display:grid}.set-input-cell>label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.set-input-cell input{width:100%;min-width:0;min-height:var(--control-normal);padding-inline:var(--space-2);text-align:center;font-variant-numeric:tabular-nums}.set-input-cell .field-error,.completion-cell .field-error,.set-secondary-field .field-error{font-size:var(--text-caption);grid-column:1/-1;margin:0}.completion-cell{min-height:var(--control-normal);justify-items:center;display:grid}.completion-control{cursor:pointer;place-items:center;width:44px;min-width:44px;min-height:44px;margin:0;display:inline-grid!important}.set-completion-input{opacity:0;width:1px;height:1px;position:absolute}.completion-glyph{border:1px solid var(--border-strong,var(--border));width:28px;height:28px;color:var(--text-secondary);border-radius:50%;place-items:center;font-size:1.05rem;line-height:1;display:grid}.set-completion-input:checked+.completion-glyph{border-color:var(--success-border,var(--primary-border));background:var(--success-subtle,var(--primary-subtle));color:var(--success-text,var(--primary-text));font-weight:var(--weight-bold)}.set-completion-input:focus-visible+.completion-glyph{outline:3px solid var(--focus-ring);outline-offset:2px}.set-secondary-field{align-items:center;gap:var(--space-2);min-height:2rem;color:var(--text-secondary);font-size:var(--text-caption);grid-column:2/-1;display:flex}.set-secondary-field label{color:var(--text-secondary);font-size:var(--text-caption);margin:0;display:block}.set-secondary-field input{width:3.5rem;min-height:2rem;padding-inline:var(--space-1);text-align:center;font-variant-numeric:tabular-nums}.set-secondary-field span{color:var(--text-muted)}.compact-actions{flex:none;align-items:center;gap:2px;display:flex}.compact-actions button{width:2rem;min-width:2rem;min-height:2rem;color:var(--text-secondary);background:0 0;border:0;place-items:center;padding:0;font-size:1rem;line-height:1;display:inline-grid}.compact-actions button:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}.compact-actions button.danger{color:var(--danger-text)}.set-actions{justify-content:flex-end;align-self:start}.add-set-button,.add-exercise-button{min-height:var(--control-normal);justify-self:start}.exercise-details-grid{gap:var(--space-3);display:grid}.execution-heading .routine-source{margin:2px 0 0}.execution-progress{gap:var(--space-2);padding:var(--space-2) 0;border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.progress-stat{gap:2px;min-width:0;display:grid}.progress-stat strong{color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-medium)}.progress-stat b{color:var(--text-primary);font-size:var(--text-label);font-variant-numeric:tabular-nums}.execution-exercise{border:1px solid var(--border);border-radius:var(--radius-md);gap:0;min-width:0;display:grid;overflow:hidden}.execution-exercise.is-open{border-color:var(--primary-border)}.execution-exercise-head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:4rem;padding:var(--space-2) var(--space-3);background:var(--surface-muted);color:var(--text-primary);text-align:left;border:0;border-radius:0;display:flex}.execution-exercise.is-open .execution-exercise-head{background:var(--primary-subtle);color:var(--primary-text)}.execution-exercise-name{gap:2px;min-width:0;display:grid}.execution-exercise-name strong{overflow-wrap:anywhere}.execution-exercise-name small{color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums}.execution-exercise-state{color:var(--text-secondary);font-size:var(--text-label);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.execution-exercise-state.is-done{color:var(--success-text);font-weight:var(--weight-semibold)}.execution-exercise-body{gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3) var(--space-3);display:grid}.execution-exercise-meta{gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.execution-exercise-meta span+span:before{margin-right:var(--space-2);content:"·";color:var(--text-muted)}.execution-set-list{border-top:1px solid var(--border);min-width:0}.execution-set-list-header,.execution-set-row{gap:var(--space-2);grid-template-columns:2rem 4.1rem minmax(0,1fr) 3.4rem 2.75rem;min-width:0;display:grid}.execution-set-list-header{padding:var(--space-2) 0;color:var(--text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);align-items:center}.execution-set-list-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.execution-set-row{padding:var(--space-2) 0;border-top:1px solid var(--border);align-items:start;position:relative}.execution-set-index{min-height:var(--control-normal);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;place-items:center;display:grid}.execution-target{min-height:var(--control-normal);color:var(--text-secondary);font-size:var(--text-caption);font-variant-numeric:tabular-nums;align-content:center;display:grid}.execution-input-cell{min-width:0;display:grid}.execution-input-cell>label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.execution-input-cell input{width:100%;min-width:0;min-height:var(--control-normal);padding-inline:var(--space-2);text-align:center;font-variant-numeric:tabular-nums}.execution-completion{align-self:start}.execution-rir-field{align-items:center;gap:var(--space-2);min-height:2rem;color:var(--text-secondary);font-size:var(--text-caption);grid-column:3/-1;display:flex}.execution-rir-field label{margin:0;display:block}.execution-rir-field input{width:3.5rem;min-height:2rem;padding-inline:var(--space-1);text-align:center;font-variant-numeric:tabular-nums}.execution-rir-field>span{display:none}.execution-next{min-height:var(--control-normal)}.execution-actions{z-index:var(--z-sticky);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-2));margin:var(--space-2) calc(var(--space-3) * -1) calc(var(--space-3) * -1);padding:var(--space-3) var(--space-3) calc(var(--space-3) + var(--safe-bottom));border-top:1px solid var(--border);background:var(--surface-overlay);position:sticky;box-shadow:0 -4px 12px #16202e14}.execution-actions>button{flex:8rem;min-width:0}@media (width<=400px){.workout-form-heading,.execution-heading{gap:var(--space-2)}.workout-exercise .exercise-editor-summary{max-width:42%;font-size:var(--text-caption)}.set-list-header,.set-row{gap:var(--space-1);grid-template-columns:1.75rem minmax(0,1fr) minmax(0,.8fr) 2.5rem 5.9rem}.execution-set-list-header,.execution-set-row{gap:var(--space-1);grid-template-columns:1.75rem 3.7rem minmax(0,1fr) 3.1rem 2.5rem}.compact-actions button{width:1.85rem;min-width:1.85rem}}.workout-form,.execution-panel{gap:var(--space-4);box-shadow:none}.workout-form-heading h2,.execution-heading h2{font-size:var(--text-section);font-weight:var(--weight-bold)}.workout-form-count,.execution-heading-state{color:var(--text-secondary);font-size:var(--text-label)}.workout-exercise{gap:var(--space-3);padding-top:var(--space-6)}.workout-exercise:first-of-type{border-top:0;padding-top:0}.workout-exercise-header{align-items:center}.workout-exercise .exercise-editor-head{min-height:var(--control-touch)}.workout-exercise .exercise-editor-name strong,.execution-exercise-name strong{font-size:17px;font-weight:var(--weight-bold);line-height:1.3}.workout-exercise .exercise-editor-summary{font-size:var(--text-caption)}.workout-exercise.is-open .exercise-editor-summary{color:var(--text-secondary)}.exercise-load-note{gap:2px;display:grid}.exercise-load-note p{margin:0}.set-list-note{margin-top:calc(var(--space-1) * -1)}.context-menu-anchor{flex:none;position:relative}.workout-form .context-menu-trigger{width:var(--control-touch);min-width:var(--control-touch);min-height:var(--control-touch);color:var(--text-secondary);letter-spacing:.12em;background:0 0;border-color:#0000;padding:0;font-size:18px}.workout-form .context-menu-trigger:focus-visible,.workout-form .context-menu-trigger:active,.context-menu-trigger[aria-expanded=true]{background:var(--surface-muted);border-color:var(--border);color:var(--text-primary)}.context-menu{z-index:var(--z-composer);top:calc(100% + var(--space-1));min-width:9.5rem;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:none;gap:2px;display:grid;position:absolute;right:0}.context-menu button{width:100%;min-height:var(--control-touch);padding-inline:var(--space-3);color:var(--text-primary);font-size:var(--text-label);text-align:left;background:0 0;border:0;justify-content:flex-start}.context-menu button:hover:not(:disabled){background:var(--surface-muted)}.context-menu button.danger{color:var(--danger-text)}.context-menu-divider{height:1px;margin:var(--space-1) 0;background:var(--border)}.set-list{border-top:0}.set-list-header,.set-row{grid-template-columns:26px minmax(58px,66px) minmax(48px,54px) minmax(44px,48px) 44px 44px;gap:6px}.set-list-header{padding:0 0 var(--space-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:var(--weight-medium)}.set-list-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-row{min-height:52px;padding:var(--space-1) 0;background:0 0;align-items:center}.set-row.is-completed{background:0 0}.set-input-cell{align-content:center}.set-input-cell input{border-radius:var(--radius-md);height:44px;min-height:44px;padding-inline:6px}.set-rir-cell{justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.set-rir-cell label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.set-rir-cell input{border-radius:var(--radius-md);text-align:center;font-variant-numeric:tabular-nums;width:44px;min-width:0;height:44px;min-height:44px;padding-inline:2px}.set-rir-empty{color:var(--text-muted);font-size:var(--text-body)}.completion-cell{min-height:44px}.completion-glyph{background:0 0;width:26px;height:26px}.set-completion-input:checked+.completion-glyph{background:0 0}.set-actions{display:none}.set-menu-anchor{justify-self:end}.set-menu-anchor .context-menu{right:0}.add-set-button,.add-exercise-button{min-height:var(--control-touch);padding-inline:var(--space-2);color:var(--primary-text);font-weight:var(--weight-medium);background:0 0;border-color:#0000}.add-set-button:hover:not(:disabled),.add-exercise-button:hover:not(:disabled){background:var(--surface-muted)}.execution-panel{gap:var(--space-4)}.execution-progress{gap:var(--space-2);padding:var(--space-2) 0;border-block:1px solid var(--border)}.progress-stat strong{color:var(--text-muted);font-size:11px}.progress-stat b{font-size:var(--text-label);font-weight:var(--weight-semibold)}.execution-exercise{border:0;border-radius:0;overflow:visible}.execution-exercise+.execution-exercise{padding-top:var(--space-6);border-top:1px solid var(--border)}.execution-exercise-head{min-height:52px;padding:var(--space-2) 0;background:0 0}.execution-exercise.is-open .execution-exercise-head{color:var(--text-primary);background:0 0}.execution-exercise-state{font-size:var(--text-label);color:var(--text-secondary)}.execution-exercise-state.is-done{color:var(--success-text)}.execution-exercise-name small{color:var(--text-muted);font-size:var(--text-caption);font-variant-numeric:tabular-nums;gap:2px;margin-top:2px;display:grid}.execution-exercise-name small span{overflow-wrap:anywhere;min-width:0}.execution-exercise-body{padding:var(--space-3) 0 0}.execution-set-list{border-top:0}.execution-set-list-header,.execution-set-row{gap:var(--space-1);grid-template-columns:30px minmax(82px,1.25fr) minmax(64px,1fr) 52px 44px}.execution-set-list-header{padding:0 0 var(--space-2);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:var(--weight-medium)}.execution-set-row{min-height:52px;padding:var(--space-1) 0;background:0 0;align-items:center}.execution-set-row.is-done{background:0 0}.execution-target{min-height:44px;color:var(--text-secondary);font-size:12px;line-height:1.25}.execution-target small{color:var(--text-primary);font-size:12px}.execution-input-cell{align-content:center}.execution-input-cell input{border-radius:var(--radius-md);height:44px;min-height:44px;padding-inline:6px}.execution-rir-field{grid-column:3/-1;gap:6px;min-height:24px;padding-bottom:4px;font-size:12px}.execution-rir-field input{border-radius:var(--radius-sm);width:44px;height:30px;min-height:30px;padding-inline:2px}.execution-rir-field span{color:var(--text-muted)}.execution-actions{margin-top:var(--space-2);border-top:1px solid var(--border);box-shadow:none}@media (hover:hover){.workout-exercise .exercise-editor-head:hover:not(:disabled),.execution-exercise-head:hover:not(:disabled){color:var(--text-primary);background:0 0}.context-menu-trigger:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}}@media (width<=400px){.set-list-header,.set-row{grid-template-columns:26px minmax(56px,1fr) minmax(48px,1fr) 44px 44px 44px;gap:6px}.execution-set-list-header,.execution-set-row{gap:var(--space-1);grid-template-columns:30px minmax(82px,1.15fr) minmax(64px,1fr) 52px 44px}.workout-exercise .exercise-editor-summary{max-width:45%}}.workout-page .collapsible-form.is-collapsed{display:none}.home-today-grid .home-card{padding:var(--space-4) 0;background:0 0;border:0;border-radius:0}.home-today-grid .home-card+.home-card{border-top:1px solid var(--border)}.home-draft-card.ds-notice h2{font-size:var(--text-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.home-draft-card.ds-notice p{margin:var(--space-1) 0 0}.home-draft-card.ds-notice .ds-button{margin-top:var(--space-3)}.home-weekly.ds-surface{padding:var(--space-4)}.body-weight-trend .trend-summary{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))}.body-weight-trend .trend-summary strong{white-space:nowrap}.body-weight-trend .trend-summary strong.is-empty{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text-muted)}.body-weight-form{padding:var(--space-5) 0 0;border:0;border-top:1px solid var(--border);background:0 0}.body-weight-form .ds-button{flex:auto}.quick-record-form{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.quick-record-form .nl-textarea{min-height:9rem}.quick-record-form .generate-button{margin-top:var(--space-1)}.quick-record-help{max-width:44rem}.diet-page .meal-draft-panel,.diet-page .meal-entry-panel,.diet-page .meal-photo-capture{background:0 0;border:0;border-radius:0;padding-inline:0}.diet-page .meal-draft-panel,.diet-page .meal-entry-panel{border-top:1px solid var(--border);padding-top:var(--space-5)}.diet-page .meal-photo-capture{padding-top:var(--space-4);border-top:1px solid var(--border)}.diet-page .nutrition-summary{gap:var(--space-4)}.diet-page .nutrition-grid{gap:var(--space-3)}.diet-page .nutrition-secondary{margin-top:0}.meal-draft-panel .generate-button{width:100%}.meal-draft-panel .ds-button{min-height:var(--control-touch)}.diet-page .food-input{padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0}.diet-page .food-input+.food-input{margin-top:var(--space-3)}.diet-page .photo-pickers{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.execution-rir-field{min-height:var(--control-touch);align-items:center}.execution-rir-field input{height:30px;min-height:30px}.workout-page .current-routine,.workout-page .routine-draft,.workout-page .routine-editor{background:0 0;border:0;border-radius:0;padding:0}.workout-page .current-routine .routine-day,.workout-page .routine-draft .routine-day{padding:var(--space-4) 0 0;border-top:1px solid var(--border);background:0 0;border-radius:0}.workout-page .current-routine .routine-day:first-of-type,.workout-page .routine-draft .routine-day:first-of-type{border-top:0;padding-top:0}.workout-page .routine-day>button{justify-self:start;width:auto}.workout-page .current-routine>.form-actions,.workout-page .routine-draft>.form-actions{padding-top:var(--space-3);border-top:1px solid var(--border)}.workout-page .routine-editor .routine-day-editor{border:0;border-top:1px solid var(--border);border-radius:0;padding-inline:0}.progress-panel .progress-headline strong,.progress-panel .trend-summary strong{white-space:nowrap}.progress-panel .trend-summary{align-items:start}.progress-panel .progress-point-detail{margin-top:var(--space-1)}.food-catalog-form .nutrition-field.nutrition-primary{font-weight:var(--weight-semibold);color:var(--text-primary)}.food-catalog-form .nutrition-field.nutrition-secondary{color:var(--text-muted)}.food-provenance,.food-review-state{margin-right:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-caption);display:inline-block}.food-review-state:not(.is-reviewed){background:var(--warning-subtle);color:var(--warning-text)}.food-review-state.is-reviewed{background:var(--success-subtle);color:var(--success-text)}@media (width<=400px){.progress-panel .trend-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-panel .trend-summary>div:last-child{grid-column:1/-1}}@media (width>=641px){.home-today-grid .home-card+.home-card{border-top:0;border-left:1px solid var(--border);padding-left:var(--space-4)}.home-today-grid .home-card{padding-block:var(--space-2)}}@media (width<=360px){.set-list-header,.set-row{gap:var(--space-1);grid-template-columns:24px minmax(48px,1fr) minmax(42px,1fr) 40px 40px 40px}.set-input-cell input{padding-inline:var(--space-1)}.body-weight-trend .trend-summary{gap:var(--space-1)}.body-weight-trend .trend-summary span{font-size:var(--text-caption)}.body-weight-trend .trend-summary strong,.body-weight-trend .trend-summary strong.is-primary-metric{font-size:var(--text-metric-sm)}}.auth-screen{min-height:100dvh;padding:var(--space-6) var(--gutter-right) var(--space-6) var(--gutter-left);justify-content:center;align-items:center;display:flex}.auth-screen-loading{color:var(--text-muted);margin:0}.auth-card{gap:var(--space-5);width:100%;max-width:420px;padding:var(--space-8) var(--space-6);text-align:center;display:grid;box-shadow:0 2px 12px #16202e1a}.auth-brand{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.14em;margin:0}.auth-heading{gap:var(--space-2);display:grid}.auth-title{font-size:var(--text-page);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.auth-subtitle{color:var(--text-secondary);font-size:var(--text-body);margin:0}.auth-card .ds-button{width:100%}.auth-example{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--primary-border);border-radius:var(--radius-md);background:var(--primary-subtle);display:grid}.auth-example p,.auth-example div,.auth-demo-note,.auth-benefits p{margin:0}.auth-example>p:first-child{color:var(--text-secondary)}.auth-example-arrow{color:var(--primary-text);font-weight:var(--weight-semibold)}.auth-example div{gap:var(--space-2);color:var(--text-secondary);grid-template-columns:4rem minmax(0,1fr);display:grid}.auth-example strong{color:var(--text-primary)}.auth-demo-note{color:var(--text-muted);font-size:var(--text-caption);text-align:center}.auth-benefits{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.auth-benefits p{gap:var(--space-1);color:var(--text-secondary);font-size:var(--text-caption);display:grid}.auth-benefits strong{color:var(--text-primary);font-size:var(--text-label)}@media (width<=640px){.auth-screen{padding-block:var(--space-4);align-items:start}.auth-card{padding:var(--space-5) var(--space-4)}.auth-benefits{grid-template-columns:1fr}}.auth-note{color:var(--text-muted);font-size:var(--text-caption);margin:0}.privacy-link{justify-self:start}.account-deletion-panel{gap:var(--space-4);padding:var(--space-5);border-color:var(--danger-text);display:grid}.account-deletion-panel h2{margin:0 0 var(--space-2)}.account-deletion-panel .ds-button{justify-self:start}.account-deletion-confirmation{gap:var(--space-3);display:grid}.account-deletion-confirmation p,.account-deletion-confirmation label{color:var(--text-secondary);margin:0}.account-deletion-confirmation input{min-height:var(--control-touch);max-width:320px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit}.account-deletion-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.privacy-page{min-height:100dvh;padding:var(--space-5);background:var(--surface-muted)}.privacy-card{gap:var(--space-5);width:min(100%,760px);padding:clamp(var(--space-5), 4vw, var(--space-7));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin:0 auto;display:grid}.privacy-card h1,.privacy-card h2,.privacy-card p{margin:0}.privacy-card section{gap:var(--space-2);display:grid}.privacy-card h2{font-size:var(--text-section)}.privacy-card p{color:var(--text-secondary);line-height:1.65}.privacy-home-link{color:var(--primary-text);font-weight:var(--weight-bold);text-decoration:none}.privacy-lead{color:var(--text-primary)!important}.consent-card{max-width:42rem}.consent-card>p{color:var(--text-secondary);margin:0;line-height:1.6}.consent-check{align-items:flex-start;gap:var(--space-2);color:var(--text-primary);line-height:1.5;display:flex}.consent-check input{width:1.1rem;height:1.1rem;margin-top:var(--space-1);flex:none}.consent-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.consent-actions>*{flex:12rem}.external-ai-consent-backdrop{z-index:var(--z-dialog);padding:var(--space-4) var(--gutter-right) calc(var(--nav-height) + var(--safe-bottom) + var(--space-4)) var(--gutter-left);background:#16202e61;place-items:end center;display:grid;position:fixed;inset:0}.external-ai-consent-dialog{gap:var(--space-4);width:min(100%,38rem);padding:var(--space-5);display:grid;box-shadow:0 8px 24px #16202e33}.external-ai-consent-dialog h2,.external-ai-consent-dialog p{margin:0}.external-ai-consent-dialog p{color:var(--text-secondary);line-height:1.6}.auth-landing-screen{padding:var(--space-4);background:var(--color-bg);align-items:start}.auth-landing{text-align:left;gap:var(--space-10);width:min(100%,80rem);max-width:80rem;padding:clamp(var(--space-5), 4vw, var(--space-12));border-radius:var(--radius-xl);box-shadow:none;background:0 0;border:0}.landing-nav{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.landing-nav .auth-brand{color:var(--color-text);font-size:var(--text-body);letter-spacing:-.02em;text-align:left;align-items:center;display:flex}.landing-nav .auth-brand:before{content:"P";width:1.65rem;height:1.65rem;margin-right:var(--space-2);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--primary-foreground);font-size:var(--text-label);font-weight:var(--weight-bold);place-items:center;display:grid}.landing-nav a{color:var(--color-text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);text-decoration:none}.landing-nav a:hover{color:var(--color-primary)}.landing-hero{gap:clamp(var(--space-8), 6vw, var(--space-16));grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);align-items:center;display:grid}.landing-copy{justify-items:start;gap:var(--space-4);display:grid}.landing-kicker{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0}.auth-landing .auth-heading{gap:var(--space-4);text-align:left}.auth-landing .auth-title{letter-spacing:-.06em;font-size:clamp(2.25rem,4.5vw,3.6rem);line-height:1.16}.auth-title span{color:var(--color-primary)}.auth-landing .auth-subtitle{max-width:31rem;color:var(--color-text-secondary);font-size:1rem;line-height:1.75}.landing-actions{gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.landing-actions .ds-button{width:auto;min-width:11rem;padding-inline:var(--space-5)}.auth-landing .auth-note,.auth-landing .auth-demo-note{text-align:left}.landing-product-story{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md);display:grid}.landing-input-card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-soft);color:var(--color-text-secondary);font-size:var(--text-label);line-height:1.65;display:grid}.landing-input-card p{color:var(--color-primary);font-size:var(--text-caption);font-weight:var(--weight-semibold);margin:0}.landing-input-card strong{color:var(--color-text);font-weight:var(--weight-medium)}.landing-flow{gap:var(--space-2);padding:var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-caption);font-weight:var(--weight-semibold);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.landing-flow span{color:var(--color-primary)}.auth-landing .auth-example{gap:var(--space-3);border-radius:var(--radius-lg);background:var(--color-bg-subtle);border:0}.auth-example div{padding-top:var(--space-2);border-top:1px solid var(--color-border);grid-template-columns:5.5rem minmax(0,1fr)}.auth-example div:first-of-type{border-top:0}.landing-dashboard{gap:var(--space-5);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:minmax(11rem,.8fr) minmax(0,1.3fr) minmax(14rem,1fr);align-items:center;display:grid}.landing-dashboard-title{gap:var(--space-1);display:grid}.landing-dashboard-title p{color:var(--color-primary);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.08em;margin:0}.landing-dashboard-title h3{color:var(--color-text);font-size:var(--text-section);margin:0}.landing-dashboard-title span{color:var(--color-text-tertiary);font-size:var(--text-label);line-height:1.55}.landing-preview-metrics{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.landing-preview-metrics>div{gap:var(--space-2);min-width:0;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-bg-subtle);display:grid}.landing-preview-metrics span{color:var(--color-text-secondary);font-size:var(--text-caption)}.landing-preview-metrics strong{color:var(--color-text);font-size:var(--text-card);font-variant-numeric:tabular-nums}.landing-preview-metrics small{color:var(--color-text-tertiary);font-size:var(--text-caption);font-weight:var(--weight-medium);white-space:nowrap}.landing-preview-metrics i{border-radius:var(--radius-pill);background:var(--color-primary);width:100%;height:4px}.preview-protein i{background:var(--color-nutrition)}.landing-preview-records{gap:var(--space-2);display:grid}.landing-preview-records p{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-caption);margin:0}.landing-preview-records p:last-child{border-bottom:0}.landing-preview-records b{min-width:2.5rem;color:var(--color-text);font-weight:var(--weight-semibold);display:inline-block}.auth-landing .auth-benefits{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.auth-landing .auth-benefits p{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.quick-record-intro{gap:var(--space-1);display:grid}.quick-record-intro h2,.quick-record-intro p{margin:0}.quick-record-intro h2{color:var(--color-text);font-size:var(--text-page);letter-spacing:-.03em}.quick-record-intro p{color:var(--color-text-secondary)}.quick-record-page>.panel-note{color:var(--color-text-tertiary)}.quick-record-composer{box-shadow:var(--shadow-md)}.quick-record-composer .form-field{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold)}.quick-record-composer .nl-textarea{padding:var(--space-4);border-color:var(--color-primary);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-size:var(--text-body);resize:vertical;line-height:1.65}.quick-record-composer .generate-button{width:100%;min-height:var(--control-lead);font-size:var(--text-body)}.quick-record-review{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:0}.quick-record-review .draft-summary{align-items:center}.quick-record-review .draft-summary .eyebrow{color:var(--color-primary)}.quick-record-review .draft-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.quick-record-review .draft-save-actions{padding-top:var(--space-4);border-top:1px solid var(--color-border)}@media (width>=641px){.quick-record-page{width:min(100%,68rem);margin:0 auto}.quick-record-page .quick-record-composer{padding:var(--space-6)}.quick-record-composer .generate-button{justify-self:start;width:auto;min-width:12rem}}@media (width<=640px){.auth-landing-screen{padding:var(--space-2)}.auth-landing{gap:var(--space-8);padding:var(--space-4)}.landing-hero{gap:var(--space-6);grid-template-columns:1fr}.auth-landing .auth-title{font-size:clamp(2.1rem,10vw,2.5rem)}.landing-actions{display:grid}.landing-actions .ds-button{width:100%}.landing-product-story{padding:var(--space-4)}.landing-dashboard{padding:var(--space-4);grid-template-columns:1fr}.landing-preview-metrics{gap:var(--space-2)}.landing-preview-metrics>div{padding:var(--space-2)}.auth-landing .auth-benefits{grid-template-columns:1fr}.quick-record-review{padding:var(--space-4)}}@media (width>=1024px){.app-shell.app-shell-wide{width:min(100%,75rem);max-width:75rem}.app-shell-wide .main-nav{width:min(100%,75rem)}.app-shell-wide .page-section{padding-inline:var(--space-8)}.app-shell-wide .home-page{max-width:none}}.auth-card.auth-landing{background:0 0;border:0}.landing-product-stack{gap:var(--space-4);grid-template-columns:minmax(16rem,.95fr) minmax(18rem,1.05fr);min-width:0;display:grid}.landing-product-stack .landing-product-story{padding:var(--space-4)}.landing-product-stack .landing-dashboard{align-content:start;gap:var(--space-3);padding:var(--space-4);grid-template-columns:1fr}.landing-product-stack .landing-preview-metrics{gap:var(--space-2);grid-template-columns:1fr}.landing-product-stack .landing-preview-metrics>div{grid-template-columns:minmax(3rem,.7fr) minmax(0,1.3fr);align-items:center}.landing-product-stack .landing-preview-metrics i{grid-column:1/-1}.landing-product-stack .landing-preview-records{gap:0}.auth-landing .auth-benefits{margin-top:var(--space-2)}.quick-record-intro{padding-top:var(--space-1)}.quick-record-intro p{color:var(--color-text-secondary);font-size:var(--text-body)}.quick-record-examples{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-bg-subtle);display:grid}.quick-record-examples .eyebrow{color:var(--color-text-tertiary);margin:0}.quick-record-examples>div{gap:var(--space-2);display:grid}.quick-record-examples article{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);display:grid}.quick-record-examples strong{color:var(--color-text);font-size:var(--text-label)}.quick-record-examples span{color:var(--color-text-secondary);font-size:var(--text-caption);line-height:1.45}.quick-record-review .draft-card:has(input:checked){border-color:var(--primary-border);background:var(--color-surface);box-shadow:inset 3px 0 0 var(--color-primary), var(--shadow-sm)}.quick-record-review .draft-card .draft-status.ready{background:var(--success-subtle);color:var(--success-text)}@media (width<=640px){.landing-product-stack{gap:var(--space-3);grid-template-columns:1fr}.landing-product-stack .landing-product-story,.landing-product-stack .landing-dashboard{padding:var(--space-3)}.landing-product-stack .landing-dashboard-title{align-items:center;column-gap:var(--space-2);grid-template-columns:auto 1fr}.landing-product-stack .landing-dashboard-title p{writing-mode:vertical-rl;grid-row:1/span 2}.landing-product-stack .landing-dashboard-title span{grid-column:2}.landing-product-stack .landing-preview-records{display:none}.landing-product-stack .landing-preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-product-stack .landing-preview-metrics>div{padding:var(--space-2);grid-template-columns:1fr}.landing-product-stack .landing-preview-metrics i{grid-column:auto}.landing-product-stack .landing-preview-metrics strong{font-size:var(--text-label)}.landing-product-stack .landing-preview-metrics small{margin-top:var(--space-1);display:block}.landing-product-stack .landing-input-card,.landing-product-stack .auth-example{padding:var(--space-3)}.landing-product-stack .auth-example div{grid-template-columns:4.5rem minmax(0,1fr)}}.onboarding-screen{min-height:100dvh;padding:var(--space-6) var(--gutter-right) var(--space-6) var(--gutter-left);justify-content:center;align-items:center;display:flex}.onboarding-card{gap:var(--space-5);width:100%;max-width:420px;padding:var(--space-6);display:grid;box-shadow:0 2px 12px #16202e1a}.onboarding-heading{gap:var(--space-2);display:grid}.onboarding-title{font-size:var(--text-page);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.onboarding-subtitle{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--leading-normal);margin:0}.install-guidance{z-index:var(--z-composer);right:max(var(--gutter-right), calc((100% - var(--page-max)) / 2 + var(--gutter-right)));bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-3));left:max(var(--gutter-left), calc((100% - var(--page-max)) / 2 + var(--gutter-left)));gap:var(--space-3);padding:var(--space-4);border:1px solid var(--primary-border);border-radius:var(--radius-lg);background:var(--surface-overlay);display:grid;position:fixed;box-shadow:0 8px 24px #16202e24}.install-guidance-copy{gap:var(--space-2);display:grid}.install-guidance h2,.install-guidance p,.install-guidance ol{margin:0}.install-guidance p,.install-guidance li{color:var(--text-secondary);font-size:var(--text-label)}.install-guidance ol{gap:var(--space-1);padding-left:calc(var(--space-5) + var(--space-1));display:grid}.install-guidance-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.install-guidance-actions button{flex:7rem}@media (width>=641px){.install-guidance{display:none}}.desktop-nav{display:none}.diet-page .nutrition-summary{padding:var(--space-5);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.diet-page .nutrition-summary h2{color:var(--color-text)}.diet-page .nutrition-summary .metric:first-child .metric-value{color:var(--color-nutrition);font-size:var(--text-metric)}.diet-page .nutrition-summary progress{color:var(--color-nutrition)}.diet-page .nutrition-summary progress::-webkit-progress-value{background:var(--color-nutrition)}.diet-page .nutrition-summary progress::-moz-progress-bar{background:var(--color-nutrition)}.diet-page .goal-summary{margin-top:calc(var(--space-2) * -1);padding-inline:var(--space-1)}.diet-page .record-list{background:0 0;border:0;border-radius:0}.diet-page .record-list>h2{padding:var(--space-4) 0 var(--space-3)}.diet-page .meal-group{padding:var(--space-1) 0;border-top-color:var(--color-border)}.diet-page .meal-group h3{padding:var(--space-3) 0 var(--space-1);color:var(--color-nutrition)}.diet-page .meal-group .record-card{padding-inline:0}.diet-page .record-card{gap:var(--space-2)}.diet-page .record-card strong{font-size:var(--text-card)}.diet-page .record-actions button{min-height:var(--control-touch)}.diet-page .meal-draft-panel{gap:var(--space-4)}.diet-page .meal-draft-panel .generate-button{background:var(--color-primary)}.meal-record-hub{gap:var(--space-3);display:grid}.meal-record-toggle strong{font-size:var(--text-body)}.meal-record-hub [tabindex="-1"]:focus-visible{outline-offset:4px}.meal-method-alt{gap:var(--space-2);display:grid}.meal-method-caption{color:var(--text-muted);font-size:var(--text-caption);margin:0}.meal-method-switch{gap:var(--space-2);flex-wrap:wrap;display:flex}.meal-method-switch .ds-button{min-height:var(--control-touch);flex:auto}.workout-page .plan-page{gap:var(--space-5)}.workout-page .today-start,.workout-page .plan-summary,.workout-page .execution-panel{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.workout-page .today-start h2:before,.workout-page .plan-summary h2:before,.workout-page .execution-panel>h2:before{content:"✦";margin-right:var(--space-2);color:var(--color-workout)}.workout-page .routine-preview{border-color:var(--color-border);background:var(--color-workout-soft)}.workout-page .routine-preview h3,.workout-page .exercise-editor-summary{color:var(--color-workout)}.workout-page .plan-summary .plan-exercise,.workout-page .execution-exercise{padding:var(--space-4) 0;border-top-color:var(--color-border)}.workout-page .plan-summary .plan-exercise:first-of-type,.workout-page .execution-exercise:first-of-type{border-top:0;padding-top:0}.workout-page .execution-set-row.is-done{box-shadow:inset 3px 0 0 var(--color-workout)}.workout-page .execution-set-row.is-done .execution-target{color:var(--color-workout)}.workout-page .plan-manual{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.workout-page .plan-manual .panel-toggle[aria-expanded=true]{border-color:var(--color-border);background:var(--color-workout-soft);color:var(--color-workout)}.settings-page{max-width:44rem;margin-inline:auto}.settings-intro{margin-top:calc(var(--space-3) * -1)}.settings-group{gap:var(--space-3);display:grid}.settings-group-heading{gap:2px;display:grid}.settings-group-heading .eyebrow{color:var(--color-primary)}.settings-group-heading h2{font-size:var(--text-section)}.settings-group-heading .panel-note{margin-top:var(--space-1)}.settings-goals .goal-panel,.settings-goals .profile-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.settings-goals .goal-panel+.goal-panel{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.settings-appearance,.settings-ai-usage,.settings-account{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:grid}.settings-theme-options{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-theme-options .ds-button{min-width:0;min-height:var(--control-touch)}.settings-theme-options .ds-button[aria-pressed=false]{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.settings-theme-options .ds-button[aria-pressed=true]{background:var(--color-primary-soft);border-color:var(--primary-border);color:var(--color-primary)}html[data-theme=dark] .settings-theme-options .ds-button[aria-pressed=false]{border-color:var(--color-border-strong);color:var(--color-text-secondary);background:var(--color-surface)!important}html[data-theme=dark] .settings-theme-options .ds-button[aria-pressed=true]{border-color:var(--primary-border);color:var(--color-primary);background:var(--color-primary-soft)!important}.settings-ai-usage .metric-value{color:var(--color-primary);font-size:var(--text-metric)}.settings-account{border-top:1px solid var(--color-border)}.settings-page .account-deletion-panel{margin-top:var(--space-2);padding:var(--space-5);border-radius:var(--radius-xl);background:var(--color-surface)}.settings-page .privacy-link{color:var(--color-text-secondary);align-self:start}.body-weight-page{gap:var(--space-5);display:grid}.body-weight-page .body-weight-trend{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);display:grid}.body-weight-page .trend-heading h2{color:var(--color-text)}.body-weight-page .trend-summary strong.is-primary-metric{color:var(--color-weight)}.body-weight-page .body-weight-form{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.body-weight-page .record-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.body-weight-page .body-composition-section{background:var(--color-surface-muted)}.body-weight-page .body-composition-section>h2{margin-left:var(--space-5);padding-inline:0}.body-weight-page .body-composition-section>.ds-button,.body-weight-page .body-composition-section>.body-composition-form,.body-weight-page .body-composition-section>.body-composition-latest{margin-inline:var(--space-5)}.body-weight-page .body-composition-latest{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.body-weight-page .body-composition-metrics{gap:var(--space-2)}.body-weight-page .trend-chart{min-height:10rem}.workout-page .workout-history-page{gap:var(--space-3);display:grid}.workout-page .history-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workout-page .history-header h2{font-size:var(--text-section);margin:0}.workout-page .history-toolbar{justify-content:flex-end;margin:0}.workout-page .history-toolbar>button.secondary{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}.workout-page .workout-filter{box-shadow:var(--shadow-sm);margin:0}.workout-page .plan-review{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}.workout-page .plan-review-heading{color:var(--color-workout)}.workout-page .current-routine{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.workout-page .current-routine>h2{color:var(--color-text)}.workout-page .current-routine>h2:before{content:"✦";margin-right:var(--space-2);color:var(--color-workout)}.workout-page .current-routine .routine-day{padding-top:var(--space-5)}.workout-page .routine-progression{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface-muted)}.workout-page .routine-progression>h2{color:var(--color-workout)}.workout-page .workout-analysis-page{gap:var(--space-4);display:grid}.workout-page .progress-panel{padding:var(--space-5);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.workout-page .progress-headline strong{color:var(--color-workout);font-size:var(--text-display-sm)}.workout-page .progress-chart-wrap{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted)}.workout-page .section-link{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-muted)}html[data-theme=dark] .workout-page .progress-panel .progress-exercise-trigger,html[data-theme=dark] .workout-page .progress-panel .progress-metrics button:not(.active),html[data-theme=dark] .workout-page .progress-panel .trend-periods button:not(.active){border-color:var(--color-border-strong);color:var(--color-text-secondary);background:var(--color-surface-muted)!important}html[data-theme=dark] .workout-page .progress-panel .progress-metrics button.active,html[data-theme=dark] .workout-page .progress-panel .trend-periods button.active{border-color:var(--primary-border);color:var(--color-primary);background:var(--color-primary-soft)!important}.weekly-review-page{gap:var(--space-5);display:grid}.weekly-review-page .weekly-insights{padding:var(--space-5);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.weekly-review-page .weekly-insights h2{font-size:var(--text-section)}.weekly-at-a-glance,.weekly-details{gap:var(--space-4);display:grid}.weekly-at-a-glance .weekly-card,.weekly-details .weekly-card{height:100%}.weekly-at-a-glance .weekly-card:first-child h2{color:var(--color-weight)}.weekly-at-a-glance .weekly-card:nth-child(2) h2{color:var(--color-workout)}.weekly-at-a-glance .weekly-card:nth-child(3) h2{color:var(--color-nutrition)}.weekly-review-page .weekly-card{padding:var(--space-5);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.weekly-review-page .weekly-review-nav{width:min(100%,27rem)}.weekly-review-page>.plan-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted)}@media (width>=641px){.diet-page .nutrition-grid{grid-template-columns:1.5fr repeat(3,minmax(0,1fr));align-items:end}.diet-page .nutrition-secondary{padding-top:var(--space-4)}.diet-page .meal-draft-panel .generate-button{width:auto;min-width:11rem}.settings-page{column-gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);max-width:none}.settings-page>.section-heading,.settings-page>.settings-intro,.settings-page>.message,.settings-page>.settings-goals,.settings-page>.account-deletion-panel{grid-column:1/-1}.settings-page>.settings-appearance{grid-column:1}.settings-page>.settings-ai-usage,.settings-page>.settings-account{grid-column:2}.body-weight-page{grid-template-columns:minmax(0,1.45fr) minmax(18rem,.85fr);align-items:start}.body-weight-page>.body-weight-trend,.body-weight-page>.record-list{grid-column:1}.body-weight-page>.body-weight-form,.body-weight-page>.body-composition-section{grid-column:2}.body-weight-page>.message{grid-column:1/-1}.weekly-at-a-glance{grid-template-columns:repeat(3,minmax(0,1fr))}.weekly-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.desktop-nav{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;display:flex}.desktop-nav button{min-height:var(--control-touch);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);white-space:nowrap;background:0 0;border:0}.desktop-nav button .nav-icon{width:1rem;height:1rem}.desktop-nav button.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.main-nav{display:none}.app-header-bar{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.app-shell.app-shell-wide .diet-page,.app-shell.app-shell-wide .workout-page{max-width:68rem;margin-inline:auto}.diet-page .nutrition-summary{padding:var(--space-6)}.workout-page .plan-page{justify-self:stretch;width:100%;max-width:58rem;margin-inline:auto}.workout-page .today-start,.workout-page .plan-summary,.workout-page .execution-panel{width:100%;padding:var(--space-6);justify-self:stretch}}@media (width<=360px){.diet-page .nutrition-summary{padding:var(--space-4)}.settings-theme-options{grid-template-columns:1fr}.workout-page .today-start,.workout-page .plan-summary,.workout-page .execution-panel,.body-weight-page .body-weight-trend,.workout-page .current-routine,.workout-page .routine-progression,.workout-page .progress-panel,.weekly-review-page .weekly-card,.weekly-review-page .weekly-insights{padding:var(--space-4)}}.meal-coach-page{width:min(100%,54rem);margin-inline:auto}.meal-coach-page .coach-context{padding:var(--space-4);border-color:var(--color-border);border-left:3px solid var(--color-nutrition);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.meal-coach-page .coach-empty{padding:var(--space-5);border-color:var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.meal-coach-page .coach-empty button{background:var(--color-primary)}.meal-coach-page .coach-recommendation{gap:var(--space-4);padding:var(--space-5);border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.meal-coach-page .coach-recommendation h3{color:var(--color-nutrition)}.meal-coach-page .coach-totals{padding-top:var(--space-3)}.meal-coach-page .coach-composer{border-color:var(--color-border-strong);background:var(--color-surface-elevated);box-shadow:var(--shadow-md)}.meal-coach-page .coach-composer button{background:var(--color-primary)}.diet-page .meal-photo-capture{gap:var(--space-4);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.diet-page .meal-photo-capture h3:before,.label-scan h3:before{content:"⌁";width:1.5rem;height:1.5rem;margin-right:var(--space-2);border-radius:var(--radius-sm);background:var(--color-nutrition-soft);color:var(--color-nutrition);font-size:var(--text-body);vertical-align:-1px;place-items:center;display:inline-grid}.diet-page .photo-picker,.label-scan .photo-picker{min-height:var(--control-touch);border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.diet-page .photo-picker:first-child{border-color:var(--color-primary);color:var(--color-primary)}.diet-page .photo-selected{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface)}.diet-page .meal-photo-capture.is-complete{border-style:solid;border-color:var(--color-nutrition);background:var(--color-nutrition-soft)}.diet-page .meal-draft-card{border-color:var(--color-border);background:var(--color-surface)}.food-catalog-page{gap:var(--space-4);width:min(100%,62rem);margin-inline:auto;display:grid}.food-catalog-page>.form-field{width:min(100%,32rem);margin:0}.food-catalog-panel{gap:var(--space-4);padding:var(--space-4);border-color:var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.food-catalog-list{gap:0;display:grid}.food-catalog-list h2{margin:0 0 var(--space-2);font-size:var(--text-section)}.food-catalog-list .food-catalog-card{padding-inline:0}.food-catalog-panel .panel-toggle{padding:var(--space-3) 0;border-top:1px solid var(--color-border);background:0 0;border-radius:0}.food-catalog-panel .panel-toggle strong{color:var(--color-text)}.food-catalog-note{color:var(--color-text-tertiary);font-size:var(--text-caption);margin:0}.food-catalog-panel .label-scan{padding:var(--space-4);border-color:var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.food-catalog-panel .label-review{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface)}.food-catalog-panel .label-group+.label-group{padding-top:var(--space-4);border-color:var(--color-border)}.food-catalog-panel .food-provenance,.food-catalog-panel .food-review-state{margin-right:var(--space-1)}@media (width<=640px){.food-catalog-list .food-catalog-card{grid-template-columns:minmax(0,1fr);display:grid}.food-catalog-list .food-card-actions{justify-content:flex-end;width:100%}}.knowledge-page{width:min(100%,62rem);margin-inline:auto}.knowledge-page .section-heading{margin-bottom:0}.knowledge-page .knowledge-filter{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.knowledge-page .knowledge-compose>button{min-height:var(--control-touch)}.knowledge-page .knowledge-form{margin-top:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.knowledge-page .record-list{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);overflow:hidden}.knowledge-page .knowledge-card{padding:var(--space-4)}.knowledge-page .knowledge-card h3{font-size:var(--text-card)}.knowledge-page .knowledge-preview{color:var(--color-text-secondary);line-height:var(--leading-normal)}.knowledge-page .record-actions button{min-height:var(--control-touch)}.onboarding-screen{background:var(--color-bg-subtle)}.onboarding-card{gap:var(--space-6);border-color:var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg)}.onboarding-card .auth-brand{color:var(--color-primary)}.onboarding-card .profile-fields{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.onboarding-card .activity-description{grid-column:1/-1;margin:0}.onboarding-card .details-toggle{border-color:var(--color-border);background:var(--color-surface-muted);color:var(--color-text-secondary)}.onboarding-card .onboarding-composition.is-open{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.onboarding-card .recommendation{border:1px solid var(--color-border);background:var(--color-surface-muted);box-shadow:var(--shadow-sm)}.onboarding-card .onboarding-goal-edit{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.onboarding-card .onboarding-actions>button:first-child{background:var(--color-primary)}@media (width>=641px){.food-catalog-page,.knowledge-page{width:min(100%,68rem)}.knowledge-page .knowledge-filter{grid-template-columns:1.3fr repeat(2,minmax(0,.8fr)) auto;align-items:end}.knowledge-page .knowledge-filter .form-actions{grid-column:auto}.onboarding-card{max-width:34rem}}@media (width<=400px){.meal-coach-page .coach-recommendation,.knowledge-page .knowledge-form{padding:var(--space-4)}.food-catalog-panel,.diet-page .meal-photo-capture{padding:var(--space-3)}}.admin-screen{min-height:100dvh;padding:var(--space-6) var(--gutter-right) var(--space-6) var(--gutter-left);background:var(--color-bg-subtle);justify-content:center;align-items:center;display:flex}.admin-card{gap:var(--space-5);width:100%;max-width:420px;padding:var(--space-6);display:grid}.admin-shell{width:min(100%,75rem);padding:var(--space-4) var(--gutter-right) var(--space-8) var(--gutter-left);margin-inline:auto}.admin-header-bar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-brand{color:var(--text-muted);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.14em}.admin-nav{gap:var(--space-1);flex-wrap:wrap;display:flex}.admin-nav button{min-height:var(--control-touch);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium);background:0 0;border:0}.admin-nav button.active{background:var(--primary-subtle);color:var(--primary-text);font-weight:var(--weight-semibold)}.admin-header h1{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-page);font-weight:var(--weight-bold);color:var(--text-primary)}.admin-main{gap:var(--space-4);display:grid}.admin-loading{color:var(--text-muted);padding:var(--space-6) 0;text-align:center}.admin-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));align-items:start;display:grid}.admin-stat{gap:var(--space-1);padding:var(--space-4);display:grid}.admin-stat h2{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-semibold);margin:0}.admin-figure{color:var(--text-primary);font-size:var(--text-metric);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;margin:0}.admin-caption{color:var(--text-muted);font-size:var(--text-caption);margin:0}.admin-table-surface{padding:var(--space-2);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-caption)}.admin-table th,.admin-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;white-space:nowrap}.admin-table th{color:var(--text-muted);font-weight:var(--weight-semibold)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-search-surface{gap:var(--space-2);padding:var(--space-4);display:grid}.admin-search{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-search input[type=search]{width:auto;min-height:var(--control-touch);flex:16rem}.admin-user-identity{white-space:normal;max-width:18rem}.admin-user-identity,.admin-user-lines{gap:var(--space-1);display:grid}.admin-user-name{color:var(--text-primary);font-weight:var(--weight-semibold)}.admin-user-email{word-break:break-all}.admin-user-email-none{color:var(--text-muted)}.admin-user-id{color:var(--text-muted);font-variant-numeric:tabular-nums}.admin-user-usage{font-variant-numeric:tabular-nums}.admin-user-actions{position:relative}.admin-user-confirm{gap:var(--space-2);min-width:16rem;margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);text-align:left;white-space:normal;display:grid}.admin-user-confirm-text{color:var(--text-primary);font-size:var(--text-caption);margin:0}.admin-user-confirm-buttons{gap:var(--space-2);display:flex}.admin-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-caption);display:flex}.admin-pagination button{min-height:var(--control-touch);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font:inherit}.admin-pagination button:disabled{cursor:not-allowed;color:var(--text-muted);opacity:.55}.admin-service-list{gap:var(--space-3);padding:var(--space-5);max-width:44rem;display:grid}.admin-service-list dl{gap:0;margin:0;display:grid}.admin-service-list dl>div{justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.admin-service-list dt{color:var(--text-secondary)}.admin-service-list dd{color:var(--text-primary);font-weight:var(--weight-medium);margin:0}.ds-button,.ds-icon-button{transition:background-color .15s,border-color .15s,color .15s,transform .15s}.ds-button{min-height:var(--control-touch);border-radius:var(--radius-md);font-weight:var(--weight-semibold);border:1px solid #0000}.ds-button-primary{background:var(--primary);color:var(--primary-foreground)}.ds-button-secondary{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}:root[data-theme=dark] .ds-button-secondary,html[data-theme=dark] button.ds-button-secondary{border-color:var(--primary-border);color:var(--primary-text);background:var(--primary-subtle)!important}.ds-button-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.ds-button-danger{background:var(--danger-subtle);color:var(--danger-text);border-color:#0000}.ds-button[aria-pressed=true]{background:var(--primary-subtle);border-color:var(--primary-border);color:var(--primary-text)}.ds-button[aria-invalid=true],.ds-button.is-error{border-color:var(--danger-text)}.ds-button:active:not(:disabled){transform:translateY(1px)}.ds-button:focus-visible,.ds-icon-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.ds-button:disabled,.ds-button[data-loading=true]{cursor:not-allowed;background:var(--surface-sunken);color:var(--text-secondary);border-color:#0000}.ds-icon-button{width:var(--control-touch);min-width:var(--control-touch);min-height:var(--control-touch);border-radius:var(--radius-md);border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.ds-icon-button:active:not(:disabled){transform:translateY(1px)}.ds-icon-button:disabled{cursor:not-allowed;background:var(--surface-sunken);color:var(--text-muted)}.ds-icon-button[aria-pressed=true]{background:var(--primary-subtle);color:var(--primary-text)}.ds-icon-button[aria-invalid=true],.ds-icon-button.is-error{border-color:var(--danger-text)}.ds-surface{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0}.ds-notice{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-label);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.ds-notice:before{content:"•";color:var(--text-muted);font-size:var(--text-body);line-height:1.3}.ds-notice strong{color:var(--text-primary);font-weight:var(--weight-semibold);display:block}.ds-notice>div{min-width:0}.ds-notice-success{border-color:var(--success-border);background:var(--success-subtle)}.ds-notice-success:before{content:"✓";color:var(--success-text)}.ds-notice-warning{border-color:var(--warning-border);background:var(--warning-subtle)}.ds-notice-warning:before{content:"!";color:var(--warning-text)}.ds-notice-error{border-color:var(--danger-text);background:var(--danger-subtle)}.ds-notice-error:before{content:"!";color:var(--danger-text)}@media (hover:hover){.ds-button-primary:hover:not(:disabled){background:var(--primary-hover)}.ds-button-secondary:hover:not(:disabled){background:var(--primary-subtle);border-color:var(--primary)}.ds-button-ghost:hover:not(:disabled),.ds-icon-button.ds-button-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text-primary)}.ds-button-danger:hover:not(:disabled){background:var(--danger-subtle-hover)}}.home-page{align-content:start;gap:var(--space-4);display:grid}.home-header{gap:2px;display:grid}.home-header h1,.home-header p{margin:0}.home-header h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-date{color:var(--text-primary);font-size:var(--text-card);font-weight:var(--weight-semibold)}.home-goal{color:var(--text-muted);font-size:var(--text-label)}.home-draft-card{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--primary-border);border-radius:var(--radius-lg);background:var(--primary-subtle);display:flex}.home-draft-card.ds-notice{display:flex}.home-draft-card.ds-notice:before{display:none}.home-draft-card>div{min-width:0}.home-draft-card h2{font-size:var(--text-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.home-draft-card p{color:var(--text-secondary);font-size:var(--text-caption);overflow-wrap:anywhere;margin:2px 0 0}.home-draft-card button{flex:none}.home-today-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.home-card{gap:var(--space-2);overflow-wrap:anywhere}.home-card h3{color:var(--text-secondary);font-size:var(--text-label);font-weight:var(--weight-medium)}.home-card h2{font-size:var(--text-card)}.home-primary-value{color:var(--text-primary);font-size:var(--text-metric);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);margin:0}.home-primary-value span{color:var(--text-muted);font-size:var(--text-label);font-weight:var(--weight-medium);white-space:nowrap}.home-target-value{margin:calc(var(--space-2) * -1) 0 0;color:var(--text-muted);font-size:var(--text-label);font-weight:var(--weight-medium)}.home-today-grid .home-metric-card{min-height:9rem;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);align-self:start;position:relative}.home-metric-card:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--primary)}.home-metric-weight:before{background:var(--color-weight)}.home-metric-nutrition:before{background:var(--color-nutrition)}.home-metric-workout:before{background:var(--color-workout)}.home-progress{margin-top:var(--space-2)}.nutrition-progress{color:var(--color-nutrition)}.nutrition-progress::-webkit-progress-value{background:var(--color-nutrition)}.nutrition-progress::-moz-progress-bar{background:var(--color-nutrition)}.home-card-note{color:var(--text-muted);font-size:var(--text-caption);margin:0;line-height:1.45}.home-empty{color:var(--text-muted);font-size:var(--text-label);margin:0;line-height:1.45}.home-card-action{width:100%;margin-top:auto}.home-quick-actions{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap;display:flex}.home-quick-actions .ds-button{min-width:8.75rem;padding-inline:var(--space-4)}.home-weekly{gap:var(--space-3)}.home-records{gap:var(--space-3);display:grid}.home-records>h2{color:var(--color-text);font-size:var(--text-section);margin:0}.home-record-list{gap:var(--space-2);display:grid}.home-record-row{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);grid-template-columns:2.75rem minmax(0,1fr);align-items:center;display:grid}.home-record-row>span{border-radius:var(--radius-md);background:var(--color-bg-subtle);width:2.75rem;min-height:2.75rem;color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);place-items:center;display:grid}.home-record-food>span{background:var(--color-nutrition-soft);color:var(--color-nutrition)}.home-record-workout>span{background:var(--color-workout-soft);color:var(--color-workout)}.home-record-weight>span{background:var(--color-weight-soft);color:var(--color-weight)}.home-record-row div{min-width:0}.home-record-row strong{color:var(--color-text);font-size:var(--text-label);overflow-wrap:anywhere;display:block}.home-record-row p{margin:var(--space-1) 0 0;color:var(--color-text-tertiary);font-size:var(--text-caption);overflow-wrap:anywhere}.home-insight-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.home-insight-list li{gap:2px;min-width:0;display:grid}.home-insight-list p{font-size:var(--text-label);line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0}.home-insight-list .link-button{min-height:var(--control-touch);margin:0;padding:0}.home-loading{place-items:center;min-height:4rem;display:grid}.home-error{gap:var(--space-2);display:grid}.home-error p{margin:0}.home-error button{justify-self:start}@media (width<=560px){.home-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-today-grid .home-metric-workout{grid-column:1/-1}.home-draft-card{flex-direction:column;align-items:stretch}.home-draft-card button{width:100%}.home-card{padding:var(--space-3) var(--space-4)}.home-today-grid .home-metric-card{min-height:auto;padding:var(--space-4)}.home-today-grid .home-metric-weight,.home-today-grid .home-metric-nutrition{min-height:8.5rem}.home-quick-actions{grid-template-columns:1fr 1fr;display:grid}.home-quick-actions .ds-button{width:100%;min-width:0}}@media (width<=360px){.home-today-grid{grid-template-columns:1fr}.home-today-grid .home-metric-workout{grid-column:auto}}@media (width>=641px){.home-page{max-width:74rem;margin:0 auto}.home-today-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.home-today-grid .home-metric-card{min-height:11.5rem}.home-record-list{grid-template-columns:repeat(3,minmax(0,1fr))}.home-record-row{grid-template-columns:1fr;align-content:start}}.demo-intro{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.demo-intro-card{gap:var(--space-4);width:min(100%,32rem);padding:var(--space-5);display:grid}.demo-intro-card>p,.demo-conversion p{color:var(--text-secondary);margin:0}.demo-state-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--gutter-right);border-bottom:1px solid var(--primary-border);background:var(--primary-subtle);color:var(--primary-text);font-size:var(--text-caption);text-align:center;margin:0;display:flex}.demo-state-banner span{color:var(--text-secondary)}.demo-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.demo-draft-card{display:block}.demo-conversion{z-index:var(--z-modal);right:var(--gutter-right);bottom:calc(var(--nav-height) + var(--safe-bottom) + var(--space-3));left:var(--gutter-left);gap:var(--space-3);max-width:38rem;padding:var(--space-4);border:1px solid var(--primary-border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);margin:0 auto;display:grid;position:fixed}.demo-conversion h2{font-size:var(--text-card);margin:0}@media (width<=400px){.demo-state-banner{text-align:left;flex-direction:column;align-items:flex-start}.demo-conversion .form-actions{display:grid}}
