#app{background:var(--bg);min-height:100dvh}:root,[data-theme=light]{--bg:#eef2ef;--bg-elevated:#f7f9f7;--surface:#ffffffc7;--surface-solid:#fff;--surface-2:#e4ebe6;--surface-3:#d3ddd6;--text:#122017;--text-secondary:#3d4f44;--muted:#7a8b82;--accent:#1f7a5c;--accent-2:#2ea57a;--accent-soft:#1f7a5c1f;--accent-glow:#2ea57a47;--danger:#e04545;--success:#1f7a5c;--warning:#d4a017;--protein:#e06b6b;--fat:#e0a84a;--carb:#4aa3c7;--water:#3b9fd1;--border:#1220170f;--shadow:0 12px 40px #12201712;--shadow-sm:0 4px 16px #1220170d;--nav-bg:#f7f9f7d1;--overlay:#0c14106b;--mesh-a:#2ea57a2e;--mesh-b:#4aa3c71f;--ring-from:#1f7a5c;--ring-to:#5eead4;--activity-empty:#d8e2db;--activity-fill:linear-gradient(180deg, #5eead4 0%, #1f7a5c 100%);--font-display:"Sora", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--radius-lg:24px;--radius-md:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0a0e0c;--bg-elevated:#0f1411;--surface:#1a211dd1;--surface-solid:#1a211d;--surface-2:#24302a;--surface-3:#314038;--text:#f2f7f4;--text-secondary:#c5d4cb;--muted:#8aa094;--accent:#3dd68c;--accent-2:#5eead4;--accent-soft:#3dd68c24;--accent-glow:#5eead438;--danger:#ff6b6b;--success:#3dd68c;--warning:#f0c14a;--protein:#ff8a80;--fat:#ffc857;--carb:#7dd3fc;--water:#67e8f9;--border:#f2f7f412;--shadow:0 16px 48px #00000073;--shadow-sm:0 6px 20px #0000004d;--nav-bg:#0f1411c7;--overlay:#00000094;--mesh-a:#3dd68c1f;--mesh-b:#5eead414;--ring-from:#3dd68c;--ring-to:#5eead4;--activity-empty:#1c2621;--activity-fill:linear-gradient(180deg, #5eead4 0%, #1f7a5c 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100dvh}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);overscroll-behavior-y:none;font-feature-settings:"ss01" on;line-height:1.45;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 12% -10%, var(--mesh-a), transparent 55%), radial-gradient(700px 480px at 95% 8%, var(--mesh-b), transparent 50%), radial-gradient(600px 400px at 50% 110%, var(--mesh-a), transparent 55%), var(--bg);position:fixed;inset:0}h1,h2,h3,.brand,.display{font-family:var(--font-display);letter-spacing:-.04em}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pressable{touch-action:manipulation;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .2s,box-shadow .2s}.pressable:active{opacity:.94;transform:scale(.97)}.card{background:var(--surface);-webkit-backdrop-filter:blur(20px)saturate(1.2);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:18px}.page{padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(110px + env(safe-area-inset-bottom,0px));width:100%;max-width:560px;margin:0 auto}@media (width>=1024px){.page{max-width:760px;padding-bottom:48px}.page.page--wide{max-width:980px}}.fade-enter-active,.fade-leave-active{transition:opacity .25s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .3s}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(28px)}.sheet-enter-active,.sheet-leave-active{transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}.sheet-enter-from,.sheet-leave-to{opacity:.5;transform:translateY(100%)}.overlay-enter-active,.overlay-leave-active{transition:opacity .28s}.overlay-enter-from,.overlay-leave-to{opacity:0}.list-enter-active,.list-leave-active{transition:all .32s cubic-bezier(.22,1,.36,1)}.list-enter-from,.list-leave-to{opacity:0;transform:translateY(12px)}.list-move{transition:transform .32s cubic-bezier(.22,1,.36,1)}.route-enter-active,.route-leave-active{transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1)}.route-enter-from{opacity:0;transform:translateY(10px)scale(.99)}.route-leave-to{opacity:0;transform:translateY(-6px)}
