@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap";
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_b803e354-module__7nGVlW__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_b803e354-module__7nGVlW__variable{--font-display:"Outfit", "Outfit Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_67b89ee4-module__wcZbnq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_67b89ee4-module__wcZbnq__variable{--font-body:"Inter", "Inter Fallback"}
:root{--neon-green:#22c55e;--neon-green-rgb:34, 197, 94;--neon-emerald:#10b981;--neon-lime:#84cc16;--accent-amber:#f59e0b;--accent-amber-rgb:245, 158, 11;--accent-blue:#6366f1;--accent-blue-rgb:99, 102, 241;--accent-coral:#f97316;--accent-coral-rgb:249, 115, 22;--accent-danger:#ef4444;--accent-danger-rgb:239, 68, 68;--accent-primary:#22c55e;--accent-primary-rgb:34, 197, 94;--accent-secondary:#f59e0b;--accent-tertiary:#6366f1;--accent-quaternary:#f97316;--bg-base:#060d0a;--bg-surface:#0c1610d9;--bg-surface-elevated:#14261ce6;--bg-glass:#162a1e99;--bg-glass-strong:#0f1e15cc;--text-primary:#f0fdf4;--text-secondary:#86efac;--text-tertiary:#4ade80;--text-muted:#f0fdf466;--border-color:#22c55e1f;--border-strong:#22c55e47;--border-glass:#ffffff0f;--card-bg:#0c1811bf;--card-bg-hover:#122419e6;--overlay-bg:#000804bf;--glow-green:0 0 20px #22c55e59, 0 0 60px #22c55e26;--glow-amber:0 0 20px #f59e0b59, 0 0 60px #f59e0b1a;--glow-indigo:0 0 20px #6366f159, 0 0 60px #6366f11a;--glow-coral:0 0 20px #f9731659, 0 0 60px #f973161a;--glow-fab:0 4px 20px #22c55e8c, 0 0 60px #22c55e33;--shadow-xs:0 1px 3px #0006;--shadow-sm:0 2px 10px #00000080;--shadow-md:0 4px 20px #0000008c;--shadow-lg:0 8px 40px #0009;--shadow-fab:var(--glow-fab);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-full:999px;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-top:env(safe-area-inset-top,0px);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-theme:background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;--gradient-primary:linear-gradient(135deg, #059669 0%, #22c55e 100%);--gradient-hero:linear-gradient(135deg, #064e3b 0%, #0d2818 50%, #060d0a 100%);--gradient-card:linear-gradient(135deg, #162a1ecc 0%, #0c1811f2 100%);--gradient-amber:linear-gradient(135deg, #92400e 0%, #f59e0b 100%);--gradient-indigo:linear-gradient(135deg, #3730a3 0%, #6366f1 100%);--gradient-coral:linear-gradient(135deg, #9a3412 0%, #f97316 100%)}[data-theme=light]{--bg-base:#f0fdf4;--bg-surface:#ffffffeb;--bg-surface-elevated:#dcfce7;--bg-glass:#ffffffbf;--bg-glass-strong:#ffffffe6;--text-primary:#052e16;--text-secondary:#166534;--text-tertiary:#15803d;--text-muted:#052e1666;--border-color:#22c55e2e;--border-strong:#22c55e59;--border-glass:#0000000f;--card-bg:#ffffffe6;--card-bg-hover:#f0fdf4fa;--overlay-bg:#052e168c;--gradient-card:linear-gradient(135deg, #fffffff2 0%, #f0fdf4f2 100%);--gradient-hero:linear-gradient(135deg, #fff 0%, #f0fdf4 100%);--glow-green:0 0 16px #22c55e40, 0 0 40px #22c55e14;--shadow-xs:0 1px 3px #00000012;--shadow-sm:0 2px 8px #00000017;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f}.hero-calorie-card{box-shadow:0 0 40px #22c55e0f, var(--shadow-sm);border-radius:var(--radius-lg);transition:var(--transition-theme);background:linear-gradient(135deg,#0596691f 0%,#0c1811eb 60%);border:1px solid #22c55e33;margin-bottom:0;padding:1.25rem;position:relative;overflow:hidden}[data-theme=light] .hero-calorie-card{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border:1px solid #22c55e38;box-shadow:0 4px 20px #22c55e14,0 1px 3px #0000000a}.ring-track{stroke:#ffffff0f}[data-theme=light] .ring-track{stroke:#22c55e24}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background-color:var(--bg-base);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;height:100%;overflow-x:hidden}body{min-height:100%;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--transition-theme);justify-content:center;font-size:16px;display:flex;overflow-x:hidden}#app-shell{background-color:var(--bg-base);border-left:1px solid var(--border-glass);border-right:1px solid var(--border-glass);width:100%;max-width:480px;min-height:100dvh;padding-bottom:calc(76px + var(--safe-area-bottom));transition:var(--transition-theme);flex-direction:column;display:flex;position:relative;overflow-x:hidden;box-shadow:0 0 80px #0009}#app-shell:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#22c55e12 0%,#0000 70%);width:80%;height:60%;position:fixed;top:-20%;left:-30%}#app-shell:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#6366f10d 0%,#0000 70%);width:60%;height:50%;position:fixed;bottom:10%;right:-20%}header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--border-glass);transition:var(--transition-theme);background:#060d0acc;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex;position:sticky;top:0}[data-theme=light] header{background:#f0fdf4d9}header h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.03em;align-items:center;gap:.4rem;font-size:1.35rem;font-weight:900;display:flex}header h1 .brand-accent{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.bottom-nav{-webkit-backdrop-filter:blur(24px)saturate(180%);border-top:1px solid var(--border-glass);width:100%;max-width:480px;padding:.5rem .75rem calc(.5rem + var(--safe-area-bottom));z-index:100;transition:var(--transition-theme);background:#060d0ad9;justify-content:space-around;gap:.25rem;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}[data-theme=light] .bottom-nav{background:#f0fdf4eb}.nav-item{color:var(--text-muted);font-size:.64rem;font-weight:600;font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;min-width:52px;min-height:44px;transition:color var(--transition-fast), background-color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.4rem .5rem;text-decoration:none;display:flex;position:relative}.nav-item.active{color:var(--neon-green);background:#22c55e1a}.nav-item.active:after{content:"";background:var(--neon-green);border-radius:var(--radius-full);width:16px;height:2px;box-shadow:0 0 8px var(--neon-green);animation:.25s cubic-bezier(.34,1.56,.64,1) navDotIn;position:absolute;bottom:2px}.nav-item:not(.active):hover{color:#f0fdf499;background:var(--border-glass)}.nav-item svg{stroke-width:1.75px;width:22px;height:22px;transition:transform var(--transition-fast)}.nav-item.active svg{stroke-width:2.5px;filter:drop-shadow(0 0 4px #22c55e99);transform:scale(1.1)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);transition:color var(--transition-base);font-weight:700;line-height:1.25}.section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem;font-weight:800;font-family:var(--font-display);align-items:center;gap:.5rem;margin-bottom:.875rem;display:flex}.section-title:before{content:"";background:var(--gradient-primary);border-radius:2px;width:3px;height:14px;display:inline-block;box-shadow:0 0 6px #22c55e99}.section-subtitle{color:var(--text-secondary);margin-bottom:0;font-size:.8rem;font-weight:400;line-height:1.5}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(12px)saturate(150%);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-theme), border-color var(--transition-fast), transform var(--transition-fast);margin-bottom:.875rem;padding:1.125rem;position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff08 0%,#0000 60%);position:absolute;inset:0}.card:hover{border-color:var(--border-color);box-shadow:var(--shadow-md)}.card-accent-top{border-top:2px solid var(--neon-green);box-shadow:var(--shadow-sm), 0 -1px 0 0 var(--neon-green)}.bento-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);border:1px solid var(--border-glass);border-radius:var(--radius-lg);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);position:relative;overflow:hidden}.bento-card:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff0a 0%,#0000 60%);position:absolute;inset:0}.bento-card:hover{border-color:var(--border-color);transform:translateY(-1px)}.macro-card{border-radius:var(--radius-lg);border:1px solid var(--border-glass);background:var(--card-bg);-webkit-backdrop-filter:blur(12px);transition:transform var(--transition-fast), border-color var(--transition-fast);padding:.875rem;position:relative;overflow:hidden}.macro-card:hover{transform:translateY(-2px)}.form-group{flex-direction:column;gap:.45rem;margin-bottom:1.125rem;display:flex}label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;font-family:var(--font-display);transition:color var(--transition-base)}input[type=text],input[type=number],select,textarea{border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);width:100%;min-height:48px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);appearance:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;outline:none;padding:.875rem 1rem;font-size:.95rem}[data-theme=light] input[type=text],[data-theme=light] input[type=number],[data-theme=light] select,[data-theme=light] textarea{color:#052e16;background:#fffc;border-color:#22c55e33}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}input:focus,select:focus,textarea:focus{border-color:var(--neon-green);box-shadow:0 0 0 3px #22c55e26, var(--glow-green);background:#22c55e0a}:is(input:user-invalid,select:user-invalid){border-color:var(--accent-danger)}input[type=range]{appearance:none;border-radius:var(--radius-full);cursor:pointer;width:100%;height:4px;transition:var(--transition-theme);background:#ffffff14;border:none;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gradient-primary);cursor:grab;width:24px;height:24px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:2px solid #ffffff26;border-radius:50%;box-shadow:0 0 10px #22c55e99,0 2px 6px #0000004d}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.25);box-shadow:0 0 20px #22c55ecc,0 2px 6px #0000004d}.btn{background:var(--gradient-primary);color:#fff;font-family:var(--font-display);border-radius:var(--radius-md);cursor:pointer;text-align:center;letter-spacing:-.01em;width:100%;min-height:48px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #22c55e4d}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);border-radius:inherit;background:linear-gradient(135deg,#ffffff26 0%,#0000 60%);position:absolute;inset:0}.btn:hover:not(:disabled):after{opacity:1}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #22c55e73}.btn:active:not(:disabled){transform:translateY(0)scale(.97);box-shadow:0 2px 8px #22c55e4d}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-strong);box-shadow:none;background:0 0}.btn-secondary:after{display:none}.btn-secondary:hover:not(:disabled){border-color:var(--neon-green);box-shadow:none;background:#22c55e14;transform:none}.btn-ghost{color:var(--neon-green);border:1px solid var(--border-color);box-shadow:none;background:#22c55e14;font-weight:700}.btn-ghost:after{display:none}.btn-ghost:hover:not(:disabled){border-color:var(--neon-green);background:#22c55e26;transform:none;box-shadow:0 0 12px #22c55e33}.btn-danger{background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 4px 16px #ef44444d}.btn-danger:hover:not(:disabled){box-shadow:0 6px 24px #ef444473}.btn-sm{border-radius:var(--radius-sm);min-height:36px;padding:.5rem 1rem;font-size:.8rem}.btn-icon{width:40px;height:40px;min-height:unset;border-radius:var(--radius-md);flex-shrink:0;padding:0}.progress-bar-container{border-radius:var(--radius-full);background:#ffffff0f;width:100%;height:5px;position:relative;overflow:hidden}[data-theme=light] .progress-bar-container{background:#00000014}.progress-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .7s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";background:inherit;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 0 6px}.fab{bottom:calc(84px + var(--safe-area-bottom));border-radius:var(--radius-xl);background:var(--gradient-primary);color:#fff;width:58px;height:58px;box-shadow:var(--shadow-fab);cursor:pointer;z-index:99;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:none;justify-content:center;align-items:center;display:flex;position:fixed;right:50%;overflow:hidden;transform:translate(192px)}.fab:before{content:"";border-radius:inherit;background:linear-gradient(135deg,#fff3 0%,#0000 60%);position:absolute;inset:0}.fab:hover{transform:translate(192px)translateY(-2px)scale(1.05);box-shadow:0 6px 30px #22c55eb3,0 0 60px #22c55e40}.fab:active{transform:translate(192px)scale(.92)}.fab svg{stroke-width:2.5px;z-index:1;width:24px;height:24px;position:relative}dialog{border:1px solid var(--border-glass);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;color:var(--text-primary);z-index:1000;background:#0a170f;outline:none;width:100%;max-width:480px;margin:0;padding:0;position:fixed;top:auto;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -16px 60px #000000a6}dialog:not([open]){display:none!important}[data-theme=light] dialog{border:1px solid var(--border-color);background:#fff;box-shadow:0 -12px 48px #00000029}dialog[open]{z-index:1000;flex-direction:column;animation:.35s cubic-bezier(.32,.72,0,1) slideUp;overflow:hidden;display:flex!important}dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#000804a6}.drawer-handle{background:var(--border-strong);border-radius:var(--radius-full);flex-shrink:0;width:40px;height:4px;margin:.875rem auto 0}.drawer-header{border-bottom:1px solid var(--border-glass);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .875rem;display:flex}.drawer-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.category-pill{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);white-space:nowrap;cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-display);box-shadow:var(--shadow-xs);flex-shrink:0;align-items:center;gap:.4rem;padding:.45rem .85rem;line-height:1.2;transition:all .15s;display:flex}.category-pill:hover{background:#22c55e14;border-color:#22c55e59}.category-pill.active{border-color:var(--neon-green);color:var(--neon-green);background:#22c55e2e;font-weight:700;box-shadow:0 0 14px #22c55e47}.food-row-btn{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);min-height:60px;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.food-row-btn:hover{background:#22c55e12;border-color:#22c55e52;transform:translateY(-1px)}.food-row-btn:active{transform:scale(.99)}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:.5rem;width:calc(100% - 2.5rem);max-width:440px;display:flex;position:fixed;top:5rem;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;-webkit-backdrop-filter:blur(16px);font-size:.875rem;font-weight:600;font-family:var(--font-display);border:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.875rem 1.125rem;animation:.35s cubic-bezier(.32,.72,0,1) toastIn,.3s 3.7s forwards toastOut;display:flex}.toast-success{color:#fff;background:#059669e6;box-shadow:0 4px 20px #22c55e66}.toast-error{color:#fff;background:#b91c1ce6;box-shadow:0 4px 20px #ef444466}.toast-info{color:var(--text-primary);border:1px solid var(--border-color);background:#0c1610e6}.badge{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;font-family:var(--font-display);align-items:center;gap:.2rem;padding:.2rem .6rem;display:inline-flex}.badge-green{color:var(--neon-green);background:#22c55e26;border:1px solid #22c55e4d}.badge-amber{color:var(--accent-amber);background:#f59e0b1f;border:1px solid #f59e0b40}.badge-cache{color:var(--neon-green);background:#22c55e1f;border:1px solid #22c55e40}.badge-api,.badge-private{color:var(--accent-blue);background:#6366f11f;border:1px solid #6366f140}.switch-container{justify-content:space-between;align-items:center;min-height:48px;padding:.625rem 0;display:flex}.switch{flex-shrink:0;width:50px;height:28px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;border:1px solid var(--border-glass);border-radius:var(--radius-full);background:#ffffff14;transition:background-color .25s,border-color .25s,box-shadow .25s;position:absolute;inset:0}.slider:before{content:"";background:var(--text-muted);border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .25s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 1px 3px #0000004d}input:checked+.slider{border-color:var(--neon-green);background:#22c55e40;box-shadow:0 0 12px #22c55e4d}input:checked+.slider:before{background:var(--neon-green);transform:translate(22px)translateY(-50%)}.goal-card{border-radius:var(--radius-md);border:1px solid var(--border-glass);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);text-align:left;background:#ffffff08;align-items:center;gap:.875rem;width:100%;min-height:64px;padding:1rem;display:flex}.goal-card.active{border-color:var(--neon-green);box-shadow:0 0 0 1px #22c55e33, var(--glow-green);background:#22c55e14}.goal-card-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.goal-card-text{flex-direction:column;gap:.15rem;display:flex}.goal-card-label{color:var(--text-primary);font-size:.9rem;font-weight:700;font-family:var(--font-display)}.goal-card-sub{color:var(--text-secondary);font-size:.75rem}.activity-chips{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.activity-chip{border-radius:var(--radius-md);border:1px solid var(--border-glass);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);min-height:60px;color:var(--text-secondary);text-align:center;background:#ffffff08;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.75rem .5rem;font-size:.72rem;font-weight:600;line-height:1.3;display:flex}.activity-chip .chip-icon{font-size:1.2rem}.activity-chip.active{border-color:var(--neon-green);color:var(--neon-green);background:#22c55e14;font-weight:700;box-shadow:0 0 12px #22c55e33}.danger-section-header{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-danger);font-size:.65rem;font-weight:800;font-family:var(--font-display);align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.danger-section-header:before{content:"";background:var(--accent-danger);border-radius:2px;width:3px;height:12px;display:inline-block}.confirm-modal{-webkit-backdrop-filter:blur(8px);z-index:300;background:#000804bf;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.confirm-box{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.5rem 1.25rem calc(1.25rem + var(--safe-area-bottom));border-top:1px solid var(--border-glass);background:#08120cf2;width:100%;max-width:480px;animation:.3s cubic-bezier(.32,.72,0,1) slideUp}.calorie-ring-wrap{justify-content:center;align-items:center;display:flex;position:relative}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-14px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.94)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px #22c55e4d}50%{box-shadow:0 0 25px #22c55e99}}@keyframes navDotIn{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes ringDraw{0%{stroke-dashoffset:314.15px}}.victory-pulse{animation:1.8s ease-in-out infinite pulse}.spinner{border:2px solid #ffffff14;border-top-color:var(--neon-green);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin;box-shadow:0 0 12px #22c55e4d}.skeleton{border-radius:var(--radius-sm);background:#ffffff0a;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0f,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--neon-green)}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#auth-overlay input.auth-input{color:#f0fdf4!important;-webkit-text-fill-color:#f0fdf4!important;box-sizing:border-box!important;background:#0a140ee6!important;border:1px solid #22c55e33!important;border-radius:12px!important;width:100%!important;padding:13px 16px 13px 42px!important;font-family:Outfit,system-ui,sans-serif!important;font-size:1rem!important}#auth-overlay input.auth-input:focus{color:#f0fdf4!important;-webkit-text-fill-color:#f0fdf4!important;background:#0f1e14f2!important;border-color:#22c55e!important;box-shadow:0 0 0 3px #22c55e33,0 0 20px #22c55e40!important}#auth-overlay input.auth-input:-webkit-autofill{-webkit-text-fill-color:#f0fdf4!important;color:#f0fdf4!important;border:1px solid #22c55e!important;-webkit-box-shadow:inset 0 0 0 1000px #0a140ef2!important}#auth-overlay input.auth-input:-webkit-autofill:hover{-webkit-text-fill-color:#f0fdf4!important;color:#f0fdf4!important;border:1px solid #22c55e!important;-webkit-box-shadow:inset 0 0 0 1000px #0a140ef2!important}#auth-overlay input.auth-input:-webkit-autofill:focus{-webkit-text-fill-color:#f0fdf4!important;color:#f0fdf4!important;border:1px solid #22c55e!important;-webkit-box-shadow:inset 0 0 0 1000px #0a140ef2!important}#auth-overlay .auth-otp-row{justify-content:center!important;gap:8px!important;margin-bottom:12px!important;display:flex!important}#auth-overlay input.auth-otp-digit{text-align:center!important;color:#f0fdf4!important;-webkit-text-fill-color:#f0fdf4!important;box-sizing:border-box!important;background:#0a140ee6!important;border:1px solid #22c55e33!important;border-radius:12px!important;outline:none!important;width:48px!important;height:56px!important;margin:0!important;padding:0!important;font-family:Outfit,system-ui,sans-serif!important;font-size:1.5rem!important;font-weight:800!important}#auth-overlay input.auth-otp-digit:focus{border-color:#22c55e!important;box-shadow:0 0 0 3px #22c55e33,0 0 16px #22c55e59!important}#auth-overlay input.auth-otp-digit.filled{color:#f0fdf4!important;-webkit-text-fill-color:#f0fdf4!important;background:#22c55e1f!important;border-color:#22c55e!important}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.date-title-btn:hover{background:#22c55e0f!important}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}
