:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0b;--bg-elevated:#111113;--surface:#141416;--surface-2:#1a1a1d;--surface-3:#222226;--surface-hover:#1e1e22;--border:#ffffff0f;--border-strong:#ffffff1a;--border-focus:#34c78c66;--text:#f5f5f7;--text-secondary:#a1a1a6;--text-tertiary:#6e6e73;--muted:#a1a1a6;--accent:#34c78c;--accent-hover:#2db87f;--accent-active:#26a572;--accent-soft:#34c78c1f;--accent-soft-strong:#34c78c33;--accent-border:#34c78c47;--accent-on:#04140e;--danger:#ff453a;--danger-soft:#ff453a1f;--danger-border:#ff453a38;--warning:#ff9f0a;--warning-soft:#ff9f0a1f;--success:#34c78c;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:14px;--radius-xl:20px;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 1px 3px #00000059, 0 1px 2px #00000040;--shadow:0 2px 8px #0006, 0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000073, 0 2px 6px #0000004d;--shadow-lg:0 16px 48px #0000008c, 0 4px 12px #00000059;--glass:#141416c7;--glass-strong:#141416e6;--overlay:#0000008c;--sidebar-w:240px;--topbar-h:56px;--bottom-nav-h:64px;--content-max:720px;--content-wide:880px;--page-pad:32px;--page-pad-mobile:20px;--ease:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--duration:.18s;--duration-slow:.28s;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", system-ui, Helvetica, Arial, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, Helvetica, Arial, sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);letter-spacing:-.011em;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.47}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-height:100vh;color:var(--text)}#root{min-height:100vh}h1,h2,h3,.brand{font-family:var(--display);color:var(--text);font-weight:600}h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,3.5vw,2.125rem);font-weight:700;line-height:1.15}h2{letter-spacing:-.02em;margin:0 0 16px;font-size:1.0625rem;font-weight:600;line-height:1.3}h3{letter-spacing:-.015em;margin:0 0 8px;font-size:.9375rem;font-weight:600;line-height:1.35}p{margin:0}a{color:var(--accent);transition:color var(--duration) var(--ease);text-decoration:none}a:hover{color:var(--accent-hover)}.muted{color:var(--muted);letter-spacing:-.01em;margin:0;font-size:.9375rem;font-weight:400;line-height:1.5}.small,.muted.small{letter-spacing:-.006em;font-size:.8125rem;line-height:1.45}.brand{color:var(--accent);letter-spacing:-.01em;margin:0;font-size:.8125rem;font-weight:600}.page-title-block{flex-direction:column;gap:6px;display:flex}.page-title-block .muted{max-width:42ch;margin:0}button,input,select,textarea{font:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}button{border-radius:var(--radius-sm);background:var(--accent);min-height:40px;color:var(--accent-on);letter-spacing:-.01em;cursor:pointer;transition:background var(--duration) var(--ease), transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), opacity var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:500;display:inline-flex}button:hover:not(:disabled){background:var(--accent-hover)}button:active:not(:disabled){background:var(--accent-active);transform:scale(.98)}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{color:var(--text);border:1px solid var(--border-strong);box-shadow:none;background:0 0}button.ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}button.ghost:active:not(:disabled){background:var(--surface-3)}button.tiny{border-radius:var(--radius-xs);min-height:32px;padding:6px 10px;font-size:.8125rem;font-weight:500}button.primary-lg{border-radius:var(--radius);min-height:44px;padding:12px 20px;font-size:.9375rem}label{color:var(--text-secondary);letter-spacing:-.01em;flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;display:flex}input,select,textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-sm);min-height:40px;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) var(--ease);letter-spacing:-.01em;outline:none;padding:10px 12px}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:hover,select:hover,textarea:hover{border-color:#ffffff29}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-sm);margin:12px 0 0;padding:10px 12px;font-size:.875rem;line-height:1.4}.success{color:var(--accent);margin:12px 0 0;font-size:.875rem;font-weight:500}.hint{color:var(--muted);margin:12px 0 0;font-size:.8125rem}.food-quality{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);margin-top:16px;padding:14px 16px}.food-quality-poor{border-color:var(--danger-border);background:var(--danger-soft)}.food-quality-mixed{background:var(--warning-soft);border-color:#ff9f0a47}.food-quality-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.food-quality-list{flex-direction:column;gap:8px;margin:10px 0 0;padding-left:18px;display:flex}.food-quality-list li{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.food-quality-list strong{color:var(--text);font-weight:600}.centered{min-height:100vh;color:var(--muted);place-items:center;font-size:.9375rem;display:grid}.auth-page{background:radial-gradient(ellipse 80% 50% at 50% -20%, #34c78c1a, transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(400px,100%);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:40px 36px;display:flex}.auth-card h1{margin-top:4px;font-size:1.75rem}.auth-card .muted{margin-bottom:8px}.auth-card button[type=submit]{border-radius:var(--radius);width:100%;min-height:44px;margin-top:8px}.switch{text-align:center;color:var(--muted);margin:8px 0 0;font-size:.875rem}.switch a{font-weight:500}.onboarding-page{background:radial-gradient(ellipse 60% 40% at 50% 0%, #34c78c14, transparent 60%), var(--bg);min-height:100vh;padding:40px 20px 64px}.onboarding-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-md);margin:0 auto;padding:36px 32px}.onboarding-header{margin-bottom:32px}.progress-track{background:var(--surface-3);border-radius:2px;height:3px;margin:20px 0 12px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width var(--duration-slow) var(--ease-out);border-radius:2px}.step-label{color:var(--text-tertiary);letter-spacing:-.01em;margin:0;font-size:.8125rem;font-weight:500}.onboarding-body{min-height:280px}.onboarding-body h1{margin-bottom:8px}.onboarding-body>.muted{margin-bottom:28px}.onboarding-footer{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-top:32px;padding-top:24px;display:flex}.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid .full{grid-column:1/-1}.choice-row,.option-list,.chip-row{flex-wrap:wrap;gap:8px;display:flex}.option-list{flex-direction:column}.chip,.option-card{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);text-align:left;border-radius:var(--radius-sm);box-shadow:none;font-weight:500}.chip{min-height:36px;padding:8px 14px;font-size:.875rem}.chip:hover:not(:disabled),.option-card:hover:not(:disabled){background:var(--surface-hover);border-color:#ffffff24}.chip.active,.option-card.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.chip.active:hover:not(:disabled),.option-card.active:hover:not(:disabled){background:var(--accent-soft-strong);border-color:var(--accent-border)}.option-card{border-radius:var(--radius);width:100%;min-height:auto;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), transform var(--duration) var(--ease);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.option-card:active:not(:disabled){transform:scale(.99)}.option-card span{color:var(--muted);font-size:.8125rem;font-weight:400}.result-grid{grid-template-columns:1.5fr 1fr;gap:12px;margin:8px 0 24px;display:grid}.result-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:18px;display:flex}.result-card.main{background:var(--accent-soft);border-color:var(--accent-border);grid-row:span 3;justify-content:center}.result-card span{color:var(--muted);font-size:.8125rem;font-weight:500}.result-card strong{font-family:var(--display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:1.375rem}.result-card.main strong{color:var(--accent);font-size:3rem;font-weight:700;line-height:1}.result-card small{color:var(--muted);font-size:.8125rem}.progress-note{color:var(--muted);margin:0 0 20px;font-size:.9375rem}.app-shell{background:var(--bg);min-height:100vh;display:flex}.app-sidebar{height:100vh;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;flex-shrink:0;padding:20px 12px;display:flex;position:sticky;top:0}.app-sidebar-brand{color:var(--text);align-items:center;gap:10px;padding:8px 12px 24px;text-decoration:none;display:flex}.app-sidebar-brand:hover{color:var(--text)}.app-logo{background:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.app-logo svg{width:14px;height:14px;color:var(--accent-on)}.app-sidebar-brand span{font-family:var(--display);letter-spacing:-.03em;font-size:1.0625rem;font-weight:700}.app-nav-groups{flex-direction:column;flex:1;gap:20px;padding:0 4px;display:flex;overflow-y:auto}.app-nav-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:0 12px 6px;font-size:.6875rem;font-weight:600}.app-nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);letter-spacing:-.01em;transition:background var(--duration) var(--ease), color var(--duration) var(--ease);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:36px;padding:9px 12px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex}.app-nav-link:hover{background:var(--surface-hover);color:var(--text)}.app-nav-link.active{background:var(--accent-soft);color:var(--accent)}.app-nav-link svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.app-nav-link.active svg{opacity:1}.app-sidebar-footer{border-top:1px solid var(--border);margin-top:12px;padding:12px 4px 4px}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{width:min(var(--content-max), 100%);padding:var(--page-pad) var(--page-pad) 80px;flex:1;margin:0 auto}.app-content.wide{width:min(var(--content-wide), 100%)}.app-content.chat{flex-direction:column;width:min(720px,100%);max-height:100vh;padding-bottom:24px;display:flex}.app-topbar{z-index:30;height:var(--topbar-h);background:var(--glass);-webkit-backdrop-filter:saturate(160%)blur(16px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 16px;display:none;position:sticky;top:0}.app-topbar-brand{color:var(--text);font-family:var(--display);letter-spacing:-.03em;align-items:center;gap:8px;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.app-topbar-brand:hover{color:var(--text)}.app-bottom-nav{z-index:50;height:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px);background:var(--glass-strong);-webkit-backdrop-filter:saturate(160%)blur(20px);border-top:1px solid var(--border);justify-content:space-around;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}.app-bottom-nav a,.app-bottom-nav button{min-height:var(--bottom-nav-h);color:var(--text-tertiary);letter-spacing:-.01em;cursor:pointer;transition:color var(--duration) var(--ease);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:.625rem;font-weight:500;text-decoration:none;display:flex}.app-bottom-nav a:hover,.app-bottom-nav button:hover,.app-bottom-nav a.active,.app-bottom-nav button.active{color:var(--accent);background:0 0;transform:none}.app-bottom-nav svg{width:22px;height:22px}.more-sheet-backdrop{background:var(--overlay);z-index:60;position:fixed;inset:0}.more-sheet{z-index:70;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);max-height:70vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.more-sheet-handle{background:var(--surface-3);border-radius:2px;width:36px;height:4px;margin:0 auto 20px}.more-sheet h2{margin-bottom:12px;font-size:1.125rem}.more-sheet-links{flex-direction:column;gap:4px;display:flex}.more-sheet-links a,.more-sheet-links button{border-radius:var(--radius);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:48px;padding:14px 12px;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.more-sheet-links a:hover,.more-sheet-links button:hover{background:var(--surface-hover);color:var(--text);transform:none}.more-sheet-links a.active{background:var(--accent-soft);color:var(--accent)}.more-sheet-links svg{width:20px;height:20px;color:var(--text-secondary)}.more-sheet-links a.active svg{color:var(--accent)}.page-header{margin-bottom:28px}.page-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dash-stack{flex-direction:column;gap:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration) var(--ease), border-color var(--duration) var(--ease);padding:24px}.panel:hover{box-shadow:var(--shadow)}.panel>.muted.small:first-of-type,.panel>p.muted:first-of-type{margin-top:-8px;margin-bottom:16px}.tip-panel{background:var(--accent-soft);border-color:var(--accent-border)}.tip-panel:hover{box-shadow:var(--shadow-sm)}.tip-text{color:var(--text);letter-spacing:-.015em;margin:0;font-size:1rem;line-height:1.55}.macro-hero{align-items:baseline;gap:8px;margin-bottom:24px;display:flex}.macro-hero-value{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text);font-size:2.75rem;font-weight:700;line-height:1}.macro-hero-unit{color:var(--muted);font-size:.9375rem;font-weight:500}.macro-hero-target{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.875rem}.macro-row{margin-bottom:16px}.macro-row:last-of-type{margin-bottom:0}.macro-top{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:.8125rem;font-weight:500;display:flex}.macro-top strong{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.macro-track{background:var(--surface-3);border-radius:2px;height:4px;overflow:hidden}.macro-fill{background:var(--accent);height:100%;transition:width var(--duration-slow) var(--ease-out);border-radius:2px}.macro-fill.over{background:var(--warning)}.dash-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-link,.ghost-link{border-radius:var(--radius-sm);min-height:36px;color:var(--accent-on);background:var(--accent);transition:background var(--duration) var(--ease), color var(--duration) var(--ease);border:0;justify-content:center;align-items:center;padding:9px 14px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-link:hover{background:var(--accent-hover);color:var(--accent-on)}.ghost-link{color:var(--text);border:1px solid var(--border-strong);background:0 0}.ghost-link:hover{background:var(--surface-hover);color:var(--text)}.text-link{color:var(--accent);letter-spacing:-.01em;transition:color var(--duration) var(--ease);font-size:.8125rem;font-weight:500;text-decoration:none}.text-link:hover{color:var(--accent-hover)}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.chart-header h2{margin:0}.progress-line{font-size:1.25rem;font-family:var(--display);letter-spacing:-.025em;margin:0 0 8px;font-weight:600}.forecast-line{color:var(--accent);letter-spacing:-.01em;margin:8px 0;font-size:.9375rem;font-weight:500}.food-form{gap:8px;margin-top:4px;display:flex}.food-form input{flex:1}.food-form button{flex-shrink:0}.parse-preview,.today-meals{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.today-meals h3{margin:0 0 12px}.food-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.food-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 0;display:flex}.food-list li:last-child{border-bottom:0;padding-bottom:0}.food-list li:first-child{padding-top:0}.food-list li>div{flex-direction:column;gap:3px;min-width:0;display:flex}.food-list strong{letter-spacing:-.015em;font-weight:550}.food-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.preview-row{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:16px;font-size:.9375rem;font-weight:600;display:flex}.chart-wrap{margin-top:12px}.weight-chart{width:100%;height:auto;display:block}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-line{stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart-target{stroke:var(--text-tertiary);stroke-width:1px;stroke-dasharray:4 4;opacity:.6}.chart-label{fill:var(--text-tertiary);font-size:11px;font-family:var(--font)}.weight-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 8px;display:grid}.weight-stats div{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:4px;padding:14px;display:flex}.weight-stats strong{font-family:var(--display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:1.125rem}.chat-panel{flex-direction:column;flex:1;min-height:min(65vh,640px);padding:0;display:flex;overflow:hidden}.chat-stream{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex;overflow-y:auto}.chat-empty{text-align:left;margin:auto 0;padding:8px 0}.chat-empty p{color:var(--muted);max-width:36ch;margin:0 0 20px;font-size:1rem;line-height:1.5}.suggest-list{flex-wrap:wrap;gap:8px;display:flex}.bubble{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);max-width:min(480px,90%);padding:12px 16px}.bubble.user{background:var(--accent-soft);border-color:var(--accent-border);border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--surface);border-bottom-left-radius:4px;align-self:flex-start}.bubble.typing{opacity:.65}.bubble-role{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.6875rem;font-weight:600;display:block}.bubble p{white-space:pre-wrap;margin:0;font-size:.9375rem;line-height:1.5}.chat-input{border-top:1px solid var(--border);background:var(--surface-2);gap:8px;padding:16px;display:flex}.chat-input input{flex:1}.photo-upload{border-radius:var(--radius);border:1px dashed var(--border-strong);background:var(--surface-2);cursor:pointer;color:var(--text-secondary);transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease), color var(--duration) var(--ease);justify-content:center;align-items:center;margin-top:12px;padding:28px 18px;font-size:.875rem;font-weight:500;display:flex}.photo-upload:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.photo-upload input{display:none}.photo-preview{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);width:100%;max-height:240px;margin-top:12px}.workout-place-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:8px;display:grid}.workout-section-title{margin-top:28px}.workout-focus-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.workout-focus-card{text-align:left;background:var(--surface);width:100%;min-height:auto;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), transform var(--duration) var(--ease);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;font-weight:500;display:flex}.workout-focus-card span{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.35}.workout-focus-card:hover:not(:disabled){background:var(--surface-hover);border-color:#ffffff24;transform:none}.workout-focus-card.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.workout-focus-card.active span{color:var(--text-secondary)}.workout-focus-card.active:hover:not(:disabled){background:var(--accent-soft-strong);border-color:var(--accent-border)}.workout-generate-bar{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:20px;display:flex}.workout-generate-meta{min-width:0}.workout-badge{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);letter-spacing:-.01em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.workout-week{flex-direction:column;gap:12px;margin-top:16px;display:flex}.workout-day-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);padding:16px 18px}.workout-day-card.accented{border-color:var(--accent-border);background:var(--accent-soft)}.workout-day-card-top{flex-direction:column;gap:2px;margin-bottom:12px;display:flex}.workout-day-card-top strong{letter-spacing:-.02em}.workout-day-card ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.workout-day-card li{justify-content:space-between;align-items:baseline;gap:12px;font-size:.875rem;line-height:1.4;display:flex}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:14px;display:grid}.pricing-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;min-height:100%;padding:24px;display:flex;position:relative}.pricing-card.popular{border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-soft) 0%, var(--surface) 42%)}.pricing-card.current{box-shadow:var(--shadow)}.pricing-pill{background:var(--accent);color:var(--accent-on);letter-spacing:-.01em;border-radius:999px;padding:4px 10px;font-size:.6875rem;font-weight:600;position:absolute;top:14px;right:14px}.pricing-card h2{margin:0;font-size:1.25rem}.pricing-price{align-items:baseline;gap:6px;margin:8px 0 4px;display:flex}.pricing-price strong{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.pricing-price span{color:var(--muted);font-size:.875rem}.pricing-features{flex-direction:column;flex:1;gap:8px;margin:8px 0 16px;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text-secondary);padding-left:18px;font-size:.875rem;line-height:1.4;position:relative}.pricing-features li:before{content:"";background:var(--accent);opacity:.85;border-radius:50%;width:6px;height:6px;position:absolute;top:.45em;left:0}@media (width<=900px){.pricing-grid{grid-template-columns:1fr}}.workout-day{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:16px 0;display:flex}.workout-day:last-child{border-bottom:0;padding-bottom:0}.workout-day:first-child{padding-top:0}.workout-day ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:.875rem}.workout-day li{margin-bottom:4px;line-height:1.45}.body-bullets{color:var(--text);margin:8px 0 0;padding-left:18px}.body-bullets li{color:var(--muted);margin-bottom:6px;font-size:.875rem;line-height:1.45}.two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}.two-col h3{margin:0 0 8px}.progress-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px;display:grid}.progress-card{background:0 0;border:0;flex-direction:column;gap:6px;padding:0;display:flex}.progress-thumb{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);width:100%}.photo-slot{aspect-ratio:3/4;border-radius:var(--radius-sm);background:var(--surface-2);border:1px dashed var(--border);color:var(--muted);place-items:center;font-size:.8125rem;display:grid}.compare-pair{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.looks-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:2px;min-width:92px;padding:12px 14px;display:flex}.looks-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.looks-gallery figure{margin:0}.looks-gallery img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%}.looks-gallery figcaption{color:var(--muted);margin-top:6px;font-size:.75rem}.looks-gallery-actions{gap:6px;margin-top:6px;display:flex}.looks-gallery-empty{aspect-ratio:1;border-radius:var(--radius-sm);border:1px dashed var(--border);color:var(--muted);background:var(--surface-2);place-items:center;font-size:.75rem;display:grid}.program-form h2{margin-top:28px}.program-preview{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);margin-top:24px;padding:18px}.dash-header{margin-bottom:28px}.dash-header-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}@media (width<=900px){.app-sidebar{display:none}.app-topbar,.app-bottom-nav{display:flex}.app-content{padding:var(--page-pad-mobile) var(--page-pad-mobile) calc(var(--bottom-nav-h) + 32px + env(safe-area-inset-bottom,0px))}.app-content.chat{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));max-height:none;min-height:calc(100vh - var(--topbar-h))}.chat-panel{min-height:calc(100vh - var(--topbar-h) - var(--bottom-nav-h) - 120px)}}@media (width<=640px){.auth-card,.onboarding-shell{padding:28px 22px}.onboarding-page{padding:24px 16px 48px}.panel{padding:20px}.food-form{flex-direction:column}.weight-stats{grid-template-columns:1fr}.chat-input{flex-direction:column}.two-col,.compare-pair,.grid,.result-grid{grid-template-columns:1fr}.result-card.main{grid-row:auto}.page-header-row,.dash-header-top{flex-direction:column}.macro-hero-value{font-size:2.25rem}.workout-place-grid,.workout-focus-grid{grid-template-columns:1fr}.workout-generate-bar{flex-direction:column;align-items:stretch}}
