:root{--bg:#0e0f10;--surface:#16181a;--surface-2:#1e2124;--border:#2a2e33;--border-strong:#3c4249;--text:#f0f2ee;--text-muted:#a6aeab;--text-faint:#6f7773;--accent:#c8f542;--accent-hover:#d9fa6e;--accent-pressed:#a3cf25;--on-accent:#141a02;--accent-subtle:#c8f54221;--success:#3fd68f;--danger:#ee5a52;--danger-subtle:#ee5a521f;--warning:#e8b93b;--warning-subtle:#e8b93b24;--success-subtle:#3fd68f24;--macro-protein:#3fd68f;--macro-carbs:#61a3f2;--macro-fat:#e8b93b;--macro-kcal:var(--accent);--font-sans:-apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:26px;--text-2xl:34px;--weight-body:400;--weight-medium:500;--weight-heading:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--dur-press:.1s;--dur-fast:.15s;--dur-base:.25s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--tracking-2xl:-.022em;--tracking-xl:-.017em;--tracking-lg:-.011em;--tracking-base:0;--tracking-xs:.006em;--leading-heading:1.15;--leading-body:1.5;--shadow-lg:0 16px 40px #00000073;--touch-target:44px;--stepper-size:48px;--bottom-nav-h:60px}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3{line-height:var(--leading-heading);font-weight:var(--weight-heading);letter-spacing:var(--tracking-lg);margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:var(--text-2xl);letter-spacing:var(--tracking-2xl)}h2{font-size:var(--text-xl);letter-spacing:var(--tracking-xl)}.muted,.hint,small{letter-spacing:var(--tracking-xs)}p{margin:0 0 var(--space-3)}a{color:var(--accent)}::selection{background:var(--accent-subtle);color:var(--text)}*{scrollbar-color:var(--border-strong) var(--surface);scrollbar-width:thin}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:opacity,background-color,background,border-color,color,fill,stroke!important;transition-duration:.12s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){.topbar,.bottom-nav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-contrast:more){:root{--border:#59616a;--border-strong:#7a838d;--text-muted:#c5ccc8;--text-faint:#9aa29d}.topbar,.bottom-nav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar:after{content:"";height:var(--space-4);pointer-events:none;background:linear-gradient(#0000002e,#0000);position:absolute;inset:100% 0 auto}.topbar .brand{font-weight:var(--weight-heading);font-size:var(--text-lg);color:var(--text);letter-spacing:-.01em;text-decoration:none}.topbar-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.locale-switch{gap:var(--space-1);border:1px solid var(--border);border-radius:999px;padding:2px;display:inline-flex;overflow:hidden}.locale-switch button{min-height:var(--touch-target);min-width:var(--touch-target);padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:999px}.locale-switch button.active{background:var(--accent-subtle);color:var(--accent)}.username{color:var(--text-muted);font-size:var(--text-sm)}.sync-status{align-items:center;gap:var(--space-2);display:flex}.sync-status-offline{background:var(--warning-subtle);color:var(--warning)}.sync-status-pending{min-height:var(--touch-target);padding:0 var(--space-2);border:1px solid var(--border);background:var(--accent-subtle);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;display:inline-flex}.sync-status-pending:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 22%, transparent)}.sync-status-pending:disabled{opacity:.6;cursor:default}.app-main{width:100%;max-width:720px;padding:var(--space-6) var(--space-4) var(--space-8);flex:1;margin:0 auto}.card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);border:none}.auth-card{max-width:420px;margin-left:auto;margin-right:auto}.muted{color:var(--text-muted)}.notice{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--text-sm)}.error{color:var(--danger);background:var(--danger-subtle);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0;font-size:var(--text-sm)}form{gap:var(--space-2);flex-direction:column;display:flex}label,.field-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2);display:block}input[type=text],input[type=number],input[type=password],input[type=search],input[type=email]{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-base);caret-color:var(--accent);transition:border-color var(--dur-fast) var(--ease-out)}input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=email]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.hint{font-size:var(--text-xs);color:var(--text-muted);margin:0 0 var(--space-2)}button{font-family:inherit}button.primary,button.secondary,button.danger,button.tonal,a.primary,a.secondary,a.danger,a.tonal,.logout-btn{min-height:var(--touch-target);padding:0 var(--space-6);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}button.primary:active:not(:disabled),button.secondary:active:not(:disabled),button.danger:active:not(:disabled),button.tonal:active:not(:disabled),a.primary:active,a.secondary:active,a.danger:active,a.tonal:active,.logout-btn:active:not(:disabled){transform:scale(.97)}button.tonal,a.tonal{background:var(--accent-subtle);color:var(--accent)}button.tonal:hover:not(:disabled),a.tonal:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}button.tonal:disabled{opacity:.45}button.primary,a.primary{background:var(--accent);color:var(--on-accent)}.logout-btn{background:var(--surface-2);border-color:var(--border);color:var(--text-muted)}.icon-btn{width:var(--touch-target);height:var(--touch-target);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);transition:transform var(--dur-press) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.94)}.icon-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle)}button.primary:hover:not(:disabled),a.primary:hover{background:var(--accent-hover)}.logout-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}button.primary:active:not(:disabled),a.primary:active{background:var(--accent-pressed)}.logout-btn:active:not(:disabled){background:var(--surface)}button.primary:disabled,.logout-btn:disabled{opacity:.45}button.secondary,a.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled),a.secondary:hover{border-color:var(--border-strong)}button.secondary:disabled{opacity:.45}button.danger,a.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent);background:0 0}button.danger:hover:not(:disabled){background:var(--danger-subtle)}button.danger:disabled{opacity:.45}.switch-link{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}.method-switch{border:1px solid var(--border);background:var(--surface-2);margin-bottom:var(--space-4);border-radius:999px;gap:2px;padding:3px;display:flex}.method-switch button{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:999px;flex:1}.method-switch button.active{background:var(--accent-subtle);color:var(--accent)}.password-input{gap:var(--space-2);display:flex}.password-input input{flex:1;min-width:0}.password-toggle{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0}.tabs{margin-bottom:var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:flex}.tabs button{min-height:var(--touch-target);padding:0 var(--space-4);color:var(--text-muted);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:999px}.tabs button.active{background:var(--accent-subtle);color:var(--accent)}.tabs button:disabled{opacity:.45;cursor:default}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:480px}th,td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);font-size:var(--text-sm);white-space:nowrap}th{color:var(--text-muted);font-weight:var(--weight-medium);background:var(--surface-2)}tr:last-child td{border-bottom:none}.row-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.badge{font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:999px;padding:.15em .6em;display:inline-block}.badge.ok{background:var(--success-subtle);color:var(--success)}.badge.off{background:color-mix(in srgb, var(--text-muted) 18%, transparent);color:var(--text-muted)}.invite-link{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.invite-link code{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);word-break:break-all}.field-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.field-row>div{flex-direction:column;flex:1;min-width:160px;display:flex}.empty-state{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-3) 0}dl{margin:0}dt{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-3)}dt:first-child{margin-top:0}dd{font-size:var(--text-lg);font-variant-numeric:tabular-nums;margin:0}input[type=radio]{width:18px;height:18px;margin-right:var(--space-2);vertical-align:middle;accent-color:var(--accent)}form label:has(input[type=radio]){align-items:center;gap:var(--space-1);margin:var(--space-3) 0 0;min-height:var(--touch-target);cursor:pointer;color:var(--text);font-size:var(--text-base);display:flex}@media (width>=640px){.app-main{padding:var(--space-8) var(--space-6)}}.main-nav{gap:var(--space-1);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.main-nav a{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);border-bottom:2px solid #0000;align-items:center;text-decoration:none;display:inline-flex}.main-nav a:hover{color:var(--text)}.main-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}.bottom-nav{display:none}.bottom-nav-inner{display:flex}.bottom-nav a{min-height:var(--bottom-nav-h);padding:var(--space-1) 0;color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav a svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bottom-nav-icon{border-radius:var(--radius-sm);width:36px;height:26px;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.bottom-nav a{transition:transform var(--dur-press) var(--ease-out), color var(--dur-fast) var(--ease-out)}.bottom-nav a:active{transform:scale(.94)}.bottom-nav a.active{color:var(--accent)}.bottom-nav a.active .bottom-nav-icon{background:var(--accent-subtle)}@media (width<=767px){.bottom-nav{z-index:50;background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);padding-bottom:env(safe-area-inset-bottom,0px);display:block;position:fixed;bottom:0;left:0;right:0}.bottom-nav:before{content:"";height:var(--space-4);pointer-events:none;background:linear-gradient(#0000,#0000002e);position:absolute;inset:auto 0 100%}.main-nav{display:none}.app-main{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + var(--space-6))}}.page-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-label{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-heading);letter-spacing:var(--tracking-lg);display:flex}.section-label .link-more{font-size:var(--text-sm);font-weight:var(--weight-medium)}.section-label:first-child{margin-top:0}.page-subtitle{margin:calc(var(--space-2) * -1) 0 var(--space-4);color:var(--text-muted);font-size:var(--text-sm)}.page-header h1{margin:0}.quick-actions{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.quick-action{align-items:center;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:var(--weight-medium);text-align:center;min-height:var(--touch-target);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.quick-action:hover{border-color:var(--border-strong);background:var(--surface)}.quick-action-icon{color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);display:inline-flex}.quick-action:hover .quick-action-icon,.quick-action:active .quick-action-icon{color:var(--accent)}.plain-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plain-list li{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.plain-list li:last-child{border-bottom:none}.link-more{margin-top:var(--space-2);font-size:var(--text-sm);display:inline-block}.latest-weight{font-size:var(--text-2xl);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.list-card{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);margin-bottom:var(--space-3);color:inherit;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);border:none;text-decoration:none;display:flex}a.list-card:hover{background:var(--surface-2)}a.list-card:active{transform:scale(.985)}.list-card-main{gap:var(--space-1);min-width:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.list-card-title{font-weight:var(--weight-heading);font-size:var(--text-lg)}.list-card-meta{color:var(--text-muted);font-size:var(--text-sm);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.list-card-actions{gap:var(--space-2);flex-shrink:0;display:flex}.weekday-badge{background:var(--accent-subtle);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border-radius:999px;padding:.15em .6em}.stepper{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.stepper button{min-width:var(--stepper-size);min-height:var(--stepper-size);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-lg);font-weight:var(--weight-heading);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.stepper button:hover{border-color:var(--border-strong)}.stepper button:active{background:var(--surface)}.stepper input{width:100%;min-width:2.75rem;max-width:4.5rem;padding:0 var(--space-1);min-height:var(--stepper-size);text-align:center;font-weight:var(--weight-heading);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.chip-input{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);background:var(--surface-2);flex-wrap:wrap;align-items:center;display:flex}.chip{align-items:center;gap:var(--space-1);background:var(--surface);border:1px solid var(--border);font-size:var(--text-sm);border-radius:999px;padding:.15em .4em .15em .7em;display:inline-flex}.chip button{color:var(--text-muted);cursor:pointer;font-size:var(--text-base);padding:0 var(--space-1);background:0 0;border:none;min-height:auto;line-height:1}.chip-input input{min-width:100px;color:var(--text);font-size:var(--text-base);min-height:var(--touch-target);background:0 0;border:none;flex:1;padding:0}.chip-input input:focus{outline:none}.picker{position:relative}.picker-results{margin:var(--space-2) 0 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);max-height:260px;padding:0;list-style:none;overflow-y:auto}.picker-results li{border-bottom:1px solid var(--border)}.picker-results li:last-child{border-bottom:none}.picker-result-btn{align-items:center;gap:var(--space-3);text-align:left;width:100%;padding:var(--space-2) var(--space-3);color:var(--text);min-height:var(--touch-target);cursor:pointer;font-size:var(--text-sm);transition:background var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.picker-result-btn:hover,.picker-result-btn:focus-visible{background:var(--surface)}.picker-result-text{min-width:0}.picker-result-meta{color:var(--text-muted);font-size:var(--text-xs);display:block}.picker-attribution{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--text-xs)}.picker-attribution a{color:inherit;text-underline-offset:2px;text-decoration:underline}.picker-attribution a:hover{color:var(--text)}.item-row{border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--surface-2)}.item-row-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.item-row-heading{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.item-row-title{font-weight:var(--weight-heading);overflow-wrap:anywhere;min-width:0}.item-row-actions{gap:var(--space-1);display:flex}.icon-btn{min-width:var(--touch-target);min-height:var(--touch-target);border:1px solid var(--border);color:var(--text);cursor:pointer;font-size:var(--text-base);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.icon-btn:disabled{opacity:.45}.item-row-fields{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(90px,1fr));display:grid}.item-row-fields label{margin-top:0;display:block}.exercise-section{margin-bottom:var(--space-6)}.exercise-section-title{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.exercise-section-heading{align-items:center;gap:var(--space-3);min-width:0;display:flex}.exercise-section-heading h2{overflow-wrap:anywhere;margin:0}.set-row{gap:var(--space-2) var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:end;display:grid}.set-row:last-child{border-bottom:none}.set-row-label{font-weight:var(--weight-heading);color:var(--text-muted);text-align:center;align-self:center;min-width:1.5rem}.set-row.logged{opacity:.85}.set-row-field label{margin-top:0}.set-row-toggles{gap:var(--space-4);font-size:var(--text-sm);color:var(--text-muted);grid-column:1/-1;align-items:center;display:flex}.set-row-toggles label{align-items:center;gap:var(--space-1);min-height:auto;color:var(--text-muted);margin:0;display:flex}.rest-timer{bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);margin:var(--space-4) 0;box-shadow:var(--shadow-lg);z-index:40;flex-wrap:wrap;display:flex;position:sticky}.rest-timer-track{background:#00000038;border-radius:999px;flex:1;min-width:80px;height:6px;overflow:hidden}.rest-timer-fill{border-radius:inherit;background:var(--on-accent);transform-origin:0;height:100%;transition:transform .25s linear;display:block}.rest-timer-extend{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--on-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #00000040;border-radius:999px}.rest-timer-extend:hover{background:#0000001f}.rest-timer-extend:active{transform:scale(.96)}.last-time{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.last-time-label{color:var(--text-faint)}.overload-hint{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);font-size:var(--text-sm)}.overload-hint strong{font-variant-numeric:tabular-nums}.rest-timer-time{font-size:var(--text-2xl);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.rest-timer-options{gap:var(--space-1);flex-wrap:wrap;display:flex}.rest-timer-options button{min-height:var(--touch-target);min-width:var(--touch-target);padding:0 var(--space-3);border:1px solid color-mix(in srgb, var(--on-accent) 30%, transparent);color:var(--on-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border-radius:999px}.rest-timer-options button:active{transform:scale(.96)}.rest-timer-options button.active{background:var(--on-accent);color:var(--accent)}.rest-timer-skip{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--on-accent);color:var(--on-accent);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border-radius:999px}@media (width<=767px){.rest-timer{left:0;right:0;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));border-radius:0;margin:0;position:fixed}}.summary-grid{gap:var(--space-3);text-align:center;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));display:grid}.summary-grid dt{font-size:var(--text-xs);margin-top:0}.summary-grid dd{font-size:var(--text-xl);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.chart-container{height:260px;position:relative}.stat-tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(100px,1fr));display:grid}.stat-tile{gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;display:flex}.stat-tile-label{color:var(--text-muted);font-size:var(--text-xs)}.stat-tile-value{font-size:var(--text-xl);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.stat-tile-unit{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-left:.25em}textarea{min-height:80px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-base);resize:vertical;caret-color:var(--accent);font-family:inherit}textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}select,input[type=date]{min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-base)}select:focus,input[type=date]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.start-options{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.date-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.date-nav-current{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.date-nav-label{font-weight:var(--weight-heading);font-size:var(--text-lg);text-transform:capitalize}.progress-block{margin-bottom:var(--space-4)}.progress-block:last-child{margin-bottom:0}.progress-label{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-1);display:flex}.progress-label span:last-child{font-weight:var(--weight-heading);font-variant-numeric:tabular-nums;color:var(--text)}.progress-label.warning span:last-child{color:var(--warning)}.over-hint{color:var(--warning);font-size:var(--text-xs);font-weight:var(--weight-medium);margin:var(--space-1) 0 0}.progress-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-bar-fill{background:var(--macro-kcal);height:100%;transition:width var(--dur-base) var(--ease-out);border-radius:999px}.progress-bar-fill.over{background:var(--warning)}.progress-bar-fill.protein{background:var(--macro-protein)}.progress-bar-fill.carbs{background:var(--macro-carbs)}.progress-bar-fill.fat{background:var(--macro-fat)}.progress-bar-fill.protein.over,.progress-bar-fill.carbs.over,.progress-bar-fill.fat.over{background:var(--warning)}.macro-bars{gap:var(--space-3);margin-top:var(--space-2);display:grid}.meal-group-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.meal-group-header h2{margin:0}.meal-card-head{align-items:center;gap:var(--space-3);display:flex}.meal-card-head+.meal-list{margin-top:var(--space-3);border-top:1px solid var(--border)}.meal-card-icon{border-radius:var(--radius-sm);background:var(--accent-subtle);width:44px;height:44px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meal-card-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.meal-card-title h3{font-size:var(--text-base);letter-spacing:var(--tracking-base);margin:0}.meal-card-kcal{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.meal-card-head .icon-btn{margin-left:auto}.meal-list{margin:0;padding:0;list-style:none}.meal-row{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.meal-row:last-child{border-bottom:none}.meal-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.meal-row-name{font-weight:var(--weight-medium)}.meal-row-meta{color:var(--text-muted);font-size:var(--text-xs)}.meal-edit-row{padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--border);gap:var(--space-2);flex-direction:column;display:flex}.quick-amount-buttons{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.quick-amount-buttons button{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:999px}.quick-amount-buttons button.active{background:var(--accent);color:var(--on-accent);border-color:#0000}.macro-preview{gap:var(--space-2);text-align:center;background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));display:grid}.macro-preview dt{font-size:var(--text-xs);margin-top:0}.macro-preview dd{font-size:var(--text-lg);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.amount-entry h3{margin:var(--space-3) 0 0}.modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:560px;max-height:min(85vh,720px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--text-lg);margin:0}.modal-body{padding:var(--space-4);overflow-y:auto}@media (width>=640px){.modal-backdrop{align-items:center}.modal-sheet{border-radius:var(--radius-lg)}}.scanner{gap:var(--space-3);flex-direction:column;display:flex}.scanner-video-wrap{border-radius:var(--radius-sm);background:var(--bg);aspect-ratio:4/3;position:relative;overflow:hidden}.scanner-video-wrap video{object-fit:cover;width:100%;height:100%}.scanner-status{color:#fff;font-size:var(--text-sm);background:#00000059;justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.scanner-manual{gap:var(--space-1);flex-direction:column;display:flex}.scanner-manual .field-row{align-items:center}@media (width<=430px){.stepper{gap:var(--space-1)}.stepper button{min-width:44px;min-height:44px}.set-row{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr)}.set-row>button.primary{grid-column:1/-1;width:100%}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton-list{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.skeleton-row,.skeleton-bubble{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 40%, var(--surface) 80%) 0 0 / 200% 100%;animation:skeleton-sweep 1.4s var(--ease-out) infinite}.skeleton-row{height:64px}.skeleton-bubble{max-width:78%;height:72px}.skeleton-bubble.user{align-self:flex-end;max-width:55%;height:48px}@keyframes skeleton-sweep{0%{background-position:120% 0}to{background-position:-20% 0}}.empty-card,.error-card{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.empty-card h2{font-size:var(--text-lg);margin:0}.empty-card p,.error-card p{margin:0}.error-card{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--border))}.error-card>p:first-child{font-weight:var(--weight-medium)}.link-button{min-height:var(--touch-target);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.ai-off{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.ai-off h2{font-size:var(--text-lg);margin:0}.ai-off p{margin:0}.env-snippet{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-mono);font-size:var(--text-xs);margin:0;line-height:1.6;overflow-x:auto}.ai-status{align-items:baseline;gap:var(--space-1) var(--space-4);grid-template-columns:auto 1fr;width:100%;display:grid}.ai-status dt{margin:0}.ai-status-value{font-family:var(--font-mono);font-size:var(--text-sm)}.chat-view{gap:var(--space-4);flex-direction:column;display:flex}.chat-view>.card,.chat-view>.notice{margin-bottom:0}.chat-topline{justify-content:space-between;align-items:center;display:flex}.chat-back{align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;display:inline-flex}.chat-back:hover{color:var(--text)}.chat-back svg{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.chat-offline{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.chat-log{gap:var(--space-4);flex-direction:column;display:flex}.chat-msg{gap:var(--space-1);flex-direction:column;max-width:88%;display:flex}.chat-msg.user{align-self:flex-end;align-items:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-msg-role{font-size:var(--text-xs);color:var(--text-muted)}.chat-bubble{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.chat-msg.user .chat-bubble{background:var(--accent-subtle);border-color:color-mix(in srgb, var(--accent) 30%, transparent);border-top-right-radius:var(--space-1)}.chat-msg.assistant .chat-bubble{border-top-left-radius:var(--space-1)}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat-caret{vertical-align:text-bottom;background:var(--accent);width:2px;height:1.05em;margin-left:2px;animation:1s steps(2,start) infinite chat-caret-blink;display:inline-block}@keyframes chat-caret-blink{to{opacity:0}}.chat-thinking{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);margin:0;display:flex}.chat-thinking-dot{background:var(--accent);width:8px;height:8px;animation:chat-pulse 1.4s var(--ease-out) infinite;border-radius:50%}@keyframes chat-pulse{0%,to{opacity:.35}50%{opacity:1}}.chat-tools{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.tool-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.tool-chip.running{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.tool-chip-head{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-xs);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.tool-chip-icon svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:block}.tool-chip-icon{color:var(--success);display:inline-flex}.tool-chip.running .tool-chip-icon{color:var(--accent)}.tool-chip-icon .track{opacity:.25}.tool-chip-icon .spin{animation:1s linear infinite tool-spin}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-chip-name{font-family:var(--font-mono);font-size:var(--text-xs);overflow-wrap:anywhere}.tool-chip-status{color:var(--text-muted);margin-left:auto}.tool-chip-caret svg{width:16px;height:16px;stroke:var(--text-muted);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-fast) var(--ease-out);display:block}.tool-chip-caret.open svg,.proposal-caret.open svg{transform:rotate(180deg)}.tool-chip-details{padding:0 var(--space-2) var(--space-2)}.tool-chip-details h4{margin:var(--space-2) 0 var(--space-1);font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--weight-medium)}.tool-chip-details pre{padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:240px;font-family:var(--font-mono);font-size:var(--text-xs);margin:0;line-height:1.5;overflow:auto}.chat-suggestions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.chat-suggestion{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out)}.chat-suggestion:hover{border-color:var(--border-strong)}.proposal-bar{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch-target);padding:0 var(--space-2);border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border-radius:0;display:flex}.proposal-bar-badge{background:var(--accent);min-width:22px;height:22px;color:var(--on-accent);font-size:var(--text-xs);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.proposal-bar-text{flex:1}.proposal-bar-cta{color:var(--accent)}.proposal-sheet{gap:var(--space-3);flex-direction:column;display:flex}.proposal-card{gap:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.proposal-card.resolved{border-color:var(--border)}.proposal-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.proposal-kind{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-medium)}.proposal-card.resolved .proposal-kind{background:var(--surface-2);color:var(--text-muted)}.proposal-state{align-items:center;gap:var(--space-1);color:var(--success);font-size:var(--text-sm);font-weight:var(--weight-medium);display:inline-flex}.proposal-state.rejected{color:var(--text-muted)}.proposal-state-icon svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.proposal-summary{max-width:65ch;margin:0}.proposal-guard{color:var(--text-muted);font-size:var(--text-sm);margin:0}.proposal-toggle{align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;display:inline-flex}.proposal-caret svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;transition:transform var(--dur-fast) var(--ease-out);display:block}.proposal-fields{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;margin:0;display:flex}.proposal-field{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-left:calc(var(--indent,0) * var(--space-3));display:flex}.proposal-field dt{color:var(--text-muted);font-size:var(--text-sm);margin:0}.proposal-field dt.group{color:var(--text);font-weight:var(--weight-medium);margin-top:var(--space-2)}.proposal-field dd{font-size:var(--text-base);text-align:right;overflow-wrap:anywhere;margin:0}.proposal-number{font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.proposal-offline{margin:0}.proposal-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.proposals-partial{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.chat-composer{bottom:var(--space-4);gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;position:sticky}.chat-composer-row{align-items:flex-end;gap:var(--space-2);display:flex}.chat-composer textarea{min-height:var(--touch-target);max-height:160px;padding:var(--space-2) var(--space-3);resize:none;flex:1;line-height:1.5}.chat-composer textarea:disabled{opacity:.45}.chat-send{flex-shrink:0}.chat-composer-hint{margin:0}@media (width<=767px){.chat-composer{bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + var(--space-2))}.chat-msg{max-width:94%}}.status-ok{color:var(--success);font-weight:var(--weight-medium)}.status-warn{color:var(--warning);font-weight:var(--weight-medium)}.exercise-filters{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.chip-row{gap:var(--space-2);padding-bottom:var(--space-1);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;display:flex;overflow-x:auto}.chip{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;flex:none}.chip:hover{color:var(--text);border-color:var(--border-strong)}.chip:active{transform:scale(.96)}.chip.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.exercise-library{margin:0 0 var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.exercise-library li{border-bottom:1px solid var(--border)}.exercise-library li:last-child{border-bottom:0}.exercise-row-btn{align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-2) 0;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), opacity var(--dur-fast) var(--ease-out);background:0 0;border:none;display:flex}.exercise-row-btn:active{transform:scale(.985)}.exercise-row-chevron{color:var(--text-faint);margin-left:auto;display:inline-flex}.exercise-detail{gap:var(--space-4);flex-direction:column;display:flex}.exercise-detail-section h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.detail-pr-line{margin:0 0 var(--space-2)}.detail-pr-line strong{font-variant-numeric:tabular-nums}.tag-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{min-height:28px;padding:0 var(--space-3);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:999px;align-items:center;display:inline-flex}.tag-equipment{background:var(--accent-subtle);color:var(--accent);border-color:#0000}.howto-steps{counter-reset:howto;gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.howto-steps li{counter-increment:howto;padding-left:calc(28px + var(--space-3));min-height:28px;position:relative}.howto-steps li:before{content:counter(howto);background:var(--accent-subtle);width:28px;height:28px;color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:0;left:0}.exercise-library-text{flex-direction:column;gap:2px;min-width:0;display:flex}.exercise-library-name{font-weight:var(--weight-medium)}.exercise-library-meta{color:var(--text-muted);font-size:var(--text-sm)}.activity-form{gap:var(--space-2);flex-direction:column;display:flex}.routine-card{gap:var(--space-3);flex-direction:column;display:flex}.routine-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.routine-card-name{font-size:var(--text-lg);font-weight:var(--weight-heading);letter-spacing:var(--tracking-lg);overflow-wrap:anywhere;color:inherit;min-height:var(--touch-target);align-items:center;text-decoration:none;display:inline-flex}.quick-start-row{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:0 var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);border:none;text-decoration:none;display:flex}.quick-start-row:hover{background:var(--surface-2)}.quick-start-row:active{transform:scale(.985)}.quick-start-row:disabled{opacity:.45}.quick-start-row .exercise-row-chevron{margin-left:auto}.workout-feed-stats{gap:var(--space-6);margin-top:var(--space-2);display:flex}.workout-feed-stat{flex-direction:column;gap:2px;display:flex}.workout-feed-stat-label{color:var(--text-muted);font-size:var(--text-xs)}.workout-feed-stat-value{font-weight:var(--weight-heading);font-variant-numeric:tabular-nums}.routine-card-exercises{color:var(--text-muted);font-size:var(--text-sm);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.routine-card-start{width:100%}.page-header-title{align-items:center;gap:var(--space-2);display:inline-flex}.page-header-title h1{margin:0}.memory-group-label{margin:var(--space-3) 0 var(--space-1);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em}.memory-group-list{margin-bottom:var(--space-2)}.memory-content{overflow-wrap:anywhere}.memory-add{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.memory-add select{flex:none;width:auto}.memory-add input{flex:1;min-width:180px}.account-card{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.account-identity{align-items:center;gap:var(--space-3);flex:1;min-width:180px;display:flex}.account-avatar{background:var(--accent-subtle);width:48px;height:48px;color:var(--accent);font-size:var(--text-lg);font-weight:var(--weight-heading);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.account-name{flex-direction:column;gap:2px;min-width:0;display:flex}.account-card .locale-switch{margin-left:auto}.history-list{margin:0;padding:0;list-style:none}.history-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.history-row:last-child{border-bottom:none}.history-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.history-row-date{font-weight:var(--weight-medium)}.history-row-sets{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.history-row-top{font-size:var(--text-lg);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums;flex-shrink:0}.history-row-unit{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.history-row-side{align-items:center;gap:var(--space-3);flex-shrink:0;display:inline-flex}.icon-btn-danger:hover:not(:disabled),.icon-btn-danger:focus-visible{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent);background:var(--danger-subtle)}.kpi-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=768px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}.kpi{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.kpi-label{color:var(--text-muted);font-size:var(--text-sm)}.kpi-value{font-size:var(--text-xl);font-weight:var(--weight-heading);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-xl)}.kcal-consumed{margin:var(--space-3) 0 0;text-align:center;color:var(--text-muted);font-variant-numeric:tabular-nums}.meal-search-row{gap:var(--space-2);margin-bottom:var(--space-3);align-items:center;display:flex}.meal-search-field{flex:1;min-width:0;position:relative}.meal-search-field input{width:100%;padding-left:calc(var(--space-3) + 18px + var(--space-2))}.meal-search-icon{left:var(--space-3);color:var(--text-faint);pointer-events:none;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.meal-section-label{margin:var(--space-3) 0 var(--space-2);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-xs)}.meal-alt-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.meal-alt-actions .secondary{gap:var(--space-2)}.back-link{align-items:center;gap:var(--space-1);min-height:var(--touch-target);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-self:flex-start;padding:0;display:inline-flex}.back-link:hover{color:var(--text)}.fab{right:var(--space-4);bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px) + var(--space-4));z-index:45;align-items:center;gap:var(--space-2);min-height:52px;padding:0 var(--space-6);background:var(--accent);color:var(--on-accent);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;box-shadow:0 4px 10px #00000059, var(--shadow-lg);transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);border:none;border-radius:999px;display:inline-flex;position:fixed}.fab:hover{background:var(--accent-hover)}.fab:active{background:var(--accent-pressed);transform:scale(.95)}@media (width>=768px){.fab{bottom:var(--space-6);right:max(var(--space-6), calc((100vw - 720px) / 2 - var(--space-8)))}}.day-impact{align-items:baseline;gap:var(--space-2);margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.day-impact strong{color:var(--text);font-variant-numeric:tabular-nums}.day-impact-delta{color:var(--accent);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;margin-left:auto}.sticky-action{margin-top:var(--space-4);padding:var(--space-3) 0 var(--space-1);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);position:sticky;bottom:0}.sticky-action .primary{width:100%}@media (prefers-reduced-transparency:reduce){.sticky-action{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.date-nav-label{color:inherit;font:inherit;font-weight:var(--weight-medium);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);background:0 0;border:0}.date-nav-label:hover{background:var(--surface-2)}.date-nav-label:active{transform:scale(.96)}.brand{min-height:var(--touch-target);align-items:center;display:inline-flex}.locale-switch button:active,.method-switch button:active{transform:scale(.96)}.link-more{min-height:var(--touch-target);margin:calc(var(--space-2) * -1) calc(var(--space-2) * -1) calc(var(--space-2) * -1);padding:0 var(--space-2);border-radius:var(--radius-sm);transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.link-more:active{transform:scale(.97)}.date-nav-label{min-height:var(--touch-target);align-items:center;display:inline-flex}.session-header{margin-bottom:var(--space-4)}.session-header h1{margin-bottom:var(--space-1)}.session-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.chat-markdown p{margin:0 0 var(--space-2)}.chat-markdown h3,.chat-markdown h4,.chat-markdown h5{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-base);font-weight:var(--weight-heading)}.chat-markdown>:first-child{margin-top:0}.chat-markdown>:last-child{margin-bottom:0}.chat-markdown ul,.chat-markdown ol{margin:0 0 var(--space-2);padding-left:1.25em}.chat-markdown li{margin-bottom:var(--space-1)}.chat-markdown li:last-child{margin-bottom:0}.chat-markdown code{background:var(--surface-2);border-radius:6px;padding:1px 5px;font-size:.9em}.chat-markdown pre{background:var(--surface-2);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin:0 0 var(--space-2);overflow-x:auto}.chat-markdown pre code{background:0 0;padding:0}.chat-markdown hr{border:none;border-top:1px solid var(--border);margin:var(--space-3) 0}.chat-markdown a{color:var(--accent)}.chat-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.chat-msg.assistant .chat-actions{align-self:flex-start}.chat-action{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:999px}.chat-action:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.chat-action:active{transform:scale(.97)}.proposal-exercises{margin-bottom:0}.proposal-exercises .exercise-row-btn:disabled{cursor:default;opacity:.7}.proposal-exercise-target{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.proposal-exercises .exercise-row-btn .proposal-exercise-target+.exercise-row-chevron{margin-left:var(--space-2)}.proposal-sheet-target{gap:var(--space-2);align-items:baseline;margin:0;display:flex}.proposal-swap-cta{color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap;margin-left:auto}.swipe-row{margin-bottom:var(--space-3);position:relative}.swipe-row .list-card{margin-bottom:0}.swipe-row-action{border-radius:var(--radius-md);background:var(--danger);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);justify-content:flex-end;display:flex;position:absolute;inset:0;overflow:hidden}.swipe-row-action.revealed{opacity:1}.swipe-row-delete{width:88px;color:var(--on-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;border-radius:0}.swipe-row-content{touch-action:pan-y;transition:transform var(--dur-base) var(--ease-out);position:relative}.swipe-row-content.dragging{transition:none}.session-delete-hover{display:none}@media (hover:hover) and (pointer:fine){.session-delete-hover{opacity:0;transition:opacity var(--dur-fast) var(--ease-out);display:inline-flex}.session-card:hover .session-delete-hover,.session-delete-hover:focus-visible{opacity:1}}.confirm-message.svelte-6d5x9a{margin:0 0 var(--space-4)}.confirm-actions.svelte-6d5x9a{gap:var(--space-2);display:flex}.confirm-actions.svelte-6d5x9a button:where(.svelte-6d5x9a){flex:1}
