@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DXI_y_WF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-CnNj8hVb.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-CUIqqgP9.woff2)format("woff2-variations");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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-cyrillic-wght-normal-C627f1f8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-vietnamese-wght-normal-rat7GD3o.woff2)format("woff2-variations");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:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-ext-wght-normal-D6H-S6MW.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Unbounded Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/unbounded-latin-wght-normal-D5afBTBx.woff2)format("woff2-variations");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}:root{--font-display:"Unbounded Variable", system-ui, sans-serif;--font-body:"Onest Variable", system-ui, sans-serif;--text-hero:clamp(2.4rem, 11vw, 3.4rem);--text-h1:1.5rem;--text-h2:1.15rem;--text-body:.95rem;--text-small:.8rem;--text-micro:.69rem;--r-card:22px;--r-button:999px;--r-input:14px;--r-chip:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--page-pad:18px;--tabbar-h:76px;--t-fast:.14s cubic-bezier(.4, 0, .2, 1);--t-spring:.32s cubic-bezier(.34, 1.4, .44, 1);--c-protein:#e2543e;--c-carb:#e8a33d;--c-fat:#5d9ce6;--c-water:#4dc3e8;--c-danger:#d94f3d;--c-ok:#6abf4b}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-bg:#f4f1e9;--c-bg-gradient:radial-gradient(120% 60% at 50% -8%, #fdfbf4 0%, #f4f1e9 60%);--c-surface:#fff;--c-surface-2:#ebe7db;--c-ink:#1d1a14;--c-ink-soft:#6f6859;--c-ink-faint:#a39b8a;--c-line:#1d1a1414;--c-brand:#a8e05f;--c-brand-ink:#243312;--c-ring-track:#e6e1d3;--c-overlay:#1d1a1473;--shadow-card:0 1px 2px #1d1a140a, 0 8px 24px -12px #1d1a141f;--shadow-float:0 6px 24px -6px #1d1a1459;--c-solid:#1d1a14;--c-solid-ink:#fdfbf4}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-bg:#161511;--c-bg-gradient:radial-gradient(120% 60% at 50% -8%, #201e18 0%, #161511 60%);--c-surface:#211f19;--c-surface-2:#2b2820;--c-ink:#f2eee3;--c-ink-soft:#a59d8c;--c-ink-faint:#6f6859;--c-line:#f2eee317;--c-brand:#a8e05f;--c-brand-ink:#243312;--c-ring-track:#2e2b22;--c-overlay:#0009;--shadow-card:0 1px 2px #0003, 0 8px 24px -12px #00000080;--shadow-float:0 6px 24px -6px #000000b3;--c-solid:#f2eee3;--c-solid-ink:#1d1a14}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--c-ink);background:var(--c-bg);background-image:var(--c-bg-gradient);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100dvh;line-height:1.45}#root{max-width:520px;min-height:100dvh;margin:0 auto}img,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;font-weight:700;line-height:1.2}.t-hero{font-family:var(--font-display);font-size:var(--text-hero);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.t-display{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.t-h1{font-size:var(--text-h1);font-weight:800}.t-h2{font-size:var(--text-h2);font-weight:700}.t-soft{color:var(--c-ink-soft)}.t-faint{color:var(--c-ink-faint)}.t-small{font-size:var(--text-small)}.t-micro{font-size:var(--text-micro);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.page{padding:calc(env(safe-area-inset-top) + 14px) var(--page-pad) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px);animation:.28s cubic-bezier(.3,.8,.4,1) both page-in}.page--bare{padding-bottom:24px}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rise{animation:.36s cubic-bezier(.3,.8,.4,1) both page-in;animation-delay:calc(var(--i,0) * 50ms)}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stack{gap:var(--space-3);flex-direction:column;display:flex}.scroll-x{gap:var(--space-2);scrollbar-width:none;margin:0 calc(-1 * var(--page-pad));padding:0 var(--page-pad);display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.card{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:var(--space-4)}.card--flat{box-shadow:none;background:var(--c-surface-2)}.card--press{transition:transform var(--t-fast)}.card--press:active{transform:scale(.98)}.btn{border-radius:var(--r-button);font-weight:700;font-size:var(--text-body);min-height:50px;transition:transform var(--t-fast), opacity var(--t-fast);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:14px 22px;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn--solid{background:var(--c-solid);color:var(--c-solid-ink)}.btn--brand{background:var(--c-brand);color:var(--c-brand-ink)}.btn--outline{border:1.5px solid var(--c-line);color:var(--c-ink);background:0 0}.btn--ghost{background:var(--c-surface-2);color:var(--c-ink)}.btn--danger{color:var(--c-danger);background:0 0}.btn--sm{min-height:38px;font-size:var(--text-small);padding:8px 16px}.btn--block{width:100%}.icon-btn{background:var(--c-surface);width:42px;height:42px;color:var(--c-ink);box-shadow:var(--shadow-card);transition:transform var(--t-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.92)}.icon-btn--flat{background:var(--c-surface-2);box-shadow:none}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:var(--text-small);color:var(--c-ink-soft);font-weight:600}.input{background:var(--c-surface);border:1.5px solid var(--c-line);border-radius:var(--r-input);width:100%;transition:border-color var(--t-fast);outline:none;padding:13px 14px}.input::placeholder{color:var(--c-ink-faint)}.input:focus{border-color:var(--c-ink)}textarea.input{resize:none;min-height:92px}.input-error{font-size:var(--text-small);color:var(--c-danger)}.seg{background:var(--c-surface-2);border-radius:var(--r-button);gap:2px;padding:3px;display:flex}.seg>button{border-radius:var(--r-button);font-size:var(--text-small);color:var(--c-ink-soft);transition:background var(--t-fast), color var(--t-fast);white-space:nowrap;flex:1;padding:9px 10px;font-weight:600}.seg>button[aria-pressed=true]{background:var(--c-solid);color:var(--c-solid-ink);box-shadow:var(--shadow-card)}.stepper{background:var(--c-surface-2);border-radius:var(--r-button);align-items:center;gap:4px;padding:4px;display:inline-flex}.stepper>button{background:var(--c-surface);width:34px;height:34px;box-shadow:var(--shadow-card);border-radius:50%;justify-content:center;align-items:center;display:flex}.stepper>button:active{transform:scale(.9)}.stepper>span{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-weight:700}.chip{background:var(--c-surface-2);color:var(--c-ink-soft);border-radius:var(--r-button);font-size:var(--text-small);white-space:nowrap;transition:transform var(--t-fast);align-items:center;gap:6px;padding:7px 13px;font-weight:600;display:inline-flex}.chip:active{transform:scale(.95)}.chip--on{background:var(--c-solid);color:var(--c-solid-ink)}.tabbar{width:100%;max-width:520px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:8px var(--space-4) calc(8px + env(safe-area-inset-bottom));background:var(--c-surface);border-top:1px solid var(--c-line);z-index:40;grid-template-columns:1fr 1fr 84px 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 16px -8px #00000040}.tabbar__item{color:var(--c-ink-faint);font-size:var(--text-micro);transition:color var(--t-fast), transform var(--t-fast);flex-direction:column;align-items:center;gap:3px;font-weight:600;display:flex}.tabbar__item:active{transform:scale(.92)}.tabbar__item[aria-current=page]{color:var(--c-ink)}.tabbar__fab{background:var(--c-solid);width:62px;height:62px;color:var(--c-solid-ink);box-shadow:var(--shadow-float);transition:transform var(--t-spring);border-radius:50%;justify-content:center;align-items:center;margin:-26px auto 0;display:flex}.tabbar__fab:active{transform:scale(.9)rotate(-6deg)}.sheet-overlay{background:var(--c-overlay);z-index:50;animation:.18s both fade-in;position:fixed;inset:0}.sheet{background:var(--c-bg);width:100%;max-width:520px;max-height:88dvh;padding:10px var(--page-pad) calc(20px + env(safe-area-inset-bottom));z-index:51;border-radius:26px 26px 0 0;animation:.3s cubic-bezier(.3,.9,.4,1) both sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet:before{content:"";background:var(--c-ink-faint);opacity:.5;border-radius:2px;width:40px;height:4px;margin:2px auto 14px;display:block}@keyframes sheet-up{0%{opacity:.4;transform:translate(-50%)translateY(40%)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast-wrap{top:calc(env(safe-area-inset-top) + 12px);z-index:60;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--c-solid);color:var(--c-solid-ink);font-size:var(--text-small);box-shadow:var(--shadow-float);border-radius:16px;align-items:center;gap:10px;padding:12px 16px;font-weight:600;animation:.26s cubic-bezier(.3,1.2,.4,1) both toast-in;display:flex}.toast--error{background:var(--c-danger);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)scale(.95)}to{opacity:1;transform:none}}.ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.ring svg{transform:rotate(-90deg)}.ring circle{fill:none}.ring__track{stroke:var(--c-ring-track)}.ring__bar{transition:stroke-dashoffset .7s cubic-bezier(.3,.8,.3,1)}.ring__center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.bar{background:var(--c-ring-track);border-radius:3px;height:6px;overflow:hidden}.bar>div{border-radius:3px;height:100%;transition:width .6s cubic-bezier(.3,.8,.3,1)}.skeleton{border-radius:var(--r-chip);background:linear-gradient(100deg, var(--c-surface-2) 40%, color-mix(in srgb, var(--c-surface-2) 50%, var(--c-surface)) 50%, var(--c-surface-2) 60%);background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.lrow{align-items:center;gap:var(--space-3);padding:12px 0;display:flex}.lrow+.lrow{border-top:1px solid var(--c-line)}.toggle{background:var(--c-ring-track);width:48px;height:28px;transition:background var(--t-fast);border-radius:999px;flex-shrink:0;align-items:center;padding:3px;display:inline-flex}.toggle--on{background:var(--c-brand)}.toggle__knob{width:22px;height:22px;transition:transform var(--t-spring);background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d}.toggle--on .toggle__knob{transform:translate(20px)}.toggle:disabled{opacity:.4}.wheelfield{justify-content:center;align-items:center;height:220px;display:flex;position:relative;-webkit-mask-image:linear-gradient(#0000,#000 22% 78%,#0000);mask-image:linear-gradient(#0000,#000 22% 78%,#0000)}.wheelfield__row{justify-content:center;align-items:stretch;gap:2px;display:flex}.wheelfield__band{background:var(--c-surface-2);pointer-events:none;border-radius:12px;height:44px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.wheelfield__dot{font-family:var(--font-display);align-items:center;padding-bottom:4px;font-size:1.4rem;font-weight:600;display:flex}.wheelfield__unit{color:var(--c-ink-soft);font-weight:600;font-size:var(--text-small);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.wheel{scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:220px;overflow-y:scroll}.wheel::-webkit-scrollbar{display:none}.wheel__item{scroll-snap-align:center;height:44px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--c-ink);justify-content:center;align-items:center;font-size:1.35rem;font-weight:600;display:flex}.swipe{max-height:200px;transition:max-height .24s,opacity .24s;position:relative;overflow:hidden}.swipe--removing{opacity:0;max-height:0}.swipe__del{background:var(--c-danger);color:#fff;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.swipe__fg{background:var(--c-surface);will-change:transform;position:relative}.rec-dot{background:#fff;border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.analyze-pulse{background:var(--c-brand);width:76px;height:76px;color:var(--c-brand-ink);border-radius:50%;justify-content:center;align-items:center;animation:1.2s ease-in-out infinite pulse;display:flex}@keyframes pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--c-brand) 50%, transparent);transform:scale(1)}50%{transform:scale(1.06);box-shadow:0 0 0 18px #0000}}.pop-check{animation:.5s cubic-bezier(.3,1.6,.4,1) both pop-check}@keyframes pop-check{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
