@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-ext-wght-normal-2GMQGZDT.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-wght-normal-F76KYTZG.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-greek-wght-normal-NNUWM3E7.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-vietnamese-wght-normal-HA5TFICD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-ext-wght-normal-6XGHMEDV.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-wght-normal-73PUZEUA.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f1f2ee;--card: #ffffff;--ink: #141714;--muted: #5c625c;--muted-2: #6b716b;--line: #e3e5df;--line-soft: #eef0ea;--field: #d5d8d1;--track: #eef0ea;--accent: #ff5a1f;--protein: #2f6bdb;--fat: #f2a33a;--carbs: #0b4f45;--over-bg: #ffe4d8;--over-fg: #a3330a;--under-bg: #e6f0ec;--under-fg: #0b4f45;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tab-h: 58px;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope Variable,system-ui,-apple-system,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;overflow-x:clip}::placeholder{color:#a9ada6;opacity:1}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}h1,h2{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.screen{max-width:560px;margin:0 auto;min-height:100dvh;padding:calc(var(--safe-top) + 14px) 20px calc(var(--tab-h) + var(--safe-bottom) + 28px);display:flex;flex-direction:column;gap:16px}.screen.no-tabs{padding-bottom:calc(var(--safe-bottom) + 28px)}.screen.with-actions{padding-bottom:calc(var(--safe-bottom) + 150px)}.screen.with-actions.with-tabs{padding-bottom:calc(var(--tab-h) + var(--safe-bottom) + 110px)}.title-xl{font-size:34px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.title-l{font-size:30px;font-weight:800;letter-spacing:-.02em}.title-m{font-size:20px;font-weight:800}.muted{color:var(--muted)}.label{font-size:13px;font-weight:700;color:var(--muted);padding-left:4px}.small{font-size:13px;font-weight:600;color:var(--muted)}.card{background:var(--card);border-radius:24px;padding:16px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column}.icon-btn{width:44px;height:44px;border-radius:22px;border:none;background:var(--card);display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--ink)}.icon-btn.dark{background:var(--ink);color:#fff}.icon-btn.soft{background:var(--bg)}.btn{height:56px;border-radius:18px;border:none;background:var(--ink);color:#fff;font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:0 16px}.btn.secondary{height:52px;border-radius:16px;background:var(--card);color:var(--ink);font-size:15px}.btn.soft{height:48px;border-radius:16px;background:var(--bg);color:var(--ink);font-size:15px}.btn.danger{background:transparent;color:var(--over-fg);height:48px;font-size:15px}.link{font-size:14px;font-weight:700;text-decoration:underline;background:none;border:none;padding:0}.back{display:inline-flex;align-items:center;gap:4px;height:44px;font-size:16px;font-weight:700;background:none;border:none;padding:0}.input{height:52px;width:100%;border-radius:16px;border:1px solid var(--field);padding:0 16px;font-size:17px;font-weight:700;background:var(--card);outline:none;appearance:none}.input:focus{border-color:var(--ink)}.select{background:#f7f8f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235c625c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:36px}.input-box{min-width:0;display:flex;align-items:center;gap:6px;height:52px;border-radius:16px;border:1px solid var(--field);padding:0 16px;background:var(--card)}.input-box:focus-within{border-color:var(--ink)}.input-box input{flex:1;min-width:0;border:none;padding:0;background:transparent;outline:none;font-size:22px;font-weight:800}.input-box .unit{font-size:15px;font-weight:700;color:var(--muted)}.macro-field{background:var(--card);border-radius:16px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--field)}.macro-field:focus-within{border-color:var(--ink)}.macro-field label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.macro-field .val{display:flex;align-items:baseline;gap:4px}.macro-field input{width:100%;min-width:0;border:none;padding:0;font-size:24px;font-weight:800;background:transparent;outline:none}.macro-field .unit{font-size:14px;font-weight:700;color:var(--muted)}.error{font-size:13px;font-weight:700;color:var(--over-fg);padding-left:4px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;background:var(--line);border-radius:16px;padding:4px}.seg button{height:40px;border-radius:12px;border:none;background:transparent;font-size:14px;font-weight:700;padding:0 4px}.seg button[aria-pressed=true]{background:var(--card);box-shadow:0 1px 2px #0000000f}.toggle-row{background:var(--card);border:none;border-radius:18px;padding:12px 14px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%}.toggle-row .t{font-size:15px;font-weight:700;display:block}.toggle-row .s{font-size:13px;font-weight:600;color:var(--muted);display:block;margin-top:2px}.switch{width:52px;height:32px;border-radius:16px;position:relative;flex:none;background:#c9cdc6;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:13px;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .15s}.switch.on{background:var(--ink)}.switch.on:after{left:23px}.dot{width:8px;height:8px;border-radius:4px;flex:none;display:inline-block}.dot.p{background:var(--protein)}.dot.f{background:var(--fat)}.dot.c{background:var(--carbs)}.bar{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.bar>div{height:100%;border-radius:4px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border-radius:12px;padding:7px 11px;font-size:13px;font-weight:700}.pill{height:28px;padding:0 10px;border-radius:10px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;flex:none}.pill.over{background:var(--over-bg);color:var(--over-fg)}.pill.under{background:var(--under-bg);color:var(--under-fg)}.pill.neutral{background:var(--bg);color:var(--muted)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(var(--tab-h) + var(--safe-bottom));padding:6px max(12px,(100vw - 560px) / 2) var(--safe-bottom);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted-2);font-size:11px;font-weight:600}.tabbar a.active{color:var(--ink);font-weight:700}.actions{position:fixed;left:0;right:0;bottom:0;z-index:15;padding:12px max(20px,(100vw - 520px) / 2) calc(var(--safe-bottom) + 14px);background:linear-gradient(to bottom,rgba(241,242,238,0),var(--bg) 18px);display:flex;flex-direction:column;gap:10px}.actions.above-tabs{bottom:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:12px}.backdrop{position:fixed;inset:0;z-index:40;background:#14171473;border:none;padding:0;animation:fade .2s ease}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-width:560px;margin:0 auto;max-height:92dvh;overflow-y:auto;background:var(--card);border-radius:32px 32px 0 0;padding:10px 20px calc(var(--safe-bottom) + 20px);display:flex;flex-direction:column;gap:16px;animation:rise .25s cubic-bezier(.2,.8,.2,1)}.sheet .handle{width:40px;height:5px;border-radius:3px;background:var(--field);align-self:center}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:0}}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(var(--safe-top) + 12px);z-index:60;background:var(--ink);color:#fff;font-size:15px;font-weight:700;padding:12px 18px;border-radius:16px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #0000002e;animation:fade .2s ease;white-space:nowrap}.empty{border:1.5px dashed #b9bdb5;border-radius:22px;padding:16px;font-size:14px;font-weight:600;color:var(--muted);line-height:1.45}.list{background:var(--card);border-radius:24px;padding:2px 16px;display:flex;flex-direction:column}.list>*+*{border-top:1px solid var(--line-soft)}
