:root{--bg:#0a0c10;--bg-gradient:radial-gradient(circle at 15% -10%, #161c26 0%, #0a0c10 45%), radial-gradient(circle at 110% 10%, #14121c 0%, #0a0c10 40%);--glass-bg:#ffffff0b;--glass-bg-strong:#ffffff12;--glass-blur:12px;--glass-blur-strong:14px;--nav-glass-bg:#171b23b8;--toast-glass:#1a1e2794;--toast-ink-shade:#fff;--toast-ink-mix:76%;--glass-border:#ffffff17;--surface-card:#ffffff0d;--surface-inset:#ffffff17;--card-shadow:none;--text-primary:#f2f4f8;--text-muted:#8a93a6;--text-dim:#5b6273;--info-icon:#ffffffd9;--info-bg:#ffffff1a;--info-bg-hover:#ffffff26;--c-calories:#ff6b4a;--c-protein:#33d6a6;--c-carbs:#ffc24b;--c-fats:#8c9eff;--c-fiber:#8bc34a;--c-water:#4fc3f7;--c-danger:#ff5470;--c-sugar:#ff6f9c;--c-sodium:#b98cff;--c-fasting:#a78bfa;--c-fasting-2:#f472b6;--c-eating:#fbbf24;--c-eating-2:#fb7185;--c-calories-rgb:255, 107, 74;--c-protein-rgb:51, 214, 166;--c-carbs-rgb:255, 194, 75;--c-fats-rgb:140, 158, 255;--c-fiber-rgb:139, 195, 74;--c-water-rgb:79, 195, 247;--c-water-light:#8fe2ff;--c-water-light-rgb:143, 226, 255;--c-water-deep:#2f9fd6;--scrim-bg:#04050899;--c-danger-rgb:255, 84, 112;--c-sugar-rgb:255, 111, 156;--c-sodium-rgb:185, 140, 255;--c-fasting-rgb:167, 139, 250;--c-eating-rgb:251, 191, 36;--c-protein-light:#6bffce;--c-carbs-light:#ffdb8a;--c-fats-light:#b7c3ff;--c-fiber-light:#c5e79a;--c-danger-light:#ff8095;--glass-highlight:#fff3;--glass-inset-shadow:#0000004d;--glass-inset-shadow-soft:#00000024;--danger-bg-alpha:.09;--danger-border-alpha:0;--scrollbar-thumb-rgb:168, 181, 209;--radius-lg:26px;--radius-md:18px;--radius-sm:12px;--fab-diameter:clamp(48px, calc((min(100vw - 36px, 440px) - 20px) / 5 - 6px), 60px);--nav-height:64px;--font-display:"Space Grotesk", "Inter", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--ease:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--press-scale:.97;--press-scale-deep:.93;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]):not([data-theme=amoled]){--bg:#f2f2f7;--bg-gradient:radial-gradient(circle at 15% -10%, #fff 0%, #f2f2f7 45%), radial-gradient(circle at 110% 10%, #fdf1ea 0%, #f2f2f7 40%);--glass-bg:#0a0c1409;--glass-bg-strong:#0a0c1411;--nav-glass-bg:#ffffffc7;--toast-glass:#fcfcfe94;--toast-ink-shade:#0b0d14;--toast-ink-mix:64%;--glass-border:#0a0c141a;--surface-card:#fff;--surface-inset:#f2f2f7;--card-shadow:0 1px 2px #1416220a, 0 8px 24px #14162212;--text-primary:#14161d;--text-muted:#565f72;--text-dim:#7c8398;--info-icon:#000000b3;--info-bg:#0000000d;--info-bg-hover:#00000017;--c-calories:#d84e2f;--c-protein:#0f9773;--c-carbs:#b3790a;--c-fats:#4a5bc7;--c-fiber:#5c8a1e;--c-water:#0f7fb0;--c-danger:#c81f3f;--c-calories-rgb:216, 78, 47;--c-protein-rgb:15, 151, 115;--c-carbs-rgb:179, 121, 10;--c-fats-rgb:74, 91, 199;--c-fiber-rgb:92, 138, 30;--c-water-rgb:15, 127, 176;--c-water-light:#7bb9d4;--c-water-light-rgb:123, 185, 212;--c-water-deep:#0c668d;--scrim-bg:#c6ccd88c;--c-danger-rgb:200, 31, 63;--c-sugar:#c22a63;--c-sodium:#6339c9;--c-sugar-rgb:194, 42, 99;--c-sodium-rgb:99, 57, 201;--c-fasting:#7c3aed;--c-fasting-2:#db2777;--c-eating:#b45309;--c-eating-2:#be123c;--c-fasting-rgb:124, 58, 237;--c-eating-rgb:180, 83, 9;--c-protein-light:#5cc9a8;--c-carbs-light:#dba233;--c-fats-light:#8b98e0;--c-fiber-light:#93b85e;--c-danger-light:#e0637f;--glass-highlight:#ffffffd9;--glass-inset-shadow:#1e202d1f;--glass-inset-shadow-soft:#1e202d0d;--scrollbar-thumb-rgb:51, 65, 85;--danger-bg-alpha:.14;--danger-border-alpha:.4}}:root[data-theme=light]{--bg:#f2f2f7;--bg-gradient:radial-gradient(circle at 15% -10%, #fff 0%, #f2f2f7 45%), radial-gradient(circle at 110% 10%, #fdf1ea 0%, #f2f2f7 40%);--glass-bg:#0a0c1409;--glass-bg-strong:#0a0c1411;--nav-glass-bg:#ffffffc7;--toast-glass:#fcfcfe94;--toast-ink-shade:#0b0d14;--toast-ink-mix:64%;--glass-border:#0a0c141a;--surface-card:#fff;--surface-inset:#f2f2f7;--card-shadow:0 1px 2px #1416220a, 0 8px 24px #14162212;--text-primary:#14161d;--text-muted:#565f72;--text-dim:#7c8398;--info-icon:#000000b3;--info-bg:#0000000d;--info-bg-hover:#00000017;--c-calories:#d84e2f;--c-protein:#0f9773;--c-carbs:#b3790a;--c-fats:#4a5bc7;--c-fiber:#5c8a1e;--c-water:#0f7fb0;--c-danger:#c81f3f;--c-calories-rgb:216, 78, 47;--c-protein-rgb:15, 151, 115;--c-carbs-rgb:179, 121, 10;--c-fats-rgb:74, 91, 199;--c-fiber-rgb:92, 138, 30;--c-water-rgb:15, 127, 176;--c-water-light:#7bb9d4;--c-water-light-rgb:123, 185, 212;--c-water-deep:#0c668d;--scrim-bg:#c6ccd88c;--c-danger-rgb:200, 31, 63;--c-sugar:#c22a63;--c-sodium:#6339c9;--c-sugar-rgb:194, 42, 99;--c-sodium-rgb:99, 57, 201;--c-fasting:#7c3aed;--c-fasting-2:#db2777;--c-eating:#b45309;--c-eating-2:#be123c;--c-fasting-rgb:124, 58, 237;--c-eating-rgb:180, 83, 9;--c-protein-light:#5cc9a8;--c-carbs-light:#dba233;--c-fats-light:#8b98e0;--c-fiber-light:#93b85e;--c-danger-light:#e0637f;--glass-highlight:#ffffffd9;--glass-inset-shadow:#1e202d1f;--glass-inset-shadow-soft:#1e202d0d;--scrollbar-thumb-rgb:51, 65, 85;--danger-bg-alpha:.14;--danger-border-alpha:.4}:root[data-theme=dark]{--bg:#0a0c10;--bg-gradient:radial-gradient(circle at 15% -10%, #161c26 0%, #0a0c10 45%), radial-gradient(circle at 110% 10%, #14121c 0%, #0a0c10 40%);--glass-bg:#ffffff0b;--glass-bg-strong:#ffffff12;--nav-glass-bg:#171b23b8;--toast-glass:#1a1e2794;--toast-ink-shade:#fff;--toast-ink-mix:76%;--glass-border:#ffffff17;--surface-card:#ffffff0d;--surface-inset:#ffffff17;--card-shadow:none;--text-primary:#f2f4f8;--text-muted:#8a93a6;--text-dim:#5b6273;--info-icon:#ffffffd9;--info-bg:#ffffff1a;--info-bg-hover:#ffffff26;--c-calories:#ff6b4a;--c-protein:#33d6a6;--c-carbs:#ffc24b;--c-fats:#8c9eff;--c-fiber:#8bc34a;--c-water:#4fc3f7;--c-danger:#ff5470;--c-calories-rgb:255, 107, 74;--c-protein-rgb:51, 214, 166;--c-carbs-rgb:255, 194, 75;--c-fats-rgb:140, 158, 255;--c-fiber-rgb:139, 195, 74;--c-water-rgb:79, 195, 247;--c-water-light:#8fe2ff;--c-water-light-rgb:143, 226, 255;--c-water-deep:#2f9fd6;--scrim-bg:#04050899;--c-danger-rgb:255, 84, 112;--c-sugar:#ff6f9c;--c-sodium:#b98cff;--c-sugar-rgb:255, 111, 156;--c-sodium-rgb:185, 140, 255;--c-fasting:#a78bfa;--c-fasting-2:#f472b6;--c-eating:#fbbf24;--c-eating-2:#fb7185;--c-fasting-rgb:167, 139, 250;--c-eating-rgb:251, 191, 36;--c-protein-light:#6bffce;--c-carbs-light:#ffdb8a;--c-fats-light:#b7c3ff;--c-fiber-light:#c5e79a;--c-danger-light:#ff8095;--glass-highlight:#fff3;--glass-inset-shadow:#0000004d;--glass-inset-shadow-soft:#00000024;--scrollbar-thumb-rgb:168, 181, 209;--danger-bg-alpha:.09;--danger-border-alpha:0}:root[data-theme=amoled]{--bg:#000;--bg-gradient:radial-gradient(circle at 15% -10%, #0a0a0c 0%, #000 45%), radial-gradient(circle at 110% 10%, #08060a 0%, #000 40%);--glass-bg:#ffffff0e;--glass-bg-strong:#ffffff17;--nav-glass-bg:#1c2028c2;--toast-glass:#12151b9e;--toast-ink-shade:#fff;--toast-ink-mix:76%;--glass-border:#ffffff1c;--surface-card:#ffffff13;--surface-inset:#ffffff21;--card-shadow:none;--text-primary:#f2f4f8;--text-muted:#8a93a6;--text-dim:#5b6273;--info-icon:#ffffffd9;--info-bg:#ffffff1a;--info-bg-hover:#ffffff26;--c-calories:#ff6b4a;--c-protein:#33d6a6;--c-carbs:#ffc24b;--c-fats:#8c9eff;--c-fiber:#8bc34a;--c-water:#4fc3f7;--c-danger:#ff5470;--c-calories-rgb:255, 107, 74;--c-protein-rgb:51, 214, 166;--c-carbs-rgb:255, 194, 75;--c-fats-rgb:140, 158, 255;--c-fiber-rgb:139, 195, 74;--c-water-rgb:79, 195, 247;--c-water-light:#8fe2ff;--c-water-light-rgb:143, 226, 255;--c-water-deep:#2f9fd6;--scrim-bg:#000c;--c-danger-rgb:255, 84, 112;--c-sugar:#ff6f9c;--c-sodium:#b98cff;--c-sugar-rgb:255, 111, 156;--c-sodium-rgb:185, 140, 255;--c-fasting:#a78bfa;--c-fasting-2:#f472b6;--c-eating:#fbbf24;--c-eating-2:#fb7185;--c-fasting-rgb:167, 139, 250;--c-eating-rgb:251, 191, 36;--c-protein-light:#6bffce;--c-carbs-light:#ffdb8a;--c-fats-light:#b7c3ff;--c-fiber-light:#c5e79a;--c-danger-light:#ff8095;--glass-highlight:#ffffff38;--glass-inset-shadow:#00000080;--glass-inset-shadow-soft:#00000038;--scrollbar-thumb-rgb:203, 213, 225;--danger-bg-alpha:.09;--danger-border-alpha:0}::view-transition-old(root){animation:view-fade-out .32s var(--ease) both}::view-transition-new(root){animation:view-fade-in .32s var(--ease) both}@keyframes view-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes view-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background-color .55s var(--ease);-webkit-tap-highlight-color:transparent;height:100dvh;margin:0;padding:0;overflow:hidden}body{background-image:var(--bg-gradient);background-attachment:fixed}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim{color:var(--text-dim);font-weight:500}button,input{color:inherit;font-family:inherit}button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--c-water);outline-offset:2px;border-radius:6px}:root{--card-elevation:0 1px 2px var(--glass-inset-shadow), 0 10px 24px -8px var(--glass-inset-shadow-soft), 0 28px 56px -20px var(--glass-inset-shadow-soft);--card-elevation-strong:0 2px 4px var(--glass-inset-shadow), 0 14px 32px -10px var(--glass-inset-shadow-soft), 0 34px 64px -18px var(--glass-inset-shadow-soft)}.glass{isolation:isolate;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);backdrop-filter:blur(var(--glass-blur)) saturate(140%);box-shadow:var(--card-elevation), inset 0 1px 0 #ffffff0a}.glass-strong{isolation:isolate;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(150%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(150%);box-shadow:var(--card-elevation-strong), inset 0 1px 0 #ffffff0d}.btn{border-radius:var(--radius-sm);transition:transform .15s var(--ease), filter .15s var(--ease), background .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;padding:14px 20px;font-size:15px;font-weight:600}.btn:active{transform:scale(.97)}.btn-block{width:100%}.btn-sm{padding:10px 16px;font-size:13.5px}.btn-primary{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c}@media (hover:hover) and (pointer:fine){.btn-primary:hover{filter:brightness(1.08)}}.btn-primary:disabled{opacity:.4;filter:none;cursor:not-allowed}.btn-ghost-sm{color:var(--text-muted);text-align:center;background:0 0;width:100%;padding:10px;font-size:14px}@media (hover:hover) and (pointer:fine){.btn-ghost-sm:hover{color:var(--text-primary)}}.btn-water{background:var(--glass-bg-strong);border:1px solid rgba(var(--c-water-rgb), .35);color:var(--c-water);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:10px 18px;font-size:13px}.btn-water:active{transform:scale(var(--press-scale));background:rgba(var(--c-water-rgb), .18)}.btn-water:disabled{opacity:.55;cursor:not-allowed}.btn-water-ghost{color:var(--text-muted);background:0 0;align-items:center;gap:6px;display:inline-flex}.btn-water-ghost svg{width:15px;height:15px}.btn-water-ghost:active{background:var(--glass-bg-strong)}.btn-feature{background:linear-gradient(135deg, rgba(var(--c-protein-rgb), .16), rgba(var(--c-protein-rgb), .05));border:1px solid rgba(var(--c-protein-rgb), .4);color:var(--c-protein);justify-content:center;align-items:center;gap:9px;display:flex}.btn-feature svg{flex-shrink:0;width:19px;height:19px}@media (hover:hover) and (pointer:fine){.btn-feature:hover{background:linear-gradient(135deg, rgba(var(--c-protein-rgb), .24), rgba(var(--c-protein-rgb), .08))}}.btn-feature:active{transform:scale(var(--press-scale))}.btn-danger-outline{background:rgba(var(--c-danger-rgb), .09);border:1px solid rgba(var(--c-danger-rgb), .4);color:var(--c-danger);justify-content:center;align-items:center;gap:9px;display:flex}.btn-danger-outline svg{flex-shrink:0;width:18px;height:18px}@media (hover:hover) and (pointer:fine){.btn-danger-outline:hover{background:rgba(var(--c-danger-rgb), .16)}}.btn-danger-outline:active{transform:scale(var(--press-scale))}.btn-danger{background:rgba(var(--c-danger-rgb), .18);border:1.5px solid var(--c-danger);color:var(--c-danger);justify-content:center;align-items:center;gap:9px;font-weight:700;display:flex}.btn-danger svg{flex-shrink:0;width:18px;height:18px}@media (hover:hover) and (pointer:fine){.btn-danger:hover{background:rgba(var(--c-danger-rgb), .26)}}.btn-danger:active{transform:scale(var(--press-scale))}.btn-danger:disabled{opacity:.4;filter:none;cursor:not-allowed}.water-actions-row{align-items:center;gap:8px;margin-top:10px;display:flex}.icon-btn{width:44px;height:44px;color:var(--text-primary);transition:transform .15s var(--ease);border:none;border-radius:50%;place-items:center;display:grid;position:relative}.icon-btn svg{width:20px;height:20px}.icon-btn:active{transform:scale(var(--press-scale))}.icon-btn.pulse{animation:none}.icon-btn.pulse svg{animation:fab-icon-flourish .6s var(--ease-bounce)}.icon-btn:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffffd9,#fff0 70%);border-radius:50%;position:absolute;inset:0}.icon-btn.pulse:before{animation:.35s ease-out fab-flash}.icon-btn:after{content:"";border:2px solid rgba(var(--c-water-rgb), .6);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-4px;transform:scale(.75)}.icon-btn.pulse:after{animation:fab-ring-burst .6s var(--ease) .1s}#settings-btn.pulse{animation:none}#settings-btn.pulse svg{animation:settings-gear-turn .5s var(--ease)}@keyframes settings-gear-turn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#settings-btn.pulse:before{animation:settings-btn-glow .45s var(--ease)}@keyframes settings-btn-glow{0%,to{opacity:0}45%{opacity:.5}}#settings-btn.pulse:after{animation:settings-btn-ring .5s var(--ease);border-color:rgba(var(--c-water-rgb), .55)}@keyframes settings-btn-ring{0%{opacity:.85;transform:scale(.7)}to{opacity:0;transform:scale(1.4)}}.boot-loader{z-index:500;background:var(--bg);background-image:var(--bg-gradient);place-items:center;display:grid;position:fixed;inset:0}.app.no-scroll{overflow:hidden}.offline-banner{z-index:300;padding:calc(10px + var(--safe-top)) 16px 10px;background:rgba(var(--c-carbs-rgb), .16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(var(--c-carbs-rgb), .3);color:var(--c-carbs);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner svg{flex-shrink:0;width:16px;height:16px}.offline-queue-count{opacity:.85;flex-basis:100%;font-size:11px;font-weight:500}.pending-sync-dot{background:var(--c-carbs);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;animation:1.4s ease-in-out infinite pending-sync-pulse;display:inline-block}@keyframes pending-sync-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.log-item-pending{opacity:.72}@media (prefers-reduced-motion:reduce){.pending-sync-dot{opacity:.85;animation:none}}.auth-screen{min-height:100dvh;max-height:100dvh;padding:24px 24px max(24px, calc(var(--safe-bottom) + 16px));-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:safe center;align-items:center;display:flex;position:relative;overflow-y:auto}.auth-card{z-index:2;border-radius:var(--radius-lg);width:100%;max-width:380px;transition:background-color .55s var(--ease), border-color .55s var(--ease);padding:36px 28px;position:relative}@keyframes auth-card-in{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card-enter{animation:auth-card-in .6s var(--ease)}.brand{text-align:center;margin-bottom:24px}.brand-mark{background:linear-gradient(135deg, var(--c-calories), var(--c-carbs));color:#17100c;width:52px;height:52px;font-family:var(--font-mono);animation:brand-mark-pulse .7s var(--ease-bounce) .15s both;border-radius:16px;place-items:center;margin-bottom:14px;font-size:18px;font-weight:700;display:inline-grid}@keyframes brand-mark-pulse{0%{opacity:0;transform:scale(.7)}55%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.brand h1{margin-bottom:6px;font-size:24px}.brand-sub{color:var(--text-muted);font-size:13.5px}.lamp-toggle{--lamp-metal:#d8dbe2;--lamp-metal-dark:#9aa0ac;--lamp-shade-hi:#f7f4ec;--lamp-shade-mid:#ddd6c6;--lamp-shade-lo:#aea788;--lamp-shade-stroke:#14100838;--lamp-inner-hi:#fff3ce;--lamp-inner-lo:#e7ac4c;--lamp-bulb-color:#ffcf6b;--lamp-bulb-color-edge:#dd8f22;--lamp-flex:#9096a1;--lamp-cord:#9096a1;z-index:2;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin-bottom:8px;padding:0;position:relative}.lamp-fixture{width:76px;height:100px;display:block;overflow:visible}.lamp-swing{transform-origin:40px 9px}.lamp-shade-body{transition:fill .1s}.lamp-shade-highlight{transition:none}.lamp-inner-glow{opacity:0;transition:opacity .7s var(--ease)}.lamp-toggle[data-lamp-state=on] .lamp-inner-glow{opacity:1}.lamp-bulb{opacity:.5;transition:opacity .55s var(--ease)}.lamp-toggle[data-lamp-state=on] .lamp-bulb{opacity:1}.lamp-glow-halo{opacity:0;transition:opacity .7s var(--ease)}.lamp-toggle[data-lamp-state=on] .lamp-glow-halo{opacity:.9}.lamp-filament{opacity:.35;transition:opacity .55s var(--ease)}.lamp-toggle[data-lamp-state=on] .lamp-filament{opacity:.85}.lamp-cord-knob{transition:transform .15s var(--ease)}.lamp-toggle:active .lamp-cord-knob{transform:translateY(3px)}.lamp-toggle.pulling .lamp-swing{animation:1.6s cubic-bezier(.36,.07,.19,.97) lamp-swing-physics}@keyframes lamp-swing-physics{0%{transform:rotate(0)}7%{transform:rotate(17deg)}20%{transform:rotate(-12deg)}34%{transform:rotate(8deg)}48%{transform:rotate(-5deg)}62%{transform:rotate(3deg)}76%{transform:rotate(-1.5deg)}90%{transform:rotate(.6deg)}to{transform:rotate(0)}}.lamp-toggle.pulling .lamp-cord-string{transform-origin:40px 76px;animation:lamp-cord-tug .55s var(--ease-bounce)}.lamp-toggle.pulling .lamp-cord-knob{animation:lamp-cord-knob-tug .55s var(--ease-bounce)}@keyframes lamp-cord-tug{0%{transform:scaleY(1)}30%{transform:scaleY(1.45)}to{transform:scaleY(1)}}@keyframes lamp-cord-knob-tug{0%{transform:translateY(0)}30%{transform:translateY(10px)}to{transform:translateY(0)}}.lamp-screen-glow{opacity:0;pointer-events:none;width:min(900px,150vw);height:min(620px,70vh);transition:opacity .8s var(--ease);z-index:1;background:radial-gradient(at 50% 0,#ffd48052 0%,#ffbe5024 42%,#0000 72%);position:fixed;top:0;left:50%;transform:translate(-50%)}.lamp-toggle[data-lamp-state=on]~.lamp-screen-glow{opacity:1}.lamp-hint{z-index:1;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px var(--glass-inset-shadow);transition:opacity .4s var(--ease), transform .4s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease);animation:lamp-hint-in .5s var(--ease-bounce) .9s both, lamp-hint-float 2.4s ease-in-out 1.4s infinite;border-radius:999px;align-items:center;gap:4px;padding:6px 11px;font-size:11.5px;font-weight:700;display:flex;position:absolute;top:-2px;left:52px}.lamp-hint:before{content:"";background:inherit;border-right:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);width:8px;height:8px;position:absolute;bottom:-4px;left:10px;transform:rotate(45deg)}.lamp-hint-sparkle{display:inline-block}@keyframes lamp-hint-in{0%{opacity:0;transform:translateY(4px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lamp-hint-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.lamp-hint.hint-dismissed{opacity:0;animation:none;transform:translateY(-8px)scale(.85)}.svg-symbol-defs{width:0;height:0;position:absolute;overflow:hidden}.lamp-toggle:after{content:"";z-index:-1;pointer-events:none;clip-path:polygon(44% 0%,56% 0%,100% 100%,0% 100%);filter:blur(15px);opacity:.55;width:440px;height:620px;transition:opacity .8s var(--ease);background:radial-gradient(58% 40% at 50% 0,#ffcf6b4d,#ffcf6b00 74%),linear-gradient(#ffc65c38 0%,#ffc65c16 40%,#ffc65c00 86%);margin-left:-220px;position:absolute;top:63px;left:50%}.lamp-toggle[data-lamp-state=on]:after{opacity:1}.auth-motes{z-index:1;pointer-events:none;width:min(440px,100%);height:660px;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.auth-motes span{animation:mote-drift var(--mote-dur,15s) linear var(--mote-delay,0s) infinite;background:#ffe1a3;border-radius:50%;position:absolute}@keyframes mote-drift{0%{opacity:0;transform:translate(0,0)scale(1)}14%{opacity:var(--mote-peak,.5)}78%{opacity:var(--mote-peak,.5)}to{transform:translate3d(var(--mote-dx,12px), -190px, 0) scale(.55);opacity:0}}.auth-motes span:first-child{--mote-dur:16s;--mote-delay:0s;--mote-dx:14px;--mote-peak:.45;width:3px;height:3px;top:300px;left:18%}.auth-motes span:nth-child(2){--mote-dur:21s;--mote-delay:-3s;--mote-dx:-10px;--mote-peak:.34;width:2px;height:2px;top:380px;left:34%}.auth-motes span:nth-child(3){--mote-dur:13s;--mote-delay:-7s;--mote-dx:9px;--mote-peak:.52;width:3.5px;height:3.5px;top:250px;left:52%}.auth-motes span:nth-child(4){--mote-dur:19s;--mote-delay:-1.5s;--mote-dx:-15px;--mote-peak:.3;width:2px;height:2px;top:430px;left:67%}.auth-motes span:nth-child(5){--mote-dur:24s;--mote-delay:-9s;--mote-dx:11px;--mote-peak:.38;width:2.5px;height:2.5px;top:340px;left:80%}.auth-motes span:nth-child(6){--mote-dur:17s;--mote-delay:-12s;--mote-dx:16px;--mote-peak:.42;width:2.5px;height:2.5px;top:500px;left:26%}.auth-motes span:nth-child(7){--mote-dur:22s;--mote-delay:-5s;--mote-dx:-8px;--mote-peak:.36;width:3px;height:3px;top:560px;left:45%}.auth-motes span:nth-child(8){--mote-dur:15s;--mote-delay:-10s;--mote-dx:13px;--mote-peak:.48;width:2px;height:2px;top:200px;left:60%}.auth-motes span:nth-child(9){--mote-dur:26s;--mote-delay:-14s;--mote-dx:18px;--mote-peak:.28;width:2px;height:2px;top:420px;left:10%}.auth-motes span:nth-child(10){--mote-dur:18s;--mote-delay:-6s;--mote-dx:-12px;--mote-peak:.33;width:3px;height:3px;top:470px;left:90%}.auth-stage{z-index:2;width:100%;max-width:380px;position:relative}.auth-stage .auth-card{max-width:none;padding-top:56px}.auth-screen .lamp-toggle{margin-bottom:120px}.auth-ollie{z-index:4;pointer-events:none;width:92px;height:117px;position:absolute;top:0;left:50%;transform:translate(-50%,-69%)}.auth-ollie-svg{filter:drop-shadow(0 -2px 6px #ffcf6b59)drop-shadow(0 8px 12px #00000073);width:100%;height:100%;animation:4.6s ease-in-out infinite auth-ollie-bob;display:block;overflow:visible}@keyframes auth-ollie-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4.5px)rotate(1.2deg)}}.ao-eyes-happy,.ao-eyes-sick,.ao-brows,.auth-ollie[data-mood=happy] .ao-eyes-open,.auth-ollie[data-mood=content] .ao-eyes-open{display:none}.auth-ollie[data-mood=happy] .ao-eyes-happy,.auth-ollie[data-mood=content] .ao-eyes-happy,.auth-ollie[data-mood=worried] .ao-brows{display:block}.auth-ollie[data-mood=sick] .ao-eyes-open{display:none}.auth-ollie[data-mood=sick] .ao-eyes-sick{display:block}.auth-ollie[data-mood=hungry] .auth-ollie-svg{filter:saturate(.9)brightness(.96)drop-shadow(0 8px 12px #00000073);animation-duration:5.4s}.auth-ollie[data-mood=worried] .auth-ollie-svg{filter:saturate(.8)brightness(.92)drop-shadow(0 8px 12px #00000073);animation-duration:6s}.auth-ollie[data-mood=sick] .auth-ollie-svg{filter:grayscale(.34)saturate(.64)brightness(.86)drop-shadow(0 8px 12px #00000073);animation-duration:6.8s}.auth-ollie .ao-cover{opacity:0;transform-box:fill-box;transform-origin:50% 5%;transition:opacity 0s linear .34s, transform .34s var(--ease-bounce)}.auth-ollie .ao-cover-l,.auth-ollie .ao-cover-r{transform:translate(0)rotate(0)scale(1)}.auth-ollie .ao-rest{opacity:1;transition:opacity 0s linear .34s}.auth-ollie.is-hiding .ao-rest{opacity:0;transition:opacity linear}.auth-ollie.is-hiding .ao-cover{opacity:1;transition:opacity 0s linear, transform .34s var(--ease-bounce)}.auth-ollie.is-hiding .ao-eyes-open,.auth-ollie.is-hiding .ao-eyes-sick{display:none}.auth-ollie.is-hiding .ao-eyes-happy{display:block}.auth-ollie.is-hiding .ao-cover-l{transform:translate(5.71px,-33.63px)rotate(-140deg)scale(1.3)}.auth-ollie.is-hiding .ao-cover-r{transform:translate(-5.71px,-33.63px)rotate(140deg)scale(1.3)}.auth-ollie.is-reacting .auth-ollie-svg{animation:auth-ollie-react .64s var(--ease-bounce)}@keyframes auth-ollie-react{0%{transform:translateY(0)scale(1)rotate(0)}30%{transform:translateY(-13px)scale(1.1)rotate(-7deg)}60%{transform:translateY(-3px)scale(.97)rotate(5deg)}to{transform:translateY(0)scale(1)rotate(0)}}.auth-ollie-bubble{background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);width:max-content;max-width:240px;color:var(--text-primary);text-align:center;white-space:nowrap;opacity:0;transform-origin:50% 100%;transition:opacity .26s var(--ease), transform .32s var(--ease-bounce);border-radius:14px;padding:8px 12px;font-size:12.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%,6px)scale(.9)}.auth-ollie-bubble.is-visible{opacity:1;transform:translate(-50%)scale(1)}.auth-proof{height:34px;margin-top:10px;margin-bottom:2px;position:relative}.auth-proof-chip{text-align:center;color:var(--text-muted);opacity:0;animation:auth-proof-cycle 10.5s var(--ease) infinite;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;line-height:1.3;display:flex;position:absolute;inset:0}.auth-proof-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;flex:none;width:15px;height:15px}.auth-proof-chip:first-child{animation-delay:0s}.auth-proof-chip:nth-child(2){animation-delay:3.5s}.auth-proof-chip:nth-child(3){animation-delay:7s}@keyframes auth-proof-cycle{0%{opacity:0;transform:translateY(6px)}4.7%{opacity:1;transform:translateY(0)}29%{opacity:1;transform:translateY(0)}38%{opacity:0;transform:translateY(-6px)}to{opacity:0;transform:translateY(-6px)}}.auth-collapsible-inner{gap:16px;display:grid}@media (height<=700px){.auth-screen .lamp-toggle{margin-bottom:76px}.auth-ollie{width:68px;height:86px;transform:translate(-50%,-70%)}.auth-stage .auth-card{padding-top:44px}.lamp-toggle:after{height:460px}}.auth-screen[data-focused="1"] .auth-ollie{width:52px;height:66px;transition:width .28s var(--ease), height .28s var(--ease), transform .28s var(--ease);transform:translate(-50%,-67%)}@media (height<=700px){.auth-screen[data-focused="1"] .lamp-toggle{margin-bottom:20px}.auth-screen[data-focused="1"] .auth-ollie-bubble{opacity:0}}@media (width<=360px){.auth-ollie{width:78px;height:99px}.auth-proof-chip{font-size:12px}}@media (prefers-reduced-motion:reduce){.auth-motes{display:none}.auth-ollie-svg,.auth-ollie.is-reacting .auth-ollie-svg{animation:none}.auth-proof-chip{opacity:0;animation:none}.auth-proof-chip:first-child{opacity:1}}.auth-lang-switcher{top:max(16px, var(--safe-top));right:max(16px, var(--safe-right));z-index:3;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);width:46px;min-width:44px;height:46px;min-height:44px;box-shadow:0 6px 18px var(--glass-inset-shadow);cursor:pointer;-webkit-tap-highlight-color:transparent;transform-origin:50%;transition:background-color .5s var(--ease), border-color .5s var(--ease), transform .22s var(--ease-bounce);border-radius:50%;place-items:center;display:grid;position:absolute}.auth-lang-switcher:active{transition-duration:.1s;transform:scale(.92)}.auth-lang-flag{transform-origin:50%;will-change:transform, opacity;font-size:22px;line-height:1;display:block}.btn-google{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);width:100%;color:var(--text-primary);font-size:14.5px;font-weight:600;font-family:var(--font-body);transition:transform .15s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease);justify-content:center;align-items:center;gap:10px;padding:13px 20px;display:flex;position:relative;overflow:hidden}.btn-google:active{transform:scale(var(--press-scale))}.btn-google:hover{background:var(--glass-bg-strong)}.google-logo{flex-shrink:0;width:19px;height:19px}.btn-google:after{content:"";opacity:0;transition:transform .5s var(--ease), opacity .45s var(--ease);pointer-events:none;background:radial-gradient(circle,#fff6,#0000 70%);position:absolute;inset:0;transform:scale(.5)}.btn-google:active:after{opacity:1;transition-duration:80ms;transform:scale(1.5)}.auth-divider{color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:12px;margin:18px 0;font-size:11.5px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--glass-border);flex:1;height:1px}.auth-tabs{background:var(--glass-bg);transition:background-color .5s var(--ease);border-radius:999px;margin-bottom:22px;padding:4px;display:flex;position:relative}.auth-tabs-thumb{background:var(--glass-bg-strong);width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .35s var(--ease), background-color .5s var(--ease);border-radius:999px;position:absolute;top:4px;left:4px}.auth-tabs[data-active=signup] .auth-tabs-thumb{transform:translate(100%)}.auth-tab{z-index:1;color:var(--text-muted);transition:color .25s var(--ease), transform .15s var(--ease);background:0 0;border:none;border-radius:999px;flex:1;padding:10px;font-size:13.5px;font-weight:600;position:relative}.auth-tab:active{transform:scale(var(--press-scale))}.auth-tab.active{color:var(--text-primary)}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-flip-viewport{perspective:1500px;transition:height .55s var(--ease-bounce);position:relative}.auth-flip-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;transition:transform .9s cubic-bezier(.34,1.1,.4,1);position:relative}.auth-flip-viewport[data-active=signup] .auth-flip-inner{transform:rotateY(180deg)}.auth-face{backface-visibility:hidden;width:100%;position:absolute;top:0;left:0;transform:translateZ(0)}.auth-face-back{transform:rotateY(180deg)translateZ(0)}.auth-flip-viewport:not([data-active=signup]) .auth-face-back,.auth-flip-viewport[data-active=signup] .auth-face-front{pointer-events:none}.auth-collapsible{opacity:1;transition:grid-template-rows .4s var(--ease), opacity .3s var(--ease), margin-top .4s var(--ease);grid-template-rows:1fr;display:grid}.auth-collapsible>*{overflow-clip-margin:6px;min-height:0;overflow:clip}.auth-collapsible.is-collapsed{opacity:0;grid-template-rows:0fr;margin-top:-16px}#forgot-password-wrap:not(.is-collapsed){margin-top:4px}.float-field{position:relative}.float-field input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-primary);transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background-color .55s var(--ease);padding:23px 14px 9px;font-size:15px}.float-field label{color:var(--text-muted);pointer-events:none;transform-origin:0 0;transition:transform .2s var(--ease), color .2s var(--ease);font-size:15px;font-weight:500;position:absolute;top:17px;left:14px}.float-field input:focus,.float-field input:not(:placeholder-shown){border-color:var(--c-water);box-shadow:0 0 0 3px rgba(var(--c-water-rgb), .15);outline:none}.float-field input:focus~label,.float-field input:not(:placeholder-shown)~label{font-weight:600;transform:translateY(-10px)scale(.7333)}.float-field input:focus~label{color:var(--c-water)}.avatar-picker-row{justify-content:center;margin-bottom:4px;display:flex}.avatar-picker{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:relative}.avatar-picker-ring{border:2px solid var(--glass-border);background:var(--glass-bg-strong);width:84px;height:84px;transition:border-color .25s var(--ease), background-color .55s var(--ease), transform .15s var(--ease);border-radius:50%;display:block;overflow:hidden}.avatar-picker:active .avatar-picker-ring{transform:scale(var(--press-scale))}.avatar-picker-img,.avatar-picker-placeholder{object-fit:cover;width:100%;height:100%;display:block}.avatar-picker-badge{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;border:3px solid var(--bg);width:27px;height:27px;transition:border-color .55s var(--ease), transform .15s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.avatar-picker-badge svg{width:13px;height:13px}.avatar-picker:active .avatar-picker-badge{transform:scale(.88)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number],input[type=text],input[type=search]{text-overflow:ellipsis;max-width:100%;overflow:hidden}input[type=time]{appearance:none;width:100%;min-width:0;max-width:100%}.field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field span{color:var(--text-muted);font-size:12.5px;font-weight:500}.field input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-primary);padding:12px 14px;font-size:15px;transition:border-color .2s}.field input:focus{border-color:var(--c-water);outline:none}.field textarea{resize:vertical;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;min-width:0;font-size:15px;font-family:var(--font-body);color:var(--text-primary);padding:12px 14px;transition:border-color .2s}.field textarea:focus{border-color:var(--c-water);outline:none}.field select{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;min-width:0;font-size:15px;font-family:var(--font-body);color:var(--text-primary);padding:12px 14px;transition:border-color .2s}.field select:focus{border-color:var(--c-water);outline:none}.field-row{gap:12px;display:flex}.field-row.four{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.turnstile-widget-row{justify-content:center;display:flex}.link-btn{color:var(--c-calories);text-align:left;background:0 0;border:none;justify-self:start;padding:0;font-size:13.5px;font-weight:700}.link-btn:hover{text-decoration:underline}.link-btn:active{opacity:.75}.auth-recovery-hint{color:var(--text-muted);font-size:13.5px;line-height:1.4}.auth-consent-row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.auth-consent-row input{width:17px;height:17px;accent-color:var(--c-protein);flex-shrink:0;margin-top:1px}.auth-consent-text{color:var(--text-muted);font-size:12.5px;line-height:1.5}.auth-consent-link{font-size:inherit;color:var(--c-calories);cursor:pointer;background:0 0;border:none;justify-self:auto;padding:0;font-weight:600;display:inline}.auth-consent-link:hover{text-decoration:underline}.form-error{color:var(--c-danger);background:rgba(var(--c-danger-rgb), .1);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.checkbox-row{color:var(--text-muted);align-items:center;gap:10px;font-size:13.5px;display:flex}.checkbox-row input{width:18px;height:18px;accent-color:var(--c-protein);flex-shrink:0}.checkbox-row span{min-width:0}.settings-link-row{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s var(--ease);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:11px 4px;font-size:13.5px;display:flex}.settings-link-row:hover,.settings-link-row:focus-visible{background:var(--surface-inset)}.settings-link-row+.settings-link-row{border-top:1px solid var(--glass-border)}.settings-link-row-label{align-items:center;gap:10px;min-width:0;display:flex}.settings-link-row-icon{width:18px;height:18px;color:var(--text-muted);opacity:.9;flex-shrink:0}.settings-link-row-chevron{width:16px;height:16px;color:var(--text-dim);flex-shrink:0}.settings-link-row-badge{background:var(--surface-inset);color:var(--text-muted);font-size:11.5px;font-weight:600;font-family:var(--font-mono);border-radius:999px;flex-shrink:0;padding:2px 7px}.legal-doc-updated{color:var(--text-dim);margin:-6px 0 4px;font-size:11.5px}.legal-doc-body{color:var(--text-muted);font-size:13.5px;line-height:1.55}.legal-doc-body h3{color:var(--text-primary);margin:20px 0 8px;font-size:14.5px;font-weight:600}.legal-doc-body h3:first-child{margin-top:0}.legal-doc-body p{margin:0 0 10px}.legal-doc-body ul{flex-direction:column;gap:6px;margin:0 0 10px;padding-left:20px;display:flex}.legal-doc-body li{line-height:1.5}.legal-doc-body a{color:var(--c-water)}.legal-doc-body strong{color:var(--text-primary);font-weight:600}.pref-toggle-card{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 14px;display:flex}.add-form .pref-toggle-card{margin-bottom:0}.pref-toggle-label{color:var(--text-muted);flex-shrink:0;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.pref-toggle-label svg{flex-shrink:0;width:16px;height:16px}.pref-toggle-buttons{background:var(--glass-bg-strong);border-radius:999px;flex:1;gap:2px;min-width:0;padding:3px;display:flex;position:relative}.pref-toggle-thumb{background:linear-gradient(135deg, rgba(var(--thumb-rgb,var(--c-water-rgb)), .92), rgba(var(--thumb-rgb,var(--c-water-rgb)), .68));width:0;height:calc(100% - 6px);box-shadow:0 2px 10px rgba(var(--thumb-rgb,var(--c-water-rgb)), .45), inset 0 1px 0 #ffffff40;pointer-events:none;will-change:transform;border-radius:999px;transition:transform .45s cubic-bezier(.32,.9,.24,1.18),background .3s,box-shadow .3s;position:absolute;top:3px;left:0}.pref-toggle-btn{z-index:1;min-width:0;min-height:44px;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12.5px;font-weight:600;transition:color .25s;display:flex;position:relative}.pref-toggle-btn>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=400px){.pref-toggle-buttons:not(#goal-type-tabs) .pref-toggle-btn{gap:0}.pref-toggle-buttons:not(#goal-type-tabs)>.pref-toggle-btn>span:last-child{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}#goal-type-tabs.pref-toggle-buttons{gap:4px}#goal-type-tabs .pref-toggle-btn{flex-direction:column;gap:4px;padding:7px 2px 6px}#goal-type-tabs .pref-toggle-btn>span:last-child{letter-spacing:.01em;max-width:100%;font-size:10.5px}#goal-type-tabs .pref-toggle-btn-icon{width:15px;height:15px}#goal-type-tabs .pref-toggle-btn-icon svg{width:14px;height:14px}.pref-toggle-btn-icon{width:16px;height:16px;font-size:9.5px;font-weight:700;font-family:var(--font-mono);letter-spacing:.02em;flex-shrink:0;place-items:center;display:grid}.pref-toggle-btn-icon svg{width:15px;height:15px}@media (hover:hover) and (pointer:fine){.pref-toggle-btn:hover:not(.active){color:var(--text-primary)}}.pref-toggle-btn:active{transform:scale(var(--press-scale))}.pref-toggle-btn.active{color:#fff}.pref-toggle-btn.active .pref-toggle-btn-icon{animation:pref-toggle-pop .45s var(--ease)}@keyframes pref-toggle-pop{0%{opacity:.3;filter:drop-shadow(0 0 #fff0);transform:scale(.5)rotate(-10deg)}55%{filter:drop-shadow(0 0 5px #ffffffd9);transform:scale(1.22)rotate(4deg)}to{opacity:1;filter:drop-shadow(0 0 #fff0);transform:scale(1)rotate(0)}}#theme-switcher-buttons .pref-toggle-btn{gap:0}#theme-switcher-buttons .pref-toggle-btn>span:last-child{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#theme-switcher-buttons .pref-toggle-btn-icon{width:20px;height:20px}#theme-switcher-buttons .pref-toggle-btn-icon svg{width:19px;height:19px}#theme-switcher-buttons .pref-toggle-btn.active{animation:theme-pick-ring .5s var(--ease)}@keyframes theme-pick-ring{0%{box-shadow:0 0 #fff6}to{box-shadow:0 0 0 9px #fff0}}.settings-subsection{margin-bottom:18px}.settings-subsection:last-child{margin-bottom:0}.settings-subsection h3{margin-bottom:10px;font-size:13.5px;font-weight:500}.export-row{gap:10px;display:flex}.export-select{border-radius:var(--radius-sm);background:var(--surface-inset);color:var(--text-primary);font-family:var(--font-body);border:1px solid #0000;flex:1;padding:10px 12px;font-size:13.5px;transition:border-color .2s}.export-select:focus{border-color:var(--c-water);outline:none}.reminder-time-row{margin-top:10px}.settings-hint{color:var(--text-dim);margin-top:8px;font-size:11.5px;line-height:1.4}.danger-zone{flex-direction:column;display:flex}.danger-action{flex-direction:column;gap:14px;display:flex}.danger-action .settings-hint{margin:0}.settings-goal-summary{color:var(--text-muted);background:var(--surface-inset);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.settings-goal-summary svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.settings-goal-summary strong{color:var(--text-primary);margin-left:auto;font-weight:600}.calculator-preview{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.calculator-preview-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.calculator-preview-row span:first-child{color:var(--text-muted)}.calculator-preview-row .mono{font-weight:700}.install-card,.export-card{border-radius:var(--radius-md);margin-bottom:14px;padding:16px 18px}.install-card h3,.export-card h3{color:var(--text-primary);margin-bottom:8px;font-size:14.5px;font-weight:600}.install-card{background:rgba(var(--c-water-rgb), .12)}.install-card .settings-hint{color:var(--text-muted);margin:0 0 14px}.export-card{background:rgba(var(--c-protein-rgb), .12)}.settings-group+.settings-group{margin-top:14px}.settings-group-label,.progress-group-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;margin:0 2px 10px;font-size:11px;font-weight:600;display:flex}.group-label-icon{opacity:.85;flex-shrink:0;width:13px;height:13px}#settings-sheet .settings-group-label{color:var(--text-primary);opacity:1;font-weight:700}#settings-sheet .group-label-icon{opacity:1}#settings-sheet .settings-hint{color:var(--text-muted)}#settings-sheet .settings-subsection h3{color:var(--text-primary);font-weight:600}#settings-sheet .pref-toggle-card{background:var(--surface-inset);border-color:#0000;margin-bottom:0}#settings-sheet .settings-subsection{flex-direction:column;gap:14px;margin-bottom:0;display:flex}#settings-sheet .settings-subsection h3{margin-bottom:0}#settings-sheet .settings-hint,#settings-sheet .reminder-time-row{margin-top:0}#settings-sheet .add-form{gap:20px}#settings-sheet .danger-zone{gap:26px}.subsection-card{border-radius:var(--radius-md);padding:14px 16px 16px}.subsection-card.badge-fats{background:rgba(var(--c-fats-rgb), .08)}.subsection-card.badge-carbs{background:rgba(var(--c-carbs-rgb), .08)}.subsection-card.badge-protein{background:rgba(var(--c-protein-rgb), .08)}.subsection-card.badge-muted{background:var(--glass-bg-strong)}.cta-card.install-card{background:rgba(var(--c-water-rgb), .12)}.cta-card.badge-muted{background:var(--glass-bg-strong)}.settings-subsection-header{align-items:center;gap:10px;display:flex}.save-indicator{color:var(--c-fiber);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);flex-shrink:0;margin-left:auto;font-size:11.5px;font-weight:600;transform:translateY(-2px)}.save-indicator.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.save-indicator{transition:opacity .15s linear;transform:none}}.subsection-icon-badge{border-radius:10px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.subsection-icon-badge svg{width:16px;height:16px}.badge-fats .subsection-icon-badge{background:rgba(var(--c-fats-rgb), .2);color:var(--c-fats)}.badge-carbs .subsection-icon-badge{background:rgba(var(--c-carbs-rgb), .2);color:var(--c-carbs)}.badge-protein .subsection-icon-badge{background:rgba(var(--c-protein-rgb), .2);color:var(--c-protein)}.badge-muted .subsection-icon-badge{background:var(--surface-inset);color:var(--text-muted)}.install-card .subsection-icon-badge{background:rgba(var(--c-water-rgb), .2);color:var(--c-water)}.checkbox-row-label{align-items:center;gap:10px;min-width:0;display:flex}.checkbox-row-icon{width:18px;height:18px;color:var(--text-muted);opacity:.9;flex-shrink:0}.subsection-card .settings-hint{opacity:.8}#notification-options{flex-direction:column;gap:18px;display:flex}.reminder-detail-group{border-left:3px solid rgba(var(--c-fats-rgb), .4);background:var(--surface-inset);border-radius:var(--radius-sm);flex-direction:column;gap:12px;padding:12px 14px;display:flex}.reminder-detail-group:has(#reminder-mode-row[hidden]){display:none}.reminder-detail-group .reminder-time-row{margin-top:0}.quiet-hours-group{flex-direction:column;gap:8px;display:flex}.quiet-hours-group .reminder-time-row,.quiet-hours-group .settings-hint{margin-top:0}.test-notification-btn{align-self:flex-start;padding:10px 18px}#settings-sheet .checkbox-row{min-height:44px;color:var(--text-primary);-webkit-tap-highlight-color:transparent;justify-content:space-between;font-size:14px}#settings-sheet .checkbox-row input[type=checkbox]{appearance:none;background:var(--surface-inset);width:46px;min-width:46px;height:27px;box-shadow:inset 0 0 0 1px var(--glass-border);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;margin:0;position:relative;overflow:hidden}#settings-sheet .checkbox-row input[type=checkbox]:after{content:"";background:var(--c-protein);opacity:0;pointer-events:none;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:15px;transform:scale(0)}#settings-sheet .checkbox-row input[type=checkbox]:checked:after{animation:settings-toggle-wipe .5s var(--ease-bounce)}@keyframes settings-toggle-wipe{0%{opacity:.6;transform:scale(0)}55%{opacity:.4;transform:scale(6)}to{opacity:0;transform:scale(6)}}@media (prefers-reduced-motion:reduce){#settings-sheet .checkbox-row input[type=checkbox]:checked:after{animation:none}}#settings-sheet .checkbox-row input[type=checkbox]:before{content:"";transform-origin:0;width:23px;height:23px;transition:transform .32s var(--ease-bounce);will-change:transform;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}#settings-sheet .checkbox-row input[type=checkbox]:checked{background:var(--c-protein);box-shadow:inset 0 0 0 1px #0000}#settings-sheet .checkbox-row input[type=checkbox]:checked:before{transform:translate(19px)}#settings-sheet .checkbox-row input[type=checkbox]:active:before{transform:scaleX(1.18)}#settings-sheet .checkbox-row input[type=checkbox]:checked:active:before{transform:translate(15px)scaleX(1.18)}#settings-sheet .checkbox-row input[type=checkbox]:focus-visible{outline:2px solid var(--c-water);outline-offset:3px;border-radius:999px}.favorite-toggle-row{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);min-height:48px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;display:flex}.favorite-toggle-row:has(input:checked){background:rgba(var(--c-carbs-rgb), .1);border-color:rgba(var(--c-carbs-rgb), .35);color:var(--text-primary)}.favorite-toggle-content{align-items:center;gap:10px;min-width:0;display:flex}.favorite-toggle-icon{width:19px;height:19px;color:var(--text-muted);transition:color .25s var(--ease);flex-shrink:0;position:relative}.favorite-toggle-icon svg{width:100%;height:100%;position:absolute;inset:0}.ft-icon-outline{transition:opacity .2s var(--ease)}.ft-icon-fill{opacity:0;transition:opacity .3s var(--ease-bounce), transform .3s var(--ease-bounce);transform:scale(.5)}.favorite-toggle-row:has(input:checked) .favorite-toggle-icon{color:var(--c-carbs)}.favorite-toggle-row:has(input:checked) .ft-icon-outline{opacity:0}.favorite-toggle-row:has(input:checked) .ft-icon-fill{opacity:1;transform:scale(1)}.favorite-toggle-row input[type=checkbox]{appearance:none;background:var(--surface-inset);width:44px;min-width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--glass-border);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;margin:0;position:relative}.favorite-toggle-row input[type=checkbox]:before{content:"";transform-origin:0;width:22px;height:22px;transition:transform .32s var(--ease-bounce);will-change:transform;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.favorite-toggle-row input[type=checkbox]:checked{background:var(--c-carbs);box-shadow:inset 0 0 0 1px #0000}.favorite-toggle-row input[type=checkbox]:checked:before{transform:translate(18px)}.favorite-toggle-row input[type=checkbox]:active:before{transform:scaleX(1.18)}.favorite-toggle-row input[type=checkbox]:checked:active:before{transform:translate(14px)scaleX(1.18)}.favorite-toggle-row input[type=checkbox]:focus-visible{outline:2px solid var(--c-water);outline-offset:3px;border-radius:999px}#settings-sheet .settings-group{animation:settings-group-in .4s var(--ease) .24s backwards}#settings-sheet .settings-group~.settings-group{animation-delay:.29s}#settings-sheet .settings-group~.settings-group~.settings-group{animation-delay:.34s}#settings-sheet .settings-group~.settings-group~.settings-group~.settings-group{animation-delay:.39s}#settings-sheet .settings-group~.settings-group~.settings-group~.settings-group~.settings-group{animation-delay:.44s}#settings-sheet .settings-group~.settings-group~.settings-group~.settings-group~.settings-group~.settings-group{animation-delay:.49s}@media (prefers-reduced-motion:reduce){#settings-sheet .settings-group{animation-delay:0s!important}}@keyframes settings-group-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-accordion{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--card-shadow);contain:layout;overflow:hidden}.settings-accordion-header{touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-align:left;width:100%;min-height:44px;transition:background-color .2s, transform .15s var(--ease);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.settings-accordion-header:active{background:var(--glass-bg-strong);transform:scale(.98)}@media (hover:hover) and (pointer:fine){.settings-accordion-header:hover{background:var(--glass-bg-strong)}}.settings-accordion-header .settings-group-label{margin:0}.accordion-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .4s var(--ease-bounce);flex-shrink:0}.settings-accordion.expanded .accordion-chevron{transform:rotate(180deg)}.accordion-header-trail{flex-shrink:0;align-items:center;gap:8px;display:flex}.accordion-header-stat{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;transition:opacity .2s var(--ease);max-width:40vw;font-size:12px;font-weight:600;overflow:hidden}.settings-accordion.expanded .accordion-header-stat{opacity:0}.danger-eyebrow-badge{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--c-danger);background:rgba(var(--c-danger-rgb), .14);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:9.5px;font-weight:700}.settings-accordion-panel{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;display:grid}.settings-accordion.expanded .settings-accordion-panel{grid-template-rows:1fr}.settings-accordion-panel-inner{min-height:0;overflow:hidden}.settings-accordion-panel-content{opacity:0;transition:opacity .25s var(--ease), transform .25s var(--ease);will-change:opacity, transform;flex-direction:column;gap:20px;padding:0 16px 18px;display:flex;transform:translateY(-6px)}.settings-accordion.expanded .settings-accordion-panel-content{opacity:1;will-change:opacity;transition-delay:.12s;transform:none}.accordion-danger{background:rgba(var(--c-danger-rgb), var(--danger-bg-alpha));border:1px solid rgba(var(--c-danger-rgb), var(--danger-border-alpha))}.accordion-danger .settings-accordion-header:active{background:rgba(var(--c-danger-rgb), calc(var(--danger-bg-alpha) + .03))}@media (hover:hover) and (pointer:fine){.accordion-danger .settings-accordion-header:hover{background:rgba(var(--c-danger-rgb), calc(var(--danger-bg-alpha) + .03))}}.accordion-danger .settings-accordion-header .settings-group-label,.accordion-danger .accordion-chevron{color:var(--c-danger)}.accordion-danger .group-label-icon{opacity:1}.profile-card{border-radius:var(--radius-lg);background:var(--surface-card);padding:18px 16px 16px;position:relative;overflow:hidden}.profile-card-pattern{border-radius:inherit;z-index:0;opacity:.16;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.profile-card-pattern circle:first-child{fill:var(--c-calories)}.profile-card-pattern circle:nth-child(2){fill:var(--c-protein)}.profile-card-pattern circle:nth-child(3){fill:var(--c-carbs)}.profile-card-pattern circle:nth-child(4){fill:var(--c-fats)}.profile-avatar-row{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.profile-avatar-wrap{width:78px;height:78px;animation:profile-avatar-in .5s var(--ease-bounce) .1s backwards;flex-shrink:0;position:relative}@keyframes profile-avatar-in{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.profile-avatar-img{object-fit:cover;border:2px solid var(--glass-border);background:var(--glass-bg-strong);border-radius:50%;width:78px;height:78px;display:block;box-shadow:0 6px 18px #00000040}.profile-avatar-wrap.uploading .profile-avatar-img{opacity:.35;transition:opacity .2s}.profile-avatar-spinner{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.spinner-sm{border-width:2px;width:22px;height:22px;margin:0}.profile-avatar-edit-btn{border:3px solid var(--bg);background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;width:30px;height:30px;box-shadow:0 0 0 1px #00000026, 0 0 10px rgba(var(--c-calories-rgb), .5);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease);border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:-4px;right:-4px}.profile-avatar-edit-btn svg{width:15px;height:15px}.profile-avatar-edit-btn:active{transform:scale(var(--press-scale-deep))}.profile-info{z-index:1;min-width:0;animation:item-in .4s var(--ease) .2s backwards;flex-direction:column;gap:2px;display:flex;position:relative}.profile-name{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.profile-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.profile-member-since{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.profile-stats-row{z-index:1;border-top:1px solid var(--glass-border);animation:item-in .4s var(--ease) .28s backwards;margin-top:14px;padding-top:14px;display:flex;position:relative}.profile-stat{text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.profile-stat+.profile-stat{border-left:1px solid var(--glass-border)}.profile-stat-value{font-family:var(--font-display);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.1}.profile-stat-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.profile-avatar-remove-btn{z-index:1;background:var(--surface-inset);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:999px;width:auto;margin-top:12px;padding:8px 14px;font-size:12.5px;transition:background-color .15s,color .15s;position:relative}@media (hover:hover) and (pointer:fine){.profile-avatar-remove-btn:hover{background:var(--glass-bg-strong);color:var(--c-danger)}}.profile-name-field{z-index:1;margin-top:14px;position:relative}.profile-name-field input{background:var(--surface-inset);border-color:#0000;transition:box-shadow .2s,border-color .2s}.profile-name-field input:focus{box-shadow:0 0 0 2px rgba(var(--c-water-rgb), .5);border-color:#0000}.profile-logout-icon-btn{z-index:1;border:1px solid var(--glass-border);background:var(--glass-bg);width:34px;height:34px;color:var(--text-muted);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s, background .15s, border-color .15s, transform .15s var(--ease);animation:item-in .4s var(--ease) .26s backwards;border-radius:50%;flex-shrink:0;align-self:flex-start;place-items:center;display:grid;position:relative}.profile-logout-icon-btn svg{width:15px;height:15px}.profile-logout-icon-btn:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.profile-logout-icon-btn:hover{color:var(--c-calories);background:rgba(var(--c-calories-rgb), .12);border-color:rgba(var(--c-calories-rgb), .35)}}.header-identity{align-items:center;gap:10px;min-width:0;display:flex}.header-avatar-btn{border-radius:50%;flex-shrink:0;width:38px;height:38px;padding:0}.header-avatar-img{object-fit:cover;border:2px solid var(--glass-border);border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 4px 12px #00000038}.app{--app-h-pad:18px;max-width:480px;padding:20px var(--app-h-pad) 130px;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;height:100dvh;margin:0 auto;position:relative;overflow:hidden auto}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:12px}.header-greeting{flex-direction:column;gap:2px;min-width:0;display:flex}.greeting{letter-spacing:-.01em;color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.greeting-date{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;line-height:1.3;overflow:hidden}.view.view-boot-in{animation:view-in .35s var(--ease)}@keyframes view-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view{touch-action:pan-y;contain:layout paint style}.view-dragging{top:0;left:var(--app-h-pad);right:var(--app-h-pad);will-change:transform;backface-visibility:hidden;position:absolute!important}#view-dashboard{position:relative}.pull-refresh-indicator{z-index:6;pointer-events:none;justify-content:center;align-items:center;height:46px;display:flex;position:absolute;top:-46px;left:0;right:0}.pull-refresh-spinner{border:2.5px solid var(--glass-border);border-top-color:var(--c-calories);opacity:0;border-radius:50%;width:22px;height:22px}.pull-refresh-spinner.spinning{animation:.7s linear infinite spin}.dashboard-skeleton{isolation:isolate;z-index:5;background:var(--bg);transition:opacity .22s var(--ease);flex-direction:column;gap:14px;display:flex;position:absolute;inset:0}.dashboard-skeleton.skeleton-hiding{opacity:0}.skeleton-block{isolation:isolate;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg);position:relative;overflow:hidden}.skeleton-block:after{content:"";background:linear-gradient(100deg, transparent 30%, var(--glass-bg-strong) 50%, transparent 70%);animation:1.6s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0}@keyframes skeleton-shimmer{0%{transform:translate(100%)}to{transform:translate(-100%)}}.skeleton-block-60{width:60%}.skeleton-block-70{width:70%}.skeleton-ring{height:300px}.skeleton-bar{border-radius:var(--radius-sm);height:26px}.skeleton-banner{height:58px}.skeleton-water{height:158px}.skeleton-row{border-radius:var(--radius-md);height:62px}.skeleton-chart{height:190px}#view-progress{position:relative}.progress-skeleton{isolation:isolate;z-index:5;background:var(--bg);transition:opacity .22s var(--ease);flex-direction:column;gap:14px;display:flex;position:absolute;inset:0}.progress-skeleton.skeleton-hiding{opacity:0}.gauge-cluster{border-radius:var(--radius-lg);margin-bottom:16px;padding:26px 22px}.ring-wrap{width:210px;height:210px;box-shadow:0 0 46px 2px rgba(var(--c-calories-rgb), .22);transition:box-shadow .5s var(--ease);border-radius:50%;margin:0 auto 22px;position:relative}.ring-wrap.over-target{box-shadow:0 0 46px 2px rgba(var(--c-danger-rgb), .24)}@media (width<=360px){.gauge-cluster{padding:22px 16px}.ring-wrap{width:182px;height:182px;margin-bottom:18px}.ring-value{font-size:34px}}.ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--glass-bg-strong);stroke-width:14px}.ring-fill{fill:none;stroke:var(--c-calories);stroke-width:14px;stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553px;transition:stroke-dashoffset .9s var(--ease), stroke .4s}.ring-pace-marker{stroke:var(--text-primary);stroke-width:2.5px;stroke-linecap:round;opacity:.45}.ring-center{flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;inset:0}.ring-value{font-size:40px;font-weight:700;line-height:1}.ring-label{color:var(--text-muted);margin-top:2px;font-size:12.5px}.ring-sub{color:var(--text-dim);white-space:nowrap;margin-top:6px;font-size:12px}.macro-rows{flex-direction:column;gap:16px;display:flex}.macro-row-top{cursor:pointer;transition:transform .15s var(--ease);align-items:center;gap:8px;margin-bottom:7px;display:flex}.macro-row-top:active{transform:scale(var(--press-scale))}.macro-row-detail{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.macro-row-detail-item{justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;display:flex}.macro-row-detail-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.macro-row-detail-value{font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;font-weight:600}.macro-row-detail-empty{color:var(--text-dim);margin:10px 0 0;font-size:12px}.macro-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot-protein{background:var(--c-protein);box-shadow:0 0 8px var(--c-protein)}.dot-carbs{background:var(--c-carbs);box-shadow:0 0 8px var(--c-carbs)}.dot-fats{background:var(--c-fats);box-shadow:0 0 8px var(--c-fats)}.dot-fiber{background:var(--c-fiber);box-shadow:0 0 8px var(--c-fiber)}.macro-name{color:var(--text-muted);font-size:13.5px;font-weight:500}.macro-figure{white-space:nowrap;margin-left:auto;font-size:13.5px;font-weight:600}.bar-track{background:var(--glass-bg-strong);height:8px;transition:box-shadow .3s var(--ease);border-radius:999px;overflow:hidden}.bar-fill{transform-origin:0;width:100%;height:100%;transition:transform .8s var(--ease), background .3s var(--ease);border-radius:999px;transform:scaleX(0)}.fill-protein{background:linear-gradient(90deg, var(--c-protein), var(--c-protein-light))}.fill-carbs{background:linear-gradient(90deg, var(--c-carbs), var(--c-carbs-light))}.fill-fats{background:linear-gradient(90deg, var(--c-fats), var(--c-fats-light))}.fill-fiber{background:linear-gradient(90deg, var(--c-fiber), var(--c-fiber-light))}.macro-row.over-target .macro-figure{color:var(--c-danger)}.macro-row.over-target .bar-track{box-shadow:0 0 0 1px rgba(var(--c-danger-rgb), .3)}.macro-row.over-target .bar-fill{background:linear-gradient(90deg, var(--c-danger), var(--c-danger-light))}.macro-warning{width:15px;height:15px;color:var(--c-danger);visibility:hidden;flex-shrink:0}.macro-warning.is-visible{visibility:visible}.macro-warning svg{width:100%;height:100%}.macro-row.bonus-target .macro-figure{color:var(--c-fiber)}.macro-row.bonus-target .bar-track{box-shadow:0 0 0 1px rgba(var(--c-fiber-rgb), .35)}.macro-warning.macro-warning-bonus{color:var(--c-fiber)}.status-banner{border-radius:var(--radius-md);border-left:3px solid var(--c-water);transition:border-color .3s var(--ease), background-color .3s var(--ease), transform .15s var(--ease);align-items:flex-start;gap:12px;margin-bottom:22px;padding:14px 16px;display:flex}.status-banner-icon{width:19px;height:19px;color:var(--c-water);flex-shrink:0;margin-top:1px}.status-banner-icon svg{width:100%;height:100%}.status-banner-text{color:var(--text-primary);flex:1;font-size:13.5px;line-height:1.45}.status-banner[role=button]{cursor:pointer}.status-banner[role=button]:active{transform:scale(.985)}@media (hover:hover){.status-banner[role=button]:hover{background:rgba(var(--c-water-rgb), .06)}}.status-banner[role=button]:focus-visible{outline:2px solid var(--c-water);outline-offset:2px}.status-banner-cta{width:16px;height:16px;color:var(--text-dim);opacity:.6;transition:transform .2s var(--ease), opacity .2s;flex-shrink:0;align-self:center}.status-banner-cta svg{width:100%;height:100%}.status-banner[role=button]:active .status-banner-cta{opacity:1;transform:translate(2px)}.status-banner.tone-success{border-left-color:var(--c-protein)}.status-banner.tone-success .status-banner-icon{color:var(--c-protein)}.status-banner.tone-info{border-left-color:var(--c-water)}.status-banner.tone-info .status-banner-icon{color:var(--c-water)}.status-banner.tone-warning{border-left-color:var(--c-carbs)}.status-banner.tone-warning .status-banner-icon{color:var(--c-carbs)}.status-banner.tone-danger{border-left-color:var(--c-danger);background:rgba(var(--c-danger-rgb), .06)}.status-banner.tone-danger .status-banner-icon{color:var(--c-danger)}.water-card{border-radius:var(--radius-lg);align-items:center;gap:20px;margin-bottom:22px;padding:18px 20px;display:flex}.water-capsule{border:1.5px solid rgba(var(--c-water-rgb), .4);background:linear-gradient(180deg, rgba(var(--c-water-rgb), .12), rgba(var(--c-water-rgb), .03));width:60px;height:112px;box-shadow:inset 0 2px 3px var(--glass-highlight), inset 0 -16px 20px var(--glass-inset-shadow), 0 3px 10px #00000040;transition:box-shadow .4s var(--ease);border-radius:999px;flex-shrink:0;position:relative;overflow:hidden}.water-capsule.bump{animation:water-bump .55s var(--ease)}@keyframes water-bump{0%{transform:scale(1)}30%{transform:scale(1.13,.88)}60%{transform:scale(.95,1.07)}82%{transform:scale(1.03,.98)}to{transform:scale(1)}}.water-splash{left:50%;top:var(--surface-y,55px);opacity:0;pointer-events:none;border:2px solid #fffc;border-radius:50%;width:46px;height:46px;margin-left:-23px;position:absolute}.water-splash.pulse{animation:water-splash-pop .6s var(--ease) .28s}@keyframes water-splash-pop{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.5)}}.water-splash:before{content:"";opacity:0;background:#fffffff2;border-radius:50%;position:absolute;inset:15px}.water-splash.pulse:before{animation:.32s ease-out .28s splash-flash}@keyframes splash-flash{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}.water-splash:after{content:"";opacity:0;border:1.5px solid #ffffff73;border-radius:50%;position:absolute;inset:-10px}.water-splash.pulse:after{animation:water-splash-pop-secondary .75s var(--ease) .36s}@keyframes water-splash-pop-secondary{0%{opacity:0;transform:scale(.35)}30%{opacity:.65}to{opacity:0;transform:scale(1.85)}}.water-splash-crown{left:50%;top:var(--surface-y,55px);pointer-events:none;width:1px;height:1px;position:absolute}.crown-drop{background:linear-gradient(180deg, var(--c-water-light), var(--c-water));opacity:0;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:0;left:0}.water-splash-crown.burst .crown-drop:first-child{animation:.62s cubic-bezier(.2,.6,.4,1) .28s crown-fling-1}.water-splash-crown.burst .crown-drop:nth-child(2){animation:.58s cubic-bezier(.2,.6,.4,1) .28s crown-fling-2}.water-splash-crown.burst .crown-drop:nth-child(3){animation:.66s cubic-bezier(.2,.6,.4,1) .3s crown-fling-3}.water-splash-crown.burst .crown-drop:nth-child(4){animation:.6s cubic-bezier(.2,.6,.4,1) .3s crown-fling-4}.water-splash-crown.burst .crown-drop:nth-child(5){animation:.56s cubic-bezier(.2,.6,.4,1) .32s crown-fling-5}.water-splash-crown.burst .crown-drop:nth-child(6){animation:.64s cubic-bezier(.2,.6,.4,1) .32s crown-fling-6}@keyframes crown-fling-1{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translate(-16px,-14px)scale(1)}to{opacity:0;transform:translate(-22px,10px)scale(.4)}}@keyframes crown-fling-2{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translate(-8px,-20px)scale(1)}to{opacity:0;transform:translate(-10px,6px)scale(.4)}}@keyframes crown-fling-3{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translate(2px,-22px)scale(1)}to{opacity:0;transform:translate(2px,8px)scale(.4)}}@keyframes crown-fling-4{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translate(10px,-19px)scale(1)}to{opacity:0;transform:translate(13px,7px)scale(.4)}}@keyframes crown-fling-5{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translate(17px,-13px)scale(1)}to{opacity:0;transform:translate(23px,11px)scale(.4)}}@keyframes crown-fling-6{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:1;transform:translateY(-24px)scale(1)}to{opacity:0;transform:translateY(9px)scale(.4)}}.water-liquid{background:linear-gradient(180deg, var(--c-water-light) 0%, var(--c-water) 60%, var(--c-water-deep) 100%);height:0;transition:height 1s var(--ease);position:absolute;bottom:0;left:0;right:0}.water-wave{opacity:0;height:22px;transition:opacity .4s var(--ease);pointer-events:none;position:absolute;left:0;right:0;overflow:hidden}.water-capsule.has-water .water-wave{opacity:1}.water-capsule.has-water .water-wave-back{opacity:.6}.water-wave-back{top:calc(var(--wave-reach,9px) * -1)}.water-wave-front{top:calc(var(--wave-reach,9px) * -.75)}.water-wave:before{content:"";border-radius:50%;width:190px;height:190px;margin:-95px 0 0 -95px;position:absolute;top:50%;left:50%}.water-wave-back:before{background:rgba(var(--c-water-light-rgb), .55);animation:6.5s ease-in-out infinite wave-slosh-back}.water-wave-front:before{background:linear-gradient(180deg, var(--c-water-light), var(--c-water) 80%);animation:4s ease-in-out infinite wave-slosh-front}@keyframes wave-slosh-back{0%,to{transform:translate(-30%,7px)}50%{transform:translate(26%,-8px)}}@keyframes wave-slosh-front{0%,to{transform:translate(24%,-6px)}50%{transform:translate(-28%,7px)}}.water-wave.disturbed:before{animation:wave-disturb 1s var(--ease)}.water-wave.disturbed-strong:before{animation:wave-disturb-strong 1.2s var(--ease)}@keyframes wave-disturb{0%{transform:translate(0)scale(1)}20%{transform:translate(-38%,-12px)scale(1.12)}46%{transform:translate(28%,10px)scale(.9)}72%{transform:translate(-16%,-5px)scale(1.04)}to{transform:translate(0)scale(1)}}@keyframes wave-disturb-strong{0%{transform:translate(0)scale(1)}16%{transform:translate(-48%,-16px)scale(1.22)}40%{transform:translate(38%,14px)scale(.82)}62%{transform:translate(-24%,-9px)scale(1.1)}84%{transform:translate(11%,4px)scale(.96)}to{transform:translate(0)scale(1)}}.water-bubbles{pointer-events:none;opacity:0;transition:opacity .4s var(--ease);position:absolute;inset:0}.water-capsule.has-water .water-bubbles{opacity:1}.water-bubble{background:#ffffff8c;border-radius:50%;width:5px;height:5px;animation:3.6s ease-in infinite bubble-rise;position:absolute;bottom:6px}.water-bubble:first-child{animation-delay:0s;left:30%}.water-bubble:nth-child(2){width:4px;height:4px;animation-delay:1.2s;left:55%}.water-bubble:nth-child(3){width:3px;height:3px;animation-delay:2.4s;left:42%}.water-bubble:nth-child(4){width:3px;height:3px;animation-duration:4.2s;animation-delay:.6s;left:20%}.water-bubble:nth-child(5){width:5px;height:5px;animation-duration:3.1s;animation-delay:1.9s;left:65%}.water-bubble:nth-child(6){width:4px;height:4px;animation-duration:3.9s;animation-delay:3.1s;left:48%}@keyframes bubble-rise{0%{opacity:0;transform:translateY(0)scale(1)}15%{opacity:.85}85%{opacity:.45}to{opacity:0;transform:translateY(-80px)scale(.7)}}.water-droplet{background:linear-gradient(180deg, var(--c-water-light), var(--c-water));opacity:0;pointer-events:none;border-radius:50% 50% 50% 0;width:11px;height:15px;margin-left:-5.5px;position:absolute;top:4px;left:50%;box-shadow:inset -1.5px -1.5px 2px #00000026,inset 1.5px 1.5px 1.5px #ffffffb3}.water-droplet.drop{animation:.42s cubic-bezier(.55,.05,.9,.5) droplet-fall}@keyframes droplet-fall{0%{opacity:0;transform:translateY(-4px)rotate(45deg)scale(.5)}18%{opacity:1;transform:translateY(0)rotate(45deg)scale(1)}88%{opacity:1;transform:translateY(var(--drop-fall-distance,60px)) rotate(45deg) scale(1)}to{opacity:0;transform:translateY(var(--drop-fall-distance,60px)) rotate(0deg) scale(1.6, .4)}}.water-visual{position:relative}.water-visual.overflow .water-capsule{animation:water-overflow-shake .5s var(--ease)}@keyframes water-overflow-shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-3px)rotate(-2deg)}40%{transform:translate(3px)rotate(2deg)}60%{transform:translate(-2px)rotate(-1deg)}80%{transform:translate(2px)rotate(1deg)}}.water-visual.overflow:before,.water-visual.overflow:after,.water-visual.pour:before,.water-visual.pour:after{content:"";background:linear-gradient(180deg, var(--c-water-light), var(--c-water));opacity:0;pointer-events:none;z-index:2;border-radius:50% 50% 50% 0;width:10px;height:14px;position:absolute;top:4px;box-shadow:inset -1.5px -1.5px 2px #00000026,inset 1.5px 1.5px 1.5px #ffffffb3}.water-visual.overflow:before,.water-visual.pour:before{animation:overflow-spill-left 1s var(--ease);left:13px}.water-visual.overflow:after,.water-visual.pour:after{animation:overflow-spill-right 1s var(--ease) .14s;right:13px}.water-visual.at-target .water-capsule{box-shadow:inset 0 2px 3px var(--glass-highlight), inset 0 -16px 20px var(--glass-inset-shadow), 0 0 14px rgba(var(--c-water-rgb), .5)}@keyframes overflow-spill-left{0%{opacity:0;border-radius:50% 50% 50% 0;transform:translate(0)rotate(-30deg)scale(.5)}20%{opacity:1;transform:translate(-8px,3px)rotate(-35deg)scale(1)}76%{opacity:1;border-radius:50% 50% 50% 0;transform:translate(-27px,76px)rotate(-40deg)scale(.75)}to{opacity:0;border-radius:50%;transform:translate(-30px,81px)rotate(0)scale(1.9,.35)}}@keyframes overflow-spill-right{0%{opacity:0;border-radius:50% 50% 50% 0;transform:translate(0)rotate(30deg)scale(.5)}20%{opacity:1;transform:translate(8px,3px)rotate(35deg)scale(1)}76%{opacity:1;border-radius:50% 50% 50% 0;transform:translate(27px,76px)rotate(40deg)scale(.75)}to{opacity:0;border-radius:50%;transform:translate(30px,81px)rotate(0)scale(1.9,.35)}}.water-puddle{background:radial-gradient(ellipse at center, rgba(var(--c-water-light-rgb), .7), rgba(var(--c-water-light-rgb), .25) 60%, transparent 85%);opacity:0;pointer-events:none;border-radius:50%;width:22px;height:9px;position:absolute;bottom:-5px;transform:scale(.35)}.water-puddle:after{content:"";border:1px solid rgba(var(--c-water-light-rgb), .5);opacity:0;border-radius:50%;position:absolute;inset:-6px}.water-puddle-left{left:4px}.water-puddle-right{right:4px}.water-visual.pour .water-puddle,.water-visual.overflow .water-puddle{animation:puddle-land 1.3s var(--ease)}.water-visual.pour .water-puddle:after,.water-visual.overflow .water-puddle:after{animation:.7s ease-out .42s puddle-ripple}.water-visual.pour .water-puddle-right,.water-visual.overflow .water-puddle-right{animation-delay:.12s}@keyframes puddle-land{0%,38%{opacity:0;transform:scale(.25)}50%{opacity:.9;transform:scale(1.15,.8)}65%{opacity:.75;transform:scale(1.3,.65)}to{opacity:0;transform:scale(1.55,.55)}}@keyframes puddle-ripple{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.water-info{flex:1}.water-figure{white-space:nowrap;margin-top:2px;font-size:18px;font-weight:700}.momentum-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg, rgba(var(--c-protein-rgb), .11), rgba(var(--c-protein-rgb), .025));flex-direction:column;gap:14px;padding:18px 18px 16px;display:flex}.momentum-top{align-items:center;gap:15px;display:flex}.momentum-dial{flex-shrink:0;width:76px;height:76px;position:relative}.momentum-dial-svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.momentum-dial-track{fill:none;stroke:var(--glass-bg-strong);stroke-width:7px}.momentum-dial-value{fill:none;stroke:var(--c-protein);stroke-width:7px;stroke-linecap:round;stroke-dasharray:201.06;stroke-dashoffset:201.06px;transition:stroke-dashoffset .9s var(--ease), stroke .4s var(--ease)}.momentum-dial-num{color:var(--text-primary);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:22px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.momentum-headline{flex-direction:column;gap:3px;min-width:0;display:flex}.momentum-tier{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);text-wrap:balance;font-size:clamp(16px,4.6vw,19px);font-weight:600;line-height:1.15}.momentum-sub{letter-spacing:.02em;color:var(--text-dim);font-size:11.5px}.momentum-week{gap:6px;display:flex}.momentum-day{background:var(--glass-bg);min-width:0;height:44px;transition:background .35s var(--ease), border-color .35s var(--ease);border:1px solid #0000;border-radius:9px;flex:1 1 0;justify-content:center;align-items:flex-end;display:flex;position:relative}.momentum-day-label{z-index:2;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;padding-bottom:5px;font-size:10px;font-weight:600;line-height:1;position:relative}.momentum-day-fill{display:none}.momentum-day[data-state=on]{background:linear-gradient(180deg, var(--c-protein-light), var(--c-protein))}.momentum-day[data-state=on] .momentum-day-label{color:#061611a8}.momentum-day[data-state=off]{background:linear-gradient(180deg, var(--c-carbs-light), var(--c-carbs));opacity:.9}.momentum-day[data-state=off] .momentum-day-label{color:#1e14049e}.momentum-day[data-state=none]{border-color:var(--glass-border)}.momentum-day[data-state=grace]{border-color:rgba(var(--c-protein-rgb), .45)}.momentum-day[data-state=grace]:before{content:"";background:var(--c-protein);border-radius:2px;height:2px;position:absolute;bottom:4px;left:6px;right:6px}.momentum-day[data-state=today]{background:var(--glass-bg);border-color:var(--c-protein)}.momentum-day[data-state=today]:after{content:"";border:1.5px solid rgba(var(--c-protein-rgb), .45);border-radius:inherit;pointer-events:none;animation:2.6s ease-in-out infinite momentum-today-pulse;position:absolute;inset:-1px}.momentum-day[data-state=today] .momentum-day-fill{transform-origin:bottom;background:linear-gradient(180deg, var(--c-protein-light), var(--c-protein));height:0%;min-height:13px;transition:height .6s var(--ease);z-index:1;border-radius:0 0 7px 7px;display:block;position:absolute;bottom:0;left:0;right:0}.momentum-day[data-state=today] .momentum-day-label{color:#061611b8}@keyframes momentum-today-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(1.24)}}.momentum-hero.is-entering .momentum-day{opacity:0;transform:translateY(7px)scale(.965)}.momentum-hero.is-entering .momentum-headline,.momentum-hero.is-entering .momentum-insight{opacity:0;transform:translateY(4px)}.momentum-hero.is-entered .momentum-day{transition:opacity .3s var(--ease), transform .3s var(--ease), background .35s var(--ease), border-color .35s var(--ease);transition-delay:calc(var(--cell-i,0) * 55ms)}.momentum-hero.is-entered .momentum-headline{transition:opacity .32s var(--ease) .12s, transform .32s var(--ease) .12s}.momentum-hero.is-entered .momentum-insight{transition:opacity .32s var(--ease) .24s, transform .32s var(--ease) .24s}.momentum-hero.is-entered .momentum-dial-value{transition:stroke-dashoffset .68s var(--ease), stroke .4s var(--ease)}.momentum-day-fill.is-feeding{animation:momentum-fill-feed .5s var(--ease)}@keyframes momentum-fill-feed{0%{transform:scaleY(1)}38%{transform:scaleY(1.05)}to{transform:scaleY(1)}}.momentum-insight{border-top:1px solid var(--glass-border);color:var(--text-muted);align-items:flex-start;gap:8px;margin:0;padding-top:11px;font-size:13px;line-height:1.45;display:flex}.momentum-insight-owl{width:17px;height:17px;color:var(--c-calories);flex-shrink:0;margin-top:1px}@media (width<=360px){.momentum-dial{width:64px;height:64px}.momentum-dial-num{font-size:19px}.momentum-top{gap:12px}.momentum-day{height:40px}}@media (prefers-reduced-motion:reduce){.momentum-day[data-state=today]{box-shadow:0 0 0 2px rgba(var(--c-protein-rgb), .28)}.momentum-day[data-state=today]:after{opacity:0;animation:none}.momentum-dial-value,.momentum-day[data-state=today] .momentum-day-fill{transition:none}.momentum-hero.is-entering .momentum-day,.momentum-hero.is-entering .momentum-headline,.momentum-hero.is-entering .momentum-insight{opacity:1;transform:none}.momentum-hero.is-entered .momentum-day,.momentum-hero.is-entered .momentum-headline,.momentum-hero.is-entered .momentum-insight,.momentum-hero.is-entered .momentum-dial-value{transition:none}.momentum-day-fill.is-feeding{animation:none}}.pulse-ollie{transform-origin:bottom;flex-shrink:0;align-self:center;width:52px;height:66px;margin-left:auto;animation:4.2s ease-in-out infinite pulse-ollie-bob}.pulse-ollie-svg{width:100%;height:100%;display:block;overflow:visible}@keyframes pulse-ollie-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.pulse-ollie .po-eyes-happy,.pulse-ollie .po-eyes-sick,.pulse-ollie .po-brows,.pulse-ollie[data-mood=happy] .po-eyes-open,.pulse-ollie[data-mood=content] .po-eyes-open{display:none}.pulse-ollie[data-mood=happy] .po-eyes-happy,.pulse-ollie[data-mood=content] .po-eyes-happy,.pulse-ollie[data-mood=worried] .po-brows{display:block}.pulse-ollie[data-mood=sick] .po-eyes-open{display:none}.pulse-ollie[data-mood=sick] .po-eyes-sick{display:block}.pulse-ollie[data-mood=hungry]{filter:saturate(.9)brightness(.96);animation-duration:5s}.pulse-ollie[data-mood=worried]{filter:saturate(.8)brightness(.92)contrast(.98);animation-duration:5.6s}.pulse-ollie[data-mood=sick]{filter:grayscale(.34)saturate(.64)brightness(.86);animation-duration:6.4s}.pulse-ollie.is-reacting .po-eyes-open,.pulse-ollie.is-reacting .po-eyes-sick{display:none}.pulse-ollie.is-reacting .po-eyes-happy{display:block}.pulse-ollie.is-reacting{animation:pulse-ollie-react .64s var(--ease-bounce)}@keyframes pulse-ollie-react{0%{transform:translateY(0)scale(1)}28%{transform:translateY(-7px)scale(1.09)}55%{transform:translateY(0)scale(.95)}78%{transform:translateY(-2px)scale(1.02)}to{transform:translateY(0)scale(1)}}@media (width<=360px){.pulse-ollie{width:44px;height:56px}}.pulse-ollie.is-sulking .po-eyes-open,.pulse-ollie.is-sulking .po-eyes-happy{display:none}.pulse-ollie.is-sulking .po-eyes-sick{display:block}.pulse-ollie.is-sulking{animation:.66s ease-out pulse-ollie-sulk}@keyframes pulse-ollie-sulk{0%{transform:translateY(0)scale(1)}30%{transform:translateY(3px)scale(1.05,.9)}62%{transform:translateY(1px)scale(.99,1.01)}to{transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.pulse-ollie,.pulse-ollie.is-reacting,.pulse-ollie.is-sulking{animation:none}}.sunday-checkin{border-radius:var(--radius-lg);background:linear-gradient(135deg, rgba(var(--c-protein-rgb), .1), rgba(var(--c-protein-rgb), .02));transform-origin:top;max-height:520px;transition:max-height .42s var(--ease), opacity .32s var(--ease), transform .42s var(--ease), padding .42s var(--ease), margin-bottom .42s var(--ease);flex-direction:column;gap:12px;padding:16px 18px 15px;display:flex;overflow:hidden}.sunday-checkin.is-dismissing{opacity:0;pointer-events:none;max-height:0;margin-bottom:-16px;padding-top:0;padding-bottom:0;transform:translateY(10px)scaleY(.9)}.sunday-checkin-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.sunday-checkin-eyebrow{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px;font-weight:600}.sunday-checkin-dismiss{border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--text-primary);font-family:var(--font-display);transition:transform .15s var(--ease), background .2s var(--ease);border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12.5px;font-weight:600}.sunday-checkin-dismiss:active{transform:scale(var(--press-scale))}.sunday-checkin-dismiss:focus-visible{outline:2px solid var(--c-protein);outline-offset:2px}.sunday-checkin-headline{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);text-wrap:balance;margin:0;font-size:clamp(15px,4vw,17px);font-weight:600;line-height:1.25}.sunday-checkin-nudge{padding-top:10px}.momentum-week.is-set .momentum-day{filter:saturate(.82);box-shadow:inset 0 1px #00000024}.momentum-week.is-set .momentum-day[data-state=none]{filter:none}.momentum-week.is-mini{gap:4px}.momentum-week.is-mini .momentum-day{border-radius:5px;height:24px}.momentum-week.is-mini .momentum-day-label{display:none}.past-weeks-list{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin:0 calc(-1 * var(--app-h-pad,18px));padding:2px var(--app-h-pad,18px) 4px;scroll-padding-left:var(--app-h-pad,18px);flex-wrap:nowrap;gap:10px;display:flex;overflow-x:auto}.past-weeks-list::-webkit-scrollbar{display:none}.past-week-card{scroll-snap-align:start;border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);flex-direction:column;flex:none;align-items:flex-start;gap:7px;width:148px;padding:11px;display:flex}.past-week-card .momentum-week.is-mini{gap:3px;width:100%}.past-week-card .momentum-week.is-mini .momentum-day{border-radius:4px;height:20px}.past-week-card-date{color:var(--text-dim);font-size:10.5px}.past-week-card-headline{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.past-week-tier{max-width:100%;font-family:var(--font-mono);letter-spacing:.01em;color:var(--c-protein);background:rgba(var(--c-protein-rgb), .12);border:1px solid rgba(var(--c-protein-rgb), .3);white-space:normal;border-radius:6px;flex:none;align-self:flex-start;padding:3px 7px;font-size:10px;font-weight:600;line-height:1.3}.past-week-card.is-fresh{animation:past-week-flash 1.3s var(--ease)}@keyframes past-week-flash{0%{background:rgba(var(--c-protein-rgb), .16);border-color:rgba(var(--c-protein-rgb), .4)}to{background:var(--glass-bg);border-color:var(--glass-border)}}@media (width<=360px){.past-weeks-list{margin:0 calc(-1 * var(--app-h-pad,16px));padding:2px var(--app-h-pad,16px) 4px}.past-week-card{width:132px;padding:10px}}@media (prefers-reduced-motion:reduce){.sunday-checkin{transition:none}.past-week-row.is-fresh{animation:none}}#view-progress{flex-direction:column;gap:16px;display:flex}.progress-card{border-radius:var(--radius-lg);padding:20px 20px 16px}.progress-card .section-heading{margin-bottom:16px}.progress-card-stat{color:var(--text-dim);font-size:12.5px}.progress-card,.progress-card *,.momentum-hero,.momentum-hero *,.sunday-checkin,.sunday-checkin *,.progress-bento,.progress-bento *,.past-week-card,.past-week-card *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.progress-card input,.progress-card select,.progress-card textarea{-webkit-user-select:text;user-select:text}.progress-bento{grid-template:"cal cal""mac wt"minmax(82px,1fr)"mac tr"minmax(82px,1fr)/1fr 1fr;gap:10px;display:grid}.bento-tile-calories{grid-area:cal}.bento-tile-macros{grid-area:mac}.bento-tile-weight{grid-area:wt}.bento-tile-training{grid-area:tr}.bento-tile{text-align:left;font:inherit;color:var(--text-primary);cursor:pointer;border:1px solid var(--glass-border);transition:transform .16s var(--ease), box-shadow .16s var(--ease);border-radius:18px;flex-direction:column;align-items:stretch;gap:7px;padding:13px 14px;display:flex}.bento-tile:active{transform:scale(.97)}.bento-tile:focus-visible{outline:2px solid var(--c-protein);outline-offset:2px}.bento-tile-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.bento-tile-label{color:var(--text-muted);font-size:12px;font-weight:600}.bento-tile-arrow{width:15px;height:15px;color:var(--text-dim);flex-shrink:0}.bento-tile-main{flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.bento-tile-value{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.05}.bento-tile-training .bento-tile-value{font-size:15px;line-height:1.3}.bento-tile-unit,.bento-tile-sub{color:var(--text-dim);font-size:11px}.bento-tile-empty{color:var(--text-dim);font-size:11.5px;line-height:1.4}.bento-tile-calories .bento-tile-main{margin-top:1px}.bento-sparkline{width:100%;height:30px;margin-top:auto;display:block}.bento-spark-bar{fill:var(--c-protein);opacity:.85}.bento-spark-bar.over{fill:var(--c-calories);opacity:.9}.bento-spark-bar.empty{fill:var(--text-dim);opacity:.28}.bento-macro-rows{flex-direction:column;flex:1;justify-content:center;gap:9px;margin-top:2px;display:flex}.bento-macro-row{grid-template-columns:15px 1fr 32px;align-items:center;gap:7px;display:grid}.bento-macro-letter{color:var(--text-dim);font-size:10px;font-weight:700}.bento-macro-track{background:var(--glass-bg-strong);border-radius:3px;height:6px;overflow:hidden}.bento-macro-fill{transform-origin:0;height:100%;transition:transform .45s var(--ease);border-radius:3px;display:block;transform:scaleX(0)}.bento-macro-fill[data-macro=protein]{background:var(--c-protein)}.bento-macro-fill[data-macro=carbs]{background:var(--c-carbs)}.bento-macro-fill[data-macro=fats]{background:var(--c-fats)}.bento-macro-fill[data-macro=fiber]{background:var(--c-fiber)}.bento-macro-pct{color:var(--text-muted);text-align:right;font-size:10.5px}.progress-milestones .milestone-groups{margin-top:2px}.progress-detail-head{align-items:center;gap:7px;margin-bottom:6px;display:flex}.progress-detail-head h2{min-width:0;margin:0;font-size:19px;line-height:1.25}.progress-detail-info-btn{width:22px;height:22px;color:var(--text-dim);transition:transform .15s var(--ease), color .2s;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.progress-detail-info-btn svg{width:16px;height:16px}.progress-detail-info-btn:active{transform:scale(.86)}@media (hover:hover) and (pointer:fine){.progress-detail-info-btn:hover{color:var(--text-primary)}}.progress-detail-close{width:30px;height:30px;color:var(--text-muted);transition:transform .15s var(--ease), color .2s, background .2s;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;margin-left:auto;padding:0;display:grid}.progress-detail-close svg{width:18px;height:18px}.progress-detail-close:active{transform:scale(.9)}@media (hover:hover) and (pointer:fine){.progress-detail-close:hover{color:var(--text-primary);background:var(--glass-bg-strong)}}.progress-detail-body,.progress-detail-section{flex-direction:column;gap:22px;display:flex}.pd-block{flex-direction:column;gap:12px;display:flex}.pd-block+.pd-block{border-top:1px solid var(--glass-border);padding-top:20px}.pd-block-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:600}.pd-block-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pd-block-head .pd-block-title{flex:1;min-width:0}.pd-stat{color:var(--text-dim);margin:0;font-size:12px}@media (width<=340px){.progress-bento{grid-template-rows:none;grid-template-columns:1fr;grid-template-areas:"cal""mac""wt""tr"}}@media (prefers-reduced-motion:reduce){.bento-tile{transition:none}.bento-tile:active{transform:none}.bento-macro-fill{transition:none}}.progress-group{flex-direction:column;gap:16px;display:flex}.progress-group+.progress-group{border-top:1px solid var(--glass-border);margin-top:12px;padding-top:28px}#view-progress.view-entrance .progress-group{animation:settings-group-in .4s var(--ease) backwards}#view-progress .progress-group~.progress-group{animation-delay:50ms}#view-progress .progress-group~.progress-group~.progress-group{animation-delay:.1s}#view-progress .progress-group~.progress-group~.progress-group~.progress-group{animation-delay:.15s}#view-progress .progress-group~.progress-group~.progress-group~.progress-group~.progress-group{animation-delay:.2s}.progress-card[data-accent]{isolation:isolate;position:relative;overflow:hidden}.view-entrance .progress-card[data-accent]{animation:progress-spotlight-in .5s var(--ease-bounce) backwards}@keyframes progress-spotlight-in{0%{opacity:0;will-change:transform, opacity;transform:translateY(14px)scale(.97)}to{opacity:1;will-change:auto;transform:translateY(0)scale(1)}}.progress-card[data-accent]:before{content:"";border-radius:inherit;height:2px;position:absolute;inset:0 0 auto}.progress-card[data-accent=adaptive]{background:linear-gradient(160deg, rgba(var(--c-protein-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-protein-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=adaptive]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-protein-rgb), .85), transparent)}.progress-card[data-accent=forecast]{background:linear-gradient(160deg, rgba(var(--c-fats-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-fats-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=forecast]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-fats-rgb), .85), transparent)}.progress-card[data-accent=workout]{background:linear-gradient(160deg, rgba(var(--c-calories-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-calories-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=workout]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-calories-rgb), .85), transparent)}.progress-card[data-accent=calories]{background:linear-gradient(160deg, rgba(var(--c-calories-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-calories-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=calories]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-calories-rgb), .85), transparent)}.progress-card[data-accent=macros]{background:linear-gradient(160deg, rgba(var(--c-carbs-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-carbs-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=macros]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-carbs-rgb), .85), transparent)}.progress-card[data-accent=foods]{background:linear-gradient(160deg, rgba(var(--c-fiber-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-fiber-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=foods]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-fiber-rgb), .85), transparent)}.progress-card[data-accent=history]{background:linear-gradient(160deg, rgba(var(--c-water-light-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-water-light-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=history]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-water-light-rgb), .85), transparent)}.progress-card[data-accent=weight]{background:linear-gradient(160deg, rgba(var(--c-water-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-water-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=weight]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-water-rgb), .85), transparent)}.progress-card[data-accent=measurements]{background:linear-gradient(160deg, rgba(var(--c-sodium-rgb), .09), var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px rgba(var(--c-sodium-rgb), .1), inset 0 1px 0 #ffffff0a}.progress-card[data-accent=measurements]:before{background:linear-gradient(90deg, transparent, rgba(var(--c-sodium-rgb), .85), transparent)}.progress-card[data-accent=achievements]{background:linear-gradient(160deg, #e8a32417, var(--glass-bg) 55%);box-shadow:var(--card-elevation), 0 0 26px #e8a3241a, inset 0 1px 0 #ffffff0a}.progress-card[data-accent=achievements]:before{background:linear-gradient(90deg,#0000,#e8a324d9,#0000)}@media (hover:none) and (pointer:coarse){#view-progress.progress-scrolling .progress-card.glass{-webkit-backdrop-filter:none;backdrop-filter:none}}.progress-card.accordion{padding:0}.progress-card-header{text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:100%;transition:background-color .1s ease, transform .15s var(--ease);background:0 0;border:none;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:20px 0 16px 20px;display:grid}.progress-card-header:active{background:var(--glass-bg-strong);transform:scale(.99)}@media (hover:hover) and (pointer:fine){.progress-card-header:hover{background:var(--glass-bg-strong)}}.progress-card-header-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.progress-card-header-title{font-family:var(--font-display);color:var(--text-primary);min-width:0;font-size:17px;font-weight:600;line-height:1.25}.progress-card-stat-pill{background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;line-height:1.5}.progress-card.expanded .accordion-chevron{transform:rotate(180deg)}.progress-card-header-wrap{align-items:center;gap:8px;padding-right:20px;display:flex}.progress-card-header-wrap .progress-card-header{flex:1;width:auto;min-width:0}.progress-card-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.card-info-btn{border:1px solid var(--glass-border);background:var(--info-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:26px;height:26px;color:var(--info-icon);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .2s,border-color .2s,color .2s;display:flex}.card-info-btn svg{stroke:currentColor;width:20px;height:20px}.card-info-btn:active{background:var(--info-bg-hover);transform:scale(.9)}@media (hover:hover) and (pointer:fine){.card-info-btn:hover{border-color:var(--info-icon);background:var(--info-bg-hover);transform:scale(1.05)}}.progress-card-panel{grid-template-rows:0fr;display:grid}.progress-card.expanded .progress-card-panel{grid-template-rows:1fr}.progress-card-panel-inner{contain:paint;min-height:0;overflow:hidden}.progress-card-panel-content{opacity:0;min-width:0;transition:opacity .25s var(--ease), transform .25s var(--ease);flex-direction:column;gap:14px;padding:0 20px 20px;display:flex;transform:translateY(-6px)}.progress-card.expanded .progress-card-panel-content{opacity:1;transition-delay:.12s;transform:translateY(0)}.progress-card-panel-content>*{min-width:0}.progress-card.is-toggling,.progress-card.is-toggling .progress-card-panel-inner{will-change:clip-path}.progress-card.is-toggling .progress-card-panel-heavy,.progress-flip-moving{will-change:transform}.progress-card-panel-heavy{contain:paint}.progress-card-quickbar{padding:0 20px 16px}.card-icon-badge{border-radius:11px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.view-entrance .card-icon-badge{animation:card-icon-badge-in .5s var(--ease-bounce) backwards}.card-icon-badge svg{width:18px;height:18px}.card-icon-badge[data-accent=adaptive]{background:rgba(var(--c-protein-rgb), .14);border:1px solid rgba(var(--c-protein-rgb), .32);color:var(--c-protein)}.card-icon-badge[data-accent=forecast]{background:rgba(var(--c-fats-rgb), .14);border:1px solid rgba(var(--c-fats-rgb), .32);color:var(--c-fats)}.card-icon-badge[data-accent=workout],.card-icon-badge[data-accent=calories]{background:rgba(var(--c-calories-rgb), .14);border:1px solid rgba(var(--c-calories-rgb), .32);color:var(--c-calories)}.card-icon-badge[data-accent=macros]{background:rgba(var(--c-carbs-rgb), .14);border:1px solid rgba(var(--c-carbs-rgb), .32);color:var(--c-carbs)}.card-icon-badge[data-accent=foods]{background:rgba(var(--c-fiber-rgb), .14);border:1px solid rgba(var(--c-fiber-rgb), .32);color:var(--c-fiber)}.card-icon-badge[data-accent=history]{background:rgba(var(--c-water-light-rgb), .14);border:1px solid rgba(var(--c-water-light-rgb), .32);color:var(--c-water-light)}.card-icon-badge[data-accent=weight]{background:rgba(var(--c-water-rgb), .14);border:1px solid rgba(var(--c-water-rgb), .32);color:var(--c-water)}.card-icon-badge[data-accent=measurements]{background:rgba(var(--c-sodium-rgb), .14);border:1px solid rgba(var(--c-sodium-rgb), .32);color:var(--c-sodium)}.card-icon-badge[data-accent=streak]{background:rgba(var(--c-calories-rgb), .14);border:1px solid rgba(var(--c-calories-rgb), .32);color:var(--c-calories)}.card-icon-badge[data-accent=achievements]{color:#e8a324;background:linear-gradient(135deg,#ffd76a38,#e8a32424);border:1px solid #e8a32461}@keyframes card-icon-badge-in{0%{opacity:0;transform:scale(.6)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.target-review-banner{border-left:3px solid var(--c-carbs);background:rgba(var(--c-carbs-rgb), .06)}.target-review-text{color:var(--text-primary);margin-bottom:12px;font-size:13.5px;line-height:1.45}.target-review-actions{gap:8px;display:flex}.target-review-actions .btn{flex:1}.trend-chart{width:100%;height:130px;display:block;overflow:visible}.trend-chart .chart-target{stroke:var(--text-dim);stroke-width:1.5px;stroke-dasharray:4 4}.trend-chart .chart-target-label{fill:var(--text-dim);font-size:9px;font-family:var(--font-mono)}.trend-chart .chart-bar{transition:height .5s var(--ease), y .5s var(--ease)}.trend-chart .chart-bar.today-bar{stroke:var(--text-primary);stroke-width:1px;stroke-opacity:.35}.trend-chart .chart-bar-bg{fill:var(--glass-bg)}.trend-chart .chart-value-label{fill:var(--text-dim);font-size:8.5px;font-family:var(--font-mono)}.trend-chart .chart-value-label.over{fill:var(--c-danger)}.trend-chart .chart-value-label.today{fill:var(--text-primary);font-weight:700}.trend-chart .chart-line{fill:none;stroke:var(--c-protein);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.trend-chart .chart-dot{fill:var(--bg);stroke:var(--c-protein);stroke-width:2.5px}.trend-chart .chart-label{fill:var(--text-dim);font-size:9px;font-family:var(--font-mono)}.trend-chart .chart-label.today{fill:var(--text-primary);font-weight:700}.trend-chart .chart-line-raw{stroke:var(--text-dim);stroke-width:1.5px;stroke-dasharray:3 4;opacity:.6}.trend-chart .chart-line-smoothed{stroke:var(--c-protein);stroke-width:2.5px}.chart-legend{flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.chart-legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:11px;display:flex}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.chart-legend-dot.dot-under{background:var(--c-protein)}.chart-legend-dot.dot-over{background:var(--c-danger)}.chart-legend-dash{border-top:1.5px dashed var(--text-dim);flex-shrink:0;width:12px;height:0}.chart-legend-dash-raw{border-top:1.5px dashed var(--text-dim);opacity:.7}.chart-legend-dash-smoothed{border-top-style:solid;border-top-color:var(--c-protein)}.analytics-empty{text-align:center;color:var(--text-dim);padding:12px 0;font-size:13px}.analytics-stat-row{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;flex-wrap:nowrap;gap:10px;margin-bottom:14px;display:flex;overflow-x:auto}.analytics-stat-row::-webkit-scrollbar{display:none}.analytics-stat{border-radius:var(--radius-md);background:var(--glass-bg);scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:none;gap:4px;min-width:108px;padding:10px 12px;display:flex}.analytics-stat-label,.analytics-stat-value{white-space:nowrap}.analytics-stat-label{color:var(--text-muted);font-size:11px}.analytics-stat-value{color:var(--text-primary);font-size:15px;font-weight:700}.analytics-projection-row{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;flex-wrap:nowrap;gap:10px;margin:14px 0;display:flex;overflow-x:auto}.analytics-projection-row::-webkit-scrollbar{display:none}.analytics-projection-tile{border-radius:var(--radius-md);border:1px solid var(--glass-border);scroll-snap-align:start;flex-direction:column;flex:1 0 auto;align-items:center;gap:2px;min-width:88px;padding:10px 8px;display:flex}.analytics-projection-days,.analytics-projection-weight{white-space:nowrap}.analytics-projection-days{color:var(--text-muted);font-size:11px}.analytics-projection-weight{font-size:14px;font-weight:700}.analytics-anomaly-note{margin-top:12px}#analytics-adaptive-content .analytics-stat-row{margin-top:14px}#analytics-lock-tabs{margin-top:4px}.macro-consistency{flex-direction:column;display:flex}.mc-row{padding:10px 0}.mc-row+.mc-row{border-top:1px solid var(--glass-border)}.mc-row-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.mc-row-label{color:var(--text-primary);align-items:center;gap:7px;font-size:13.5px;font-weight:600;display:flex}.mc-row-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mc-row-dot[data-macro=protein],.mc-row-pct[data-macro=protein]{color:var(--c-protein)}.mc-row-dot[data-macro=protein]{background:var(--c-protein)}.mc-row-dot[data-macro=carbs],.mc-row-pct[data-macro=carbs]{color:var(--c-carbs)}.mc-row-dot[data-macro=carbs]{background:var(--c-carbs)}.mc-row-dot[data-macro=fats],.mc-row-pct[data-macro=fats]{color:var(--c-fats)}.mc-row-dot[data-macro=fats]{background:var(--c-fats)}.mc-row-dot[data-macro=fiber],.mc-row-pct[data-macro=fiber]{color:var(--c-fiber)}.mc-row-dot[data-macro=fiber]{background:var(--c-fiber)}.mc-row-pct{font-size:13px;font-weight:700}.mc-bar-track{background:var(--glass-bg-strong);border-radius:999px;height:8px;overflow:hidden}.mc-bar-fill{transform-origin:0;width:100%;height:100%;transition:transform .6s var(--ease);border-radius:999px;transform:scaleX(0)}.mc-bar-fill[data-macro=protein]{background:linear-gradient(90deg, var(--c-protein), var(--c-protein-light))}.mc-bar-fill[data-macro=carbs]{background:linear-gradient(90deg, var(--c-carbs), var(--c-carbs-light))}.mc-bar-fill[data-macro=fats]{background:linear-gradient(90deg, var(--c-fats), var(--c-fats-light))}.mc-bar-fill[data-macro=fiber]{background:linear-gradient(90deg, var(--c-fiber), var(--c-fiber-light))}.mc-row-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:11.5px;display:flex}.mc-row-meta-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:3px;height:3px}.macro-consistency-insight{color:var(--text-muted);border-top:1px solid var(--glass-border);margin:12px 0 0;padding-top:12px;font-size:12.5px;line-height:1.45}.day-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.top-foods-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.top-food-item{flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.top-food-rank{width:26px;height:26px;font-size:11.5px;font-weight:700;font-family:var(--font-mono);background:var(--glass-bg-strong);color:var(--text-muted);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.top-food-rank.rank-1{color:#2b1900;background:linear-gradient(135deg,#ffd76a,#e8a324)}.top-food-rank.rank-2{color:#20242c;background:linear-gradient(135deg,#e3e9f2,#aab4c4)}.top-food-rank.rank-3{color:#2b1500;background:linear-gradient(135deg,#e3a26a,#b5713a)}.top-food-main{flex:1;min-width:0}.top-food-row{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.top-food-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.top-food-value{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:12.5px;font-weight:600}.top-food-macro-bar{background:var(--glass-bg-strong);border-radius:999px;height:6px;display:flex;overflow:hidden}.top-food-macro-bar .seg{height:100%;transition:width .5s var(--ease)}.top-food-macro-bar .seg-protein{background:var(--c-protein)}.top-food-macro-bar .seg-carbs{background:var(--c-carbs)}.top-food-macro-bar .seg-fats{background:var(--c-fats)}.top-food-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:11.5px;display:flex}.top-food-meta-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:3px;height:3px}.log-item-icon.history-item-icon{background:var(--surface-inset);color:var(--text-muted)}.milestone-shelf{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity;perspective:700px;flex-wrap:nowrap;gap:10px;margin:2px -20px 0;padding:0 20px 2px;scroll-padding-left:20px;display:flex;overflow-x:auto}.milestone-shelf::-webkit-scrollbar{display:none}.milestone-shelf .milestone-badge{scroll-snap-align:start;flex:0 0 100px;min-height:116px}.milestone-badge.is-closest{border-color:rgba(var(--tier-rgb), .42);background:rgba(var(--tier-rgb), .07);flex-basis:116px}.milestone-badge-progress{font-family:var(--font-mono);letter-spacing:.02em;color:var(--tier-color);font-size:10px;font-weight:700}.milestone-shelf-divider{background:var(--glass-border);flex:0 0 1px;align-self:stretch;margin:10px 3px}@media (width<=360px){.milestone-shelf{margin:2px -16px 0;padding:0 16px 2px;scroll-padding-left:16px}.milestone-shelf .milestone-badge{flex-basis:94px}.milestone-badge.is-closest{flex-basis:108px}}.milestone-badge[data-tier=bronze]{--tier-rgb:var(--c-calories-rgb);--tier-color:var(--c-calories)}.milestone-badge[data-tier=silver]{--tier-rgb:var(--c-fats-rgb);--tier-color:var(--c-fats)}.milestone-badge[data-tier=gold]{--tier-rgb:var(--c-carbs-rgb);--tier-color:var(--c-carbs)}.milestone-badge[data-tier=platinum]{--tier-rgb:var(--c-protein-rgb);--tier-color:var(--c-protein)}.milestone-badge{text-align:center;border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);min-height:108px;color:var(--text-dim);cursor:pointer;transform-style:preserve-3d;transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease), transform .35s var(--ease);flex-direction:column;align-items:center;gap:8px;padding:16px 10px 12px;font-size:12px;font-weight:600;line-height:1.25;display:flex;position:relative}.milestone-badge.tilting{transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);will-change:transform}.milestone-badge:active{transform:scale(var(--press-scale))}.milestone-badge:focus-visible{outline:2px solid var(--c-water);outline-offset:2px}.milestone-badge-medallion{background:var(--glass-bg-strong);border:1px solid var(--glass-border);width:46px;height:46px;transition:background .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;transform:translateZ(0)}.milestone-badge.tilting .milestone-badge-medallion{transform:translateZ(20px)}.milestone-badge.tilting .milestone-badge-label{transform:translateZ(8px)}.milestone-badge-icon{filter:grayscale();opacity:.5;font-size:20px;line-height:1;transition:filter .25s,opacity .25s}.milestone-badge-medallion:after{content:"🔒";background:var(--surface-card,var(--glass-bg-strong));border:1px solid var(--glass-border);opacity:.85;width:16px;height:16px;transition:opacity .2s var(--ease), transform .2s var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;bottom:-3px;right:-3px}.milestone-badge-label{text-overflow:ellipsis;-webkit-line-clamp:2;transition:color .25s var(--ease), transform .25s var(--ease);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.milestone-badge.earned{color:var(--tier-color);border-color:rgba(var(--tier-rgb), .4);background:linear-gradient(160deg, rgba(var(--tier-rgb), .16), rgba(var(--tier-rgb), .04));box-shadow:0 0 0 1px rgba(var(--tier-rgb), .08) inset, 0 6px 18px -8px rgba(var(--tier-rgb), .45)}.milestone-badge.earned .milestone-badge-medallion{background:radial-gradient(circle at 32% 28%, rgba(var(--tier-rgb), .9), rgba(var(--tier-rgb), .55) 70%);border-color:rgba(var(--tier-rgb), .6);box-shadow:0 0 16px 1px rgba(var(--tier-rgb), .5), 0 0 0 1px rgba(var(--tier-rgb), .25) inset}.milestone-badge.earned .milestone-badge-icon{filter:none;opacity:1}.milestone-badge.earned .milestone-badge-medallion:after{opacity:0;transform:scale(.4)}.milestone-badge.earned .milestone-badge-label{color:var(--text-primary);font-weight:700}.milestone-badge.just-earned{animation:milestone-earn-pulse .8s var(--ease)}.milestone-badge.just-earned:before{content:"";border-radius:inherit;border:2px solid rgba(var(--tier-rgb), .8);animation:milestone-unlock-ring .8s var(--ease) forwards;pointer-events:none;position:absolute;inset:0}.milestone-badge.just-earned .milestone-badge-medallion{animation:milestone-medallion-pop .8s var(--ease-bounce)}@keyframes milestone-earn-pulse{0%{transform:scale(1)}35%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes milestone-unlock-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes milestone-medallion-pop{0%{transform:scale(.7)rotate(-30deg)}60%{transform:scale(1.25)rotate(10deg)}to{transform:scale(1)rotate(0)}}.milestone-badge.entering{animation:milestone-enter .5s var(--ease-bounce) both;animation-delay:calc(var(--i,0) * 45ms)}@keyframes milestone-enter{0%{opacity:0;transform:translateY(16px)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.milestone-badge.entering,.milestone-badge.just-earned,.milestone-badge.just-earned:before,.milestone-badge.just-earned .milestone-badge-medallion{animation:none}}.milestone-badge.has-progress:not(.earned) .milestone-badge-medallion:before{content:"";background:conic-gradient(from -90deg, rgba(var(--tier-rgb), .9) calc(var(--progress,0) * 360deg), var(--glass-border) 0);border-radius:50%;position:absolute;inset:-6px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4.5px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4.5px),#000 calc(100% - 3.5px))}.weight-verdict{color:var(--text-muted);flex-basis:100%;margin:3px 0 0;font-size:13px;font-weight:500;line-height:1.4}.milestone-detail-sheet{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.milestone-detail-icon{background:var(--glass-bg-strong);border:1px solid var(--glass-border);filter:grayscale();opacity:.5;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin-top:4px;font-size:40px;line-height:1;display:flex;position:relative}.milestone-detail-icon.earned{filter:none;opacity:1;background:radial-gradient(circle at 32% 28%, rgba(var(--tier-rgb), .85), rgba(var(--tier-rgb), .4) 72%);border-color:rgba(var(--tier-rgb), .6);box-shadow:0 0 26px 2px rgba(var(--tier-rgb), .45), 0 0 0 1px rgba(var(--tier-rgb), .2) inset}.milestone-detail-icon[data-tier=bronze]{--tier-rgb:var(--c-calories-rgb)}.milestone-detail-icon[data-tier=silver]{--tier-rgb:var(--c-fats-rgb)}.milestone-detail-icon[data-tier=gold]{--tier-rgb:var(--c-carbs-rgb)}.milestone-detail-icon[data-tier=platinum]{--tier-rgb:var(--c-protein-rgb)}.milestone-detail-tier{letter-spacing:.04em;text-transform:uppercase;color:var(--tier-color,var(--text-dim));background:rgba(var(--tier-rgb,138, 147, 166), .14);border:1px solid rgba(var(--tier-rgb,138, 147, 166), .3);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.milestone-detail-tier[data-tier=bronze]{--tier-rgb:var(--c-calories-rgb);--tier-color:var(--c-calories)}.milestone-detail-tier[data-tier=silver]{--tier-rgb:var(--c-fats-rgb);--tier-color:var(--c-fats)}.milestone-detail-tier[data-tier=gold]{--tier-rgb:var(--c-carbs-rgb);--tier-color:var(--c-carbs)}.milestone-detail-tier[data-tier=platinum]{--tier-rgb:var(--c-protein-rgb);--tier-color:var(--c-protein)}.milestone-detail-sheet h2{margin:0}.milestone-detail-status{letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);font-size:12px;font-weight:700}.milestone-detail-status.earned{color:var(--c-carbs)}.milestone-detail-desc{color:var(--text-muted);margin:0;font-size:14.5px;line-height:1.5}.milestone-detail-progress{flex-direction:column;gap:6px;width:100%;margin-top:4px;display:flex}.milestone-detail-progress-track{background:var(--glass-bg-strong);border-radius:999px;width:100%;height:8px;overflow:hidden}.milestone-detail-progress-fill{transform-origin:0;background:linear-gradient(90deg, var(--c-carbs), var(--c-carbs-light));width:100%;height:100%;transition:transform .3s var(--ease);border-radius:999px;transform:scaleX(0)}.milestone-detail-progress-label{color:var(--text-muted);font-size:12.5px}.day-history-item{cursor:pointer}.day-history-item:active{transform:scale(var(--press-scale))}.day-history-item.today{border-color:rgba(var(--c-calories-rgb), .32)}.day-history-status-icon{background:var(--glass-bg);color:var(--text-dim);transition:background-color .3s,color .3s}.day-history-status-icon svg{width:17px;height:17px}.day-history-status-icon.status-adherent{background:rgba(var(--c-protein-rgb), .14);color:var(--c-protein)}.day-history-status-icon.status-off{background:rgba(var(--c-carbs-rgb), .14);color:var(--c-carbs)}.day-history-status-icon.status-frozen{background:rgba(var(--c-water-light-rgb), .16);color:var(--c-water-light)}.day-history-cal{text-align:right;white-space:nowrap}.day-history-cal-value{font-size:14px;font-weight:700;font-family:var(--font-mono)}.day-history-cal-target{color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);margin-top:1px;display:block}.weight-current-stat{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:16px;padding:0 20px 16px;display:flex}.weight-current-value{font-size:26px;font-weight:700}.weight-current-delta{color:var(--text-muted);font-size:12.5px}.weight-current-delta.trend-up{color:var(--c-danger)}.weight-current-delta.trend-down{color:var(--c-protein)}.weight-trend-rate{background:var(--glass-bg-strong);border-radius:999px;padding:2px 9px}.weight-form{gap:10px;display:flex}.weight-form input{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;color:var(--text-primary);font-family:var(--font-mono);flex:1;padding:12px 14px;font-size:15px}.weight-form input:focus{border-color:var(--c-water);outline:none}.weight-form .btn{flex-shrink:0}.measurement-filter-field{margin-bottom:14px}.measurement-filter-field select{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);padding:10px 12px;font-size:14px}.measurement-filter-field select:focus{border-color:var(--c-water);outline:none}.measurement-unit-field{flex:none;max-width:90px}.retention-note{color:var(--text-dim);text-align:center;padding:0 12px 90px;font-size:11.5px}.end-day-stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.end-day-stat{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.end-day-stat-wide{grid-column:1/-1}.end-day-stat-label{color:var(--text-muted);font-size:12px;font-weight:500}.end-day-stat-value{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;display:block;overflow:hidden}#end-day-message-wrap{margin-bottom:20px}.section-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-heading-actions{gap:8px;display:flex}.section-heading-title{align-items:center;gap:8px;min-width:0;display:flex}.section-heading+.section-subtitle{margin-top:-8px}.section-subtitle{color:var(--text-muted);margin:0 0 14px;font-size:12.5px;line-height:1.4}.section-heading h2{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:17px;overflow:hidden}.section-action-btn{background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-body);transition:background-color .2s, border-color .2s, transform .15s var(--ease);border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:12.5px;font-weight:600}.section-action-btn:active:not(:disabled){transform:scale(var(--press-scale))}.section-action-btn:disabled{opacity:.5;cursor:not-allowed}.date-context-pill{background:rgba(var(--c-calories-rgb), .12);color:var(--c-calories);animation:item-in .3s var(--ease);border-radius:999px;align-items:center;gap:6px;margin:-4px 0 14px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.date-context-pill svg{flex-shrink:0;width:14px;height:14px}.day-detail-saved-item{cursor:pointer}.day-detail-saved-item:active{transform:scale(var(--press-scale))}.section-action-btn.reopen-day-btn{border:1px solid var(--glass-border);color:var(--text-dim);background:0 0}.section-action-btn.reopen-day-btn:hover{color:var(--text-primary);border-color:var(--text-dim);background:var(--glass-bg-strong)}.section-action-btn.pop-in{animation:end-day-btn-pop-in .3s var(--ease-bounce)}@keyframes end-day-btn-pop-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.log-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.collapsible{overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 28px),#0000 100%)}.collapsible.expanded{-webkit-mask-image:none;mask-image:none}.list-collapse-toggle{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);font-family:var(--font-body);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:9px;font-size:12.5px;font-weight:600;transition:color .2s,background .2s;display:flex}.list-collapse-toggle:hover{color:var(--text-primary);background:var(--glass-bg)}.list-collapse-toggle:active{transform:scale(var(--press-scale))}.list-collapse-chevron{width:15px;height:15px;transition:transform .3s var(--ease)}.list-collapse-toggle[aria-expanded=true] .list-collapse-chevron{transform:rotate(180deg)}.discover-placeholder{margin-top:30vh}.empty-state{color:var(--text-dim);text-align:center;border:1px dashed var(--glass-border);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:10px;padding:30px 20px;font-size:13.5px;display:flex}.empty-state-icon{width:30px;height:30px;color:var(--text-dim);opacity:.7}.empty-state-icon svg{width:100%;height:100%}.log-item{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);transition:opacity .22s var(--ease), transform .22s var(--ease), border-color .2s, background .2s;flex-shrink:0;align-items:center;gap:12px;padding:14px;display:flex}.log-item.is-inserted{animation:item-in .4s var(--ease)}@keyframes item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.log-item.removing{opacity:0;pointer-events:none;transform:scale(.95)translate(14px)}.log-item-new{animation:item-in .4s var(--ease);position:relative}.log-item-new:after{content:"";border-radius:inherit;border:2px solid rgba(var(--c-calories-rgb), .55);opacity:1;animation:item-highlight-pulse 1.1s var(--ease) forwards;pointer-events:none;position:absolute;inset:-1px;transform:scale(1)}@keyframes item-highlight-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.035)}}.log-item-icon{background:rgba(var(--c-calories-rgb), .12);width:38px;height:38px;color:var(--c-calories);font-size:15px;font-weight:700;font-family:var(--font-mono);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.log-item-icon svg{width:18px;height:18px}.log-item-icon.water-item-icon{background:rgba(var(--c-water-rgb), .14);color:var(--c-water)}.recipe-ingredient-checkbox{flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.recipe-ingredient-checkbox input{width:22px;height:22px;accent-color:var(--c-calories)}.recipe-ingredient-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;max-height:260px;margin-bottom:14px;overflow-y:auto}.recipe-ingredient-list::-webkit-scrollbar{display:none}.log-item-icon.water-item-icon svg{width:18px;height:18px}.water-custom-form{gap:10px;margin-bottom:14px;display:flex}.water-custom-form input[type=number]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);min-width:0;color:var(--text-primary);flex:1;padding:12px 14px;font-size:15px;transition:border-color .2s}.water-custom-form input[type=number]:focus{border-color:var(--c-water);outline:none}.water-custom-form .btn{flex-shrink:0;padding:12px 22px}.quick-amounts{gap:8px;margin-bottom:20px;display:flex}.quick-amount-btn{border-radius:var(--radius-sm);border:1px solid rgba(var(--c-water-rgb), .25);background:rgba(var(--c-water-rgb), .06);color:var(--c-water);transition:background .2s, transform .15s var(--ease);flex:1;padding:10px 4px;font-size:13px;font-weight:600}.quick-amount-btn:active{transform:scale(var(--press-scale));background:rgba(var(--c-water-rgb), .2)}.log-item-body{flex:1;min-width:0}.log-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.log-item-meta{color:var(--text-muted);margin-top:2px;font-size:12.5px}.log-item-cal{font-size:14px;font-weight:700;font-family:var(--font-mono);white-space:nowrap}.log-item-actions{gap:2px;display:flex}.log-item-actions button{width:40px;height:40px;color:var(--text-dim);background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.log-item-actions button:hover{background:var(--glass-bg-strong);color:var(--text-primary)}.log-item-actions svg{width:15px;height:15px}.log-item-actions .saved-log-icon-btn{color:var(--c-protein);background:rgba(var(--c-protein-rgb), .1)}.log-item-actions .saved-log-icon-btn:hover{background:rgba(var(--c-protein-rgb), .2);color:var(--c-protein)}.log-item-actions .favorite-icon-btn{color:var(--c-carbs);background:rgba(var(--c-carbs-rgb), .1)}.log-item-actions .favorite-icon-btn:hover{background:rgba(var(--c-carbs-rgb), .2);color:var(--c-carbs)}.journal-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none;max-height:380px;overflow-y:auto}.journal-scroll::-webkit-scrollbar{display:none}.journal-scroll.has-more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 44px),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 44px),#0000 100%)}.journal-scroll.has-more-above{-webkit-mask-image:linear-gradient(#0000 0,#000 44px);mask-image:linear-gradient(#0000 0,#000 44px)}.journal-scroll.has-more-above.has-more-below{-webkit-mask-image:linear-gradient(#0000 0,#000 44px calc(100% - 44px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 44px calc(100% - 44px),#0000 100%)}.journal-card.is-divider{background:0 0;border:0;border-radius:0;max-height:none;margin:12px 0 2px;animation:none;overflow:visible}.journal-card.is-divider:first-child{margin-top:0}.journal-divider{align-items:center;gap:9px;padding:0 2px;display:flex}.journal-divider-label{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;font-size:11.5px;font-weight:700}.journal-divider-rule{background:var(--glass-border);flex:1;height:1px}.journal-card{isolation:isolate;border-radius:var(--radius-md);flex-shrink:0;max-height:240px;position:relative;overflow:hidden}.journal-card.is-inserted,.view-entrance .journal-card{animation:journal-card-in .4s var(--ease)}@keyframes journal-card-in{0%{opacity:0;will-change:transform, opacity;transform:translateY(16px)scale(.97)}to{opacity:1;will-change:auto;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.journal-card{animation:none}}.journal-card.exiting{opacity:0;pointer-events:none;max-height:0;transition:opacity .25s var(--ease), transform .25s var(--ease), max-height .25s var(--ease), margin-bottom .25s var(--ease);margin-bottom:0;transform:scale(.95)}.journal-card.exiting .journal-card-content{transition:padding-top .25s var(--ease), padding-bottom .25s var(--ease), border-width .25s var(--ease);border-width:0;padding-top:0;padding-bottom:0}.journal-card-new{position:relative}.journal-card-new:after{content:"";border-radius:inherit;border:2px solid rgba(var(--c-calories-rgb), .55);opacity:1;animation:item-highlight-pulse 1.1s var(--ease) forwards;pointer-events:none;z-index:2;position:absolute;inset:-1px;transform:scale(1)}.journal-card-pending .journal-card-content{opacity:.72}.journal-card-swipe-actions{border-radius:calc(var(--radius-md) - 1px);background:var(--bg);justify-content:flex-end;display:flex;position:absolute;inset:1px;overflow:hidden}.journal-swipe-btn{color:#fff;letter-spacing:.01em;cursor:pointer;border:none;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:72px;font-size:11px;font-weight:600;display:flex}.journal-swipe-btn svg{width:19px;height:19px}.journal-swipe-save{background:var(--c-carbs-light);color:#1c1405}.journal-swipe-delete{background:var(--c-danger)}.journal-swipe-btn:active{filter:brightness(.92)}.journal-card-content{z-index:1;box-shadow:var(--card-shadow);background:linear-gradient(var(--glass-bg), var(--glass-bg)), var(--bg);border:1px solid var(--glass-border);border-radius:inherit;touch-action:pan-y;align-items:center;gap:14px;padding:14px;display:flex;position:relative}.journal-card-revealed .journal-card-content{border-radius:var(--radius-md) 0 0 var(--radius-md)}.journal-card-media{border-radius:var(--radius-sm);background:var(--glass-bg);flex-shrink:0;place-items:center;width:70px;height:70px;display:grid;position:relative;overflow:hidden}.journal-card-photo{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.journal-card-mark{color:var(--text-primary);place-items:center;display:grid}.journal-card-mark svg{display:block}.journal-card-badge{background:var(--c-protein);color:#06120e;border:2px solid var(--bg);border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:-2px;right:-2px}.journal-card-badge svg{width:11px;height:11px}.journal-card-body{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.journal-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.journal-card-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.journal-card-time{font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;font-size:11.5px}.journal-cal-row{align-items:center;gap:8px;min-width:0;display:flex}.journal-cal-flame{width:17px;height:17px;color:var(--c-calories);flex-shrink:0}.journal-cal-flame svg{width:100%;height:100%;display:block}.journal-cal-value{letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;line-height:1.05}.journal-cal-unit{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12.5px;font-weight:500;overflow:hidden}.journal-card-macros{flex-wrap:wrap;align-items:center;gap:18px;margin-top:3px;display:flex}.journal-macro{align-items:center;gap:7px;display:inline-flex}.journal-macro-icon{flex-shrink:0;width:15px;height:15px}.journal-macro-icon svg{width:100%;height:100%;display:block}.journal-macro-protein .journal-macro-icon{color:var(--c-protein)}.journal-macro-carbs .journal-macro-icon{color:var(--c-carbs)}.journal-macro-fats .journal-macro-icon{color:var(--c-fats)}.journal-macro-value{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.journal-empty{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:30px 20px 34px;display:flex}.journal-empty-mark{color:var(--text-primary);margin-bottom:10px;display:block}.journal-empty-mark svg{display:block}.journal-empty-line{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);text-wrap:balance;margin:0;font-size:16.5px;font-weight:600;line-height:1.3}.journal-empty-sub{color:var(--text-dim);text-wrap:balance;max-width:30ch;margin:0;font-size:13px;line-height:1.55}.bottom-nav{bottom:calc(18px + var(--safe-bottom));width:calc(100% - 36px);max-width:440px;height:var(--nav-height);z-index:40;grid-template-columns:repeat(5,1fr);align-items:center;padding:0 10px;display:grid;position:fixed;left:50%;overflow:visible;transform:translate(-50%)}.bottom-nav:before{content:"";z-index:-1;background:var(--nav-glass-bg);box-shadow:inset 0 -10px 16px -12px var(--glass-inset-shadow);-webkit-backdrop-filter:blur(24px)saturate(150%);backdrop-filter:blur(24px)saturate(150%);isolation:isolate;clip-path:var(--nav-shape,none);-webkit-clip-path:var(--nav-shape,none);filter:drop-shadow(0 2px 4px var(--glass-inset-shadow)) drop-shadow(0 14px 30px var(--glass-inset-shadow-soft));position:absolute;inset:0;transform:translateZ(0)}.nav-edge{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.nav-edge path{fill:none;stroke:url(#nav-edge-gradient);stroke-width:1px;vector-effect:non-scaling-stroke}.nav-edge-stop-top{stop-color:var(--glass-highlight)}.nav-edge-stop-mid{stop-color:var(--glass-border)}.nav-edge-stop-bottom{stop-color:var(--glass-border);stop-opacity:.6}.nav-indicator{background:rgba(var(--c-calories-rgb), .14);width:44px;height:44px;transition:transform .4s var(--ease);pointer-events:none;z-index:0;border-radius:50%;margin-top:-22px;position:absolute;top:50%;left:0}.nav-btn{z-index:1;width:100%;max-width:64px;height:100%;color:var(--text-dim);transition:color .25s var(--ease);background:0 0;border:none;border-radius:16px;place-items:center;padding:0;display:grid;position:relative}.nav-btn svg{width:23px;height:23px;transition:transform .3s var(--ease-bounce);flex-shrink:0}.nav-btn span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-btn.active{color:var(--c-calories)}.nav-btn.active svg{transform:scale(1.16)}.nav-btn:active svg,.nav-btn.nav-btn-pressed svg{transform:scale(.82)}.fab{width:var(--fab-diameter);height:var(--fab-diameter);border:4px solid var(--bg);background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;box-shadow:0 10px 28px rgba(var(--c-calories-rgb), .42);transition:transform .2s var(--ease), box-shadow .3s;z-index:2;will-change:transform;border-radius:50%;justify-self:center;place-items:center;display:grid;position:relative;transform:translateY(-16px)}.fab-glow{box-shadow:0 10px 32px rgba(var(--c-calories-rgb), .6);opacity:0;z-index:-1;pointer-events:none;border-radius:50%;animation:3.2s ease-in-out infinite fab-breathe-glow;position:absolute;inset:-2px}@keyframes fab-breathe-glow{0%,to{opacity:0}50%{opacity:1}}.fab.pulse .fab-glow{opacity:0;animation:none}.fab:active,.fab.fab-pressed{transform:translateY(-16px)scale(.88)rotate(90deg)}.fab.pulse{animation:none}.fab svg{width:24px;height:24px;transition:transform .25s var(--ease)}.fab.pulse svg{animation:fab-icon-flourish .75s var(--ease-bounce)}@keyframes fab-icon-flourish{0%{transform:scale(1)rotate(0)}45%{transform:scale(1.34)rotate(210deg)}75%{transform:scale(.92)rotate(340deg)}to{transform:scale(1)rotate(360deg)}}.fab:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffffe6,#fff0 70%);border-radius:50%;position:absolute;inset:0}.fab.pulse:before{animation:.4s ease-out fab-flash}@keyframes fab-flash{0%{opacity:.85}to{opacity:0}}.fab:after{content:"";border:2px solid rgba(var(--c-calories-rgb), .65);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-6px;transform:scale(.75)}.fab.pulse:after{animation:fab-ring-burst .7s var(--ease) .14s}@keyframes fab-ring-burst{0%{opacity:.9;transform:scale(.75)}to{opacity:0;transform:scale(1.7)}}@media (hover:hover) and (pointer:fine){.fab:hover{box-shadow:0 10px 30px rgba(var(--c-calories-rgb), .5);transform:translateY(-16px)scale(1.06)}.nav-btn:hover{color:var(--text-primary)}.nav-btn.active:hover{color:var(--c-calories)}.icon-btn:hover{background:var(--glass-bg-strong)}.section-action-btn:hover{background:var(--glass-bg-strong);border-color:var(--text-dim)}.btn-water:hover{background:rgba(var(--c-water-rgb), .14);border-color:rgba(var(--c-water-rgb), .55)}.btn-water-ghost:hover{background:var(--glass-bg-strong);color:var(--text-primary)}.quick-amount-btn:hover{background:rgba(var(--c-water-rgb), .14);border-color:rgba(var(--c-water-rgb), .45)}.log-item:hover{border-color:var(--text-dim);background:var(--glass-bg-strong)}}.sheet-overlay{background:var(--scrim-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:overlay-in .25s var(--ease);will-change:opacity, backdrop-filter;content-visibility:auto;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-overlay.sheet-covered{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.sheet{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;width:100%;max-width:480px;max-height:88vh;animation:sheet-in .35s var(--ease);border-radius:28px 28px 0 0;padding:14px 22px 28px;overflow:hidden auto}.sheet::-webkit-scrollbar{display:none}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{cursor:grab;touch-action:none;width:88px;height:32px;margin:-14px auto 4px;position:relative}.sheet-handle:before{content:"";background:var(--glass-border);border-radius:999px;width:40px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sheet h2{margin-bottom:18px;font-size:19px}.card-info-sheet-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-info-sheet-header h2{flex:1;min-width:0;margin:0}.card-info-sheet-icon.card-icon-badge{animation:none}.card-info-sheet-close{border:1px solid var(--glass-border);background:var(--glass-bg);width:32px;height:32px;color:var(--text-muted);transition:transform .15s var(--ease), color .2s, background .2s;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.card-info-sheet-close svg{width:16px;height:16px}.card-info-sheet-close:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.card-info-sheet-close:hover{color:var(--text-primary);background:var(--glass-bg-strong)}}.card-info-sheet-body{color:var(--text-primary);opacity:.92;font-size:15px;line-height:1.6}.card-info-sheet-header,.card-info-sheet-body{animation:.2s ease-out both card-info-content-in}.trust-info-list,.trust-info-footnote{animation:.25s ease-out 50ms both card-info-content-in}@keyframes card-info-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#trust-info-sheet-overlay .card-info-sheet-icon{background:rgba(var(--c-protein-rgb), .14);border:1px solid rgba(var(--c-protein-rgb), .32);color:var(--c-protein)}.trust-info-list{flex-direction:column;gap:16px;margin-top:18px;display:flex}.trust-info-row{align-items:flex-start;gap:12px;display:flex}.trust-info-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:1px;display:flex}.trust-info-icon svg{width:16px;height:16px}.trust-info-icon.verified{background:rgba(var(--c-protein-rgb), .14);color:var(--c-protein)}.trust-info-icon.estimate{background:rgba(var(--c-carbs-rgb), .14);color:var(--c-carbs)}.trust-info-icon.manual{background:var(--glass-bg-strong);color:var(--text-dim)}.trust-info-text{flex-direction:column;gap:3px;padding-top:2px;display:flex}.trust-info-text strong{color:var(--text-primary);font-size:14.5px;font-weight:600}.trust-info-text span{color:var(--text-muted);font-size:13px;line-height:1.45}.trust-info-footnote{border-top:1px solid var(--glass-border);color:var(--text-dim);margin:18px 0 0;padding-top:16px;font-size:12px;line-height:1.5}.add-options{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.add-option{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);text-align:left;color:var(--text-primary);transition:background .2s, border-color .2s, transform .15s var(--ease);animation:option-stair-in .55s var(--ease-bounce) backwards;align-items:center;gap:14px;padding:16px;animation-delay:80ms;display:flex}.add-option~.add-option{animation-delay:.2s}.add-option~.add-option~.add-option{animation-delay:.32s}.add-option~.add-option~.add-option~.add-option{animation-delay:.44s}.add-option~.add-option~.add-option~.add-option~.add-option{animation-delay:.56s}@keyframes option-stair-in{0%{opacity:0;transform:translateY(22px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.add-option:hover{background:var(--glass-bg-strong);border-color:var(--glass-border)}.add-option:active{transform:scale(var(--press-scale))}.add-option svg{width:22px;height:22px;color:var(--c-calories);flex-shrink:0}.add-option strong{font-size:14.5px;display:block}.add-option span{color:var(--text-muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.smart-tools-row{gap:8px;margin-bottom:18px;display:flex}.smart-tool-btn{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;min-height:44px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;transition:background .2s, border-color .2s, transform .15s var(--ease);animation:option-stair-in .4s var(--ease-bounce) backwards;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:11.5px;font-weight:600;display:flex;overflow:hidden}.smart-tool-btn:first-child{animation-delay:40ms}.smart-tool-btn:nth-child(2){animation-delay:.1s}.smart-tool-btn:nth-child(3){animation-delay:.16s}.smart-tool-btn:hover{background:var(--glass-bg-strong)}.smart-tool-btn:active{transform:scale(var(--press-scale));background:var(--glass-bg-strong)}.smart-tool-icon{width:22px;height:22px;color:var(--c-calories)}.smart-tool-icon svg{width:100%;height:100%}.add-form{flex-direction:column;gap:14px;display:flex}.dropzone{border:1.5px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:border-color .2s, background .2s, transform .2s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:34px 20px;font-size:13.5px;display:flex}.dropzone:hover{border-color:var(--c-calories);background:rgba(var(--c-calories-rgb), .04)}.dropzone svg{width:26px;height:26px;color:var(--c-calories);transition:transform .25s var(--ease)}.dropzone.dropzone-active{border-color:var(--c-calories);background:rgba(var(--c-calories-rgb), .09);transform:scale(1.015)}.dropzone.dropzone-active svg{transform:translateY(-3px)}.scan-preview{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:220px;margin-bottom:14px}.quota-bar{margin-bottom:14px}.quota-bar-track{background:var(--glass-bg-strong);border-radius:999px;height:6px;margin-bottom:6px;overflow:hidden}.quota-bar-fill{transform-origin:0;background:var(--c-water);width:100%;height:100%;transition:transform .5s var(--ease), background-color .3s;border-radius:999px;transform:scaleX(0)}.quota-bar-fill.warning{background:var(--c-carbs)}.quota-bar-fill.danger{background:var(--c-danger)}.quota-bar-label{color:var(--text-dim);font-size:11.5px}.ai-usage-list{flex-direction:column;gap:12px;margin-top:2px;display:flex}.ai-usage-row{border-bottom:1px solid var(--glass-border);animation:ai-usage-row-in .35s var(--ease) backwards;flex-direction:column;gap:4px;padding-bottom:10px;display:flex}.ai-usage-row:last-child{border-bottom:none;padding-bottom:0}@keyframes ai-usage-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-usage-row-name{color:var(--text-primary);font-size:13px;font-weight:600}.ai-usage-row-hint{color:var(--text-dim);margin:-2px 0 1px;font-size:11.5px;line-height:1.35}.ai-usage-row-top{justify-content:flex-end;display:flex}.ai-usage-row-count{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.ai-usage-row-count.at-capacity{color:var(--c-danger);font-weight:600}.ai-usage-row .quota-bar{margin-bottom:0}.ai-usage-row .quota-bar-track{background:var(--surface-inset)}.ai-usage-row .quota-bar-fill{transition:transform .55s var(--ease), background-color .4s var(--ease)}.ai-usage-empty{color:var(--text-dim);padding:4px 0;font-size:13px}.scan-mode-tabs{isolation:isolate;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:999px;gap:4px;margin-bottom:16px;padding:3px;display:flex;position:relative}.scan-mode-tabs:before{content:"";z-index:0;background:linear-gradient(135deg, var(--c-calories), #ff8a5c);width:calc(33.3333% - 2px);box-shadow:0 3px 10px rgba(var(--c-calories-rgb), .4), 0 1px 2px var(--glass-inset-shadow);transition:transform .45s var(--ease-bounce);border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px}.scan-mode-tabs:has(.scan-mode-tab[data-mode=describe].active):before{transform:translate(100%)}.scan-mode-tabs:has(.scan-mode-tab[data-mode=barcode].active):before{transform:translate(200%)}.scan-mode-tab{z-index:1;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .3s var(--ease), transform .15s var(--ease);background:0 0;border:none;border-radius:999px;flex:1;padding:9px;font-size:13px;font-weight:600;position:relative}@media (hover:hover) and (pointer:fine){.scan-mode-tab:not(.active):hover{color:var(--text-primary)}}.scan-mode-tab.active{color:#17100c;font-weight:700}.scan-mode-tab:active{transform:scale(var(--press-scale))}.pill-tabs{background:var(--glass-bg);border-radius:999px;gap:4px;margin-bottom:12px;padding:3px;display:flex}.pill-tab{min-width:0;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .2s, color .2s, transform .15s var(--ease);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:999px;flex:1;padding:8px;font-size:13px;font-weight:600;overflow:hidden}.pill-tab.active{background:var(--glass-bg-strong);color:var(--text-primary)}.pill-tab:active{transform:scale(var(--press-scale))}#analytics-lock-tabs.pill-tabs{border-radius:16px;grid-template-columns:1fr 1fr;gap:6px;display:grid}#analytics-lock-tabs .pill-tab{white-space:normal;text-overflow:unset;flex:none;padding:10px 6px;line-height:1.25;overflow:visible}.pill-tabs.pill-tabs-pending{pointer-events:none;opacity:.6;transition:opacity .2s var(--ease)}.pantry-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pantry-chip{border:1px solid var(--glass-border);background:var(--glass-bg);min-height:36px;color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;transition:background-color .2s, border-color .2s, color .2s, transform .15s var(--ease);border-radius:999px;flex-shrink:0;padding:8px 15px;font-size:12.5px;font-weight:600}.pantry-chip:active{transform:scale(var(--press-scale))}.pantry-chip.is-on{color:var(--c-fats);border-color:rgba(var(--c-fats-rgb), .45);background:rgba(var(--c-fats-rgb), .12)}.pantry-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pantry-card{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);transition:opacity .22s var(--ease), transform .22s var(--ease);position:relative}.pantry-card.removing{opacity:0;pointer-events:none;transform:scale(.95)translate(14px)}.pantry-pop{z-index:1;background:rgba(var(--c-calories-rgb), .16);border:1px solid rgba(var(--c-calories-rgb), .38);height:22px;color:var(--c-calories);font-family:var(--font-mono);white-space:nowrap;pointer-events:none;opacity:0;will-change:transform, opacity;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:700;animation:1.25s linear forwards pantry-pop;display:flex;position:absolute;top:calc(50% - 11px);right:50px}@keyframes pantry-pop{0%{opacity:0;animation-timing-function:cubic-bezier(.32,.72,.3,1);transform:translateY(0)}26%{opacity:1;animation-timing-function:ease-out;transform:translateY(-30px)}40%{opacity:1;animation-timing-function:linear;transform:translateY(-25px)}68%{opacity:1;animation-timing-function:ease-in;transform:translateY(-27px)}to{opacity:0;transform:translateY(-44px)}}.pantry-card-hit{border-radius:inherit;width:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;transition:background-color .2s, transform .15s var(--ease);background:0 0;border:0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 46px 11px 12px;display:grid}.pantry-card-hit:active{transform:scale(var(--press-scale))}.pantry-mark{flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.pantry-mark svg{display:block}.pantry-mark.is-photo{background:var(--glass-bg-strong);box-shadow:inset 0 0 0 1px var(--glass-border);border-radius:50%;overflow:hidden}.pantry-mark.is-photo img{object-fit:cover;width:100%;height:100%;display:block}.pantry-body{flex-direction:column;gap:2px;min-width:0;display:flex}.pantry-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.pantry-meta{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.pantry-tag{background:var(--glass-bg-strong);letter-spacing:.01em;color:var(--text-dim);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin-top:3px;padding:2px 7px;font-size:9.5px;font-weight:600;display:inline-flex}.pantry-tag-custom{background:rgba(var(--c-fats-rgb), .14);color:var(--c-fats);padding-left:5px}.pantry-tag-glyph{width:10px;height:10px;display:block}.pantry-tag-glyph svg{width:100%;height:100%;display:block}.pantry-right{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.pantry-cal{font-family:var(--font-mono);letter-spacing:-.02em;white-space:nowrap;align-items:baseline;gap:2px;font-size:16px;font-weight:700;line-height:1;display:flex}.pantry-cal-unit{color:var(--text-dim);font-size:9px;font-weight:400}.pantry-card.is-custom .pantry-cal{color:var(--text-muted)}.pantry-count{font-family:var(--font-mono);letter-spacing:.01em;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.pantry-card-hit[data-wear="2"]{background:var(--glass-bg-strong)}.pantry-card-hit[data-wear="2"] .pantry-count{color:rgba(var(--c-calories-rgb), .85)}.pantry-card-hit[data-wear="3"]{background:var(--glass-bg-strong);box-shadow:inset 3px 0 0 0 rgba(var(--c-calories-rgb), .8), inset 0 0 0 1px rgba(var(--c-calories-rgb), .55)}.pantry-card-hit[data-wear="3"] .pantry-count{color:var(--c-calories)}.pantry-card-hit[data-wear="3"]{padding-left:15px}.pantry-card.is-rotation{background:linear-gradient(150deg, rgba(var(--c-carbs-rgb), .13) 0%, rgba(var(--c-carbs-rgb), .04) 60%, transparent 100%);border-color:rgba(var(--c-carbs-rgb), .22);margin:18px 0 4px}.pantry-rotation{align-items:center;gap:14px;padding:15px 16px;display:flex}.pantry-rotation-face{flex-shrink:0;place-items:center;width:56px;height:56px;display:grid}.pantry-rotation-face .pantry-mark{width:56px;height:56px}.pantry-rotation-text{flex-direction:column;gap:3px;min-width:0;display:flex}.pantry-rotation-lead{font-family:var(--font-display);letter-spacing:-.005em;color:var(--text-primary);text-wrap:pretty;font-size:14px;font-weight:600;line-height:1.35}.pantry-rotation-sub{color:var(--text-muted);text-wrap:pretty;font-size:12.5px;line-height:1.4}.pantry-card.is-band{background:0 0;border:0;border-radius:0;margin:10px 0 -2px}.pantry-card.is-band:first-child{margin-top:0}.pantry-band{align-items:center;gap:8px;padding:0 2px;display:flex}.pantry-band-label{font-family:var(--font-display);letter-spacing:.01em;color:var(--text-primary);font-size:12.5px;font-weight:700}.pantry-band-count{font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:10px}.pantry-band-rule{background:var(--glass-border);flex:1;height:1px}.pantry-more{width:44px;height:44px;color:var(--text-dim);background:0 0;border:0;border-radius:50%;place-items:center;transition:background-color .2s,color .2s;display:grid;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pantry-more svg{width:18px;height:18px}.pantry-more:hover{color:var(--text-primary);background:var(--glass-bg-strong)}.pantry-more:active{transform:translateY(-50%)scale(.9)}.pantry-item-danger svg,.pantry-item-danger strong{color:var(--c-danger)}@media (prefers-reduced-motion:reduce){.pantry-card,.pantry-card-hit,.pantry-chip,.pantry-more{transition:none}.pantry-card-hit:active,.pantry-chip:active{transform:none}.pantry-more:active{transform:translateY(-50%)}}.ready-now{margin-bottom:14px}.ready-now[hidden]{display:none}.ready-now-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;padding:0 2px;display:flex}.ready-now-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:11.5px;font-weight:700}.ready-now-stat{color:var(--text-dim);font-size:11.5px;font-weight:600;font-family:var(--font-mono);white-space:nowrap}.ready-now-strip{margin:0;margin-inline:calc(-1 * var(--app-h-pad,18px));padding:2px var(--app-h-pad,18px);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-left:var(--app-h-pad,18px);flex-wrap:nowrap;gap:10px;list-style:none;display:flex;overflow-x:auto}.ready-now-strip::-webkit-scrollbar{display:none}.ready-card{scroll-snap-align:start;border-radius:var(--radius-lg);transition:opacity .22s var(--ease), transform .22s var(--ease);flex:0 0 min(200px,62%)}.ready-card.removing{opacity:0;pointer-events:none;transform:scale(.95)translate(14px)}.ready-card-btn{border-radius:inherit;background:var(--glass-bg-strong);border:1px solid var(--glass-border);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;transition:transform .15s var(--ease), border-color .2s, background-color .2s;flex-direction:column;align-items:stretch;gap:3px;padding:11px 12px 12px;display:flex}.ready-card-btn:active{transform:scale(var(--press-scale));border-color:rgba(var(--c-calories-rgb), .4)}.ready-card-top{align-items:baseline;gap:4px;display:flex}.ready-card-cal{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--c-calories);font-size:21px;font-weight:700;line-height:1}.ready-card-unit{font-family:var(--font-mono);color:var(--text-dim);font-size:10px}.ready-card-bolt{width:15px;height:15px;color:var(--c-protein);flex-shrink:0;margin-left:auto}.ready-card-bolt svg{width:100%;height:100%}.ready-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin-top:4px;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.ready-card-macros{font-family:var(--font-mono);color:var(--text-muted);font-size:10.5px}.ready-card-reason{color:var(--c-calories);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:10.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.ready-card-reason.is-protein{color:var(--c-protein)}.ready-now-empty{border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-muted);align-items:center;gap:9px;padding:12px 13px;font-size:12px;line-height:1.4;display:flex}.ready-now-empty[hidden]{display:none}.ready-now-empty .empty-state-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.ready-now-empty .empty-state-icon svg{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.ready-card,.ready-card-btn{transition:none}.ready-card-btn:active{transform:none}}.workout-tag-row{flex-direction:column;gap:8px;display:flex}.workout-tag-label{color:var(--text-muted);padding-left:2px;font-size:12.5px;font-weight:600}.workout-tag-pills.pill-tabs{margin-bottom:0}.workout-tag-pills .pill-tab[data-type=pre_workout].active{background:rgba(var(--c-carbs-rgb), .18);color:var(--c-carbs)}.workout-tag-pills .pill-tab[data-type=post_workout].active{background:rgba(var(--c-protein-rgb), .18);color:var(--c-protein)}.workout-tag-badge{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-right:6px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.workout-tag-badge-pre_workout{background:rgba(var(--c-carbs-rgb), .16);color:var(--c-carbs)}.workout-tag-badge-post_workout{background:rgba(var(--c-protein-rgb), .16);color:var(--c-protein)}.nutrient-detail{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);overflow:hidden}.nutrient-detail summary{color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13.5px;font-weight:600;list-style:none;display:flex}.nutrient-detail summary::-webkit-details-marker{display:none}.nutrient-detail-chevron{width:16px;height:16px;color:var(--text-dim);transition:transform .25s var(--ease)}.nutrient-detail[open] .nutrient-detail-chevron{transform:rotate(180deg)}.nutrient-detail-grid{grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 14px;display:grid}.nutrient-detail-item{border-radius:var(--radius-sm);background:var(--surface-inset);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.nutrient-detail-label{color:var(--text-muted);font-size:11.5px;font-weight:600}.nutrient-detail-value{font-family:var(--font-mono);font-size:16px;font-weight:700}#manual-detail-sugar{color:var(--c-sugar)}#manual-detail-sodium{color:var(--c-sodium)}.scan-nutri-summary-label{align-items:center;gap:6px;display:inline-flex}.scan-nutri-panel{padding:2px 14px 14px}.scan-nutri-serving{color:var(--text-dim);margin:0 0 10px;font-size:11px}.scan-nutri-rule-thick{background:var(--text-primary);border-radius:2px;height:5px;margin-bottom:8px}.scan-nutri-cal-row{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding-bottom:8px;display:flex}.scan-nutri-cal-label{color:var(--text-primary);font-size:13.5px;font-weight:700}.scan-nutri-cal-val{font-family:var(--font-mono);color:var(--text-primary);font-size:27px;font-weight:700}.scan-nutri-row{border-bottom:1px solid var(--glass-border);border-left:3px solid var(--tick,transparent);justify-content:space-between;align-items:center;padding:7px 0 7px 10px;display:flex}.scan-nutri-row.sub{padding-left:22px}.scan-nutri-row-protein{--tick:var(--c-protein)}.scan-nutri-row-carbs{--tick:var(--c-carbs)}.scan-nutri-row-sugar{--tick:var(--c-sugar)}.scan-nutri-row-fats{--tick:var(--c-fats)}.scan-nutri-row-fiber{--tick:var(--c-fiber)}.scan-nutri-row-sodium{--tick:var(--c-sodium)}.scan-nutri-row-label{color:var(--text-primary);font-size:13px}.scan-nutri-row.sub .scan-nutri-row-label{color:var(--text-muted);font-size:12px}.scan-nutri-row-val{font-family:var(--font-mono);color:var(--text-primary);font-size:13px}.scan-nutri-row.sub .scan-nutri-row-val{color:var(--text-muted);font-size:12px}.scan-nutri-provenance{color:var(--text-dim);align-items:center;gap:7px;margin-top:12px;font-size:11px;display:flex}.scan-nutri-provenance svg{width:12px;height:12px;color:var(--c-protein);flex-shrink:0}#scan-photo-mode>.field,#scan-describe-mode>.field{margin-bottom:18px}.describe-input-row{align-items:flex-start;gap:10px;display:flex}.describe-input-row textarea{flex:1}.mic-btn{border:1px solid var(--glass-border);background:var(--glass-bg);width:44px;height:44px;color:var(--text-muted);transition:color .2s, border-color .2s, background .2s, transform .15s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.mic-btn svg{width:20px;height:20px}.mic-btn:active{transform:scale(.92)}.mic-btn.listening{color:var(--c-danger);border-color:var(--c-danger);background:rgba(var(--c-danger-rgb), .1);animation:1.4s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--c-danger-rgb), .35)}50%{box-shadow:0 0 0 8px rgba(var(--c-danger-rgb), 0)}}.describe-char-count{color:var(--text-dim);align-self:flex-end;font-size:11.5px}.describe-hint{color:var(--c-danger);margin-top:-6px;font-size:12.5px}.photo-source-row{gap:10px;margin-bottom:14px;display:flex}.photo-source-row .dropzone{flex:1;margin-bottom:0;padding:24px 14px}.discover-recommended{margin-bottom:18px}.discover-recommended-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.discover-recommended-strip::-webkit-scrollbar{display:none}.discover-recommended-strip .discover-card{flex:0 0 148px}.discover-cooked{margin:2px 2px 16px}.discover-cooked-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.discover-cooked-label{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:600}.discover-cooked-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.discover-cooked-track{background:var(--surface-inset);border-radius:999px;height:5px;overflow:hidden}.discover-cooked-fill{background:var(--c-protein);transform-origin:0;height:100%;transition:transform .55s var(--ease);border-radius:999px;transform:scaleX(0)}.discover-rotation-card{outline:1px dashed var(--glass-border);outline-offset:-1px}.discover-rotation-card.is-logging{opacity:.55;pointer-events:none}@media (prefers-reduced-motion:reduce){.discover-cooked-fill{transition:none}}.discover-challenge{margin:2px 2px 18px}.discover-challenge-card{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:16px;padding:14px 15px 13px}.discover-challenge-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.discover-challenge-eyebrow{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.discover-challenge-eyebrow svg{flex:none;width:14px;height:14px}.discover-challenge-badges{color:var(--text-muted);white-space:nowrap;font-size:11.5px;font-weight:600}.discover-challenge-title{color:var(--text-primary);margin:0 0 2px;font-size:14.5px;font-weight:600}.discover-challenge-desc{color:var(--text-muted);margin:0 0 11px;font-size:12.5px;line-height:1.4}.discover-challenge-track{background:var(--surface-inset);border-radius:999px;height:6px;overflow:hidden}.discover-challenge-fill{background:var(--c-carbs);transform-origin:0;height:100%;transition:transform .55s var(--ease), background-color .4s var(--ease);border-radius:999px;transform:scaleX(0)}.discover-challenge-foot{justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;display:flex}.discover-challenge-progress{color:var(--text-muted);white-space:nowrap;font-size:12px}.discover-challenge-status{color:var(--text-dim);text-align:right;font-size:12px}.discover-challenge-card.is-complete .discover-challenge-fill{background:var(--c-fiber)}.discover-challenge-card.is-complete .discover-challenge-status{color:var(--c-fiber);font-weight:600}@media (prefers-reduced-motion:reduce){.discover-challenge-fill{transition:none}}.discover-pick{margin-bottom:18px}.discover-pick-card{isolation:isolate;aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--glass-bg-strong);border:1px solid var(--glass-border);cursor:pointer;text-align:left;width:100%;transition:transform .18s var(--ease);display:block;position:relative;overflow:hidden;box-shadow:0 10px 34px #00000052}.discover-pick-card:active{transform:scale(var(--press-scale))}@media (width>=560px){.discover-pick-card{aspect-ratio:2}}.discover-pick-img{z-index:0;object-fit:cover;object-position:center 32%;border-radius:var(--radius-lg);width:100%;height:100%;transition:opacity .3s var(--ease);position:absolute;inset:0}.discover-pick-img.discover-card-image-loading{opacity:0;background:linear-gradient(100deg, var(--glass-bg) 30%, var(--glass-bg-strong) 50%, var(--glass-bg) 70%);background-size:200% 100%}.discover-pick-img.discover-card-image-placeholder{place-items:center;display:grid}.discover-pick-img.discover-card-image-placeholder svg{filter:drop-shadow(0 3px 8px #0003);width:60px;height:60px}.discover-pick-scrim{z-index:1;pointer-events:none;background:linear-gradient(3deg,#06080cf0 0%,#06080cb8 26%,#06080c1a 56%,#06080c5c 100%);position:absolute;inset:0}.discover-pick-body{z-index:2;color:#fff;flex-direction:column;gap:8px;padding:18px;display:flex;position:absolute;bottom:0;left:0;right:0}.discover-pick-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffd1;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:600;display:flex}.discover-pick-eyebrow>svg{width:13px;height:13px;color:var(--c-carbs);flex:none}.discover-pick-next{-webkit-backdrop-filter:blur(8px);color:#fff;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;transition:transform .15s var(--ease), background .15s var(--ease);background:#0a0c106b;border:1px solid #ffffff3d;border-radius:999px;align-items:center;gap:3px;margin-left:auto;padding:5px 9px;font-size:10px;font-weight:600;display:inline-flex}.discover-pick-next svg{width:12px;height:12px}.discover-pick-next:active{transform:scale(var(--press-scale-deep))}@media (hover:hover) and (pointer:fine){.discover-pick-next:hover{background:#0a0c10ad}}.discover-pick-name{font-family:var(--font-display);letter-spacing:-.015em;color:#fff;text-shadow:0 2px 14px #00000073;margin:0;font-size:clamp(22px,6.4vw,30px);font-weight:600;line-height:1.12}.discover-pick-reason{color:#fff;margin:0;font-size:14px;font-weight:600;line-height:1.35}.discover-pick-facts{letter-spacing:.02em;color:#ffffffb3;margin:0;font-size:11.5px}.discover-pick-meters{flex-direction:column;gap:7px;margin-top:2px;display:flex}.discover-pick-meter-head{letter-spacing:.05em;text-transform:uppercase;color:#ffffff9e;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:3px;font-size:10px;font-weight:600;display:flex}.discover-pick-meter-head .mono{letter-spacing:0;text-transform:none;color:#ffffffd1;white-space:nowrap;font-size:10.5px}.discover-pick-meter-track{background:#ffffff29;border-radius:999px;height:5px;overflow:hidden}.discover-pick-meter-fill{transform-origin:0;height:100%;transition:transform .55s var(--ease);border-radius:999px;transform:scaleX(0)}.discover-pick-meter-fill.is-calories{background:var(--c-calories)}.discover-pick-meter-fill.is-protein{background:var(--c-protein)}.discover-pick-cta{margin-top:10px}.discover-pick-met{border-radius:var(--radius-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border);align-items:center;gap:12px;padding:16px 18px;display:flex}.discover-pick-met-icon{background:rgba(var(--c-protein-rgb), .16);width:38px;height:38px;color:var(--c-protein);border-radius:999px;flex:none;place-items:center;display:grid}.discover-pick-met-icon svg{width:20px;height:20px}.discover-pick-met-title{color:var(--text-primary);margin:0 0 2px;font-size:14px;font-weight:600}.discover-pick-met-body{color:var(--text-muted);margin:0;font-size:12.5px;line-height:1.4}@media (prefers-reduced-motion:reduce){.discover-pick-card,.discover-pick-img,.discover-pick-meter-fill,.discover-pick-next{transition:none}.discover-pick-img.discover-card-image-loading{animation:none}}.discover-shelves{flex-direction:column;gap:22px;display:flex}.discover-shelf{content-visibility:auto;contain-intrinsic-size:264px;contain-intrinsic-size:auto 264px;flex-direction:column;gap:10px;min-width:0;display:flex}.discover-shelf-head{text-align:left;cursor:pointer;width:100%;transition:transform .15s var(--ease);background:0 0;border:0;align-items:center;gap:12px;padding:4px 2px;display:flex}.discover-shelf-head:active{transform:scale(.99)}.discover-shelf .discover-shelf-icon{background:linear-gradient(155deg, color-mix(in srgb, currentColor 30%, transparent) 0%, color-mix(in srgb, currentColor 12%, transparent) 52%, color-mix(in srgb, currentColor 4%, transparent) 100%);width:38px;height:38px;box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 26%, transparent), inset 0 1px 0 #ffffff17, 0 4px 13px -6px color-mix(in srgb, currentColor 48%, transparent);transition:transform .16s var(--ease), box-shadow .2s var(--ease);border-radius:13px;flex:none;place-items:center;display:grid}.discover-shelf .discover-shelf-icon svg{filter:drop-shadow(0 1px 2px #00000059);width:20px;height:20px}.discover-shelf-head:active .discover-shelf-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor 32%, transparent), inset 0 1px 0 #ffffff1f, 0 6px 16px -6px color-mix(in srgb, currentColor 55%, transparent);transform:translateY(-1px)}.discover-shelf-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.discover-shelf-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:15.5px;font-weight:600;line-height:1.2}.discover-shelf-blurb{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.34;display:-webkit-box;overflow:hidden}.discover-shelf-see{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);white-space:nowrap;flex:none;align-items:center;gap:1px;font-size:10.5px;font-weight:600;display:inline-flex}.discover-shelf-see svg{width:13px;height:13px}.discover-shelf-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.discover-shelf-strip::-webkit-scrollbar{display:none}.discover-shelf-strip .discover-card{flex:0 0 150px}.discover-shelf-skeleton{pointer-events:none}.discover-shelf-skeleton-head{border-radius:var(--radius-sm);width:70%;height:40px}.discover-shelf-skeleton-card{aspect-ratio:3/4;border-radius:var(--radius-lg);flex:0 0 150px}.discover-collection-bar{cursor:pointer;width:100%;font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);transition:transform .15s var(--ease);background:0 0;border:0;align-items:center;gap:8px;margin-bottom:4px;padding:8px 4px;font-size:17px;font-weight:600;display:flex}.discover-collection-bar:active{transform:scale(.99)}.discover-collection-bar svg{width:20px;height:20px;color:var(--text-muted);flex:none}.discover-detail-log-btn{background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-primary)}.discover-detail-log-btn:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.discover-detail-log-btn:hover{background:var(--surface-inset)}}#recipe-detail-sheet .discover-detail-list-numbered+.btn,#exercise-detail-sheet .discover-detail-attribution+.btn{margin-top:22px}#recipe-detail-sheet .btn+.btn,#exercise-detail-sheet .btn+.btn{margin-top:10px}#recipe-detail-sheet .settings-hint{margin-bottom:12px}@media (width<=719.98px){#cook-mode-sheet.sheet-overlay{height:100dvh}}.sheet-cookmode{background:var(--bg);background-image:var(--bg-gradient);width:100%;max-width:100%;height:100dvh;max-height:100dvh;animation:ollie-immersive-in .35s var(--ease);border-radius:0;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.cook-top{padding:calc(10px + var(--safe-top)) 16px 10px;flex:none;align-items:center;gap:12px;display:flex}.cook-close{border:1px solid var(--glass-border);background:var(--glass-bg-strong);width:34px;height:34px;color:var(--text-primary);cursor:pointer;transition:transform .15s var(--ease);border-radius:999px;flex:none;place-items:center;display:grid}.cook-close svg{width:17px;height:17px}.cook-close:active{transform:scale(var(--press-scale-deep))}.cook-top-name{min-width:0;font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;font-weight:600;overflow:hidden}.cook-top-step{color:var(--text-dim);letter-spacing:.02em;flex:none;font-size:11px}.cook-progress-track{background:var(--glass-bg-strong);flex:none;height:3px;overflow:hidden}.cook-progress-fill{background:var(--c-protein);transform-origin:0;height:100%;transition:transform .4s var(--ease);transform:scaleX(0)}.cook-stage{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;padding:22px 20px 28px;overflow-y:auto}.cook-panel{flex-direction:column;gap:16px;max-width:440px;margin:0 auto;display:flex}.cook-kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:11px;font-weight:600}.cook-portion{flex-direction:column;gap:8px;display:flex}.cook-portion-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}.cook-portion-opts{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:999px;gap:6px;padding:4px;display:flex}.cook-portion-opt{color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;border-radius:999px;flex:1;padding:9px 0;font-size:14px;font-weight:600}.cook-portion-opt.is-active{background:rgba(var(--c-protein-rgb), .16);color:var(--c-protein)}.cook-macros{gap:8px;display:flex}.cook-macro{border-radius:var(--radius-sm);background:var(--glass-bg-strong);border:1px solid var(--glass-border);font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;flex-direction:column;flex:1;align-items:center;gap:2px;padding:12px 4px;font-size:17px;font-weight:600;display:flex}.cook-macro small{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px;font-weight:600}.cook-macro-cal small{color:rgba(var(--c-calories-rgb), .9)}.cook-macro-p small{color:rgba(var(--c-protein-rgb), .9)}.cook-macro-c small{color:rgba(var(--c-carbs-rgb), .9)}.cook-macro-f small{color:rgba(var(--c-fats-rgb), .9)}.cook-amounts-note{color:var(--text-dim);margin:0;font-size:11.5px}.cook-ingredients{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cook-ingredients li{color:var(--text-primary);padding-left:18px;font-size:14.5px;line-height:1.4;position:relative}.cook-ingredients li:before{content:"";background:rgba(var(--c-protein-rgb), .7);border-radius:999px;width:6px;height:6px;position:absolute;top:.62em;left:3px}.cook-step{align-items:flex-start;gap:14px;padding-top:6vh}.cook-step-num{color:var(--text-dim);opacity:.5;font-size:44px;font-weight:600;line-height:1}.cook-step-text{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-size:clamp(20px,5.4vw,26px);font-weight:500;line-height:1.4}.cook-timer{margin-top:4px}.cook-timer-btn{border:1px solid rgba(var(--c-carbs-rgb), .4);background:rgba(var(--c-carbs-rgb), .12);color:var(--c-carbs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .15s var(--ease), background .15s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:15px;font-weight:600;display:inline-flex}.cook-timer-btn svg{width:16px;height:16px}.cook-timer-btn:active{transform:scale(var(--press-scale))}.cook-timer.is-running .cook-timer-btn{animation:1.8s ease-in-out infinite cook-timer-pulse}.cook-timer.is-done .cook-timer-btn{border-color:rgba(var(--c-calories-rgb), .5);background:rgba(var(--c-calories-rgb), .16);color:var(--c-calories)}@keyframes cook-timer-pulse{0%,to{box-shadow:0 0 0 0 rgba(var(--c-carbs-rgb), .3)}50%{box-shadow:0 0 0 8px rgba(var(--c-carbs-rgb), 0)}}.cook-finish{text-align:center;align-items:center;padding-top:8vh}.cook-finish-icon{background:rgba(var(--c-protein-rgb), .16);width:56px;height:56px;color:var(--c-protein);border-radius:999px;place-items:center;display:grid}.cook-finish-icon svg{width:28px;height:28px}.cook-finish-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:22px;font-weight:600}.cook-finish-sub{color:var(--text-muted);margin:0;font-size:13.5px}.cook-finish .cook-macros{width:100%}.cook-log-btn{margin-top:4px}.cook-finish-close{color:var(--text-muted);background:0 0;border:0;align-self:center}.cook-nav{padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--glass-border);flex:none;gap:10px;display:flex}.cook-nav .cook-prev{background:var(--glass-bg-strong);border:1px solid var(--glass-border);width:auto;color:var(--text-primary);flex:none;padding-left:20px;padding-right:20px}.cook-nav .cook-next{flex:1;width:auto}@media (prefers-reduced-motion:reduce){.sheet-cookmode{animation:none}.cook-progress-fill,.cook-close,.cook-portion-opt,.cook-timer-btn{transition:none}.cook-timer.is-running .cook-timer-btn{animation:none}}.discover-panel{margin-top:16px}.discover-section-spaced{margin-top:22px}.discover-search-row{gap:8px;max-width:100%;margin-bottom:12px;display:flex}.discover-search-row input[type=search]{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;max-width:100%;color:var(--text-primary);appearance:none;flex:1;padding:12px 14px;font-size:16px}.discover-search-row input[type=search]:focus{border-color:var(--c-water);box-shadow:0 0 0 3px rgba(var(--c-water-rgb), .18);outline:none}.discover-search-row select{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-primary);padding:12px 10px;font-size:13px}.discover-filter-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(-1 * var(--app-h-pad)) 14px;padding:0 var(--app-h-pad) 2px;touch-action:pan-x pan-y;overscroll-behavior-x:contain;flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.discover-filter-chips::-webkit-scrollbar{display:none}.discover-filter-chips .discover-chip{white-space:nowrap;flex-shrink:0}.discover-chip{border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-muted);transition:background .2s, color .2s, transform .15s var(--ease);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600}.discover-chip:active{transform:scale(var(--press-scale))}.discover-chip.active{background:rgba(var(--c-calories-rgb), .16);border-color:rgba(var(--c-calories-rgb), .4);color:var(--c-calories)}.discover-filter-chips-goal{margin-bottom:10px}.discover-chip-goal.active[data-tag=bulk]{background:rgba(var(--c-carbs-rgb), .16);border-color:rgba(var(--c-carbs-rgb), .4);color:var(--c-carbs)}.discover-chip-goal.active[data-tag=cut]{background:rgba(var(--c-protein-rgb), .16);border-color:rgba(var(--c-protein-rgb), .4);color:var(--c-protein)}.discover-chip-goal.active[data-tag=maintain]{background:rgba(var(--c-water-rgb), .16);border-color:rgba(var(--c-water-rgb), .4);color:var(--c-water)}.discover-search-loading{color:var(--text-muted);align-items:center;gap:8px;padding:14px 4px;font-size:13px;display:flex}.discover-grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;display:grid}.discover-card{isolation:isolate;aspect-ratio:3/4;text-align:left;background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg);cursor:pointer;transition:transform .18s var(--ease), box-shadow .25s var(--ease);position:relative;overflow:hidden;box-shadow:0 4px 16px #0003}.discover-card:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.discover-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #00000052}.discover-card:hover .discover-card-image{transform:scale(1.06)}}.discover-card-image,.discover-card-image-placeholder{z-index:0;object-fit:cover;object-position:center 30%;border-radius:var(--radius-lg);opacity:1;width:100%;height:100%;transition:opacity .25s var(--ease), transform .5s var(--ease);display:block;position:absolute;inset:0}.discover-card-image.discover-card-image-loading,.discover-detail-image.discover-card-image-loading{opacity:0;background:linear-gradient(100deg, var(--glass-bg) 30%, var(--glass-bg-strong) 50%, var(--glass-bg) 70%);background-size:200% 100%}.discover-card:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#080a0e00 38%,#080a0e80 68%,#080a0ee0 100%);position:absolute;inset:0}.discover-card-image-placeholder{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-protein-rgb), .34), rgba(var(--c-water-rgb), .16));color:var(--c-protein);place-items:center;display:grid}.discover-card-image-placeholder svg{filter:drop-shadow(0 3px 8px #0003);width:44px;height:44px}.discover-icon-calories{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-calories-rgb), .4), rgba(var(--c-calories-rgb), .14));color:var(--c-calories)}.discover-icon-protein{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-protein-rgb), .4), rgba(var(--c-protein-rgb), .14));color:var(--c-protein)}.discover-icon-carbs{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-carbs-rgb), .4), rgba(var(--c-carbs-rgb), .14));color:var(--c-carbs)}.discover-icon-fats{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-fats-rgb), .4), rgba(var(--c-fats-rgb), .14));color:var(--c-fats)}.discover-icon-fiber{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-fiber-rgb), .4), rgba(var(--c-fiber-rgb), .14));color:var(--c-fiber)}.discover-icon-water{background:radial-gradient(circle at 30% 22%, #ffffff29, transparent 45%), linear-gradient(150deg, rgba(var(--c-water-rgb), .4), rgba(var(--c-water-rgb), .14));color:var(--c-water)}.discover-card-body{z-index:2;color:#fff;flex-direction:column;gap:4px;padding:10px 12px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.discover-card-name{letter-spacing:-.01em;color:#fff;text-shadow:0 1px 6px #00000073;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:700;line-height:1.28;display:-webkit-box;overflow:hidden}.discover-card-meta{color:#ffffffdb;text-shadow:0 1px 4px #0006;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.discover-card-badge{z-index:2;-webkit-backdrop-filter:blur(10px);color:#fff;letter-spacing:.01em;white-space:nowrap;background:#0a0c108c;border:1px solid #ffffff38;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:700;position:absolute;top:9px;right:9px}.discover-card-skeleton{cursor:default;pointer-events:none}.discover-card-skeleton-image{border-radius:var(--radius-lg);width:100%;height:100%;position:absolute;inset:0}.discover-card-skeleton-line{border-radius:4px;height:11px}.discover-card-skeleton-line+.discover-card-skeleton-line{margin-top:6px}.discover-card-tags{flex-wrap:wrap;gap:4px;display:flex}.discover-card-tag{text-transform:uppercase;letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);color:#fff;background:#ffffff2e;border:1px solid #ffffff38;border-radius:999px;padding:3px 8px;font-size:9.5px;font-weight:700}.discover-detail-tags{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.discover-detail-tags .discover-card-tag{padding:3px 9px;font-size:10.5px}.discover-detail-list{flex-direction:column;gap:8px;margin:0 0 4px;padding:0;list-style:none;display:flex}.discover-detail-list li{color:var(--text-primary);padding-left:18px;font-size:13.5px;line-height:1.4;position:relative}.discover-detail-list:not(.discover-detail-list-numbered) li:before{content:"";background:var(--c-carbs);border-radius:50%;width:5px;height:5px;position:absolute;top:7px;left:2px}.discover-detail-list-numbered{padding-left:4px;list-style:decimal}.discover-detail-list-numbered li{padding-left:4px}.discover-detail-hero{isolation:isolate;margin-bottom:12px;position:relative}.discover-detail-hero .discover-detail-image,.discover-detail-hero .discover-detail-image-placeholder{margin-bottom:0}.discover-detail-hero:after{content:"";z-index:1;border-radius:var(--radius-md);pointer-events:none;background:linear-gradient(#080a0e00 55%,#080a0e9e 100%);position:absolute;inset:0}.discover-detail-tagline{z-index:2;color:#fff;text-shadow:0 1px 6px #00000080;margin:0;font-size:14.5px;font-style:italic;font-weight:600;line-height:1.35;position:absolute;bottom:12px;left:16px;right:16px}.discover-detail-image{aspect-ratio:4/5;object-fit:cover;object-position:center 20%;background:var(--glass-bg-strong);border-radius:var(--radius-md);opacity:1;width:100%;transition:opacity .25s var(--ease)}.discover-detail-image-placeholder{aspect-ratio:4/5;border-radius:var(--radius-md);place-items:center;width:100%;display:grid}.discover-detail-image-placeholder svg{filter:drop-shadow(0 3px 8px #0003);width:46px;height:46px}.discover-detail-attribution{color:var(--text-dim);margin:10px 0 16px;font-size:10.5px}.discover-plan-day{border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);margin-bottom:10px;padding:12px 14px}.discover-plan-day-label{color:var(--c-protein);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:12.5px;font-weight:700}.discover-plan-exercise-row{padding:6px 0;font-size:13px}.discover-plan-exercise-row+.discover-plan-exercise-row{border-top:1px solid var(--glass-border)}.discover-plan-exercise-row-main{align-items:center;gap:10px;display:flex}.discover-plan-exercise-name{color:var(--text-primary);flex:1}.discover-plan-exercise-scheme{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;flex-shrink:0}.discover-plan-exercise-howto{color:var(--text-dim);margin:3px 0 0;font-size:12px;line-height:1.4}.discover-plan-exercise-log-btn{background:rgba(var(--c-protein-rgb), .14);width:26px;height:26px;color:var(--c-protein);transition:background .15s, transform .15s var(--ease);border:none;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.discover-plan-exercise-log-btn svg{width:14px;height:14px}.discover-plan-exercise-log-btn:active{transform:scale(var(--press-scale))}@media (hover:hover){.discover-plan-exercise-log-btn:hover{background:rgba(var(--c-protein-rgb), .24)}}.camera-option-btn{border:1.5px dashed var(--glass-border);border-radius:var(--radius-md);color:var(--text-muted);background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px 14px;font-size:13.5px;transition:border-color .2s,background .2s;display:flex}.camera-option-btn svg{width:26px;height:26px;color:var(--c-calories)}.camera-option-btn:hover{border-color:var(--c-calories);background:rgba(var(--c-calories-rgb), .04)}.photo-camera-viewport{aspect-ratio:4/3;border-radius:var(--radius-md);background:#000;width:100%;margin-bottom:14px;position:relative;overflow:hidden}.photo-camera-viewport video{object-fit:cover;width:100%;height:100%}.photo-camera-close-btn{color:#fff;width:34px;height:34px;transition:transform .15s var(--ease), background .15s;background:#00000073;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;left:10px}.photo-camera-close-btn svg{width:16px;height:16px}.photo-camera-close-btn:active{transform:scale(var(--press-scale-deep));background:#000000a6}.photo-shutter-btn{background:0 0;border:3px solid #ffffffd9;border-radius:50%;place-items:center;width:62px;height:62px;padding:4px;display:grid;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.photo-shutter-ring{width:100%;height:100%;transition:transform .15s var(--ease), background-color .15s;background:#fff;border-radius:50%}.photo-shutter-btn:active .photo-shutter-ring{background:#ffffffb3;transform:scale(.85)}.barcode-viewport{aspect-ratio:4/3;border-radius:var(--radius-md);background:#000;width:100%;margin-bottom:12px;position:relative;overflow:hidden}.barcode-viewport video{object-fit:cover;width:100%;height:100%}.barcode-viewport .photo-camera-close-btn{z-index:1}.barcode-frame{border-radius:var(--radius-sm);pointer-events:none;position:absolute;inset:20% 10%;box-shadow:0 0 0 999px #00000059}.barcode-frame-corner{border:2.5px solid rgba(var(--c-calories-rgb), .85);width:22px;height:22px;transition:border-color .25s var(--ease);position:absolute}.barcode-frame-corner-tl{border-bottom:none;border-right:none;border-radius:6px 0 0;top:-2px;left:-2px}.barcode-frame-corner-tr{border-bottom:none;border-left:none;border-radius:0 6px 0 0;top:-2px;right:-2px}.barcode-frame-corner-bl{border-top:none;border-right:none;border-radius:0 0 0 6px;bottom:-2px;left:-2px}.barcode-frame-corner-br{border-top:none;border-left:none;border-radius:0 0 6px;bottom:-2px;right:-2px}@media (prefers-reduced-motion:no-preference){.barcode-frame-corner{animation:1.8s ease-in-out infinite barcode-corner-pulse}}@keyframes barcode-corner-pulse{0%,to{opacity:.6}50%{opacity:1}}.barcode-scanline{background:linear-gradient(90deg, transparent, rgba(var(--c-calories-rgb), .9), transparent);height:2px;box-shadow:0 0 8px rgba(var(--c-calories-rgb), .6);border-radius:999px;position:absolute;left:4%;right:4%}@media (prefers-reduced-motion:no-preference){.barcode-scanline{animation:2.1s ease-in-out infinite barcode-scanline-sweep}}@keyframes barcode-scanline-sweep{0%,to{opacity:0;top:6%}10%{opacity:1}50%{opacity:1;top:94%}90%{opacity:1}}.barcode-frame.barcode-frame-success .barcode-frame-corner{border-color:var(--c-protein);opacity:1;animation:none}.barcode-frame.barcode-frame-success .barcode-scanline{display:none}.barcode-hint{text-align:center;color:var(--text-muted);margin-bottom:14px;font-size:13px}#scan-attach-section{margin-bottom:18px}.attached-items:not(:empty){flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.attached-item-chip{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:999px;align-items:center;gap:7px;padding:6px 8px 6px 12px;font-size:12.5px;display:flex}.attached-item-chip-macros{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.attached-item-remove{background:var(--glass-bg-strong);width:20px;height:20px;color:var(--text-muted);border:none;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;line-height:1;display:grid}.attached-item-remove:active{transform:scale(var(--press-scale))}.attach-barcode-btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.attach-barcode-btn svg{width:16px;height:16px;color:var(--c-calories);flex-shrink:0}.attach-confirm-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:16px;padding:16px}.attach-confirm-card strong{margin-bottom:12px;font-size:15px;display:block}.attach-confirm-card .scan-product-header{margin-bottom:10px}.attach-confirm-macros{color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);margin:10px 0 0}.scan-product-header{align-items:center;gap:10px;display:flex}.scan-product-image{border-radius:var(--radius-sm);object-fit:cover;background:var(--glass-bg);border:1px solid var(--glass-border);flex-shrink:0;width:48px;height:48px}.scan-product-brand{color:var(--text-muted);min-width:0;font-size:13px}.spinner{border:3px solid #ffffff1a;border-top-color:var(--c-calories);border-radius:50%;width:40px;height:40px;margin:30px auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{text-align:center;color:var(--text-muted);padding-bottom:20px;font-size:14px}.scan-loading-photo-wrap{border-radius:var(--radius-md);margin:8px 0 16px;position:relative;overflow:hidden}.scan-loading-photo{object-fit:cover;width:100%;max-height:220px;display:block}.scan-scan-beam{background:linear-gradient(to bottom, rgba(var(--c-calories-rgb), 0) 0%, rgba(var(--c-calories-rgb), .32) 50%, rgba(var(--c-calories-rgb), 0) 100%);pointer-events:none;height:46%;animation:2.1s ease-in-out infinite scan-beam-sweep;position:absolute;left:0;right:0}@keyframes scan-beam-sweep{0%{top:-46%}to{top:100%}}.scan-loading-skeleton{margin-top:4px}.scan-skel-ring{opacity:.5;width:88px;height:88px;transition:opacity .25s var(--ease);border-radius:50%;margin:0 auto}.scan-skel-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px;display:grid}.scan-skel-tile{border-radius:var(--radius-sm);opacity:.5;height:58px;transition:opacity .25s var(--ease)}.scan-skel-row{border-radius:var(--radius-sm);opacity:.5;height:44px;transition:opacity .25s var(--ease);margin-top:8px}#scan-loading-stage[data-analyzing-stage=identify] .scan-skel-ring,#scan-loading-stage[data-analyzing-stage=portion] .scan-skel-tile,#scan-loading-stage[data-analyzing-stage=macros] .scan-skel-row{opacity:1}.ai-note{color:var(--text-muted);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.ai-note-icon{width:15px;height:15px;color:var(--c-water);flex-shrink:0;margin-top:1px}.ai-note-icon svg{width:100%;height:100%}.ai-note-body{flex-direction:column;gap:5px;min-width:0;display:flex}.ai-note p{min-width:0;line-height:1.4}.confidence-badge{letter-spacing:.01em;white-space:nowrap;transition:background .3s var(--ease), color .3s var(--ease);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 9px 3px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.confidence-badge-icon{flex-shrink:0;width:12px;height:12px}.confidence-badge.confidence-db-verified{background:rgba(var(--c-protein-rgb), .16);color:var(--c-protein)}.confidence-badge.confidence-mixed{background:rgba(var(--c-carbs-rgb), .16);color:var(--c-carbs)}.confidence-badge.confidence-ai-estimated{background:rgba(var(--c-fats-rgb), .16);color:var(--c-fats)}.confidence-badge.confidence-uncertain{background:rgba(var(--c-danger-rgb), .16);color:var(--c-danger)}.confidence-badge.badge-updated{animation:confidence-badge-pop .4s var(--ease)}@keyframes confidence-badge-pop{0%{transform:scale(.85)}60%{transform:scale(1.1)}to{transform:scale(1)}}.confidence-badge.confidence-verified{background:rgba(var(--c-water-rgb), .16);color:var(--c-water)}.ai-note.ai-note-verified{border-color:rgba(var(--c-water-rgb), .3)}#scan-result-form{gap:16px}.scan-hero-tile{box-shadow:none;animation:scan-reveal-in .45s var(--ease-bounce) both;background:0 0;border:none;border-radius:0;align-items:center;gap:14px;padding:2px 0;display:flex}.scan-hero-ring-wrap{flex-shrink:0;width:88px;height:88px;position:relative}.scan-hero-ring-wrap svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.scan-hero-ring-track{stroke:var(--surface-inset)}.scan-hero-ring-fill{stroke:var(--c-calories);stroke-dasharray:245.04;stroke-dashoffset:53.86px}.scan-hero-halo{stroke:var(--glass-border);stroke-dasharray:4 5;transition:stroke .3s var(--ease)}.scan-hero-halo.confidence-db-verified{stroke:rgba(var(--c-protein-rgb), .7)}.scan-hero-halo.confidence-mixed{stroke:rgba(var(--c-carbs-rgb), .7)}.scan-hero-halo.confidence-ai-estimated{stroke:rgba(var(--c-fats-rgb), .7)}.scan-hero-halo.confidence-uncertain{stroke:rgba(var(--c-danger-rgb), .7)}.scan-hero-halo.confidence-verified{stroke:rgba(var(--c-water-rgb), .7)}.scan-hero-ring-num{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-hero-ring-num strong{font-family:var(--font-mono);color:var(--text-primary);font-size:19px;font-weight:700;line-height:1}.scan-hero-ring-num span{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-size:8.5px}.scan-hero-meta{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-width:0;display:flex}.scan-trust-row{align-items:center;gap:10px;display:flex}.scan-trust-info-btn{background:var(--info-bg-hover);border-color:var(--info-icon);width:30px;height:30px;position:relative}.scan-trust-info-btn svg{width:18px;height:18px}.scan-trust-info-btn:before{content:"";position:absolute;inset:-7px}.scan-hero-weight{color:var(--text-muted);font-size:11.5px;line-height:1.2}.scan-cache-badge{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);background:var(--surface-inset);border:1px solid var(--glass-border);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.scan-bento-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.scan-bento-tile{background:var(--glass-bg);border:1px solid var(--glass-border);border-top:2px solid var(--tile-color);border-radius:var(--radius-sm);min-height:0;animation:scan-reveal-in .45s var(--ease-bounce) both;padding:12px 10px}.scan-bento-tile-protein{--tile-color:var(--c-protein);animation-delay:60ms}.scan-bento-tile-carbs{--tile-color:var(--c-carbs);animation-delay:.13s}.scan-bento-tile-fats{--tile-color:var(--c-fats);animation-delay:.2s}.scan-bento-tile-fiber{--tile-color:var(--c-fiber);animation-delay:.27s}.scan-bento-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;line-height:1;display:block}.scan-bento-val{font-family:var(--font-mono);color:var(--text-primary);margin-top:6px;font-size:15.5px;font-weight:700;line-height:1;display:block}.scan-bento-bar-track{background:var(--surface-inset);border-radius:999px;height:3.5px;margin-top:6px;overflow:hidden}.scan-bento-bar-fill{background:var(--tile-color);width:0%;height:100%;transition:width .5s var(--ease);border-radius:999px}.scan-bento-sub{color:var(--text-dim);margin-top:6px;font-size:9px;line-height:1.2;display:block}.scan-micro-row{gap:8px;display:flex}.scan-micro-chip{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text-muted);animation:scan-reveal-in .45s var(--ease-bounce) both;flex:1;justify-content:space-between;align-items:center;padding:8px 11px;font-size:11.5px;display:flex}.scan-micro-chip:first-child{animation-delay:.34s}.scan-micro-chip:nth-child(2){animation-delay:.39s}.scan-micro-chip b{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.ingredient-row.trust-row{animation:scan-reveal-in .45s var(--ease-bounce) both;gap:0;padding:0;overflow:hidden}.trust-row:first-child{animation-delay:.42s}.trust-row:nth-child(2){animation-delay:.48s}.trust-row:nth-child(3),.trust-row:nth-child(n+4){animation-delay:.54s}#scan-ingredients-list{gap:7px}.trust-row-summary{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:flex-start;gap:10px;padding:5px 11px;display:flex}.trust-glyph{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:-1.5px;display:flex}.trust-glyph svg{width:14px;height:14px}.trust-glyph.verified{color:var(--c-protein)}.trust-glyph.estimate{color:var(--c-carbs)}.trust-glyph.manual{color:var(--text-dim)}.trust-mid{flex-direction:column;flex:1;min-width:0;display:flex}.trust-name{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.25;overflow:hidden}.trust-weight{color:var(--text-dim);margin-top:1px;font-size:10.5px;line-height:1.25;display:block}.trust-bar{background:var(--surface-inset);border-radius:999px;width:100%;height:4px;margin-top:4px;display:flex;overflow:hidden}.trust-bar-protein,.trust-bar-carbs,.trust-bar-fats{flex:0 0 0}.trust-bar-protein{background:var(--c-protein)}.trust-bar-carbs{background:var(--c-carbs)}.trust-bar-fats{background:var(--c-fats)}.trust-cal{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;margin-top:0;font-size:12.5px;line-height:1.25}.trust-chevron{width:14px;height:14px;color:var(--text-dim);transition:transform .2s var(--ease);flex-shrink:0;align-self:center}.trust-row.expanded .trust-chevron{transform:rotate(180deg)}.trust-row-detail{opacity:0;transition:grid-template-rows .4s var(--ease), opacity .3s var(--ease);grid-template-rows:0fr;grid-template-columns:minmax(0,1fr);display:grid}.trust-row-detail>*{overflow-clip-margin:6px;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:12px 11px;display:flex;overflow:clip}.trust-row.expanded .trust-row-detail{opacity:1;grid-template-rows:1fr}@keyframes scan-reveal-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.scan-hero-tile,.scan-bento-tile,.scan-micro-chip,.trust-row{animation:none}}.confetti-canvas{z-index:450;pointer-events:none;position:fixed;inset:0}.toast{top:calc(14px + var(--safe-top));opacity:0;--toast-accent:var(--c-water);--toast-accent-rgb:var(--c-water-rgb);--toast-ink:color-mix(in srgb, var(--toast-accent) var(--toast-ink-mix), var(--toast-ink-shade));background:var(--toast-glass);-webkit-backdrop-filter:blur(36px)saturate(170%);backdrop-filter:blur(36px)saturate(170%);color:var(--text-primary);border-radius:var(--radius-md);z-index:200;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;text-align:left;flex-direction:column;gap:10px;width:max-content;max-width:min(94%,420px);padding:11px 13px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(-14px)scale(.98)}.toast.success{--toast-accent:var(--c-protein);--toast-accent-rgb:var(--c-protein-rgb)}.toast.error{--toast-accent:var(--c-danger);--toast-accent-rgb:var(--c-danger-rgb)}.toast-row{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-14px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-10px)scale(.985)}}.toast.show{animation:toast-in .3s var(--ease) both}.toast.hiding{animation:toast-out .24s var(--ease) both;pointer-events:none}.toast-icon{background:rgba(var(--toast-accent-rgb), .15);width:28px;height:28px;color:var(--toast-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-icon svg{width:16px;height:16px;display:block}.toast-message{letter-spacing:-.005em;overflow-wrap:break-word;min-width:0;padding:1px 2px 0;font-size:13.5px;font-weight:500;line-height:1.35}.toast-action{pointer-events:auto;border:1px solid rgba(var(--toast-accent-rgb), .3);background:rgba(var(--toast-accent-rgb), .12);min-height:32px;color:var(--toast-ink);letter-spacing:-.003em;transition:background .16s var(--ease);border-radius:999px;flex-shrink:0;align-items:center;padding:0 13px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.toast-action:active{background:rgba(var(--toast-accent-rgb), .24)}.toast-action:focus-visible{border-radius:999px}.toast-timer{background:rgba(var(--toast-accent-rgb), .16);border-radius:999px;height:3px;display:block;overflow:hidden}.toast-timer-fill{background:var(--toast-ink);transform-origin:0;border-radius:999px;height:100%;display:block;transform:scaleX(1)}@keyframes toast-timer-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (width<=400px){.toast-action{white-space:nowrap}.toast{gap:9px;padding:10px 11px 11px}.toast-row{gap:8px}}@media (prefers-reduced-motion:reduce){.toast-timer-fill{transition:none!important;animation:none!important}}.ingredients-totals{flex-wrap:wrap;gap:8px;display:flex}.ingredient-total-chip{font-family:var(--font-mono);background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:999px;padding:6px 11px;font-size:13px;font-weight:600}.ingredient-total-chip.chip-calories{color:var(--c-calories);border-color:rgba(var(--c-calories-rgb), .3)}.ingredient-total-chip.chip-protein{color:var(--c-protein);border-color:rgba(var(--c-protein-rgb), .3)}.ingredient-total-chip.chip-carbs{color:var(--c-carbs);border-color:rgba(var(--c-carbs-rgb), .3)}.ingredient-total-chip.chip-fats{color:var(--c-fats);border-color:rgba(var(--c-fats-rgb), .3)}.ingredient-total-chip.chip-fiber{color:var(--c-fiber);border-color:rgba(var(--c-fiber-rgb), .3)}.ingredient-total-chip.chip-weight{color:var(--text-muted)}.ingredients-editor,.ingredients-list{flex-direction:column;gap:10px;display:flex}.ingredient-row{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:12px;display:flex}.ingredient-row.ingredient-row-flat{background:0 0;border:none;padding:0}.ingredient-row-head{align-items:center;gap:8px;min-width:0;display:flex}.ingredient-name{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--text-primary);flex:auto;padding:10px 12px;font-size:14.5px;font-weight:600;transition:border-color .2s}.ingredient-name:focus{border-color:var(--c-water);outline:none}.ingredient-name::placeholder{color:var(--text-dim);font-weight:400}.ingredient-row-head-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.ingredient-remove,.ingredient-duplicate{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--text-muted);transition:color .2s, border-color .2s, transform .15s var(--ease);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.ingredient-remove:hover{color:var(--c-danger);border-color:rgba(var(--c-danger-rgb), .4)}.ingredient-duplicate:hover{color:var(--c-water);border-color:rgba(var(--c-water-rgb), .4)}.ingredient-remove:active,.ingredient-duplicate:active{transform:scale(var(--press-scale-deep))}.ingredient-duplicate svg{width:16px;height:16px}.ingredient-row-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ingredient-row-fields>.ingredient-field:first-child{grid-column:1/-1}.ingredient-field{flex-direction:column;gap:5px;min-width:0;display:flex}.ingredient-field>span{color:var(--text-dim);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;line-height:1.6;overflow:hidden}.ingredient-field-calories>span{color:var(--c-calories)}.ingredient-field-protein>span{color:var(--c-protein)}.ingredient-field-carbs>span{color:var(--c-carbs)}.ingredient-field-fats>span{color:var(--c-fats)}.ingredient-field-fiber>span{color:var(--c-fiber)}.ingredient-field-input-row{align-items:center;min-width:0;display:flex;position:relative}.ingredient-field-unit{font-family:var(--font-mono);color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10.5px;font-weight:600;position:absolute;right:10px}.ingredient-row-fields .ingredient-input{padding-right:26px}.ingredient-field-calories .ingredient-input{padding-right:42px}.ingredient-input{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;min-width:0;min-height:44px;font-size:14px;font-family:var(--font-mono);color:var(--text-primary);padding:10px;transition:border-color .2s}.ingredient-input:focus{border-color:var(--c-water);outline:none}.ingredient-weight-primary{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.ingredient-field-weight>span{color:var(--text-primary);letter-spacing:.01em;font-size:12px;font-weight:600}.ingredient-weight-input-row{align-items:center;display:flex;position:relative}.ingredient-input-weight{border-color:rgba(var(--c-water-rgb), .38);background:rgba(var(--c-water-rgb), .06);padding-right:34px;font-size:18px;font-weight:600}.ingredient-input-weight:focus{border-color:var(--c-water)}.ingredient-weight-unit{font-family:var(--font-mono);color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;position:absolute;right:12px}.portion-chips{flex-direction:column;gap:8px;min-width:0;display:flex}.portion-chips-hint{color:var(--text-dim);letter-spacing:.01em;font-size:11px;font-weight:600}.portion-chips-scroller{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pan-y;min-width:0;padding:3px 0;overflow:auto hidden}.portion-chips-scroller::-webkit-scrollbar{display:none}.portion-chips-scroller.has-scroll-end{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000 100%)}.portion-chips-scroller.has-scroll-start{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(270deg,#000 calc(100% - 28px),#0000 100%)}.portion-chips-scroller.has-scroll-start.has-scroll-end{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 28px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 28px calc(100% - 28px),#0000 100%)}.portion-chips-row{flex-wrap:nowrap;gap:8px;width:max-content;min-width:100%;display:flex}.portion-chip{scroll-snap-align:start;border:1px solid var(--glass-border);background:linear-gradient(160deg, var(--glass-bg-strong) 0%, var(--glass-bg) 100%);min-height:46px;color:var(--text-primary);cursor:pointer;text-align:left;transition:border-color .18s, background .18s, color .18s, transform .15s var(--ease);border-radius:14px;flex:none;align-items:center;gap:9px;padding:7px 13px 7px 11px;display:inline-flex}.portion-chip-icon{width:21px;height:21px;color:var(--text-muted);flex:none;transition:color .18s}.portion-chip-icon svg{width:100%;height:100%;display:block}.portion-chip-text{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.portion-chip-label{letter-spacing:-.005em;white-space:nowrap;font-size:12.5px;font-weight:600;line-height:1.25}.portion-chip-grams{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:10.5px;font-weight:600;line-height:1.2;transition:color .18s}.portion-chip:hover{border-color:rgba(var(--c-water-rgb), .45)}.portion-chip:hover .portion-chip-icon{color:var(--c-water)}.portion-chip:active{transform:scale(var(--press-scale-deep))}.portion-chip:focus-visible{outline:2px solid var(--c-water);outline-offset:2px}.portion-chip.is-active{border-color:var(--c-water);background:linear-gradient(160deg, rgba(var(--c-water-rgb), .2) 0%, rgba(var(--c-water-rgb), .1) 100%);color:var(--c-water)}.portion-chip.is-active .portion-chip-icon,.portion-chip.is-active .portion-chip-grams{color:var(--c-water)}@media (prefers-reduced-motion:reduce){.portion-chip,.portion-chip-icon,.portion-chip-grams{transition:none}.portion-chip:active{transform:none}.portion-chips-scroller{scroll-behavior:auto}}.ingredient-add-btn{border:1px dashed var(--glass-border);border-radius:var(--radius-sm)}@media (width<=360px){.ingredient-row{gap:9px;padding:10px}.ingredient-row-fields{gap:8px}.ingredient-row-head{gap:6px}.ingredient-name{padding:10px;font-size:14px}.ingredient-remove,.ingredient-duplicate{width:30px;height:30px}.ingredient-weight-primary{gap:8px;margin-bottom:10px}.portion-chip{gap:7px;padding:7px 11px 7px 9px}.portion-chip-icon{width:19px;height:19px}}.ingredient-scale-toggle{border:1px solid var(--glass-border);background:var(--glass-bg);min-height:30px;color:var(--text-muted);transition:color .2s, border-color .2s, background .2s, transform .15s var(--ease);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.ingredient-scale-toggle svg{flex-shrink:0;width:14px;height:14px}.ingredient-scale-toggle:hover{color:var(--c-fiber);border-color:rgba(var(--c-fiber-rgb), .4)}.ingredient-scale-toggle:active{transform:scale(var(--press-scale-deep))}.ingredient-scale-toggle.active{color:var(--c-fiber);border-color:rgba(var(--c-fiber-rgb), .5);background:rgba(var(--c-fiber-rgb), .12)}.ingredient-scale-panel{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-left:2px solid rgba(var(--c-fiber-rgb), .5);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:10px;display:flex}.ingredient-scale-inputs{align-items:flex-end;gap:10px;display:flex}.ingredient-scale-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ingredient-scale-field>span{color:var(--text-dim);font-size:11px;font-weight:500}.ingredient-scale-field-row{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);align-items:center;gap:6px;min-height:44px;padding:0 10px;transition:border-color .2s;display:flex}.ingredient-scale-field-row:focus-within{border-color:var(--c-fiber)}.ingredient-scale-ref,.ingredient-scale-actual{min-width:0;font-family:var(--font-mono);color:var(--text-primary);background:0 0;border:none;flex:1;padding:10px 0;font-size:15px;font-weight:700}.ingredient-scale-ref:focus,.ingredient-scale-actual:focus{outline:none}.ingredient-scale-unit{color:var(--text-dim);flex-shrink:0;font-size:12px;font-weight:600}.ingredient-scale-arrow{color:var(--c-fiber);flex-shrink:0;padding-bottom:12px;font-size:16px;font-weight:700}.ingredient-scale-status{font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--c-fiber);margin:0}.ingredient-scale-status.is-hint{color:var(--text-dim);font-family:inherit;font-weight:500}@media (width>=560px){.app{padding-top:32px}}@media (width>=720px){.app{max-width:620px}.auth-card{max-width:420px}.sheet-overlay{align-items:center;padding:24px}.sheet{border-radius:28px;max-width:480px;max-height:82vh}#analytics-lock-tabs.pill-tabs{border-radius:999px;display:flex}#analytics-lock-tabs .pill-tab{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.fullscreen-view-body{width:100%;max-width:800px;margin:0 auto}.barcode-viewport{aspect-ratio:16/10}}.tutorial-overlay{z-index:200;animation:overlay-in .25s var(--ease);position:fixed;inset:0}.tutorial-spotlight{box-shadow:0 0 0 9999px var(--scrim-bg);border:2px solid rgba(var(--c-calories-rgb), .75);pointer-events:none;transition:top .45s var(--ease), left .45s var(--ease), width .45s var(--ease), height .45s var(--ease), border-radius .45s var(--ease), opacity .3s var(--ease);animation:1.8s ease-in-out infinite tutorial-ring-pulse;position:fixed}.tutorial-spotlight.tutorial-spotlight-hidden{border-color:#0000;width:0;height:0;animation:none;top:50%;left:50%}@keyframes tutorial-ring-pulse{0%,to{border-color:rgba(var(--c-calories-rgb), .5)}50%{border-color:rgba(var(--c-calories-rgb), .95)}}.tutorial-card{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);max-width:480px;padding:18px 20px calc(18px + var(--safe-bottom));animation:sheet-in .4s var(--ease);border-radius:24px 24px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:hidden visible;box-shadow:0 -10px 34px #00000047}.tutorial-card.tutorial-card-top{padding:calc(18px + var(--safe-top)) 20px 18px;animation:tutorial-card-top-in .4s var(--ease);border-radius:0 0 24px 24px;top:0;bottom:auto;box-shadow:0 10px 34px #00000047}@keyframes tutorial-card-top-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.tutorial-skip-btn{background:var(--glass-bg);width:32px;height:32px;color:var(--text-muted);border:none;border-radius:50%;place-items:center;transition:color .2s,background .2s;display:grid;position:absolute;top:12px;right:12px}.tutorial-skip-btn svg{width:15px;height:15px}.tutorial-skip-btn:hover{color:var(--text-primary);background:var(--glass-bg-strong)}.tutorial-skip-btn:active{transform:scale(var(--press-scale-deep))}.tutorial-card-head{align-items:flex-end;gap:4px;padding-right:26px;display:flex}.tutorial-mascot{filter:drop-shadow(0 6px 10px #00000040);flex-shrink:0;width:68px;height:86px;animation:3s ease-in-out infinite tutorial-bob}.tutorial-mascot-svg{width:100%;height:100%}.tutorial-mascot-eyes{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite tutorial-blink}@keyframes tutorial-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(-2deg)}}@keyframes tutorial-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.tutorial-bubble{background:var(--glass-bg);border:1px solid var(--glass-border);min-width:0;animation:tutorial-bubble-in .35s var(--ease);border-radius:16px 16px 16px 4px;flex:1;margin-bottom:10px;padding:11px 14px;position:relative}.tutorial-bubble-tail{border-top:7px solid #0000;border-bottom:7px solid #0000;border-right:9px solid var(--glass-bg);width:0;height:0;position:absolute;bottom:10px;left:-8px}@keyframes tutorial-bubble-in{0%{opacity:0;transform:scale(.9)translate(6px)}to{opacity:1;transform:scale(1)translate(0)}}.tutorial-bubble h3{margin-bottom:4px;font-size:15.5px}.tutorial-bubble p{color:var(--text-muted);font-size:13px;line-height:1.45}.tutorial-card-footer{flex-direction:column;gap:12px;margin-top:6px;display:flex}.tutorial-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tutorial-dot{background:var(--glass-border);width:6px;height:6px;transition:width .3s var(--ease), background-color .3s;border-radius:999px;flex-shrink:0}.tutorial-dot.active{background:var(--c-calories);width:18px}.tutorial-card-actions{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.tutorial-back-btn{visibility:hidden;flex-shrink:0;width:auto;padding:11px 14px}.tutorial-back-btn.tutorial-back-visible{visibility:visible}.tutorial-card-actions .btn{padding:11px 22px}#tutorial-next-btn{flex-shrink:1;min-width:0}.photo-lightbox{z-index:260;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);touch-action:none;background:#040508f0;flex-direction:column;display:flex;position:fixed;inset:0}.photo-lightbox-close{top:max(16px, var(--safe-top));color:#fff;z-index:1;width:38px;height:38px;transition:background .15s var(--ease), transform .15s var(--ease);background:#ffffff1a;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;right:16px}.photo-lightbox-close:hover{background:#ffffff2e}.photo-lightbox-close:active{transform:scale(.92)}.photo-lightbox-close svg{width:18px;height:18px}.photo-lightbox-stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:24px;display:flex;position:relative}.photo-lightbox-img{object-fit:contain;border-radius:var(--radius-md);background:#ffffff08;max-width:100%;max-height:100%;box-shadow:0 24px 60px #00000080}.photo-lightbox-spinner{border:2.5px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:26px;height:26px;animation:.7s linear infinite photo-lightbox-spin;position:absolute}@keyframes photo-lightbox-spin{to{transform:rotate(360deg)}}.photo-lightbox-caption{padding:4px 24px calc(20px + var(--safe-bottom));color:#fff;text-align:center;justify-content:center;align-items:baseline;gap:10px;display:flex}.photo-lightbox-name{font-size:15px;font-weight:700}.photo-lightbox-cal{font-family:var(--font-mono);color:#ffffffa6;font-size:13px}.tutorial-mascot-sparkle path{opacity:0;transform-box:fill-box;transform-origin:50%}.tutorial-mascot.mood-excited .tutorial-mascot-sparkle path{animation:1.1s ease-in-out infinite tutorial-sparkle-twinkle}.tutorial-mascot.mood-excited .tutorial-mascot-sparkle path:last-child{animation-delay:.35s}@keyframes tutorial-sparkle-twinkle{0%,to{opacity:0;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}.tutorial-mascot-wing{transform-box:fill-box;transform-origin:top;transition:transform .3s var(--ease)}.tutorial-mascot.mood-excited .tutorial-mascot-wing-left{transform:rotate(-22deg)}.tutorial-mascot.mood-excited .tutorial-mascot-wing-right{transform:rotate(22deg)}.tutorial-mascot.mood-excited{animation:.9s ease-in-out infinite tutorial-bob-excited}@keyframes tutorial-bob-excited{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(3deg)}}.tutorial-mascot.mood-point.point-left .tutorial-mascot-wing-left,.tutorial-mascot.mood-point.point-right .tutorial-mascot-wing-right{transform:rotate(var(--point-angle,0deg))}@media (prefers-reduced-motion:no-preference){.tutorial-mascot.mood-point.point-left .tutorial-mascot-wing-left,.tutorial-mascot.mood-point.point-right .tutorial-mascot-wing-right{animation:1.6s ease-in-out infinite tutorial-wing-point-wiggle}}@keyframes tutorial-wing-point-wiggle{0%,to{transform:rotate(calc(var(--point-angle,0deg) - 4deg))}50%{transform:rotate(calc(var(--point-angle,0deg) + 4deg))}}.tutorial-tap-indicator{pointer-events:none;width:0;height:0;position:fixed}.tutorial-tap-ripple{border:2.5px solid rgba(var(--c-calories-rgb), .85);background:rgba(var(--c-calories-rgb), .18);border-radius:50%;width:46px;height:46px;margin:-23px;animation:1.6s ease-out infinite tutorial-tap-pulse;position:absolute;top:0;left:0}.tutorial-tap-ripple-delay{animation-delay:.8s}@keyframes tutorial-tap-pulse{0%{opacity:.9;transform:scale(.5)}70%{opacity:.25}to{opacity:0;transform:scale(1.5)}}.tutorial-hit-target{cursor:pointer;background:0 0;position:fixed}.tutorial-confetti{pointer-events:none;position:absolute;inset:0;overflow:visible}.tutorial-confetti-piece{opacity:0;border-radius:2px;width:7px;height:10px;animation:.9s ease-out forwards tutorial-confetti-burst;position:absolute;top:50%;left:50%}@keyframes tutorial-confetti-burst{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,0px))) rotate(var(--rotate,0deg))}}.header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}#ai-coach-btn svg{width:32px;height:32px}.ai-coach-btn:active{transform:scale(var(--press-scale))}.ai-coach-btn.pulse,.ai-coach-btn.pulse svg{animation:none}.ai-coach-btn.pulse:before{background:radial-gradient(circle, rgba(var(--c-calories-rgb), .85), rgba(var(--c-calories-rgb), 0) 70%);animation:.4s ease-out ollie-btn-flash}@keyframes ollie-btn-flash{0%{opacity:.7}to{opacity:0}}.ai-coach-btn.pulse:after{animation:ollie-btn-ring .6s var(--ease-bounce);border-color:rgba(var(--c-calories-rgb), .65)}@keyframes ollie-btn-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.55)}}.ollie-mascot svg{transform-origin:50%;animation:4.5s ease-in-out infinite ai-coach-avatar-idle}@keyframes ai-coach-avatar-idle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-1.5px)rotate(-1.5deg)}}.ai-coach-avatar-eyes{transform-box:fill-box;transform-origin:50%;animation:5.5s ease-in-out infinite ai-coach-avatar-blink}@keyframes ai-coach-avatar-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.ai-coach-avatar-wing{transform-box:fill-box;transform-origin:top}.ollie-mascot.waving svg{animation:ai-coach-avatar-greet-bob .7s var(--ease-bounce)}.ollie-mascot.waving .ai-coach-avatar-wing-right{animation:.7s ease-in-out ai-coach-avatar-wave}.ollie-mascot.waving .ai-coach-avatar-wing-left{animation:ai-coach-avatar-wing-raise .7s var(--ease-bounce)}@keyframes ai-coach-avatar-greet-bob{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.12)rotate(-4deg)}60%{transform:scale(1.05)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes ai-coach-avatar-wave{0%,to{transform:rotate(0)}20%{transform:rotate(-26deg)}40%{transform:rotate(16deg)}60%{transform:rotate(-18deg)}80%{transform:rotate(10deg)}}@keyframes ai-coach-avatar-wing-raise{0%,to{transform:rotate(0)}40%{transform:rotate(-16deg)}}@media (prefers-reduced-motion:reduce){.ollie-mascot svg,.ai-coach-avatar-eyes{animation:none}}#ai-coach-sheet{z-index:105}.sheet-ollie-3d{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;max-width:100%;height:100dvh;max-height:100dvh;animation:ollie-immersive-in .45s var(--ease);background:radial-gradient(90% 65% at 50% 28%,#333a56 0%,#1b1e2e 48%,#0a0b12 100%);border-radius:0;padding:0;position:relative;overflow:hidden}@keyframes ollie-immersive-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}#ai-coach-sheet{-webkit-backdrop-filter:none;backdrop-filter:none;will-change:opacity}.sheet-ollie-3d .sheet-handle{z-index:10;margin-top:0}.sheet-ollie-3d .sheet-handle:before{background:#ffffff47}.ollie-3d-stage{z-index:0;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.ollie-ambient-bg{z-index:0;pointer-events:none;contain:layout style paint;will-change:transform;background-image:url(../assets/ollie_grove_bg.svg);background-position:bottom;background-repeat:no-repeat;background-size:cover;position:absolute;inset:-18px;overflow:hidden}.ollie-ambient-particles{position:absolute;inset:0}.ollie-ambient-particles span{opacity:0;will-change:transform, opacity;background:radial-gradient(circle,#ffd69cf2,#ffd69c00 72%);border-radius:50%;width:4px;height:4px;animation:10s linear infinite ollie-particle-rise;position:absolute;bottom:-6%;left:10%}.ollie-ambient-particles span:first-child{--drift:10px;animation-duration:9s;animation-delay:-1s;left:6%}.ollie-ambient-particles span:nth-child(2){--drift:-14px;animation-duration:11.5s;animation-delay:-4.2s;left:16%}.ollie-ambient-particles span:nth-child(3){--drift:8px;animation-duration:8.5s;animation-delay:-7.8s;left:24%}.ollie-ambient-particles span:nth-child(4){--drift:-10px;animation-duration:12s;animation-delay:-2.6s;left:33%}.ollie-ambient-particles span:nth-child(5){--drift:12px;animation-duration:9.5s;animation-delay:-9.1s;left:42%}.ollie-ambient-particles span:nth-child(6){--drift:-8px;animation-duration:10.5s;animation-delay:-.4s;left:52%}.ollie-ambient-particles span:nth-child(7){--drift:14px;animation-duration:8s;animation-delay:-5.6s;left:61%}.ollie-ambient-particles span:nth-child(8){--drift:-12px;animation-duration:13s;animation-delay:-3.3s;left:69%}.ollie-ambient-particles span:nth-child(9){--drift:9px;animation-duration:9.2s;animation-delay:-8.4s;left:77%}.ollie-ambient-particles span:nth-child(10){--drift:-9px;animation-duration:11s;animation-delay:-6.1s;left:84%}.ollie-ambient-particles span:nth-child(11){--drift:13px;animation-duration:10s;animation-delay:-1.9s;left:91%}.ollie-ambient-particles span:nth-child(12){--drift:-11px;animation-duration:12.5s;animation-delay:-10.2s;left:95%}@keyframes ollie-particle-rise{0%{opacity:0;transform:translate(0,0)scale(.6)}12%{opacity:.85}75%{opacity:.5}to{transform:translate3d(var(--drift,10px), -220px, 0) scale(1);opacity:0}}.ollie-ambient-vignette{background:radial-gradient(82% 72% at 50% 45%,#0000 45%,#05060a8c 100%);position:absolute;inset:0}.ollie-3d-float{z-index:0;animation:4.8s ease-in-out infinite ollie-idle-bob;position:absolute;inset:0}@keyframes ollie-idle-bob{0%,to{transform:translate(0,0)}50%{transform:translateY(-5px)}}.ollie-3d-stage[data-mood=hungry] .ollie-3d-model{filter:saturate(.88)brightness(.94)}.ollie-3d-stage[data-mood=hungry] .ollie-3d-float{animation-duration:6s}.ollie-3d-stage[data-mood=worried] .ollie-3d-model{filter:saturate(.78)brightness(.9)contrast(.97)}.ollie-3d-stage[data-mood=worried] .ollie-3d-float{animation-duration:6.6s}.ollie-3d-stage[data-mood=sick] .ollie-3d-model{filter:grayscale(.35)saturate(.62)brightness(.84)}.ollie-3d-stage[data-mood=sick] .ollie-3d-float{animation-duration:7.4s}.ollie-3d-model{z-index:0;--min-hotspot-opacity:1;touch-action:pan-y;-webkit-user-select:none;user-select:none;--poster-color:transparent;width:100%;height:100%;position:absolute;inset:0}.ollie-3d-stage.pet-reaction{animation:.3s cubic-bezier(.25,1,.5,1) pokeBounce}@keyframes pokeBounce{0%{transform:scale(1)}50%{transform:scale(.92)translateY(5px)}to{transform:scale(1)}}.ollie-top-bar{top:max(14px, var(--safe-top));z-index:10;justify-content:space-between;align-items:center;display:flex;position:absolute;left:14px;right:14px}.ollie-top-bar-title{color:#fff;text-shadow:0 1px 6px #00000080;margin:0;font-size:15px;font-weight:700}.ollie-top-bar-actions{gap:8px;display:flex}.ollie-hud-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;width:40px;height:40px;transition:background .15s var(--ease), transform .15s var(--ease);background:#14141873;border:none;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 10px #00000040}.ollie-hud-btn svg{width:18px;height:18px}.ollie-hud-btn:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.ollie-hud-btn:hover{background:#14141899}}.ollie-pet-hud{top:calc(max(14px, var(--safe-top)) + 50px);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#14141873;border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 12px;display:flex;position:absolute;left:14px;right:14px;box-shadow:0 2px 10px #00000040}.ollie-pet-hearts{gap:3px;display:flex}.ollie-pet-heart svg{color:#ffffff38;width:15px;height:15px;transition:color .25s var(--ease), filter .25s var(--ease)}.ollie-pet-heart.is-full svg{color:var(--c-danger);filter:drop-shadow(0 0 4px rgba(var(--c-danger-rgb), .55))}.ollie-pet-heart.heart-lost svg{animation:ollieHeartLost .5s var(--ease)}@keyframes ollieHeartLost{0%{transform:scale(1)}35%{transform:scale(1.3)rotate(-8deg)}to{transform:scale(1)}}.ollie-pet-mood{color:#ffffffd9;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.ollie-pet-meters{flex-basis:100%;gap:10px;display:flex}.ollie-pet-meter{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.ollie-pet-meter-icon{color:#ffffffbf;flex-shrink:0;width:13px;height:13px}.ollie-pet-meter-track{background:#ffffff26;border-radius:3px;flex:1;height:5px;overflow:hidden}.ollie-pet-meter-fill{border-radius:inherit;width:0%;height:100%;transition:width .5s var(--ease-bounce)}.ollie-pet-meter-fill-hunger{background:var(--c-calories)}.ollie-pet-meter-fill-hydration{background:var(--c-water)}.ollie-pet-burst-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.ollie-pet-burst-particle{color:var(--c-calories);animation:olliePetBurst 2.2s var(--ease) forwards;font-size:13px;font-weight:700;position:absolute;top:50%;left:18px}.ollie-pet-burst-particle.is-hydrate{color:var(--c-water);left:auto;right:60px}.ollie-pet-burst-particle.is-undo{color:var(--text-muted);animation:olliePetBurstUndo 1.5s var(--ease) forwards}@keyframes olliePetBurst{0%{opacity:0;transform:translateY(0)scale(.7)}15%{opacity:1;transform:translateY(-6px)scale(1.05)}70%{opacity:1;transform:translateY(-18px)scale(1)}to{opacity:0;transform:translateY(-30px)scale(1)}}@keyframes olliePetBurstUndo{0%{opacity:0;transform:translateY(-10px)scale(.9)}20%{opacity:.95;transform:translateY(-4px)scale(1)}70%{opacity:.8;transform:translateY(8px)scale(.96)}to{opacity:0;transform:translateY(18px)scale(.9)}}@media (prefers-reduced-motion:reduce){.ollie-pet-heart.heart-lost svg{animation:none}.ollie-pet-burst-particle{opacity:0;animation:none}}.ollie-mascot-notify-badge{background:var(--c-danger);color:#fff;text-align:center;min-width:15px;height:15px;box-shadow:0 0 0 2px var(--glass-bg);animation:ollieNotifyBadgeIn .3s var(--ease-bounce);border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:15px;position:absolute;top:2px;right:2px}.ollie-mascot-notify-badge:empty{display:none}@keyframes ollieNotifyBadgeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ollie-mascot-notify-badge{animation:none}}.ollie-speech-hotspot{z-index:10;pointer-events:none}.ollie-speech-bubble{pointer-events:auto;cursor:pointer;color:#221d16;letter-spacing:-.005em;background:#fffcf7f7;border-radius:12px;width:max-content;max-width:min(85vw,240px);padding:10px 14px;font-size:13px;line-height:1.4;position:absolute;bottom:0;left:0;transform:translate(-50%);box-shadow:0 10px 30px -6px #00000073,0 2px 8px #0003}.ollie-speech-bubble-text{white-space:pre-wrap}.ollie-speech-bubble:after{content:"";background:inherit;border-radius:0 0 4px;width:18px;height:18px;margin-left:-9px;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg);box-shadow:3px 3px 6px -3px #00000040}.ollie-speech-bubble.ollie-bubble-pop{animation:ollie-bubble-in .35s var(--ease-bounce)}@keyframes ollie-bubble-in{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.ollie-speech-bubble.ollie-bubble-out{animation:ollie-bubble-out .28s var(--ease) forwards}@keyframes ollie-bubble-out{0%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-10px)scale(.92)}}.ollie-speech-bubble-error{color:#6b1a10;background:#ffebe8f7}.ollie-speech-bubble-typing{gap:4px;padding:4px 2px;display:flex}.ollie-speech-bubble-typing span{background:#8a8072;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite ai-coach-chat-typing-bounce}.ollie-speech-bubble-typing span:nth-child(2){animation-delay:.15s}.ollie-speech-bubble-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-coach-chat-typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ollie-user-bubble{z-index:10;background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;text-align:center;max-width:min(80%,320px);box-shadow:0 6px 18px -4px rgba(var(--c-calories-rgb), .4);border-radius:18px;padding:10px 16px;font-size:13.5px;font-weight:600;line-height:1.4;position:absolute;bottom:194px;left:50%;transform:translate(-50%)}.ollie-user-bubble.show{animation:ollie-user-bubble-life 2.8s var(--ease) forwards}@keyframes ollie-user-bubble-life{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.94)}10%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}78%{opacity:1;transform:translate(-50%)translateY(0)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-6px)scale(.96)}}.ollie-bottom-dock{z-index:10;padding:28px 14px max(20px, var(--safe-bottom));background:linear-gradient(#0000 0%,#06070c73 45%,#06070cbf 100%);position:absolute;bottom:0;left:0;right:0}.ai-coach-suggestions{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;margin:0 -3px;padding:3px 3px 8px;display:flex;overflow:auto hidden}.ai-coach-suggestions::-webkit-scrollbar{display:none}.ai-coach-suggestion-chip{scroll-snap-align:start;border:1px solid var(--glass-border);background:var(--glass-bg);min-height:44px;color:var(--text-primary);letter-spacing:-.005em;white-space:nowrap;transition:background .2s, transform .15s var(--ease), opacity .2s;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:12px 18px;font-size:13.5px;font-weight:600;display:flex}.ai-coach-suggestion-chip:active{background:#ffffff38;transform:scale(.94)}.ai-coach-suggestion-chip:disabled{opacity:.45}.ai-coach-suggestion-chip svg{flex-shrink:0;width:14px;height:14px}.ai-coach-suggestion-chip-recap{color:var(--c-protein);border-color:rgba(var(--c-protein-rgb), .35)}.ollie-bottom-dock .ai-coach-suggestion-chip{color:#fff;background:linear-gradient(160deg,#ffffff2b,#ffffff0f);border-color:#ffffff29;box-shadow:inset 0 1px #ffffff24,0 4px 14px -8px #00000080}.ollie-bottom-dock .ai-coach-suggestion-chip:active{background:linear-gradient(160deg,#ffffff47,#ffffff1a)}.ollie-bottom-dock .ai-coach-suggestion-chip-recap{color:#ffb37a;background:linear-gradient(160deg,#ffb37a38,#ffb37a12);border-color:#ffb37a61}.ai-coach-chat-status{color:#ffffffb3;text-shadow:0 1px 4px #0006;flex-shrink:0;margin:0 0 8px;font-size:12px;line-height:1.4}.ai-coach-chat-mic-hint{color:var(--c-danger);font-weight:600}#ai-coach-chat-mic-hint:not([hidden])~#ai-coach-chat-remaining{display:none}.ai-coach-chat-form{flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.ollie-floating-input{-webkit-backdrop-filter:blur(20px)saturate(160%);backdrop-filter:blur(20px)saturate(160%);background:#ffffff1f;border:1px solid #ffffff38;border-radius:26px;padding:8px;box-shadow:0 8px 28px #00000059}@media (width<=460px){.ollie-floating-input{-webkit-backdrop-filter:blur(10px)saturate(160%);backdrop-filter:blur(10px)saturate(160%)}.ollie-hud-btn,.ollie-pet-hud{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.ai-coach-chat-form textarea{box-sizing:border-box;color:#fff;min-width:0;min-height:48px;max-height:128px;font-family:var(--font-body);resize:none;scrollbar-width:none;-ms-overflow-style:none;transition:border-color .2s, box-shadow .2s, height .12s var(--ease);background:0 0;border:1px solid #0000;border-radius:22px;flex:1;padding:13px 16px;font-size:14.5px;line-height:20px;overflow-y:auto}.ai-coach-chat-form textarea::placeholder{color:#ffffff8c}.ai-coach-chat-form textarea::-webkit-scrollbar{width:0;height:0;display:none}.ai-coach-chat-form textarea:focus{border-color:rgba(var(--c-water-rgb), .55);box-shadow:0 0 0 3px rgba(var(--c-water-rgb), .14);outline:none}.ai-coach-chat-form textarea:disabled{opacity:.5}.ollie-floating-input .mic-btn{color:#ffffffbf;background:#ffffff1a;border-color:#ffffff38}.ai-coach-chat-send{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;width:46px;height:46px;transition:transform .15s var(--ease), box-shadow .2s;border:none;border-radius:50%;flex-shrink:0}.ai-coach-chat-send:disabled{opacity:.4}.ai-coach-chat-send:active:not(:disabled){transform:scale(var(--press-scale))}.ai-coach-chat-send.sent svg{animation:chat-send-launch .45s var(--ease-bounce)}@keyframes chat-send-launch{0%{opacity:1;transform:translate(0)scale(1)}40%{opacity:.7;transform:translate(3px,-2px)scale(.85)}55%{opacity:0;transform:translate(-10px,4px)scale(.85)}56%{opacity:0;transform:translate(10px,-4px)scale(.85)}to{opacity:1;transform:translate(0)scale(1)}}.ollie-help-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s var(--ease);background:#06070c8c;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.ollie-help-overlay.show{opacity:1}.ollie-help-modal{scrollbar-width:none;-ms-overflow-style:none;-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);color:#fff;width:100%;max-width:360px;max-height:82%;transition:transform .3s var(--ease-bounce);background:#ffffff1a;border:1px solid #ffffff38;border-radius:24px;padding:24px 22px 20px;position:relative;overflow-y:auto;transform:translateY(14px)scale(.96);box-shadow:0 24px 60px -12px #0000008c}.ollie-help-overlay.show .ollie-help-modal{transform:translateY(0)scale(1)}.ollie-help-modal::-webkit-scrollbar{display:none}.ollie-help-close{color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:14px;right:14px}.ollie-help-close svg{width:16px;height:16px}.ollie-help-close:active{transform:scale(var(--press-scale))}.ollie-help-modal h2{letter-spacing:-.01em;margin:0 34px 6px 0;font-size:18px;font-weight:700}.ollie-help-intro{color:#ffffffb8;margin:0 0 18px;font-size:12.5px;line-height:1.5}.ollie-help-rows{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.ollie-help-row{align-items:flex-start;gap:12px;display:flex}.ollie-help-row-icon{flex-shrink:0;margin-top:1px;font-size:21px;line-height:1}.ollie-help-row h3{margin:0 0 3px;font-size:13.5px;font-weight:700}.ollie-help-row p{color:#ffffffc7;margin:0;font-size:12.5px;line-height:1.5}.ollie-help-got-it{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;width:100%;transition:transform .15s var(--ease);border:none;border-radius:14px;padding:13px;font-size:14px;font-weight:700}.ollie-help-got-it:active{transform:scale(var(--press-scale))}:root{--damage-control-exit-ms:.32s;--dc-zoomout-ms:.46s;--c-dc:#97a3c4;--c-dc-rgb:151, 163, 196}.damage-control-card{left:50%;bottom:calc(18px + var(--nav-height) + 14px + var(--safe-bottom));z-index:90;border-radius:var(--radius-lg);background:var(--glass-bg-strong);border:1px solid rgba(var(--c-dc-rgb), .28);-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);width:calc(100% - 32px);max-width:420px;box-shadow:0 14px 40px #00000029, 0 8px 32px var(--glass-inset-shadow);opacity:0;transition:transform var(--damage-control-exit-ms) var(--ease), opacity var(--damage-control-exit-ms) var(--ease);will-change:transform, opacity;padding:15px 16px 14px;position:fixed;overflow:hidden;transform:translate(-50%)translateY(28px)scale(.95)}.damage-control-card.show{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.damage-control-glow{background:radial-gradient(ellipse at 30% 0%, rgba(var(--c-dc-rgb), .18), transparent 65%);z-index:0;pointer-events:none;height:140%;animation:4.2s ease-in-out infinite damage-control-breathe;position:absolute;inset:-40% -20% auto}@keyframes damage-control-breathe{0%,to{opacity:.65}50%{opacity:1}}.damage-control-header{z-index:1;align-items:flex-start;gap:12px;display:flex;position:relative}.damage-control-title-wrap{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.damage-control-title-wrap strong{font-family:var(--font-display);font-size:15.5px}.damage-control-subtitle{font-family:var(--font-mono);color:var(--c-danger);font-size:12.5px;font-weight:600}.damage-control-close{width:30px;height:30px;color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;margin:-3px -4px 0 0;display:grid}.damage-control-close svg{width:17px;height:17px}.damage-control-close:hover{color:var(--text-primary);background:var(--surface-inset)}.damage-control-close:active{transform:scale(var(--press-scale))}.damage-control-body{z-index:1;margin-top:11px;position:relative}.damage-control-opener{color:var(--text-primary);margin:0;font-size:13.5px;line-height:1.5}.dc-sparkline-wrap{border-radius:var(--radius-sm);margin:12px 0 0;overflow:hidden}.dc-sparkline{transform-origin:92% 78%;width:100%;height:72px;transition:transform var(--dc-zoomout-ms) cubic-bezier(.22, 1, .36, 1);display:block}.dc-sparkline.dc-sparkline--intro{transform:scale(2.6)}.dc-spark-bar{fill:rgba(var(--c-dc-rgb), .38)}.dc-spark-bar--today{fill:var(--c-danger)}.dc-spark-bar--empty{fill:rgba(var(--c-dc-rgb), .12)}.dc-spark-avg{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.8;vector-effect:non-scaling-stroke}.dc-sparkline-caption{font-family:var(--font-mono);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:8px;font-size:11.5px;font-weight:600;display:flex}.dc-sparkline-caption .dc-caption-delta{color:var(--c-dc)}.damage-control-deflation{color:var(--text-muted);margin:11px 0 0;font-size:12.5px;line-height:1.45}.damage-control-actions{z-index:1;gap:8px;margin-top:14px;display:flex;position:relative}.damage-control-actions .dc-action{flex:1;min-height:40px;padding-left:4px;padding-right:4px;font-size:12px;line-height:1.15}.damage-control-actions .dc-action[disabled]{opacity:.45;pointer-events:none}@media (prefers-reduced-motion:reduce){.dc-sparkline,.dc-sparkline.dc-sparkline--intro{transition:none;transform:none}.damage-control-glow{animation:none}}#weekly-recap-sheet{z-index:110}.recap-sheet{position:relative}.recap-close-btn{z-index:2;width:32px;height:32px;color:var(--text-muted);transition:color .15s var(--ease), background .15s var(--ease);background:0 0;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.recap-close-btn svg{width:18px;height:18px}.recap-close-btn:hover{color:var(--text-primary);background:var(--surface-inset)}.recap-close-btn:active{transform:scale(var(--press-scale))}.recap-body{flex-direction:column;gap:20px;padding:4px 2px 8px;display:flex}.recap-section{flex-direction:column;display:flex}.recap-eyebrow-row{flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px}.recap-eyebrow{font-family:var(--font-display);letter-spacing:.16em;color:var(--text-dim);font-size:12px;font-weight:700}.recap-daterange{font-family:var(--font-mono);color:var(--text-muted);font-size:12px;font-weight:600}.recap-hero{text-align:center;align-items:center;gap:4px;padding:6px 0 2px}.recap-hero-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);font-size:66px;font-weight:800;line-height:.95}.recap-hero-of{color:var(--text-dim);font-size:32px;font-weight:700}.recap-hero-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:6px;font-size:11.5px;font-weight:700}.recap-hero-sub{color:var(--text-muted);max-width:30ch;margin:8px 0 0;font-size:13px}.recap-spark-wrap{gap:8px}.recap-spark{width:100%;height:58px;display:block}.recap-spark-bar{fill:rgba(var(--c-dc-rgb), .4)}.recap-spark-bar--hit{fill:rgba(var(--c-protein-rgb), .62)}.recap-spark-bar--empty{fill:rgba(var(--c-dc-rgb), .13)}.recap-spark-target{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.75}.recap-spark-caption{text-align:center;font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);margin:0;font-size:10.5px;font-weight:600}.recap-caption{border-radius:var(--radius-md);background:var(--surface-inset);border-left:3px solid var(--c-dc);color:var(--text-primary);margin:0;padding:12px 14px;font-size:15px;line-height:1.5}.recap-insights{gap:10px}.recap-insight-card{border-radius:var(--radius-md);background:var(--surface-inset);padding:13px 14px}.recap-insight-text{color:var(--text-primary);margin:0;font-size:14.5px;font-weight:500;line-height:1.45}.recap-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.recap-metric{border-radius:var(--radius-md);background:var(--surface-inset);flex-direction:column;gap:3px;padding:11px 12px;display:flex}.recap-metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:10px;font-weight:700}.recap-metric-value{font-family:var(--font-display);color:var(--text-primary);font-size:21px;font-weight:800}.recap-metric-sub{color:var(--text-muted);font-size:11px;font-weight:600}.recap-loading{flex-direction:column;gap:14px;padding:24px 0;display:flex}.recap-skeleton-row{border-radius:var(--radius-md);background:var(--surface-inset);height:46px;animation:1.4s ease-in-out infinite recap-skeleton-pulse}.recap-skeleton-row:first-child{height:88px}.recap-skeleton-row:nth-child(2){animation-delay:.15s}.recap-skeleton-row:nth-child(3){animation-delay:.3s}.recap-skeleton-row:nth-child(4){animation-delay:.45s}@keyframes recap-skeleton-pulse{0%,to{opacity:.5}50%{opacity:.9}}.recap-loading-label{text-align:center;color:var(--text-muted);margin:0;font-size:12.5px}.recap-error{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 0;display:flex}.recap-error p{color:var(--text-muted);margin:0;font-size:13.5px}.recap-reveal{animation:recap-reveal-in .34s var(--ease) both}@keyframes recap-reveal-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.recap-reveal{animation:none}.recap-skeleton-row{opacity:.7;animation:none}}.meal-suggester-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 8px;font-size:11px;font-weight:700}.meal-suggester-remaining-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.meal-suggester-remaining-cell{border-radius:var(--radius-sm);background:var(--surface-inset);flex-direction:column;align-items:center;gap:3px;padding:10px 4px;display:flex}.meal-suggester-remaining-value{font-family:var(--font-mono);font-size:15px;font-weight:700}.meal-suggester-remaining-cell.macro-calories .meal-suggester-remaining-value{color:var(--c-calories)}.meal-suggester-remaining-cell.macro-protein .meal-suggester-remaining-value{color:var(--c-protein)}.meal-suggester-remaining-cell.macro-carbs .meal-suggester-remaining-value{color:var(--c-carbs)}.meal-suggester-remaining-cell.macro-fats .meal-suggester-remaining-value{color:var(--c-fats)}.meal-suggester-remaining-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:10.5px;font-weight:600}.meal-suggester-filter-panel{background:var(--surface-inset);border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:20px;padding:14px 14px 12px}.meal-suggester-filter-panel .meal-suggester-section-label{margin-bottom:10px}.filter-pills{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.filter-pill{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;min-height:44px;color:var(--text-muted);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .2s, border-color .2s, color .2s, transform .15s var(--ease);align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:600;display:flex}.filter-pill:active{transform:scale(var(--press-scale))}.filter-pill-icon{opacity:.8;flex-shrink:0;width:15px;height:15px}.filter-pill-label{white-space:normal;flex:1;min-width:0;line-height:1.25}.filter-pill-check{border:1.5px solid var(--text-dim);border-radius:5px;flex-shrink:0;width:16px;height:16px;transition:background-color .2s,border-color .2s}.filter-pill.active{background:rgba(var(--c-protein-rgb), .14);border-color:rgba(var(--c-protein-rgb), .4);color:var(--c-protein)}.filter-pill.active .filter-pill-icon{opacity:1}.filter-pill.active .filter-pill-check{background-color:var(--c-protein);border-color:var(--c-protein);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.3l3 3 6-6.6' stroke='%230a0c10' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:11px 11px}.meal-suggester-cta{margin:4px 0 22px}.btn-spinner{vertical-align:-2px;border:2px solid #0a0c1040;border-top-color:currentColor;border-radius:50%;width:15px;height:15px;margin-right:8px;animation:.7s linear infinite spin;display:inline-block}.meal-suggester-error{color:var(--c-danger);margin-top:4px;font-size:13px}.meal-suggester-empty{color:var(--text-dim);text-align:center;padding:18px 0;font-size:13px}.meal-suggestions-loading{flex-direction:column;gap:14px;display:flex}.meal-suggester-loading-text{text-align:center;color:var(--text-muted);font-size:13.5px;font-weight:600}@keyframes meal-suggester-text-cycle-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.meal-suggester-loading-text.text-cycle-in{animation:meal-suggester-text-cycle-in .35s var(--ease)}.meal-suggestion-skeleton-list{flex-direction:column;gap:12px;display:flex}.meal-suggestion-skeleton{border-radius:var(--radius-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:0 10px 28px var(--glass-inset-shadow);animation:meal-suggestion-in .4s var(--ease) backwards;padding:16px}.meal-suggestion-skeleton:nth-child(2){animation-delay:90ms}.meal-suggestion-skeleton:nth-child(3){animation-delay:.18s}.meal-suggestion-skeleton-header{align-items:center;gap:12px;display:flex}.meal-suggestion-skeleton-icon.skeleton-block{border-radius:50%;flex-shrink:0;width:34px;height:34px}.meal-suggestion-skeleton-title-wrap{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.meal-suggestion-skeleton-title.skeleton-block{border-radius:5px;width:65%;height:14px}.meal-suggestion-skeleton-note.skeleton-block{border-radius:5px;width:42%;height:10px}.meal-suggestion-skeleton-weight.skeleton-block{border-radius:var(--radius-sm);height:44px;margin-top:12px;display:block}.meal-suggestion-skeleton-macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.meal-suggestion-skeleton-macros .skeleton-block{border-radius:var(--radius-sm);height:46px}.meal-suggestions-list{flex-direction:column;gap:12px;display:flex}.meal-suggestion-card{border-radius:var(--radius-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:0 10px 28px var(--glass-inset-shadow);animation:meal-suggestion-in .4s var(--ease) backwards;animation-delay:calc(var(--card-i,0) * 70ms);padding:16px}@keyframes meal-suggestion-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.meal-suggestion-header{align-items:flex-start;gap:12px;display:flex}.meal-suggestion-icon{background:rgba(var(--c-calories-rgb), .16);width:34px;height:34px;color:var(--c-calories);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.meal-suggestion-icon svg{width:18px;height:18px}.meal-suggestion-title-wrap{flex:1;min-width:0}.meal-suggestion-name{font-size:15px;font-weight:700;display:block}.meal-suggestion-note{color:var(--text-muted);margin-top:3px;font-size:12.5px;line-height:1.45}.meal-suggestion-macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px;display:grid}.meal-suggestion-macro-cell{border-radius:var(--radius-sm);background:var(--surface-inset);flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.meal-suggestion-macro-value{font-family:var(--font-mono);font-size:13.5px;font-weight:700}.meal-suggestion-macro-cell.macro-calories .meal-suggestion-macro-value{color:var(--c-calories)}.meal-suggestion-macro-cell.macro-protein .meal-suggestion-macro-value{color:var(--c-protein)}.meal-suggestion-macro-cell.macro-carbs .meal-suggestion-macro-value{color:var(--c-carbs)}.meal-suggestion-macro-cell.macro-fats .meal-suggestion-macro-value{color:var(--c-fats)}.meal-suggestion-macro-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:10px;font-weight:600}.meal-suggestion-ingredients{margin-top:10px}.meal-suggestion-ingredient-list{flex-direction:column;gap:8px;padding:0 14px 14px;display:flex}.meal-suggestion-ingredient-row{border-radius:var(--radius-sm);background:var(--surface-inset);padding:10px 12px}.meal-suggestion-ingredient-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.meal-suggestion-ingredient-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.meal-suggestion-ingredient-weight-wrap{flex-shrink:0;align-items:center;gap:6px;display:flex}.meal-suggestion-ingredient-weight-input{appearance:none;text-align:center;width:60px;height:44px;font-family:var(--font-mono);color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:0 8px;font-size:14px;font-weight:700;line-height:42px;transition:border-color .2s}.meal-suggestion-ingredient-weight-input:focus{border-color:var(--c-water);box-shadow:0 0 0 3px rgba(var(--c-water-rgb), .18);outline:none}.meal-suggestion-ingredient-weight-unit{color:var(--text-dim);font-size:12px;font-weight:600}.meal-suggestion-ingredient-macro-line{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:8px;margin-top:8px;font-size:11.5px;font-weight:600;display:flex}.meal-suggestion-ingredient-macro-line .m-cal{background:rgba(var(--c-calories-rgb), .16);color:var(--c-calories);border-radius:999px;align-items:center;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.meal-suggestion-ingredient-macro-line .m-protein{color:var(--c-protein)}.meal-suggestion-ingredient-macro-line .m-carbs{color:var(--c-carbs)}.meal-suggestion-ingredient-macro-line .m-fats{color:var(--c-fats)}.meal-suggestion-nutrient-detail{margin-top:10px}.meal-suggestion-nutrient-detail .nutrient-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meal-suggestion-fiber-value{color:var(--c-fiber)}.meal-suggestion-sugar-value{color:var(--c-sugar)}.meal-suggestion-sodium-value{color:var(--c-sodium)}.meal-suggestion-log-btn{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:14px;display:flex}.meal-suggestion-log-btn svg{width:16px;height:16px}.meal-suggestion-log-btn.meal-suggestion-logged{background:rgba(var(--c-protein-rgb), .16);color:var(--c-protein);filter:none;opacity:1}.fasting-header-btn{color:var(--c-fasting)}.fasting-header-live-dot{background:linear-gradient(135deg, var(--c-fasting), var(--c-fasting-2));width:9px;height:9px;box-shadow:0 0 0 2px var(--glass-bg);opacity:0;transition:opacity .25s var(--ease), transform .25s var(--ease-bounce);pointer-events:none;border-radius:50%;position:absolute;top:6px;right:6px;transform:scale(.6)}.fasting-header-btn.fast-active .fasting-header-live-dot{opacity:1;animation:2.4s ease-in-out infinite fasting-dot-breathe;transform:scale(1)}@keyframes fasting-dot-breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}.fasting-header-btn.pulse{animation:none}.fasting-header-btn.pulse:before{background:radial-gradient(circle, rgba(var(--c-fasting-rgb), .85), rgba(var(--c-fasting-rgb), 0) 70%);animation:.4s ease-out fasting-btn-flash}@keyframes fasting-btn-flash{0%{opacity:.7}to{opacity:0}}.fasting-header-btn.pulse:after{animation:fasting-btn-ring .6s var(--ease-bounce);border-color:rgba(var(--c-fasting-rgb), .65)}@keyframes fasting-btn-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.55)}}.fasting-flip{perspective:1400px;width:190px;height:190px;margin:0 auto 18px;position:relative}@media (width<=360px){.fasting-flip{width:166px;height:166px}.fasting-ring-time{font-size:24px}}.fasting-flip-inner{transform-style:preserve-3d;transition:transform .85s var(--ease-bounce);will-change:transform;position:absolute;inset:0}.fasting-flip-inner.flipped{transform:rotateY(180deg)}.fasting-face{backface-visibility:hidden;border-radius:50%;position:absolute;inset:0}.fasting-face-eating{transform:rotateY(180deg)}.fasting-ring-wrap{width:100%;height:100%;transition:box-shadow .5s var(--ease);border-radius:50%;position:relative}.fasting-face-fasting .fasting-ring-wrap{box-shadow:0 0 40px 2px rgba(var(--c-fasting-rgb), .26)}.fasting-face-eating .fasting-ring-wrap{box-shadow:0 0 40px 2px rgba(var(--c-eating-rgb), .22)}.fasting-ring{width:100%;height:100%;transform:rotate(-90deg)}.fasting-ring-track{fill:none;stroke:var(--glass-bg-strong);stroke-width:12px}.fasting-ring-fill{fill:none;stroke-width:12px;stroke-linecap:round;stroke-dasharray:553;stroke-dashoffset:553px;transition:stroke-dashoffset .9s var(--ease)}.fasting-ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 14px;display:flex;position:absolute;inset:0}.fasting-ring-time{font-family:var(--font-mono);letter-spacing:-.01em;font-size:27px;font-weight:700;line-height:1}.fasting-ring-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:5px;font-size:11.5px;font-weight:700}.fasting-ring-sub{color:var(--text-dim);margin-top:5px;font-size:11.5px;line-height:1.3}.fasting-face-fasting.goal-reached .fasting-ring-wrap{animation:2.4s ease-in-out infinite fasting-glow-gold}.fasting-face-eating.window-closed .fasting-ring-wrap{animation:2.4s ease-in-out infinite fasting-glow-warn}@keyframes fasting-glow-gold{0%,to{box-shadow:0 0 40px 2px #eab30852}50%{box-shadow:0 0 58px 8px #eab30885}}@keyframes fasting-glow-warn{0%,to{box-shadow:0 0 40px 2px rgba(var(--c-danger-rgb), .22)}50%{box-shadow:0 0 58px 8px rgba(var(--c-danger-rgb), .4)}}.fasting-goal-tabs{margin-bottom:14px}.fasting-toggle-btn{transition:background .5s var(--ease), transform .15s var(--ease), color .5s var(--ease);justify-content:center;align-items:center;gap:8px;display:flex}.fasting-toggle-icon{flex-shrink:0;width:18px;height:18px}.fasting-toggle-icon.icon-pop{animation:fasting-toggle-icon-pop .4s var(--ease-bounce)}@keyframes fasting-toggle-icon-pop{0%{transform:scale(.5)rotate(-20deg)}60%{transform:scale(1.2)rotate(6deg)}to{transform:scale(1)rotate(0)}}.fasting-toggle-btn.phase-fasting{background:linear-gradient(135deg, var(--c-fasting), var(--c-fasting-2));color:#fff}.fasting-toggle-btn.phase-eating{background:linear-gradient(135deg, var(--c-eating), var(--c-eating-2));color:#2a1400}html,body,.app{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}body::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.app::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}@media (display-mode:standalone){html,body,.app{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}.app::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}}.scroll-progress{top:max(10px, var(--safe-top));right:4px;bottom:max(10px, var(--safe-bottom));background:var(--glass-bg-strong);z-index:9999;pointer-events:none;transform-origin:50%;opacity:0;width:2px;transition:transform .6s var(--ease), opacity .45s var(--ease), background-color .45s var(--ease);will-change:transform, opacity;border-radius:9999px;position:fixed;transform:scaleY(.01)scaleX(1)}.scroll-progress.is-scrolling{opacity:1;transition:transform .55s var(--ease-bounce), opacity .22s cubic-bezier(.16, 1, .3, 1), background-color .45s var(--ease), box-shadow .3s var(--ease);box-shadow:0 0 2px 0 rgba(var(--scrollbar-thumb-rgb), .3);transform:scaleY(1)scaleX(3)}.scroll-progress-fill{background:radial-gradient(circle 4px at 50% 100%, rgba(var(--scrollbar-thumb-rgb), .95), rgba(var(--scrollbar-thumb-rgb), 0) 75%), linear-gradient(180deg, rgba(var(--scrollbar-thumb-rgb), .95), rgba(var(--scrollbar-thumb-rgb), .6));transform-origin:top;transition:background .45s var(--ease);will-change:transform;border-radius:9999px;position:absolute;inset:0;transform:scaleY(0)}@media (prefers-reduced-motion:reduce){.scroll-progress,.scroll-progress.is-scrolling,.scroll-progress-fill{transition:none}}.fullscreen-view{z-index:95;background:var(--bg);background-image:var(--bg-gradient);animation:fullscreen-view-in .32s var(--ease);touch-action:pan-y;contain:layout paint style;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes fullscreen-view-in{0%{opacity:0;will-change:transform, opacity;transform:translateY(16px)}to{opacity:1;will-change:auto;transform:translateY(0)}}.fullscreen-view-header{padding:max(14px, var(--safe-top)) 16px 14px;border-bottom:1px solid var(--glass-border);flex-shrink:0;align-items:center;gap:12px;display:flex}.fullscreen-view-header h2{text-align:center;flex:1;margin:0;padding-right:40px;font-size:17px}.fullscreen-view-close{background:var(--glass-bg);width:40px;height:40px;color:var(--text-primary);border:none;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.fullscreen-view-close:active{transform:scale(var(--press-scale))}.fullscreen-view-close svg{width:18px;height:18px}.fullscreen-view-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 16px max(24px, var(--safe-bottom));flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.fullscreen-view-body>*{flex-shrink:0}#workout-diary-view:before,#plan-builder-view:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(560px circle at 10% -6%, rgba(var(--c-calories-rgb), .16), transparent 60%), radial-gradient(480px circle at 108% 22%, rgba(var(--c-protein-rgb), .08), transparent 62%);position:absolute;inset:0}.wd-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.wd-calendar-nav-btn{background:var(--glass-bg-strong);border:1px solid var(--glass-border);width:38px;height:38px;color:var(--text-primary);transition:background-color .15s, border-color .15s, transform .15s var(--ease);border-radius:999px;place-items:center;font-size:18px;line-height:1;display:grid}.wd-calendar-nav-btn:active{transform:scale(var(--press-scale))}.wd-calendar-title{letter-spacing:.01em;text-transform:capitalize;font-size:15.5px;font-weight:700}.wd-calendar-weekdays,.wd-calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.wd-calendar-weekdays{margin-bottom:6px}.wd-calendar-weekday{text-align:center;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;padding:4px 0 8px;font-size:10.5px;font-weight:700}.wd-calendar-grid{gap:3px}.wd-calendar-day{aspect-ratio:1;color:var(--text-primary);font-family:var(--font-mono);border-radius:var(--radius-sm);animation:wd-cal-day-in .28s var(--ease) backwards;transition:background-color .15s, border-color .15s, color .15s, transform .15s var(--ease), box-shadow .15s var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;display:flex;position:relative}@keyframes wd-cal-day-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.wd-calendar-day:active{transform:scale(var(--press-scale))}.wd-calendar-day.wd-other-month{color:var(--text-dim);opacity:.35}.wd-calendar-day.wd-today{color:var(--c-calories);border-color:rgba(var(--c-calories-rgb), .4);font-weight:800}.wd-calendar-day.wd-selected{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;box-shadow:0 6px 16px -4px rgba(var(--c-calories-rgb), .55), inset 0 1px 0 #ffffff40;border-color:#0000;font-weight:800;transform:scale(1.04)}.wd-calendar-day-dot{background:var(--c-calories);width:4px;height:4px;box-shadow:0 0 5px rgba(var(--c-calories-rgb), .85);border-radius:999px;position:absolute;bottom:5px}.wd-calendar-day.wd-selected .wd-calendar-day-dot{box-shadow:none;background:#17100c8c}.wd-start-btn{background:linear-gradient(135deg, var(--c-calories), #ff8a5c);color:#17100c;box-shadow:0 6px 18px -6px rgba(var(--c-calories-rgb), .55);border-color:#0000;font-weight:700}.wd-exercise-search-results{flex-direction:column;gap:6px;margin-top:10px;display:flex}.wd-exercise-result{border-radius:var(--radius-sm);border:1px solid var(--glass-border);text-align:left;transition:background-color .15s, border-color .15s, transform .15s var(--ease);background:linear-gradient(165deg,#ffffff0e,#ffffff04 70%);align-items:center;gap:10px;padding:12px 14px;display:flex}.wd-exercise-result:active{transform:scale(var(--press-scale))}.wd-exercise-result-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.wd-exercise-result-meta{color:var(--text-muted);flex-shrink:0;font-size:11.5px}.wd-exercise-result-custom{background:rgba(var(--c-protein-rgb), .1);border:1px dashed rgba(var(--c-protein-rgb), .5)}.wd-exercise-result-custom .wd-exercise-result-name{color:var(--c-protein);white-space:normal}.wd-exercise-result-custom-icon{width:16px;height:16px;color:var(--c-protein);flex-shrink:0}.wd-exercise-search-hint{color:var(--text-muted);text-align:center;margin:2px 2px 0;font-size:11.5px}.wd-custom-exercise-confirm{border-radius:var(--radius-sm);background:linear-gradient(160deg, rgba(var(--c-protein-rgb), .1), var(--glass-bg) 70%);border:1px solid rgba(var(--c-protein-rgb), .22);animation:wd-custom-confirm-in .28s var(--ease);flex-direction:column;gap:12px;margin-bottom:2px;padding:14px 16px 16px;display:flex}@keyframes wd-custom-confirm-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wd-custom-exercise-confirm-header{align-items:center;gap:8px;display:flex}.wd-custom-exercise-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--c-protein);font-size:11px;font-weight:700}.wd-custom-exercise-back{background:rgba(var(--c-protein-rgb), .14);width:26px;height:26px;color:var(--c-protein);border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.wd-custom-exercise-back svg{width:14px;height:14px}.wd-custom-exercise-back:active{transform:scale(var(--press-scale))}.wd-custom-exercise-name{color:var(--text-primary);overflow-wrap:break-word;font-size:16px;font-weight:700}.wd-custom-exercise-confirm-label{color:var(--text-muted);margin-top:-4px;font-size:12.5px;font-weight:600}.wd-muscle-chip-row{flex-wrap:wrap;gap:8px;display:flex}.wd-muscle-chip{background:rgba(var(--c-protein-rgb), .1);border:1px solid rgba(var(--c-protein-rgb), .35);color:var(--c-protein);transition:background-color .15s, transform .15s var(--ease);animation:wd-chip-in .3s var(--ease-bounce) backwards;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600}.wd-muscle-chip:active{transform:scale(var(--press-scale));background:rgba(var(--c-protein-rgb), .2)}.wd-muscle-chip~.wd-muscle-chip{animation-delay:40ms}.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip{animation-delay:80ms}.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip{animation-delay:.12s}.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip{animation-delay:.16s}.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip~.wd-muscle-chip{animation-delay:.2s}@keyframes wd-chip-in{0%{opacity:0;transform:translateY(6px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.wd-custom-exercise-skip{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:center;margin-top:2px;padding:10px 16px;font-size:12.5px;font-weight:600;transition:color .15s,background-color .15s}.wd-custom-exercise-skip:active{background:var(--glass-bg)}.wd-current-exercise{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.wd-current-exercise-name{overflow-wrap:break-word;flex:auto;min-width:0;font-size:16px;font-weight:700;line-height:1.3}.wd-current-exercise .section-action-btn{flex-shrink:0}.wd-summary-stat-row{gap:8px}.wd-summary-stat{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--glass-bg);scroll-snap-align:none;flex:1 1 0;align-items:flex-start;gap:6px;min-width:0;padding:12px 10px 11px}.wd-summary-stat .analytics-stat-label{text-transform:uppercase;letter-spacing:.03em;white-space:normal;overflow-wrap:break-word;font-size:10.5px;font-weight:600;line-height:1.25}.wd-summary-stat .analytics-stat-value{white-space:nowrap;font-size:16px}.wd-stat-icon{border-radius:8px;place-items:center;width:26px;height:26px;margin-bottom:2px;display:grid}.wd-stat-icon svg{width:15px;height:15px}.wd-summary-stat[data-stat=volume]{background:linear-gradient(160deg, rgba(var(--c-fats-rgb), .12), var(--glass-bg) 70%)}.wd-summary-stat[data-stat=volume] .wd-stat-icon{background:rgba(var(--c-fats-rgb), .16);color:var(--c-fats)}.wd-summary-stat[data-stat=volume] .analytics-stat-value{color:var(--c-fats)}.wd-summary-stat[data-stat=calories]{background:linear-gradient(160deg, rgba(var(--c-calories-rgb), .14), var(--glass-bg) 70%)}.wd-summary-stat[data-stat=calories] .wd-stat-icon{background:rgba(var(--c-calories-rgb), .18);color:var(--c-calories)}.wd-summary-stat[data-stat=calories] .analytics-stat-value{color:var(--c-calories)}.wd-summary-stat[data-stat=duration]{background:linear-gradient(160deg, rgba(var(--c-protein-rgb), .12), var(--glass-bg) 70%)}.wd-summary-stat[data-stat=duration] .wd-stat-icon{background:rgba(var(--c-protein-rgb), .16);color:var(--c-protein)}.wd-summary-stat[data-stat=duration] .analytics-stat-value{color:var(--c-protein)}.wd-set-list{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.wd-set-row{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);font-family:var(--font-mono);align-items:center;gap:10px;padding:11px 12px;font-size:13px;transition:background-color .15s,border-color .15s;display:flex}.wd-set-row-index{color:var(--c-calories);background:rgba(var(--c-calories-rgb), .14);border-radius:999px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:10.5px;font-weight:700;display:grid}.wd-set-row-detail{color:var(--text-primary);flex:1;font-weight:600}.wd-set-row-rpe{color:var(--text-muted);flex-shrink:0}.wd-set-row-delete{width:32px;height:32px;color:var(--text-dim);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.wd-set-row-delete svg{width:14px;height:14px}.wd-set-row-delete:active{background:var(--glass-bg-strong)}.wd-set-entry{border-radius:var(--radius-md);border:1px solid var(--glass-border);background:linear-gradient(165deg,#ffffff0d,#ffffff04 70%);flex-direction:column;gap:10px;padding:14px;transition:border-color .2s,box-shadow .2s;display:flex}.wd-set-entry:focus-within{border-color:rgba(var(--c-calories-rgb), .45);box-shadow:0 0 0 3px rgba(var(--c-calories-rgb), .14)}.wd-set-entry-row{gap:10px;display:flex}.wd-set-entry-field{flex-direction:column;flex:1;gap:4px;display:flex}.wd-set-entry-field label{color:var(--text-muted);padding-left:2px;font-size:11px;font-weight:600}.wd-set-entry-field input{background:var(--surface-inset);border-radius:var(--radius-sm);width:100%;font-family:var(--font-mono);color:var(--text-primary);text-align:center;border:1px solid #0000;padding:12px;font-size:17px;font-weight:700;transition:border-color .15s,background-color .15s}.wd-set-entry-field input:focus{border-color:rgba(var(--c-calories-rgb), .5);background:var(--glass-bg-strong)}.rpe-scale{gap:4px;display:flex}.rpe-scale-btn{border:1px solid var(--glass-border);background:var(--glass-bg);min-width:0;height:40px;color:var(--text-muted);font-family:var(--font-mono);transition:background-color .15s, color .15s, border-color .15s, transform .15s var(--ease);border-radius:8px;flex:1;font-size:13px;font-weight:700}.rpe-scale-btn:active{transform:scale(var(--press-scale))}.rpe-scale-btn.wd-rpe-active[data-rpe="1"],.rpe-scale-btn.wd-rpe-active[data-rpe="2"],.rpe-scale-btn.wd-rpe-active[data-rpe="3"],.rpe-scale-btn.wd-rpe-active[data-rpe="4"]{background:rgba(var(--c-protein-rgb), .18);color:var(--c-protein);border-color:#0000}.rpe-scale-btn.wd-rpe-active[data-rpe="5"],.rpe-scale-btn.wd-rpe-active[data-rpe="6"],.rpe-scale-btn.wd-rpe-active[data-rpe="7"]{background:rgba(var(--c-carbs-rgb), .18);color:var(--c-carbs);border-color:#0000}.rpe-scale-btn.wd-rpe-active[data-rpe="8"],.rpe-scale-btn.wd-rpe-active[data-rpe="9"],.rpe-scale-btn.wd-rpe-active[data-rpe="10"]{background:rgba(var(--c-danger-rgb), .18);color:var(--c-danger);border-color:#0000}.wd-rpe-hint{color:var(--text-dim);text-align:center;font-size:11px}.wd-ghost-hint{color:var(--text-dim);text-align:center;margin:-2px 0 0;font-size:11.5px}.wd-session-actions{gap:10px;margin-top:14px;display:flex}.wd-session-actions .btn{flex:1}.wd-rest-timer{left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));border-radius:var(--radius-md);box-shadow:var(--card-elevation-strong), 0 0 24px -8px rgba(var(--c-calories-rgb), .35);animation:wd-rest-timer-in .22s var(--ease);align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute}@keyframes wd-rest-timer-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wd-rest-timer-time{color:var(--c-calories);flex-shrink:0;min-width:40px;font-size:17px;font-weight:700}.wd-rest-timer-bar{background:var(--glass-bg);border-radius:999px;flex:1;height:6px;overflow:hidden}.wd-rest-timer-bar i{border-radius:inherit;background:var(--c-calories);transform-origin:0;will-change:transform;width:100%;height:100%;transition:transform 1s linear;display:block;transform:scaleX(1)}.wd-rest-timer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.wd-rest-timer-step{background:var(--glass-bg);width:34px;height:34px;color:var(--text-primary);font-family:var(--font-mono);border:none;border-radius:999px;font-size:10.5px;font-weight:700}.wd-rest-timer-step:active{transform:scale(var(--press-scale))}.wd-rest-timer-skip{padding:8px 14px;font-size:13px}@media (width<=359px){.wd-rest-timer{flex-wrap:wrap}.wd-rest-timer-bar{flex-basis:100%;order:3}}.wd-calendar-day,.wd-calendar-nav-btn,.wd-exercise-result,.wd-set-row-delete,.wd-rest-timer-step,.wd-muscle-chip,.wd-custom-exercise-skip,.wd-custom-exercise-back,.fullscreen-view-close,#wd-exercise-search-input,.wd-set-entry-field input{appearance:none}@media (hover:hover) and (pointer:fine){.wd-calendar-day:hover:not(.wd-selected){background:var(--glass-bg-strong);border-color:var(--glass-border)}.wd-calendar-nav-btn:hover{background:var(--glass-bg-strong);border-color:rgba(var(--c-calories-rgb), .35)}.wd-start-btn:hover{filter:brightness(1.08)}.wd-exercise-result:hover{background:var(--glass-bg-strong);border-color:var(--text-dim)}.wd-muscle-chip:hover{background:rgba(var(--c-protein-rgb), .2)}.wd-custom-exercise-back:hover{background:rgba(var(--c-protein-rgb), .24)}.wd-custom-exercise-skip:hover{background:var(--glass-bg-strong);color:var(--text-primary)}.wd-set-row-delete:hover{background:var(--glass-bg-strong);color:var(--c-danger)}.wd-rest-timer-step:hover,.fullscreen-view-close:hover{background:var(--glass-bg-strong)}#wd-exercise-search-input:hover,.wd-set-entry-field input:hover{background:var(--surface-inset)}}@media (prefers-reduced-motion:reduce){.fullscreen-view,.wd-rest-timer{animation:none}.wd-rest-timer-bar i{transition:none}.wd-calendar-day{animation:none}.wd-muscle-chip,.wd-custom-exercise-confirm{transition:none;animation:none}}.wd-week-strip{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:8px;margin:-2px -2px -4px;padding:2px 2px 4px;display:flex;overflow:auto hidden}.wd-week-strip::-webkit-scrollbar{display:none}.wd-week-day{scroll-snap-align:start;border-radius:var(--radius-sm);background:var(--glass-bg);border:1.5px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:64px;color:var(--text-dim);transition:background-color .15s, border-color .15s, box-shadow .15s var(--ease), transform .15s var(--ease);flex-direction:column;flex:none;align-items:center;gap:4px;padding:11px 14px 9px;display:flex}.wd-week-day:active{transform:scale(var(--press-scale))}.wd-week-day-abbr{text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:700}.wd-week-day-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:92px;font-size:10px;font-weight:500;overflow:hidden}.wd-week-day-dot{background:var(--c-calories);border-radius:50%;width:5px;height:5px}.wd-week-day.wd-week-day-today{color:var(--c-calories);box-shadow:inset 0 0 0 1px rgba(var(--c-calories-rgb), .35)}.wd-week-day.wd-week-day-selected{background:linear-gradient(160deg, rgba(var(--c-calories-rgb), .22), rgba(var(--c-calories-rgb), .08));border-color:rgba(var(--c-calories-rgb), .55);color:var(--text-primary);box-shadow:0 4px 14px rgba(var(--c-calories-rgb), .22)}.wd-week-day.wd-week-day-selected .wd-week-day-abbr{color:var(--c-calories)}.wd-week-day.wd-week-day-selected .wd-week-day-label{color:var(--text-muted)}.plan-day-exercise-row{border-radius:var(--radius-sm);background:var(--glass-bg);align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.plan-day-exercise-row+.plan-day-exercise-row{margin-top:6px}.plan-day-exercise-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.plan-day-exercise-scheme{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:12px}.plan-day-actions{gap:10px;margin-top:14px;display:flex}.plan-day-actions .section-action-btn{text-align:center;flex:1}#plan-day-detail-title{text-transform:capitalize}.plan-day-empty{border-color:color-mix(in srgb, var(--glass-border) 55%, transparent);gap:12px;padding:36px 20px}.plan-day-empty .empty-state-icon{opacity:.55}.plan-day-actions .plan-day-assign-btn{background:linear-gradient(135deg, rgba(var(--c-calories-rgb), .2), rgba(var(--c-calories-rgb), .08));border-color:rgba(var(--c-calories-rgb), .4);color:var(--c-calories)}@media (hover:hover) and (pointer:fine){.plan-day-actions .plan-day-assign-btn:hover{border-color:rgba(var(--c-calories-rgb), .6);background:linear-gradient(135deg, rgba(var(--c-calories-rgb), .26), rgba(var(--c-calories-rgb), .1))}}.plan-routine-row{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:10px;padding:12px 8px 12px 14px;transition:background-color .15s,border-color .15s;display:flex}.plan-routine-row-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:700;overflow:hidden}.plan-routine-row-count{color:var(--text-muted);flex-shrink:0;font-size:12px}.plan-routine-row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.plan-routine-row-btn{width:34px;height:34px;color:var(--text-muted);transition:background-color .15s, color .15s, transform .15s var(--ease);background:0 0;border:none;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.plan-routine-row-btn svg{width:15px;height:15px}.plan-routine-row-btn:active{transform:scale(var(--press-scale));background:var(--glass-bg-strong)}.plan-routine-row-btn-delete:active{color:var(--c-danger)}@media (hover:hover) and (pointer:fine){.plan-routine-row:hover{background:var(--glass-bg-strong);border-color:var(--text-dim)}.plan-routine-row-btn:hover{background:var(--glass-bg-strong);color:var(--text-primary)}.plan-routine-row-btn-delete:hover{color:var(--c-danger)}}.routine-editor-exercises{flex-direction:column;gap:6px;display:flex}.routine-exercise-row{border-radius:var(--radius-sm);background:var(--glass-bg);border:1px solid var(--glass-border);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.routine-exercise-name{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.routine-exercise-target{background:var(--surface-inset);text-align:center;width:36px;font-family:var(--font-mono);color:var(--text-primary);border:none;border-radius:6px;flex-shrink:0;padding:6px 0;font-size:12.5px;font-weight:700}.routine-exercise-target-sep{color:var(--text-dim);flex-shrink:0;font-size:12px}.routine-exercise-remove{width:28px;height:28px;color:var(--text-dim);background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.routine-exercise-remove svg{width:13px;height:13px}.routine-exercise-remove:active{background:var(--glass-bg-strong)}.wd-routine-suggestions{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.wd-routine-chip{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);transition:transform .15s var(--ease);border-radius:999px;align-items:center;gap:5px;padding:8px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.wd-routine-chip:active{transform:scale(var(--press-scale))}.wd-routine-chip-done{color:var(--text-dim);background:rgba(var(--c-protein-rgb), .12);border-color:#0000}.wd-routine-chip-check{width:12px;height:12px;color:var(--c-protein);flex-shrink:0}.status-banner.tone-routine{border-left-color:var(--c-calories)}.status-banner.tone-routine .status-banner-icon{color:var(--c-calories)}@media (hover:hover) and (pointer:fine){.wd-week-day:hover:not(.wd-week-day-selected){background:var(--glass-bg-strong)}.routine-exercise-remove:hover{background:var(--glass-bg-strong);color:var(--c-danger)}}@media (prefers-reduced-motion:reduce){.wd-week-day,.wd-routine-chip{transition:none}}.wd-onerm-card{border-radius:var(--radius-sm);background:linear-gradient(160deg, rgba(var(--c-calories-rgb), .1), var(--glass-bg) 70%);border:1px solid rgba(var(--c-calories-rgb), .18);flex-direction:column;gap:4px;margin-bottom:12px;padding:12px 14px;display:flex}.wd-onerm-header{justify-content:space-between;align-items:center;display:flex}.wd-onerm-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.wd-onerm-badge{opacity:.8;font-size:13px;line-height:1;display:inline-block}.wd-onerm-value{color:var(--text-primary);font-size:20px;font-weight:700}.onerm-chart{width:100%;height:40px;margin-top:2px;display:block;overflow:visible}.onerm-chart .chart-line{fill:none;stroke:var(--c-calories);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.onerm-chart .chart-dot{fill:var(--bg);stroke:var(--c-calories);stroke-width:2px}@keyframes wd-onerm-pr-shine{0%{filter:drop-shadow(0 0 #ffb43c00);transform:scale(1)}35%{filter:drop-shadow(0 0 7px #ffb43ce6);transform:scale(1.4)}to{filter:drop-shadow(0 0 #ffb43c00);transform:scale(1)}}.wd-onerm-pr-shine{animation:wd-onerm-pr-shine .9s var(--ease)}@media (prefers-reduced-motion:reduce){.wd-onerm-pr-shine{animation:none}}.workout-diary-plan-btn{border-radius:var(--radius-sm);border:1px solid rgba(var(--c-calories-rgb), .28);background:rgba(var(--c-calories-rgb), .07);color:var(--c-calories);justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:12px 16px;font-size:13.5px;display:flex}.workout-diary-plan-btn svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px}.workout-diary-plan-btn:active{background:rgba(var(--c-calories-rgb), .16)}@media (hover:hover) and (pointer:fine){.workout-diary-plan-btn:hover{background:rgba(var(--c-calories-rgb), .13);border-color:rgba(var(--c-calories-rgb), .45)}}.progress-card-stat{color:var(--text-dim);font-size:12.5px;line-height:1.55}#workout-diary-card-summary{margin:2px 0 18px}.muscle-heatmap-bars{flex-direction:column;gap:12px;display:flex}.muscle-heatmap-row{grid-template-columns:72px 1fr 56px;align-items:center;gap:12px;display:grid}.muscle-heatmap-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;line-height:1.4;overflow:hidden}.muscle-heatmap-row.is-zero .muscle-heatmap-name{color:var(--text-dim);font-weight:500}.muscle-heatmap-count{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}.muscle-heatmap-row .bar-track{height:11px;overflow:visible}.muscle-heatmap-row:not(.is-zero) .bar-fill.fill-workout{box-shadow:0 0 9px rgba(var(--c-calories-rgb), .55), 0 0 1px rgba(var(--c-calories-rgb), .9)}.fill-workout{background:linear-gradient(90deg, var(--c-calories), #ff8a5c)}.muscle-heatmap-hint{border-top:1px solid var(--glass-border);color:var(--text-dim);margin:14px 0 0;padding-top:12px;font-size:11.5px;line-height:1.5}.provenance-chip{letter-spacing:.02em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:10.5px;font-weight:600;line-height:1.2;display:inline-flex}.provenance-chip-glyph{flex:none;justify-content:center;align-items:center;width:12px;height:12px;display:flex}.provenance-chip-glyph svg{width:100%;height:100%}.provenance-chip-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.ingredient-row-head .provenance-chip{flex:0 auto;min-width:0}.provenance-custom{background:rgba(var(--c-fats-rgb), .13);border-color:rgba(var(--c-fats-rgb), .34);color:var(--c-fats)}.provenance-verified{background:rgba(var(--c-protein-rgb), .12);border-color:rgba(var(--c-protein-rgb), .3);color:var(--c-protein)}.provenance-estimate{background:rgba(var(--c-carbs-rgb), .12);border-color:rgba(var(--c-carbs-rgb), .3);color:var(--c-carbs)}.ingredient-flat-provenance{justify-content:flex-end;min-width:0;margin-bottom:8px;display:flex}.ingredient-flat-provenance .provenance-chip{max-width:100%}@media (width<=430px){.ingredient-row-head .provenance-chip-text{display:none}.ingredient-row-head .provenance-chip{padding:4px}}.trust-glyph.custom{color:var(--c-fats)}.trust-info-icon.custom{background:rgba(var(--c-fats-rgb), .14);color:var(--c-fats)}.trust-info-icon.saved{background:rgba(var(--c-calories-rgb), .14);color:var(--c-calories)}.toast.learned{--toast-accent:var(--c-fats);--toast-accent-rgb:var(--c-fats-rgb)}.custom-food-sheet-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.custom-food-sheet-head h2{margin:0}.custom-food-sheet-hint{color:var(--text-muted);margin:8px 0 18px;font-size:13px;line-height:1.5}.custom-food-basis{letter-spacing:.02em;color:var(--text-dim);margin-bottom:10px;font-size:12px;font-weight:600}.custom-food-basis.is-rescaled{color:var(--c-fats)}.auth-screen.has-intro{--intro-t:.62s}.auth-screen.has-intro.is-fast{--intro-t:.17s}@keyframes auth-intro-fade{0%{opacity:0}to{opacity:1}}@keyframes auth-intro-lamp{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-intro-ollie{0%{opacity:0;translate:0 26px;scale:.82}to{opacity:1;translate:0;scale:1}}@keyframes auth-intro-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-screen.has-intro .auth-motes{animation:auth-intro-fade calc(var(--intro-t) * 1.6) var(--ease) calc(var(--intro-t) * .2) both}.auth-screen.has-intro .lamp-toggle{animation:auth-intro-lamp calc(var(--intro-t) * .95) var(--ease) 0s both}.auth-screen.has-intro .auth-ollie{animation:auth-intro-ollie calc(var(--intro-t) * .95) var(--ease-bounce) calc(var(--intro-t) * 1) both}.auth-screen.has-intro .auth-card-enter{animation:auth-card-in calc(var(--intro-t) * .95) var(--ease) calc(var(--intro-t) * 1.15) both}.auth-screen.has-intro .brand{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.4) both}.auth-screen.has-intro .auth-proof{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.5) both}.auth-screen.has-intro .btn-google{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.56) both}.auth-screen.has-intro .auth-divider{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.62) both}.auth-screen.has-intro .auth-tabs{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.68) both}.auth-screen.has-intro .auth-flip-viewport{animation:auth-intro-rise calc(var(--intro-t) * .7) var(--ease) calc(var(--intro-t) * 1.74) both}.auth-screen.intro-done .auth-motes,.auth-screen.intro-done .lamp-toggle,.auth-screen.intro-done .auth-ollie,.auth-screen.intro-done .auth-card-enter,.auth-screen.intro-done .brand,.auth-screen.intro-done .auth-proof,.auth-screen.intro-done .btn-google,.auth-screen.intro-done .auth-divider,.auth-screen.intro-done .auth-tabs,.auth-screen.intro-done .auth-flip-viewport{opacity:1;animation:none}.auth-screen.intro-done .auth-ollie{translate:none;scale:none}.auth-screen.intro-done .lamp-toggle,.auth-screen.intro-done .brand,.auth-screen.intro-done .auth-proof,.auth-screen.intro-done .btn-google,.auth-screen.intro-done .auth-divider,.auth-screen.intro-done .auth-tabs,.auth-screen.intro-done .auth-flip-viewport{transform:none}.lamp-toggle.lamp-flare:after,.lamp-toggle.lamp-flare .lamp-bulb,.lamp-toggle.lamp-flare .lamp-filament{opacity:1}.lamp-toggle.lamp-flare .lamp-glow-halo{opacity:.9}.lamp-toggle.lamp-flare .lamp-inner-glow{opacity:1}@keyframes auth-ollie-fly{0%{opacity:1;translate:0;rotate:0deg;scale:1}30%{opacity:1;translate:0 12px;rotate:-4deg;scale:.94}to{opacity:0;translate:0 -190px;rotate:9deg;scale:.7}}.auth-ollie.is-leaving{animation:auth-ollie-fly .72s var(--ease) both}@media (prefers-reduced-motion:reduce){.auth-screen.has-intro .auth-motes,.auth-screen.has-intro .lamp-toggle,.auth-screen.has-intro .auth-ollie,.auth-screen.has-intro .auth-card-enter,.auth-screen.has-intro .brand,.auth-screen.has-intro .auth-proof,.auth-screen.has-intro .btn-google,.auth-screen.has-intro .auth-divider,.auth-screen.has-intro .auth-tabs,.auth-screen.has-intro .auth-flip-viewport{opacity:1;animation:none;transform:translate(0,0)scale(1)}.auth-ollie.is-leaving{opacity:0;animation:none}}.auth-screen.is-exiting{z-index:60;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);position:fixed;inset:0}
