:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f7f7f4;--surface:#fff;--surface-2:#eef0eb;--border:#e4e7e2;--border-strong:#d1d5db;--text:#111827;--text-2:#6b7280;--text-3:#9ca3af;--accent:#10b981;--accent-strong:#047857;--accent-hover:#065f46;--accent-soft:#ecfdf5;--accent-border:#a7f3d0;--on-accent:#fff;--burn:#ea580c;--burn-strong:#c2410c;--burn-soft:#fff1e6;--amber:#f59e0b;--amber-strong:#b45309;--amber-soft:#fffbeb;--amber-border:#fde68a;--sky:#0ea5e9;--sky-strong:#0369a1;--sky-soft:#f0f9ff;--lime:#65a30d;--lime-strong:#4d7c0f;--lime-soft:#f4fce3;--lime-border:#d9f99d;--danger:#dc2626;--danger-soft:#fef2f2;--ring-track:#e7e9e4;--focus-ring:#047857;--shadow-card:0 1px 2px #1118270d, 0 8px 24px -12px #1118271a;--shadow-raised:0 4px 12px #11182714, 0 16px 40px -16px #11182724;--shadow-fab:0 6px 16px -4px #11182747;--r-control:12px;--r-card-sm:16px;--r-card:20px;--r-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--fs-caption:12px;--lh-caption:16px;--fs-small:13px;--lh-small:18px;--fs-body:15px;--lh-body:22px;--fs-body-lg:16px;--lh-body-lg:24px;--fs-card-title:17px;--lh-card-title:24px;--fs-page-title:26px;--lh-page-title:32px;--fs-page-title-lg:30px;--lh-page-title-lg:38px;--fs-metric:30px;--lh-metric:36px;--z-sticky:10;--z-tabbar:20;--z-toast:30;--z-overlay:40;--z-reload:50;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Consolas, monospace;--tabbar-h:calc(64px + env(safe-area-inset-bottom));font-family:var(--font-sans)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg:#101614;--surface:#1a211e;--surface-2:#222b27;--border:#263029;--border-strong:#3a453f;--text:#f3f4f1;--text-2:#9ca89f;--text-3:#6b7670;--accent:#34d399;--accent-strong:#34d399;--accent-hover:#6ee7b7;--accent-soft:#34d3991f;--accent-border:#34d39959;--on-accent:#052e22;--amber:#fbbf24;--amber-strong:#fbbf24;--amber-soft:#fbbf241f;--amber-border:#fbbf2459;--sky:#7dd3fc;--sky-strong:#7dd3fc;--sky-soft:#7dd3fc1f;--lime:#a3e635;--lime-strong:#a3e635;--lime-soft:#a3e6351f;--lime-border:#a3e63559;--danger:#f87171;--danger-soft:#f871711f;--ring-track:#2a342f;--focus-ring:#34d399;--shadow-card:0 1px 2px #0006;--shadow-raised:0 8px 24px #00000080;--shadow-fab:0 6px 16px -4px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--bg:#101614;--surface:#1a211e;--surface-2:#222b27;--border:#263029;--border-strong:#3a453f;--text:#f3f4f1;--text-2:#9ca89f;--text-3:#6b7670;--accent:#34d399;--accent-strong:#34d399;--accent-hover:#6ee7b7;--accent-soft:#34d3991f;--accent-border:#34d39959;--on-accent:#052e22;--amber:#fbbf24;--amber-strong:#fbbf24;--amber-soft:#fbbf241f;--amber-border:#fbbf2459;--sky:#7dd3fc;--sky-strong:#7dd3fc;--sky-soft:#7dd3fc1f;--lime:#a3e635;--lime-strong:#a3e635;--lime-soft:#a3e6351f;--lime-border:#a3e63559;--danger:#f87171;--danger-soft:#f871711f;--ring-track:#2a342f;--focus-ring:#34d399;--shadow-card:0 1px 2px #0006;--shadow-raised:0 8px 24px #00000080;--shadow-fab:0 6px 16px -4px #0009}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-control)}::selection{background:var(--accent-soft);color:var(--text)}.skip-link{left:var(--space-4);top:var(--space-4);z-index:30;padding:var(--space-2) var(--space-4);border:1px solid var(--text);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:.8125rem;transition:transform .12s ease-out;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.main-panel{min-width:0;padding:var(--space-6) var(--space-4) calc(var(--tabbar-h) + var(--space-4));flex:1}.auth-shell .main-panel{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.tabbar{inset-inline:0;z-index:var(--z-tabbar);height:var(--tabbar-h);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-raised);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0}.tabbar-item{justify-content:center;align-items:center;gap:var(--space-1);min-width:0;min-height:48px;color:var(--text-2);font-size:var(--fs-caption);font-weight:500;line-height:var(--lh-caption);flex-direction:column;transition:color .12s ease-out,transform .12s ease-out;display:flex}.tabbar-item:active{transform:scale(.96)}.tabbar-item.active{color:var(--accent-strong)}.tabbar-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tabbar-slot-fab{justify-content:center;align-items:flex-start;display:flex}.tabbar-fab{border:4px solid var(--bg);background:var(--accent);width:56px;height:56px;color:var(--on-accent);box-shadow:var(--shadow-fab);border-radius:50%;justify-content:center;align-items:center;margin-top:-22px;transition:background .12s ease-out,transform .12s ease-out;display:inline-flex}.tabbar-fab:active{transform:scale(.96)}.tabbar-fab.is-active{background:var(--accent-strong)}.tabbar-fab:focus-visible{border-radius:50%}@media (hover:hover) and (pointer:fine){.tabbar-fab:hover{background:var(--accent-hover)}}.navrail{display:none}.navrail-brand,.navrail-brand.active{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-4);color:var(--text);background:0 0;display:flex}.navrail-brand-mark{border-radius:var(--r-control);background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:36px;height:36px;color:var(--on-accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.navrail-brand-word{font-size:var(--fs-card-title);letter-spacing:-.01em;font-weight:650;line-height:var(--lh-card-title)}.navrail-nav{gap:var(--space-1);display:grid}.navrail-item{align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-3);border-radius:var(--r-control);color:var(--text-2);font-size:var(--fs-body);font-weight:500;transition:color .12s ease-out,background .12s ease-out;display:flex;position:relative}.navrail-item:hover{background:var(--surface-2);color:var(--text)}.navrail-item.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent);font-weight:700}.navrail-item.active:before{content:"";left:0;top:var(--space-2);bottom:var(--space-2);border-radius:var(--r-pill);background:var(--accent);width:4px;position:absolute}.navrail-caption{margin-top:var(--space-4);padding:0 var(--space-3);color:var(--text-2);font-size:var(--fs-caption);letter-spacing:.04em;font-weight:500;line-height:var(--lh-caption);text-transform:uppercase}.navrail-coach{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-control);transition:background .12s ease-out;display:flex}.navrail-coach:hover{background:var(--surface-2)}.navrail-coach-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:36px;height:36px;color:var(--on-accent);font-size:var(--fs-body);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.navrail-coach-copy{min-width:0;line-height:1.3;display:grid}.navrail-coach-copy strong{color:var(--text);font-size:var(--fs-body);font-weight:600}.navrail-coach-copy small{color:var(--text-2);font-size:var(--fs-small)}.navrail-footer{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto;display:grid}.navrail-user{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--r-control);transition:background .12s ease-out;display:flex}.navrail-user:hover,.navrail-user.active{background:var(--surface-2)}.navrail-user-avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-strong);font-size:var(--fs-small);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.navrail-user-copy{flex:1;min-width:0;line-height:1.3;display:grid}.navrail-user-copy strong{color:var(--text);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.navrail-user-copy small{color:var(--text-2);font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.navrail-user-chevron{color:var(--text-3);flex:none}.page-stack>.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) 0 var(--space-2);border-bottom:0;display:flex}.page-head-copy{gap:var(--space-1);min-width:0;display:grid}.page-stack>.page-head h1{max-width:none;color:var(--text);font-size:var(--fs-page-title);letter-spacing:-.01em;font-style:normal;font-weight:700;line-height:var(--lh-page-title)}.page-head-sub{max-width:none;color:var(--text-2);font-size:var(--fs-body);font-style:normal;line-height:var(--lh-body)}.page-head-trailing{flex:none;align-items:center;display:flex}.page-head-compact{padding-bottom:var(--space-2)}@media (width>=1024px){.tabbar{display:none}.navrail{inset-inline-start:0;z-index:var(--z-tabbar);gap:var(--space-1);width:240px;padding:var(--space-5) var(--space-3) var(--space-4);border-right:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;position:fixed;top:0;bottom:0}.main-panel{padding:var(--space-8) var(--space-6);margin-left:240px}.auth-shell .main-panel{max-width:1180px;margin-inline:auto}}.page-stack{gap:var(--space-6);max-width:1180px;margin:0 auto;display:grid}.mobile-chat-topbar{display:none}h1{font-weight:700;font-size:var(--fs-page-title);line-height:var(--lh-page-title);letter-spacing:-.01em;color:var(--text);text-wrap:balance}h2{font-weight:700;font-size:var(--fs-card-title);line-height:var(--lh-card-title);color:var(--text);letter-spacing:-.01em}h3{font-weight:600;font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);color:var(--text)}p{color:var(--text-2);font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty;max-width:65ch}button,.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border:1px solid var(--accent-strong);border-radius:var(--r-control);background:var(--accent-strong);color:var(--on-accent);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:600;line-height:var(--lh-body);cursor:pointer;transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out,transform .12s ease-out;display:inline-flex}button:hover,.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:active,.btn-primary:active{transform:scale(.98)}.secondary-button,.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:500}.secondary-button:hover,.btn-secondary:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.secondary-button-danger{color:var(--danger)}.secondary-button-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-ghost{min-height:40px;padding:0 var(--space-2);color:var(--accent-strong);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.btn-ghost-danger{color:var(--danger)}.btn-ghost-danger:hover{background:var(--danger-soft);color:var(--danger)}.btn-retry,.btn-retry:hover{border-color:var(--amber-strong);background:var(--amber-strong);color:var(--on-accent)}button:disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-3);cursor:not-allowed;transform:none}.button-row{gap:var(--space-3);flex-wrap:wrap;display:flex}input,select{width:100%;min-height:44px;padding:0 var(--space-4);margin-top:var(--space-2);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.conversation{gap:var(--space-3);width:100%;max-width:760px;margin:0 auto;display:grid}.message-feed{gap:var(--space-3);align-content:start;display:grid}.message-feed-note{color:var(--text-2);font-size:var(--fs-small);text-align:center;margin:0}.msg-coach-row{align-items:flex-start;gap:var(--space-2);justify-self:start;max-width:min(100%,528px);display:flex}.coach-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:32px;height:32px;color:var(--on-accent);font-size:var(--fs-small);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.msg-coach{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-card-sm);border-bottom-left-radius:var(--space-1);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);display:grid}.msg-user{justify-self:end;gap:var(--space-2);max-width:78%;padding:var(--space-3) var(--space-4);border-radius:var(--r-card-sm);border-bottom-right-radius:var(--space-1);background:var(--accent-strong);color:var(--on-accent);font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);display:grid}.msg-user p{color:inherit;font-size:inherit;line-height:inherit;overflow-wrap:break-word;max-width:none}.typing{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);display:inline-flex}.typing-dot{background:var(--text-3);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-3px)}}.msg-error{align-items:flex-start;gap:var(--space-3);width:100%;min-width:0;padding:14px var(--space-4);border-left:3px solid var(--amber);border-radius:var(--r-card-sm);background:var(--amber-soft);display:flex}.msg-error-icon{color:var(--amber-strong);flex:none;margin-top:2px}.msg-error-body{gap:var(--space-2);min-width:0;display:grid}.msg-error-title{color:var(--text);font-size:var(--fs-body);font-weight:600}.msg-error-copy{color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-small)}.msg-error-copy p{margin:0}.msg-error-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.analysis-card{gap:var(--space-3);width:100%;max-width:480px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid;position:relative}.analysis-card.is-active{border:2px solid var(--accent)}.analysis-card.is-superseded{opacity:.55;pointer-events:none}.analysis-tag{top:var(--space-3);right:var(--space-3);padding:2px var(--space-2);border-radius:var(--r-pill);background:var(--amber-soft);color:var(--amber-strong);font-size:var(--fs-caption);font-weight:600;position:absolute}.analysis-head,.analysis-summary-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.analysis-summary-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.analysis-summary-copy{gap:var(--space-2);min-width:0;display:grid}.analysis-thumb{border-radius:var(--r-control);background:var(--surface-2);width:44px;height:44px;color:var(--text-3);flex:none;justify-content:center;align-items:center;display:inline-flex}.analysis-title{min-width:0;color:var(--text);font-size:var(--fs-card-title);font-weight:600;line-height:var(--lh-card-title);overflow-wrap:break-word}.analysis-kcal{color:var(--text);font-size:var(--fs-page-title);font-weight:700;line-height:var(--lh-page-title);font-variant-numeric:tabular-nums}.analysis-score-card{align-content:center;place-items:center;gap:var(--space-2);min-width:118px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);text-align:center;display:grid}.analysis-score-ring{--score:0%;aspect-ratio:1;background:conic-gradient(var(--accent-strong) 0 var(--score), var(--ring-track) var(--score) 100%);border-radius:50%;place-items:center;width:76px;display:grid}.analysis-score-ring:before{content:"";aspect-ratio:1;background:var(--surface);border-radius:50%;grid-area:1/1;width:58px}.analysis-score-ring>span{color:var(--text);font-size:var(--fs-card-title);font-variant-numeric:tabular-nums;grid-area:1/1;font-weight:800;position:relative}.analysis-score-label{color:var(--text-2);font-size:var(--fs-caption);font-weight:700}.macro-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.macro-chip{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--r-pill);font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--text);display:inline-flex}.macro-chip-letter{font-weight:700}.macro-chip-p{background:var(--accent-soft)}.macro-chip-p .macro-chip-letter{color:var(--accent-strong)}.macro-chip-c{background:var(--amber-soft)}.macro-chip-c .macro-chip-letter{color:var(--amber-strong)}.macro-chip-f{background:var(--sky-soft)}.macro-chip-f .macro-chip-letter{color:var(--sky-strong)}.analysis-meter-row{gap:var(--space-1);display:grid}.analysis-meter-labels{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.analysis-meter-label{color:var(--text-2);font-size:var(--fs-small)}.analysis-meter-score{color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.analysis-meter-track{border-radius:var(--r-pill);background:var(--ring-track);height:6px;display:block;overflow:hidden}.analysis-meter-fill{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--danger), var(--amber), var(--accent));height:100%;display:block}.analysis-notes{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-small);display:grid}.analysis-notes strong{color:var(--text);font-weight:700}.analysis-more-summary{cursor:pointer;color:var(--text-2);font-size:var(--fs-small);list-style-position:inside}.analysis-more[open] .analysis-more-summary{margin-bottom:var(--space-2)}.analysis-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.analysis-actions button:first-child{flex:140px}@media (width<=480px){.analysis-summary-grid{grid-template-columns:minmax(0,1fr)}.analysis-score-card{grid-template-columns:auto minmax(0,1fr);justify-items:start;min-width:0}.analysis-score-ring{width:64px}.analysis-score-ring:before{width:48px}}.meal-collapse{gap:var(--space-3);display:grid}.meal-collapse-summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);cursor:pointer;list-style:none;display:flex}.meal-collapse-summary::-webkit-details-marker{display:none}.meal-collapse-summary:before{content:"›";margin-right:var(--space-2);color:var(--text-3);font-size:var(--fs-small);transition:transform .12s ease-out}.meal-collapse[open]>.meal-collapse-summary:before{transform:rotate(90deg)}.meal-collapse-name{min-width:0;color:var(--text);overflow-wrap:break-word;flex:1;font-weight:600}.meal-collapse-calories{color:var(--text-2);font-size:var(--fs-small);font-variant-numeric:tabular-nums;white-space:nowrap}.meal-record{gap:var(--space-3);padding-top:var(--space-2);display:grid}.meal-record-meta{align-items:baseline;gap:var(--space-2);color:var(--text-3);font-size:var(--fs-caption);flex-wrap:wrap;display:flex}.meal-record-badge{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--fs-caption);letter-spacing:.04em;text-transform:uppercase;align-items:center;font-weight:600;display:inline-flex}.meal-record-input{gap:var(--space-2);display:grid}.meal-record-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);width:min(100%,320px);display:block}.meal-record-prompt{padding-left:var(--space-3);border-left:2px solid var(--border);color:var(--text-2);margin:0}.meal-record-notes{color:var(--text-2);font-size:var(--fs-small)}.meal-record-macros{gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.meal-record-macro{border-radius:var(--r-pill);min-height:34px;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);border:0;grid-template-columns:auto auto;align-items:baseline;gap:6px;padding:6px 12px;display:inline-flex}.meal-record-macro dt,.meal-record-macro dd{margin:0}.meal-record-macro dt{color:inherit;font-weight:600}.meal-record-macro dd{font-variant-numeric:tabular-nums;font-weight:700}.meal-record-macro.macro-protein{background:color-mix(in srgb, var(--sky-soft) 70%, #bfdbfe)}.meal-record-macro.macro-carbs{background:color-mix(in srgb, var(--accent-soft) 55%, #a7f3d0)}.meal-record-macro.macro-fat{background:color-mix(in srgb, var(--amber-soft) 50%, var(--amber-border))}.activity-record-metrics{gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.activity-record-metric{border-radius:var(--r-pill);min-height:34px;color:var(--text);background:var(--sky-soft);font-size:var(--fs-body);line-height:var(--lh-body);border:0;align-items:baseline;gap:6px;padding:6px 12px;display:inline-flex}.activity-record-metric dt,.activity-record-metric dd{margin:0}.activity-record-metric dt{font-weight:600}.activity-record-metric dd{font-variant-numeric:tabular-nums;font-weight:700}.activity-record-metric.metric-burned{background:color-mix(in srgb, var(--sky-soft) 65%, #bae6fd)}.activity-record-metric.metric-weight{background:color-mix(in srgb, var(--lime-soft) 70%, var(--lime-border))}.activity-record-source{max-width:none;color:var(--text-2);font-size:var(--fs-body);margin:0}.meal-draft-source{color:var(--text-3);font-size:var(--fs-caption);text-transform:uppercase;margin:0;font-weight:700}.meal-edit{gap:var(--space-3);display:grid}.meal-edit-modes{border-radius:var(--r-pill);background:var(--surface-2);gap:2px;padding:3px;display:flex}.meal-edit-modes button{min-width:0;min-height:36px;padding:0 var(--space-3);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--fs-small);white-space:normal;background:0 0;border:none;flex:1;font-weight:500}.meal-edit-modes button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}.meal-edit-modes button:hover{color:var(--text);background:0 0}.meal-edit-modes button[aria-selected=true]:hover{background:var(--surface)}.meal-edit-describe{gap:var(--space-3);display:grid}.meal-edit-describe label{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);font-weight:500;display:grid}.meal-edit-describe textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);resize:vertical}.meal-edit-form{gap:var(--space-3);display:grid}.meal-edit-form label{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);font-weight:500;display:grid}.meal-edit-form input,.meal-edit-form textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);margin-top:0}.meal-edit-form textarea{resize:vertical;min-height:96px}.meal-edit-readonly-fields{gap:var(--space-2);margin:0;display:grid}.meal-edit-readonly-fields div{gap:var(--space-1);min-width:0;display:grid}.meal-edit-readonly-fields dt,.meal-edit-readonly-fields dd{margin:0}.meal-edit-readonly-fields dt{color:var(--text-2);font-size:var(--fs-small);font-weight:500}.meal-edit-readonly-fields dd{padding:var(--space-2) 0;color:var(--text);font-size:var(--fs-body);overflow-wrap:break-word}.itemization-preview{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);display:grid}.itemization-preview-title{color:var(--text-2);font-size:var(--fs-caption);text-transform:uppercase;margin:0;font-weight:700}.itemization-preview ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.itemization-preview li{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;color:var(--text-2);font-size:var(--fs-small);display:flex}.itemization-preview li span:first-child{min-width:0;color:var(--text);overflow-wrap:break-word;font-weight:600}.itemization-preview li span:last-child{font-variant-numeric:tabular-nums;text-align:right;flex:none}.itemization-preview-more{color:var(--text-3);font-weight:600}.itemized-editor{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-2);display:grid}.itemized-editor-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.itemized-editor-head h3{color:var(--text);font-size:var(--fs-body);margin:0;font-weight:700}.itemized-editor-list{gap:var(--space-3);display:grid}.itemized-editor-row{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.itemized-editor-row:first-child{border-top:0;padding-top:0}.itemized-field{min-width:0;color:var(--text-2);font-size:var(--fs-caption);gap:4px;font-weight:600;display:grid}.itemized-field-name{grid-column:span 2}.itemized-field input{width:100%;min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r-control-sm);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-small);font-variant-numeric:tabular-nums;margin-top:0}.itemized-readonly-value{min-width:0;padding:var(--space-2) 0;color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums;overflow-wrap:break-word;font-weight:700}.itemized-totals{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(92px,1fr));margin:0;display:grid}.itemized-totals div{min-width:0;padding:var(--space-2);border-radius:var(--r-control-sm);background:var(--surface);gap:2px;display:grid}.itemized-totals dt,.itemized-totals dd{margin:0}.itemized-totals dt{color:var(--text-3);font-size:var(--fs-caption);font-weight:600}.itemized-totals dd{color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums;font-weight:700}@media (width<=560px){.itemization-preview li{justify-content:stretch;display:grid}.itemization-preview li span:last-child{text-align:left}.itemized-editor-row{grid-template-columns:1fr 1fr}.itemized-field-name{grid-column:1/-1}}@media (width<=380px){.itemized-editor-row,.itemized-totals{grid-template-columns:1fr}}.meal-record-error{color:var(--danger);font-size:var(--fs-small)}.status-pill{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--fs-caption);letter-spacing:.04em;text-transform:uppercase;align-self:start;align-items:center;font-weight:600;display:inline-flex}.status-pill.info{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.status-pill.error{border-color:var(--amber-border);background:var(--amber-soft);color:var(--amber-strong)}.status-pill.success{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.status-list{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);margin:0;padding:0;list-style:none;display:grid}.status-list li{padding-left:var(--space-3);position:relative}.status-list li:before{content:"·";color:var(--text-3);font-weight:700;position:absolute;left:0}.skeleton{border-radius:var(--r-control);background:var(--surface-2);background-image:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%);background-repeat:no-repeat;background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}:root[data-theme=dark] .skeleton{background-image:linear-gradient(100deg,#0000 30%,#ffffff0f 50%,#0000 70%)}@keyframes skeleton-sweep{0%{background-position:180% 0}to{background-position:-80% 0}}.skeleton-thumb{flex:none;width:44px;height:44px}.skeleton-bar{height:12px}.skeleton-bar-lg{height:20px}.skeleton-chip{border-radius:var(--r-pill);width:64px;height:26px}.skeleton-button{width:110px;height:44px}.skeleton-card{gap:var(--space-3);width:100%;max-width:480px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.skeleton-card-head{align-items:center;gap:var(--space-3);display:flex}.skeleton-card-head-lines{gap:var(--space-2);flex:1;display:grid}.skeleton-chip-row,.skeleton-action-row{gap:var(--space-2);display:flex}.meal-card-skeleton{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);display:flex}.meal-card-skeleton .skeleton-thumb{width:56px;height:56px}.meal-card-skeleton-lines{gap:var(--space-2);flex:1;min-width:0;display:grid}.chat-composer{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);display:grid}.chat-composer label,.chat-composer-label{color:var(--text-2);font-size:var(--fs-small);font-weight:500}.chat-composer textarea{width:100%;min-height:120px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);resize:vertical}.meal-photo-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.meal-photo-picker-button{justify-self:start}.selected-image-preview{align-items:center;gap:var(--space-3);max-width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface-2);flex-wrap:wrap;display:flex}.selected-image-preview-photo{object-fit:cover;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);width:48px;height:48px;display:block}.selected-image-preview .caption-text{overflow-wrap:anywhere;min-width:0;color:var(--text-2);font-size:var(--fs-small);flex:120px}.user-message-photo{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-control);background:var(--surface-2);width:160px;max-width:100%;display:block}.user-message-voice{width:min(100%,320px);display:block}.meal-record-voice{width:min(100%,420px);display:block}.voice-recording-error{color:var(--danger);font-size:var(--fs-small);margin:0}.user-message-photo:last-child{margin-bottom:0}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-page{flex:1;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:0;width:100%;max-width:none;height:100%;min-height:0;margin:0}.chat-nutrition-bar{z-index:4;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text);font-variant-numeric:tabular-nums;position:relative}.chat-nutrition-bar summary{align-items:baseline;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-3);cursor:pointer;grid-template-columns:auto minmax(0,1fr) minmax(0,max-content);list-style:none;display:grid}@media (width<=640px){.chat-nutrition-bar summary{padding:var(--space-3) var(--space-4)}.chat-nutrition-label,.chat-nutrition-bar summary b{font-size:.75rem}}.chat-nutrition-bar summary::-webkit-details-marker{display:none}.chat-nutrition-label,.chat-macro-grid dt{color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem;font-weight:700}.chat-nutrition-bar summary b{min-width:0;max-width:100%;color:var(--text-3);letter-spacing:.06em;text-align:right;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;justify-self:end;font-size:.6875rem;font-weight:700;overflow:hidden}.chat-nutrition-label:before{content:"+";width:1ch;margin-right:var(--space-2);color:var(--text);display:inline-block}.chat-nutrition-bar[open] .chat-nutrition-label:before{content:"-"}.chat-nutrition-bar summary strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.9375rem;font-weight:800;overflow:hidden}.chat-healthiness-note{color:var(--text-2);overflow-wrap:anywhere;margin:0;font-size:.75rem;line-height:1.35}.chat-calorie-track,.chat-macro-track{background:var(--surface-2);border-radius:999px;grid-column:1/-1;height:4px;display:block;overflow:hidden}.chat-calorie-track span,.chat-macro-track span{border-radius:inherit;background:var(--text-3);height:100%;display:block}.chat-calorie-track.progress-low span,.chat-macro-track.progress-low span{background:color-mix(in oklch, var(--accent) 58%, var(--surface))}.chat-calorie-track.progress-steady span,.chat-macro-track.progress-steady span{background:var(--accent)}.chat-calorie-track.progress-high span,.chat-macro-track.progress-high span{background:var(--amber)}.chat-calorie-track.progress-over span,.chat-macro-track.progress-over span{background:var(--danger)}.chat-macro-grid{z-index:5;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-2);box-shadow:var(--shadow-raised);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;position:absolute;inset-block-start:100%;inset-inline:0}.chat-macro-grid div{gap:4px;min-width:0;display:grid}.chat-macro-grid dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8125rem;font-weight:800;overflow:hidden}.chat-macro-track{height:3px}@media (width<=640px){.chat-macro-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-page .conversation{background:var(--bg);border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto;justify-self:stretch;gap:0;width:100%;max-width:none;height:100%;min-height:0;display:grid;overflow:hidden}.chat-page .message-feed{overscroll-behavior:contain;gap:var(--space-2);min-height:0;padding:var(--space-3) var(--space-3) calc(var(--tabbar-h) + 96px);flex-direction:column;scroll-padding-block:0;display:flex;overflow-y:auto}.chat-page .message-feed:has(.chat-starter){min-height:40dvh}.chat-page .message-feed:before{content:"";margin-top:auto}.chat-page .analysis-card,.chat-page .meal-history-card{align-self:flex-start;max-width:min(92%,680px)}@media (width>=1024px){.chat-page .analysis-card,.chat-page .meal-history-card{max-width:min(92%,720px)}}.chat-page .message-feed-note{color:var(--text-3);margin:0;font-size:.9375rem}.chat-starter{align-self:center;justify-items:center;gap:var(--space-3);width:min(100%,340px);margin-top:auto;margin-bottom:12dvh;display:grid}.chat-starter-chips{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-starter-chips button{min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font-size:var(--fs-body);font-weight:500}.chat-starter-chips button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.chat-page .chat-composer{inset-inline:0;bottom:var(--tabbar-h);z-index:2;gap:var(--space-2);padding:10px var(--space-3) calc(10px + env(safe-area-inset-bottom,0px));border:none;border-top:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-raised);border-radius:0;display:grid;position:fixed}@media (width>=1024px){.chat-page .chat-composer{position:sticky;bottom:0}}.chat-composer-bar{align-items:end;gap:var(--space-2);grid-template-columns:auto auto minmax(0,1fr) auto;display:grid}.chat-page .chat-composer textarea{min-height:40px;max-height:128px;padding:var(--space-2) var(--space-4);background:var(--surface-2);resize:none;border:none;border-radius:20px}.chat-page .chat-composer textarea:focus{box-shadow:none}.chat-page .meal-photo-picker-button,.chat-page .meal-voice-record-button,.chat-send-button{background:var(--surface-2);width:40px;min-width:40px;height:40px;color:var(--text-2);border:none;border-radius:50%;justify-content:center;place-self:end center;align-items:center;padding:0;line-height:1;display:inline-flex}.chat-page .meal-photo-picker-button:hover,.chat-page .meal-voice-record-button:hover{background:var(--border);color:var(--text)}.chat-page .meal-voice-record-button.is-recording{color:var(--on-accent);background:var(--danger);animation:1.2s ease-out infinite voice-record-pulse}@keyframes voice-record-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.chat-send-button{color:var(--on-accent);background:var(--accent-strong)}.chat-send-button:hover{background:var(--accent-hover);color:var(--on-accent)}.chat-send-button:disabled{background:var(--surface-2);color:var(--text-3)}.chat-page .selected-image-preview{margin-bottom:var(--space-2)}.chat-page .message-feed{gap:var(--space-2)}.chat-page .entry-card{padding:var(--space-2) var(--space-3)}.caption-text{color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-small)}.form-error,.form-success{max-width:none;font-size:var(--fs-body);line-height:var(--lh-body)}.form-error{color:var(--danger)}.form-success{color:var(--accent-strong)}.import-summary{gap:var(--space-2);display:grid}.import-summary ul{gap:var(--space-1);padding-left:var(--space-5);margin:0;display:grid}.onboarding-card{gap:var(--space-5);max-width:860px;padding:var(--space-6);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.onboarding-progress{height:var(--space-1);border-radius:var(--r-pill);background:var(--surface-2);overflow:hidden}.onboarding-progress span{background:var(--accent);block-size:100%;transition:inline-size .22s ease-in-out;display:block}.onboarding-step-header{gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);display:grid}.onboarding-step-body{gap:var(--space-4);display:grid}.onboarding-options{gap:var(--space-3);display:grid}.onboarding-option{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;transition:background .12s ease-out,border-color .12s ease-out;display:grid}.onboarding-option:hover,.onboarding-option:focus-within{border-color:var(--accent-border);background:var(--accent-soft)}.onboarding-option:has(input:checked){border-color:var(--accent-strong);background:var(--accent-soft)}.onboarding-option input{width:auto;min-height:auto;margin-top:var(--space-1);accent-color:var(--accent-strong)}.onboarding-option span{gap:var(--space-1);display:grid}.onboarding-option strong{color:var(--text);font-size:var(--fs-body-lg);font-weight:600;line-height:var(--lh-body-lg)}.onboarding-option small{color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-small)}.onboarding-review{border-top:1px solid var(--border);gap:0;margin:0;display:grid}.onboarding-review div{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);display:grid}.onboarding-review dt{color:var(--text-3);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.onboarding-review dd{color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums;margin:0}.onboarding-actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.onboarding-submit{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--on-accent)}.onboarding-submit:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.stats-chart{width:100%;min-width:0;min-height:220px;overflow:hidden}.stats-chart .recharts-responsive-container{width:100%!important}.activity-detail-list{margin:0}.activity-edit-form{flex:100%}.entry-card{border:1px solid var(--border-strong);background:var(--surface);box-shadow:none;border-radius:8px;gap:0;padding:0;transition:background .12s ease-out,border-color .12s ease-out;display:grid;overflow:hidden}.entry-card.tone-neutral{border-color:var(--border-strong)}.entry-card.tone-success{border-color:var(--border-strong);background:var(--surface)}.entry-card.tone-info{border-color:var(--amber-border)}.entry-card.tone-activity{border-color:var(--border-strong);background:var(--surface)}.entry-card.tone-activity .entry-card-value{color:var(--sky-strong)}.entry-card:focus-within{border-color:var(--border-strong)}.entry-card-collapse{gap:0;display:grid}.entry-card-summary{align-items:center;column-gap:var(--space-2);row-gap:var(--space-1);min-width:0;min-height:56px;padding:0 var(--space-4);border-radius:var(--r-control);color:var(--text);grid-template-columns:28px minmax(48px,64px) auto minmax(0,1fr) auto;list-style:none;display:grid}.entry-card-summary:not(.entry-card-summary-link){cursor:pointer}.entry-card-summary::-webkit-details-marker{display:none}.entry-card-chevron{width:28px;height:28px;color:var(--text-2);border-radius:8px;grid-area:1/1;place-items:center;margin-inline-start:-4px;transition:transform .12s ease-out;display:inline-grid}.entry-card-collapse[open]>.entry-card-summary .entry-card-chevron{transform:rotate(90deg)}.entry-card-summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.entry-card-summary-link{border-radius:var(--r-control);grid-template-columns:32px minmax(48px,64px) auto minmax(0,1fr) auto;transition:background .12s ease-out}.entry-card-summary-link:hover{background:var(--surface-2)}.entry-card-time{text-overflow:ellipsis;min-width:0;color:var(--text-2);font-size:var(--fs-body);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2;overflow:hidden}.entry-card-badge{border-radius:var(--r-pill);min-height:26px;color:var(--amber-strong);background:color-mix(in srgb, var(--amber-soft) 55%, var(--amber-border));font-size:var(--fs-small);letter-spacing:0;font-weight:600;line-height:var(--lh-body);border:0;grid-area:1/3;justify-self:start;align-items:center;gap:5px;padding:2px 10px;display:inline-flex}.entry-card-badge svg{flex:none}.entry-card.tone-activity .entry-card-badge{color:#fff;background:color-mix(in srgb, var(--sky-strong) 78%, var(--accent-strong))}.entry-card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:var(--fs-body-lg);font-weight:650;line-height:var(--lh-body-lg);grid-area:1/4;overflow:hidden}.entry-card-value{color:var(--text);font-size:var(--fs-body-lg);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;grid-area:1/5;justify-self:end;align-items:center;gap:5px;font-weight:700;display:inline-flex}.entry-card-value svg{flex:none}.entry-card-subtitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);font-size:var(--fs-small);font-variant-numeric:tabular-nums;grid-area:2/4/auto/-1;overflow:hidden}.entry-card-meta{color:var(--text-3);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;max-width:none}.entry-card-body{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border);display:grid}.entry-card-actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.entry-card-actions button{align-items:center;gap:var(--space-1);display:inline-flex}.entry-card .weight{font-size:var(--fs-metric);color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.entry-card .muted{font-size:var(--fs-small);color:var(--text-2);font-variant-numeric:tabular-nums}.entry-card .vasil-note{font-size:var(--fs-body);color:var(--text)}@media (width>=640px){.entry-card-summary{grid-template-columns:28px minmax(48px,64px) auto minmax(0,1fr) auto}.entry-card-time{grid-area:1/2}.entry-card-badge{grid-area:1/3}.entry-card-title{grid-area:1/4}.entry-card-value{grid-area:1/5;justify-self:end}.entry-card-subtitle{grid-area:2/4/auto/-1}}@media (width<=639px){.entry-card{box-shadow:var(--shadow-card);border-radius:12px}.entry-card-summary{min-height:68px;padding:var(--space-3) var(--space-4);grid-template-columns:auto minmax(0,1fr) auto 34px}.entry-card-chevron{border:1px solid var(--border);background:var(--surface-2);grid-column:4;justify-self:end;width:34px;height:34px;margin:0}.entry-card-time{font-size:var(--fs-body);grid-area:2/2/auto/4}.entry-card-badge{grid-area:1/1}.entry-card-title{grid-area:1/2}.entry-card-value{grid-area:1/3}.entry-card-subtitle{grid-area:3/1/auto/-1}.entry-card-actions{justify-content:space-between}}@media (width>=768px){.page-stack{gap:var(--space-8)}.chat-page{gap:0}}@media (width>=1280px){.page-stack,.chat-page{max-width:1240px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-delay:0s!important}}.pwa-toast{inset-inline:var(--space-4);bottom:calc(var(--space-20) + env(safe-area-inset-bottom,0px));z-index:40;gap:var(--space-4);width:min(calc(100% - (var(--space-4) * 2)), 560px);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);color:var(--text);box-shadow:var(--shadow-raised);margin-inline:auto;display:grid;position:fixed}.pwa-toast__copy{gap:var(--space-1);display:grid}.pwa-toast__copy strong{color:var(--text);font-size:var(--fs-body-lg);font-weight:600;line-height:var(--lh-body-lg)}.pwa-toast__copy span{color:var(--text-2);font-size:var(--fs-body);line-height:var(--lh-body)}.pwa-toast__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.pwa-toast__button{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--on-accent)}.pwa-toast__button:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.pwa-toast__dismiss{border-color:var(--border);color:var(--text);background:0 0}.pwa-toast__dismiss:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}@media (width>=640px){.pwa-toast{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media (width>=1024px){.pwa-toast{bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}}.cal-ring{display:inline-block;position:relative}.cal-ring-svg{width:100%;height:100%;display:block}.cal-ring-track{fill:none;stroke:var(--ring-track);stroke-width:12px}.cal-ring-progress{fill:none;stroke:var(--accent);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .22s ease-out}.cal-ring-progress.is-over{stroke:var(--amber)}.cal-ring-center{text-align:center;align-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.cal-ring-percent{color:var(--text);font-size:var(--fs-metric);font-weight:700;line-height:var(--lh-metric);font-variant-numeric:tabular-nums}.cal-ring-consumed{color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums;font-weight:600}.cal-ring-subline{color:var(--text-2);font-size:var(--fs-small)}.cal-ring-subline.is-over{color:var(--amber-strong);font-weight:600}.macro-row{gap:var(--space-1) var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;display:grid}.macro-row-label{color:var(--text);font-size:var(--fs-body);font-weight:500}.macro-row-value{color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.macro-row-value.is-over{color:var(--amber-strong)}.macro-row-track{border-radius:var(--r-pill);background:var(--ring-track);grid-column:1/-1;height:6px;display:block;overflow:hidden}.macro-row-fill{border-radius:var(--r-pill);height:100%;transition:width .22s ease-out;display:block}.macro-fill-protein{background:var(--accent)}.macro-fill-carbs{background:var(--amber)}.macro-fill-fat{background:var(--sky)}.streak-pill{padding:6px var(--space-3);border:1px solid var(--amber-border);border-radius:var(--r-pill);background:var(--amber-soft);align-items:center;gap:6px;display:inline-flex}.streak-pill svg{color:var(--amber)}.streak-pill-count{color:var(--amber-strong);font-size:var(--fs-body);font-variant-numeric:tabular-nums;font-weight:700}.streak-pill-label{color:var(--text-2);font-size:var(--fs-small)}@media (width<=359px){.streak-pill-label{display:none}}.chip-row{gap:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{min-height:40px;padding:var(--space-2) 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font-size:var(--fs-body);flex:none;font-weight:500}.chip:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.chip.is-active{border:1.5px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.seg{border-radius:var(--r-pill);background:var(--surface-2);scrollbar-width:none;gap:2px;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg-option{min-height:36px;padding:var(--space-2) var(--space-4);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--fs-body);white-space:nowrap;background:0 0;border:none;font-weight:500}.seg-option:hover{color:var(--text);background:0 0}.seg-option.is-active,.seg-option.is-active:hover{background:var(--surface);color:var(--text);box-shadow:var(--shadow-card);font-weight:600}.toggle{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);width:48px;min-width:48px;height:28px;min-height:28px;padding:0;transition:background .16s ease-out,border-color .16s ease-out;position:relative}.toggle:hover{background:var(--surface-2);border-color:var(--border-strong)}.toggle.is-on,.toggle.is-on:hover{border-color:var(--accent);background:var(--accent)}.toggle-knob{background:var(--surface);width:22px;height:22px;box-shadow:var(--shadow-card);border-radius:50%;transition:transform .16s ease-out;position:absolute;top:2px;left:2px}.toggle.is-on .toggle-knob{transform:translate(20px)}.settings-group{gap:0;display:grid}.settings-group-label{padding:var(--space-3) var(--space-4) 6px;color:var(--text-2);font-size:var(--fs-caption);letter-spacing:.04em;text-transform:uppercase;margin:0;font-weight:500}.settings-group-card{border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.settings-row{align-items:center;gap:var(--space-3);min-height:56px;padding:10px var(--space-4);background:var(--surface);color:var(--text);text-align:left;border:none;border-radius:0;grid-template-columns:36px minmax(0,1fr) auto;font-weight:400;display:grid}@media (width<=640px){.settings-row{grid-template-columns:36px minmax(0,1fr);min-height:60px}.settings-row .settings-row-trailing{grid-column:1/-1;justify-content:flex-start}}.settings-row.no-icon{grid-template-columns:minmax(0,1fr) auto}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row-icon{border-radius:var(--r-control);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.settings-icon-accent{background:var(--accent-soft);color:var(--accent-strong)}.settings-icon-sky{background:var(--sky-soft);color:var(--sky-strong)}.settings-icon-lime{background:var(--lime-soft);color:var(--lime-strong)}.settings-icon-amber{background:var(--amber-soft);color:var(--amber-strong)}.settings-row-text{gap:0;min-width:0;display:grid}.settings-row-label{color:var(--text);font-size:var(--fs-body);font-weight:400}.settings-row-label.is-destructive{color:var(--danger)}.settings-row-value{color:var(--text-2);font-size:var(--fs-small)}.settings-row-trailing{align-items:center;gap:var(--space-2);color:var(--text-3);font-size:var(--fs-small);display:inline-flex}.settings-row.is-expanded .settings-row-trailing{transform:rotate(90deg)}a.settings-row:hover,button.settings-row:hover{background:var(--surface-2);color:var(--text)}.stat-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);justify-items:start;display:grid}.stat-card-icon{border-radius:var(--r-control);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.stat-icon-accent{background:var(--accent-soft);color:var(--accent-strong)}.stat-icon-amber{background:var(--amber-soft);color:var(--amber)}.stat-icon-sky{background:var(--sky-soft);color:var(--sky-strong)}.stat-icon-lime{background:var(--lime-soft);color:var(--lime-strong)}.stat-card-label{color:var(--text-2);font-size:var(--fs-small)}.stat-card-value{color:var(--text);font-size:var(--fs-page-title);font-weight:700;line-height:var(--lh-page-title);font-variant-numeric:tabular-nums}.stat-card-delta{font-size:var(--fs-small)}.stat-card-delta.is-on-target{color:var(--accent-strong)}.stat-card-delta.is-over{color:var(--amber-strong)}.date-strip{gap:var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.date-strip::-webkit-scrollbar{display:none}.date-strip-day{width:44px;padding:var(--space-2) 0;border-radius:var(--r-control);color:var(--text);flex:none;justify-items:center;gap:0;display:grid}.date-strip-weekday{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-caption)}.date-strip-number{color:var(--text);font-size:var(--fs-body);font-variant-numeric:tabular-nums;font-weight:600}.date-strip-day.is-today .date-strip-weekday,.date-strip-day.is-today .date-strip-number{color:var(--accent)}.date-strip-dot{background:0 0;border-radius:50%;width:4px;height:4px;margin-top:2px}.date-strip-dot.has-logs{background:var(--accent)}.empty-card{justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);border:2px dashed var(--border-strong);border-radius:var(--r-card);text-align:center;display:grid}.empty-card-icon{color:var(--text-3)}.empty-card-title{color:var(--text);font-size:var(--fs-card-title);font-weight:600}.empty-card-body{max-width:40ch;color:var(--text-2);font-size:var(--fs-body)}.empty-card-cta{margin-top:var(--space-1);text-decoration:none}.coach-card{gap:var(--space-3);padding:14px var(--space-4);border-left:3px solid var(--accent);border-radius:var(--r-card-sm);background:var(--accent-soft);grid-template-columns:20px minmax(0,1fr);display:grid}.coach-card-icon{color:var(--accent-strong);margin-top:2px}.coach-card-body{gap:2px;min-width:0;display:grid}.coach-card-label{color:var(--text);font-size:var(--fs-body);font-weight:700}.coach-card-text{color:var(--text);font-size:var(--fs-body)}.voice-stop-square{background:currentColor;border-radius:2px;width:12px;height:12px}@media (prefers-reduced-motion:reduce){.skeleton,.typing-dot,.chat-page .meal-voice-record-button.is-recording{animation:none}.cal-ring-progress,.macro-row-fill{transition:none}}.card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.card>.section-head{margin-bottom:0}.section-title{color:var(--text);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-card-title);margin:0}.today-meals,.today-activity{gap:var(--space-3);display:grid}.today-activity-heading{color:var(--burn-strong)}.today-activity-strip{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--burn-soft);border-radius:var(--r-card);color:var(--burn-strong);border:1px solid #ea580c40;padding:10px 12px;display:flex}.today-activity-strip-primary{font-size:14px;font-weight:700}.today-activity-strip-secondary{color:#92400e;font-size:12px}.today-activity-strip-error{color:var(--text-2);justify-content:space-between}.today-activity-empty-hero{background:linear-gradient(180deg, var(--burn-soft), var(--surface));border-color:#ea580c59}.today-activity-empty-hero .empty-hero-title{color:var(--burn-strong)}.today-activity-empty-hero .empty-hero-body{color:#92400e}.today-activity-presets{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.today-activity-preset{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-size:11px;font-weight:600;display:flex}.today-activity-preset-icon{background:var(--burn-soft);width:26px;height:26px;color:var(--burn-strong);border-radius:6px;place-items:center;display:grid}.today-activities{gap:6px;display:grid}@media (width>=768px){.today-activity-presets{grid-template-columns:repeat(6,1fr)}}.add-activity-wizard .btn-primary{background:var(--burn);border-color:var(--burn)}.add-activity-wizard .btn-primary:hover,.add-activity-wizard .btn-primary:focus-visible{background:var(--burn-strong);border-color:var(--burn-strong)}.add-activity-wizard .btn-primary:disabled{background:var(--burn);opacity:.45}.add-activity-wizard-preset-row{margin-bottom:var(--space-2);grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.add-activity-wizard-revive-banner{background:var(--burn-soft);color:var(--burn-strong);border:1px solid #ea580c40;border-radius:10px;padding:8px 12px;font-size:12px}.add-activity-wizard-revise-row{margin-top:var(--space-2);grid-template-columns:1fr auto;gap:6px;display:grid}.log-activity-button{background:var(--burn);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 16px;font-size:14px;font-weight:600;display:inline-flex}.log-activity-button:hover,.log-activity-button:focus-visible{background:var(--burn-strong)}.ghost-link{color:var(--accent-strong);font-size:var(--fs-body);font-weight:600;text-decoration:none}button.ghost-link{align-items:center;gap:var(--space-2);font:inherit;color:var(--accent-strong);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.ghost-link:hover{text-decoration:underline}.history-filter-actions{align-items:center;gap:var(--space-3);grid-column:1/-1;display:flex}.add-meal-backdrop{z-index:60;padding:var(--space-4);overscroll-behavior:contain;background:#0f172a6b;place-items:end center;display:grid;position:fixed;inset:0}.add-meal-dialog{gap:var(--space-4);width:min(100%,560px);max-height:min(720px, calc(100dvh - var(--space-8)));overscroll-behavior:contain;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-raised);display:grid;overflow:auto}.add-meal-head{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.add-meal-head h2{color:var(--text);font-size:var(--fs-card-title);line-height:var(--lh-card-title);margin:0}.add-meal-eyebrow{margin:0 0 var(--space-1);color:var(--text-3);font-size:var(--fs-caption);text-transform:uppercase;font-weight:700}.add-meal-close{flex:none;width:40px;padding:0}.add-meal-step,.add-meal-review{gap:var(--space-4);min-width:0;display:grid}.add-meal-step p{margin:0}.add-meal-picker{border-style:dashed;border-color:var(--border-strong);background:var(--surface-2);min-height:132px;color:var(--text)}.add-meal-picker:hover{border-color:var(--accent-strong);background:var(--accent-soft);color:var(--accent-strong)}.add-meal-preview{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface-2);grid-template-columns:112px minmax(0,1fr);display:grid}.add-meal-preview img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-control);background:var(--surface);width:112px;display:block}.add-meal-preview-copy{gap:var(--space-2);min-width:0;display:grid}.add-meal-preview-copy strong{color:var(--text);overflow-wrap:anywhere}.add-meal-field{gap:var(--space-2);color:var(--text-2);font-size:var(--fs-small);font-weight:600;display:grid}.add-meal-field textarea{width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);resize:vertical}.add-meal-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.add-meal-actions button{flex:128px}.add-meal-status{align-items:start;gap:var(--space-2);max-width:none;padding:var(--space-3);border:1px solid var(--amber-border);border-radius:var(--r-card-sm);background:var(--amber-soft);color:var(--text);display:flex}.add-meal-loading{padding:var(--space-6) 0;text-align:center;justify-items:center}.add-meal-spinner{border:3px solid var(--border);border-top-color:var(--accent-strong);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.add-meal-errors{gap:var(--space-1);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);border:1px solid var(--danger);border-radius:var(--r-card-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-small);margin:0;display:grid}.add-meal-review .msg-coach-row{min-width:0}.add-meal-review .msg-coach-row>.coach-avatar{display:none}.add-meal-review .analysis-card{max-width:none}.add-meal-review .analysis-card.is-active{gap:var(--space-4);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.add-meal-review .analysis-summary-grid{grid-template-columns:minmax(0,2fr) minmax(118px,.8fr);align-items:stretch}.add-meal-review .analysis-summary-main,.add-meal-review .analysis-score-card{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface)}.add-meal-review .analysis-summary-main{align-items:center}.add-meal-review .analysis-thumb{border-radius:var(--r-card-sm);background:var(--accent-soft);width:64px;height:64px;color:var(--accent-strong)}.add-meal-review .analysis-kcal{color:var(--amber-strong);font-size:var(--fs-metric);line-height:var(--lh-metric)}.add-meal-review .analysis-meter-row,.add-meal-review .analysis-notes,.add-meal-review .analysis-more{padding-top:var(--space-3);border-top:1px solid var(--border)}.add-meal-review .itemization-preview{gap:var(--space-2);padding:var(--space-3) 0 0;background:0 0;border:0}.add-meal-review .itemization-preview-title{color:var(--text-2)}.add-meal-review .itemization-preview ul{border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);gap:0;overflow:hidden}.add-meal-review .itemization-preview li{color:var(--text);grid-template-columns:minmax(120px,.9fr) minmax(0,1.4fr);align-items:stretch;gap:0;display:grid}.add-meal-review .itemization-preview li+li{border-top:1px solid var(--border)}.add-meal-review .itemization-preview li span{padding:var(--space-2) var(--space-3)}.add-meal-review .itemization-preview li span:first-child{background:var(--surface-2)}.add-meal-review .itemization-preview li span:last-child{text-align:left;overflow-wrap:break-word;min-width:0}.add-meal-review .analysis-more-summary{align-items:center;min-height:28px;list-style-position:outside;display:flex}.add-meal-review .analysis-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.add-meal-review .analysis-actions button:first-child,.add-meal-review .analysis-actions .analysis-change-input{grid-column:1/-1}.add-meal-review .analysis-actions button:first-child{text-transform:uppercase;min-height:48px}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=768px){.add-meal-backdrop{place-items:center}}@media (width<=560px){.add-meal-backdrop{padding:var(--space-2)}.add-meal-dialog{max-height:calc(100dvh - var(--space-4));padding:var(--space-4);border-radius:var(--r-card-sm)}.add-meal-preview{grid-template-columns:88px minmax(0,1fr)}.add-meal-preview img{width:88px}}@media (width<=480px){.add-meal-review .analysis-summary-grid{grid-template-columns:minmax(0,1fr)}.add-meal-review .analysis-score-card{grid-template-columns:auto minmax(0,1fr);justify-items:start;min-width:0}}.stats-controls{justify-content:flex-start;display:flex}.chart-card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);min-width:0;display:grid}.chart-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.chart-card-title{color:var(--text);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-card-title);margin:0}.chart-card-hint{color:var(--text-3);font-size:var(--fs-small)}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=1024px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stats-page{max-width:920px}.stats-layout{gap:var(--space-4);display:grid}@media (width>=1024px){.stats-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start}}.macro-averages-card{gap:var(--space-4)}.stat-card-value small{font-size:var(--text-sm);font-weight:var(--font-weight-medium,500);color:var(--text-2)}.macro-donut-card{justify-items:center;gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.macro-donut-wrap{width:180px;height:180px;position:relative}.macro-donut-center{text-align:center;pointer-events:none;align-content:center;justify-items:center;gap:2px;display:grid;position:absolute;inset:0}.macro-donut-center strong{color:var(--text);font-size:var(--fs-card-title);font-variant-numeric:tabular-nums;font-weight:700}.macro-donut-center span{color:var(--text-3);font-size:var(--fs-caption)}.donut-legend{gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;display:grid}.donut-legend li{align-items:baseline;gap:var(--space-2);color:var(--text-2);font-size:var(--fs-body);grid-template-columns:10px minmax(0,1fr) auto;display:grid}.donut-legend .legend-dot{border-radius:50%;justify-self:center;width:10px;height:10px}.donut-legend .legend-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}@media (width>=768px){.macro-donut-card{place-items:center stretch;gap:var(--space-8);grid-template-columns:auto minmax(0,1fr)}}.history-page{max-width:720px}.history-toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.history-search{flex:100%;display:block;position:relative}.history-search-icon{inset-inline-start:var(--space-3);color:var(--text-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.history-toolbar input[type=search]{width:100%;padding-inline-start:38px}.history-toolbar .chip-row{flex:1;min-width:0}.history-dates{gap:var(--space-3);flex:100%;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history-dates label{gap:var(--space-1);color:var(--text-3);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600;display:grid}.history-groups{gap:var(--space-6);display:grid}.history-group{gap:var(--space-3);display:grid}.history-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);display:flex}.history-group-date{color:var(--text);font-size:var(--fs-body);font-weight:600}.history-day-total{color:var(--text-2);font-size:var(--fs-body);font-variant-numeric:tabular-nums;white-space:nowrap}.history-group-entries{gap:var(--space-3);display:grid}.history-load-more{justify-content:center;display:flex}.profile-grid{gap:var(--space-6);display:grid}.profile-main,.profile-side{align-content:start;gap:var(--space-6);min-width:0;display:grid}@media (width>=1024px){.profile-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}}.identity-card{align-items:center;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:flex}.profile-page{max-width:640px}@media (width>=1280px){.profile-page{max-width:1180px}}.identity-avatar{background:var(--accent);width:64px;height:64px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:inline-flex}.identity-copy{gap:var(--space-1);flex:1;min-width:0;display:grid}.identity-name{color:var(--text);font-size:var(--fs-card-title);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.identity-email{color:var(--text-2);font-size:var(--fs-small);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.identity-sign-out{flex:none}.identity-card .form-error{flex:100%}.profile-stat-row{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.weekly-goal-card{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);text-align:start;cursor:pointer;transition:border-color .12s ease-out;display:flex}.weekly-goal-card:hover{border-color:var(--accent-strong)}.weekly-goal-icon{border-radius:var(--r-control);background:var(--accent-soft);width:40px;height:40px;color:var(--accent-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.weekly-goal-copy{gap:var(--space-2);flex:1;min-width:0;display:grid}.weekly-goal-title{color:var(--text);font-size:var(--fs-body);font-weight:600}.weekly-goal-progress{border-radius:var(--r-pill);background:var(--ring-track);height:6px;display:block;overflow:hidden}.weekly-goal-progress-fill{border-radius:var(--r-pill);background:var(--accent);height:100%;transition:width .24s ease-out;display:block}.weekly-goal-subline{color:var(--text-2);font-size:var(--fs-small)}.profile-log-activity{justify-content:center}.profile-editors{gap:var(--space-4);align-items:start;display:grid}@media (width>=1280px){.profile-editors{grid-template-columns:repeat(2,minmax(0,1fr))}}.editor-card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);align-content:start;display:grid}.editor-card-head{gap:2px;display:grid}.editor-card-meta{color:var(--text-3);font-size:var(--fs-small);margin:0}.editor-rows{margin:0;display:grid}.editor-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);display:flex}.editor-row:last-child{border-bottom:0}.editor-row dt{color:var(--text-2);font-size:var(--fs-body)}.editor-row dd{color:var(--text);font-size:var(--fs-body);text-align:end;margin:0;font-weight:600}.profile-edit-form{gap:var(--space-4);display:grid}.allowance-form-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.allowance-form-grid label{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);font-weight:600;display:grid}.profile-edit-section{gap:var(--space-2);display:grid}.profile-edit-section h3{color:var(--text);font-size:var(--fs-body);margin:0;font-weight:600}.allowance-mode-row{align-items:center;gap:var(--space-2);display:flex}.profile-edit-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.formula-tooltip-wrap{display:inline-flex;position:relative}.formula-tooltip-trigger{border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-2);font-size:var(--fs-small);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.formula-tooltip{z-index:20;width:260px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-body,1.5);opacity:0;pointer-events:none;transition:opacity .12s ease-out;position:absolute;inset-block-end:calc(100% + var(--space-2));inset-inline-start:0}.formula-tooltip-wrap:hover .formula-tooltip,.formula-tooltip-trigger:focus+.formula-tooltip{opacity:1;pointer-events:auto}.tg-pill{width:fit-content;padding:4px var(--space-3);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font-size:var(--fs-small);align-items:center;gap:6px;font-weight:500;display:inline-flex}.tg-pill.is-linked{background:var(--accent-soft);color:var(--accent-strong)}.allowance-hero{gap:var(--space-5);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.allowance-kcal{gap:var(--space-1);display:grid}.allowance-kcal strong{color:var(--text);font-size:var(--fs-metric);font-weight:700;line-height:var(--lh-metric);font-variant-numeric:tabular-nums}.allowance-kcal span{color:var(--text-2);font-size:var(--fs-small)}.allowance-macros{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.allowance-macro{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface-2);gap:2px;display:grid}.allowance-macro span{color:var(--text-3);font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.allowance-macro strong{color:var(--text);font-size:var(--fs-body-lg);font-variant-numeric:tabular-nums;font-weight:700}.profile-form{gap:var(--space-4);display:grid}.profile-form-grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=640px){.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-form-grid label,.profile-form label{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);font-weight:600;display:grid}.profile-form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.activity-page{max-width:720px}.activity-date-card{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:flex}.activity-date-icon{border-radius:var(--r-control);background:var(--lime-soft);width:40px;height:40px;color:var(--lime-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.activity-date-copy{flex:1;gap:2px;min-width:0;display:grid}.activity-date-title{color:var(--text);font-size:var(--fs-body);font-weight:600}.activity-date-burn{flex:none;justify-items:end;gap:2px;display:grid}.activity-date-burn-label{color:var(--text-3);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em}.activity-date-burn-value{color:var(--lime-strong);font-size:var(--fs-card-title);font-variant-numeric:tabular-nums;font-weight:700}.act-tile-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.act-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.act-tile{justify-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);color:var(--text);font-size:var(--fs-body);cursor:pointer;padding:18px 12px;font-weight:500;transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out;display:grid}.act-tile:hover,.act-tile:focus-visible{background:var(--lime-strong);border-color:var(--lime-strong);color:var(--on-accent)}.act-tile-icon{border-radius:var(--r-control);background:var(--lime-soft);width:40px;height:40px;color:var(--lime-strong);justify-content:center;align-items:center;display:inline-flex}.activity-charts{gap:var(--space-4);display:grid}.activity-chart-full{grid-column:1/-1}.activity-composer-card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);display:grid}.activity-form{gap:var(--space-3);display:grid}@media (width>=640px){.activity-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.activity-clarification{max-width:none;color:var(--text-2);margin:0}.activity-draft{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}@media (width>=640px){.activity-draft{grid-template-columns:minmax(0,1fr) 130px auto;align-items:end}}.activity-draft-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.activity-tiles{gap:var(--space-3);display:grid}.activity-tile{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--r-card-sm);background:var(--surface);box-shadow:var(--shadow-card);display:flex}.activity-tile-icon{border-radius:var(--r-control);background:var(--lime-soft);width:40px;height:40px;color:var(--lime-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.activity-tile-copy{flex:1;gap:2px;min-width:0;display:grid}.activity-tile-name{color:var(--text);font-size:var(--fs-body);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.activity-tile-meta{color:var(--text-3);font-size:var(--fs-small)}.activity-tile-kcal{color:var(--lime-strong);font-size:var(--fs-body);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.settings-stack{gap:var(--space-6);max-width:720px;display:grid}.settings-version{color:var(--text-3);font-size:var(--fs-small);text-align:center;margin:0}.settings-panel{padding:var(--space-4) var(--space-4);border-top:1px solid var(--border)}.settings-panel-note{color:var(--text-2);font-size:var(--fs-small);margin:0}.settings-sign-out{color:var(--danger);justify-self:center}.auth-logo{border-radius:var(--r-card-sm);background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:56px;height:56px;color:var(--on-accent);justify-content:center;align-items:center;display:inline-flex}.auth-session-email{color:var(--text-2);font-size:var(--fs-small);margin:0}.auth-footer{color:var(--text-2);font-size:var(--fs-caption);text-align:center;margin:0}.auth-mode-link{min-height:auto;padding:0;display:inline}.onboarding-auth-card,.auth-layout .onboarding-card{width:min(100%,480px)}.onboarding-auth-head{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.onboarding-auth-head h1{margin:0 0 var(--space-1);font-size:24px;line-height:1.25}.onboarding-auth-head p{color:var(--text-2);font-size:var(--fs-body);margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meals-stat-grid{margin-bottom:var(--space-4)}.meals-workspace-card{gap:var(--space-3);display:grid}.auth-layout{min-height:100dvh;padding:var(--space-6) var(--space-4);background:var(--bg);place-items:center;display:grid}.auth-card{gap:var(--space-5);width:min(100%,400px);padding:var(--space-8) var(--space-6);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-raised);display:grid}.auth-card-brand{justify-items:center;gap:var(--space-2);text-align:center;display:grid}.auth-card-brand h1{margin:0}.auth-card-brand p{max-width:none;color:var(--text-2);font-size:var(--fs-body);margin:0}.auth-form{gap:var(--space-4);display:grid}.auth-form label{gap:var(--space-1);color:var(--text-2);font-size:var(--fs-small);font-weight:600;display:grid}.error-card{justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);text-align:center;display:grid}.error-card h2{margin:0}.error-card p{max-width:44ch;margin:0}.meals-legacy-list{gap:var(--space-4);display:grid}.home-stack{flex-direction:column;gap:16px;display:flex}.trainer-strip{background:linear-gradient(90deg, var(--accent-soft), color-mix(in oklch, var(--accent-soft) 60%, var(--surface)) 100%);border:1px solid var(--accent-border);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.trainer-strip:hover{background:linear-gradient(90deg, var(--accent-soft), color-mix(in oklch, var(--accent-soft) 40%, var(--surface)) 100%);border-color:var(--accent-strong);box-shadow:0 2px 6px color-mix(in oklch, var(--accent) 10%, transparent)}.trainer-strip:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.trainer-strip-message{flex:auto;min-width:0;max-width:560px;font-size:13px;line-height:1.4}.trainer-strip-badge{background:var(--accent);color:var(--on-accent,#fff);letter-spacing:.04em;border-radius:4px;flex:none;padding:2px 6px;font-size:10px;font-weight:600}.trainer-strip-arrow{color:var(--accent-strong);flex:none;margin-left:auto;font-size:16px}.status-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;display:grid}.status-card-ring{justify-content:center;align-items:center;width:100px;height:100px;display:flex}.status-card-body{flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.status-card-headline{letter-spacing:-.02em;color:var(--text);margin:0;font-size:18px;font-weight:700}.status-card-copy{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.status-card-macros{color:var(--text-3);flex-direction:column;gap:10px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.status-card-macro{flex-direction:column;gap:4px;display:flex}.status-card-macro-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.status-card-macro-value{color:var(--text);font-size:13px;font-weight:700}.status-card-macro-label{text-transform:uppercase;letter-spacing:.05em;font-size:11px}.status-card-macro-track{border-radius:var(--r-pill);background:var(--ring-track);height:6px;position:relative;overflow:hidden}.status-card-macro-fill{border-radius:var(--r-pill);height:100%;transition:width .3s;display:block}.status-card-macro-protein .status-card-macro-fill{background:var(--sky)}.status-card-macro-carbs .status-card-macro-fill{background:var(--amber)}.status-card-macro-fat .status-card-macro-fill{background:var(--accent)}.status-card-actions{flex-direction:column;align-self:center;gap:6px;display:flex}.status-card-actions .btn-primary,.status-card-actions .btn-secondary{white-space:nowrap;min-width:140px}.status-card-voice{align-items:center;gap:.375rem;display:inline-flex}.streak-strip{border-radius:12px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;display:flex}.streak-strip-emoji{font-size:18px}.streak-strip-active{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.streak-strip-zero{background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.empty-hero{border:1px dashed var(--border-strong);text-align:center;background:linear-gradient(180deg, var(--surface), var(--surface-2));border-radius:14px;flex-direction:column;align-items:center;padding:24px 20px;display:flex}.empty-hero-icon{margin:0 0 8px;font-size:40px;line-height:1}.empty-hero-title{color:var(--text);margin:0 0 4px;font-size:16px}.empty-hero-body{color:var(--text-2);max-width:380px;margin:0 0 14px;font-size:13px}.empty-hero-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:inline-flex}@media (width<=640px){.status-card{grid-template-columns:88px 1fr}.status-card-actions{flex-flow:wrap;grid-column:1/-1}.status-card-actions .btn-primary,.status-card-actions .btn-secondary{flex:calc(50% - 3px);min-width:0}}.camera-viewfinder{z-index:1000;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.camera-viewfinder-video{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.camera-viewfinder-close{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.camera-viewfinder-controls{left:0;right:0;bottom:calc(24px + env(safe-area-inset-bottom,0px));justify-content:center;align-items:center;gap:32px;display:flex;position:absolute}.camera-viewfinder-gallery{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.camera-viewfinder-shutter{cursor:pointer;background:0 0;border:2px solid #ffffffe6;border-radius:50%;place-items:center;width:72px;height:72px;padding:0;display:grid}.camera-viewfinder-shutter:disabled{opacity:.6;cursor:default}.camera-viewfinder-shutter-disc{background:#fff;border-radius:50%;width:56px;height:56px;transition:transform .1s ease-out}.camera-viewfinder-shutter:active .camera-viewfinder-shutter-disc{transform:scale(.9)}@media (pointer:coarse){input,select,textarea,.add-meal-field input,.add-meal-field textarea,.add-activity-wizard-revise-row input,.meal-edit-describe textarea,.meal-edit-form textarea,.itemized-field input,.chat-composer textarea{font-size:16px}}.add-meal-voice{flex-direction:column;align-items:center;gap:1rem;display:flex}.add-meal-voice-help{color:var(--muted,#6b7280);text-align:center}.add-meal-voice-mic{width:96px;height:96px;color:var(--brand,#3f8f5c);cursor:pointer;background:0 0;border:2px solid;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:relative}.add-meal-voice-mic.is-recording{color:var(--danger,#c53030);animation:1.4s ease-in-out infinite add-meal-voice-pulse}.add-meal-voice-elapsed{font-variant-numeric:tabular-nums;color:var(--danger,#c53030);font-size:.875rem;position:absolute;bottom:-1.6rem}@keyframes add-meal-voice-pulse{0%,to{box-shadow:0 0 #c5303040}50%{box-shadow:0 0 0 12px #c5303000}}.add-meal-voice-preview{justify-content:center;width:100%;display:flex}.add-meal-voice-preview audio{width:100%;max-width:20rem}.add-meal-voice-uncertain{flex-direction:column;gap:.5rem;width:100%;display:flex}.add-meal-voice-question{color:var(--warning,#b7791f);align-items:center;gap:.375rem;margin:0;font-weight:600;display:flex}.add-meal-voice-question-text{margin:0}
