:root{--bg:#0b0d10;--surface:#12161b;--surface-2:#1a2027;--line:#232a33;--text:#eef1f4;--muted:#8a95a3;--accent:#4ade80;--accent-ink:#052e16;--protein:#60a5fa;--carbs:#fbbf24;--fat:#f472b6;--danger:#f87171;--radius:16px;--tab-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eceef2;--line:#dfe3e8;--text:#14181d;--muted:#5f6b7a;--accent:#16a34a;--accent-ink:#fff;--protein:#2563eb;--carbs:#d97706;--fat:#db2777;--danger:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.4;cursor:default}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.pad{padding:8px 4px}.warn{color:var(--carbs)}.app{max-width:560px;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(var(--tab-h) + env(safe-area-inset-bottom) + 28px);margin:0 auto}.screen{flex-direction:column;gap:14px;display:flex}.screen-head{padding:10px 2px 2px}.screen-head h1{letter-spacing:-.02em;font-size:28px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.tabbar{z-index:20;max-width:560px;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr 1fr;align-items:center;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button:not(.fab){color:var(--muted);flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:11px;display:flex}.tabbar button.on{color:var(--text)}.fab{background:var(--accent);width:58px;height:58px;color:var(--accent-ink);border-radius:50%;place-items:center;margin:-22px 14px 0;display:grid;box-shadow:0 8px 24px #4ade8059}.fab:active{transform:scale(.94)}.day-nav{grid-template-columns:44px 1fr 44px;align-items:center;padding-top:6px;display:grid}.day-title{text-align:center;color:inherit}.day-title:disabled{opacity:1}.day-title h1{letter-spacing:-.01em;font-size:22px}.day-title span{color:var(--accent);font-size:12px;display:block}.icon-btn{width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;display:grid}.icon-btn:active{background:var(--surface-2)}.icon-btn.danger{color:var(--danger)}.banner{text-align:left;border-radius:var(--radius);border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.banner span{color:var(--muted);font-size:13px}.ring-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.ring{flex:none;width:132px;height:132px;position:relative}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:12px}.ring-fill{fill:none;stroke:var(--accent);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .5s}.ring-fill.over{stroke:var(--danger)}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;line-height:1}.ring-center span{color:var(--muted);margin-top:4px;font-size:12px}.ring-stats{flex:1;justify-content:space-around;margin:0;display:flex}.ring-stats div{text-align:center}.ring-stats dt{color:var(--muted);font-size:12px}.ring-stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:650}.bars{gap:12px;margin-top:18px;display:grid}.bar-top{color:var(--muted);justify-content:space-between;margin-bottom:5px;font-size:13px;display:flex}.bar-top b{color:var(--text);font-variant-numeric:tabular-nums}.bar-track{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.bar-fill{border-radius:99px;height:100%;transition:width .5s}.copy-yesterday{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--accent);justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:600;display:flex}.meal-head{align-items:center;gap:10px;padding:6px 2px;display:flex}.meal-head h2{margin-right:auto;font-size:17px}.meal-head .muted{font-variant-numeric:tabular-nums;font-size:14px}.meal-head .muted:empty{display:none}.link-btn{color:var(--accent);padding:8px 4px;font-weight:600}.link-btn.small{font-size:13px;font-weight:500}.add-btn{background:var(--surface-2);width:40px;height:40px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.add-btn:active{background:var(--accent);color:var(--accent-ink)}.add-btn.small{width:34px;height:34px}.list{flex-direction:column;display:flex}.card.list{padding:4px 16px}.row{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:10px;width:100%;padding:11px 0;display:flex}.row:last-child{border-bottom:0}.row-main{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.row-title{white-space:nowrap;text-overflow:ellipsis;font-weight:560;overflow:hidden}.row-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.row-kcal{font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-weight:600}.pills{gap:6px;display:inline-flex}.pills .p{color:var(--protein)}.pills .c{color:var(--carbs)}.pills .f{color:var(--fat)}.backdrop{z-index:40;background:#0000008c;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:560px;height:94dvh;animation:.22s cubic-bezier(.2,.8,.2,1) rise;display:flex;position:relative}@media (width>=600px){.backdrop{align-items:center}.sheet{border-bottom:1px solid var(--line);border-radius:22px;height:min(760px,92dvh)}}.sheet-head{grid-template-columns:56px 1fr 80px;align-items:center;padding:8px 8px 4px;display:grid}.sheet-head h2{text-align:center;font-size:17px}.sheet-action{justify-content:flex-end;display:flex}.sheet-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;padding:8px 16px 24px;display:flex;position:relative;overflow-y:auto}.sheet-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes fade{0%{opacity:0}}.searchbar{background:var(--surface);border:1px solid var(--line);height:52px;color:var(--muted);border-radius:14px;align-items:center;gap:8px;padding:0 4px 0 14px;display:flex}.searchbar:focus-within{border-color:var(--accent)}.searchbar input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:17px}.scan-btn{background:var(--surface-2);width:44px;height:44px;color:var(--accent);border-radius:11px;place-items:center;display:grid}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-actions button{background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;gap:8px;height:46px;font-size:15px;font-weight:560;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tabs button{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:15px;font-weight:560}.tabs button.on{color:var(--text);border-color:var(--accent)}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:8px;margin-bottom:2px;font-size:12px;display:flex}.empty{text-align:center;gap:6px;padding:28px 12px;display:grid}.notice{background:color-mix(in srgb, var(--carbs) 14%, transparent);color:var(--text);border-radius:12px;padding:10px 12px;font-size:14px}.overlay{background:color-mix(in srgb, var(--bg) 80%, transparent);place-items:center;font-weight:600;display:grid;position:absolute;inset:0}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chips.meals{justify-content:flex-start}.chip{background:var(--surface-2);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:560}.chip.on{background:var(--accent);color:var(--accent-ink)}.amount .chips{gap:6px}.amount .chip{padding:8px 12px}.seg{background:var(--surface-2);border-radius:12px;gap:3px;padding:3px;display:flex}.seg button{height:38px;color:var(--muted);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:560;display:flex}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000004d}.seg.tight button{height:34px;font-size:13px}.amount{gap:12px;display:grid}.stepper{grid-template-columns:56px 1fr 56px;align-items:center;gap:10px;display:grid}.stepper input{text-align:center;letter-spacing:-.02em;background:var(--surface-2);font-variant-numeric:tabular-nums;border:2px solid #0000;border-radius:14px;outline:0;width:100%;height:64px;font-size:36px;font-weight:650}.stepper input:focus{border-color:var(--accent)}.round{background:var(--surface-2);border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.round:active{background:var(--accent);color:var(--accent-ink)}.food-head h3{letter-spacing:-.01em;font-size:22px}.totals{gap:14px;display:grid}.big-kcal{text-align:center}.big-kcal strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:44px}.big-kcal span{color:var(--muted)}.macro-grid{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.macro-grid b{font-variant-numeric:tabular-nums;font-size:22px;display:block}.macro-grid span{color:var(--muted);font-size:12px}.primary{background:var(--accent);height:48px;color:var(--accent-ink);border-radius:13px;padding:0 20px;font-weight:700}.primary.big{width:100%;height:54px;font-size:17px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row button{background:var(--surface-2);border-radius:11px;padding:10px 14px;font-size:14px;font-weight:560}.danger-link{color:var(--danger);text-align:left;padding:6px 0;font-weight:560}.form{gap:12px;display:grid}.form h2{font-size:18px}.form a{color:var(--accent)}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.three{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.three .field input{padding-right:26px}.three .field-input:has(em) input{padding-right:26px}.field{color:var(--muted);gap:5px;font-size:13px;display:grid}.field-input{position:relative}.field input,.field select{background:var(--surface-2);width:100%;height:48px;color:var(--text);border:2px solid #0000;border-radius:12px;outline:0;padding:0 12px;font-size:17px}.field input:focus,.field select:focus{border-color:var(--accent)}.field-input em{color:var(--muted);pointer-events:none;font-size:14px;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.field-input:has(em) input{padding-right:52px}details summary{cursor:pointer;color:var(--accent);padding:6px 0;font-weight:600}.calc{gap:12px;margin-top:10px;display:grid}.scanner{aspect-ratio:4/3;background:#000;border-radius:18px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scan-frame{border:2px solid var(--accent);border-radius:14px;position:absolute;inset:22% 10%;box-shadow:0 0 0 999px #00000059}.manual{gap:10px;display:grid}.avg-grid{text-align:center;grid-template-columns:repeat(4,1fr);margin-top:8px;display:grid}.avg-grid b{font-variant-numeric:tabular-nums;font-size:20px;display:block}.avg-grid span{color:var(--muted);font-size:12px}.hist{grid-template-columns:96px 1fr 48px;gap:10px;display:grid}.hist-day{color:var(--muted);font-size:14px}.hist-bar{background:var(--surface-2);border-radius:99px;height:10px;position:relative;overflow:hidden}.hist-fill{background:var(--accent);border-radius:99px;position:absolute;inset:0 auto 0 0}.hist-fill.over{background:var(--danger)}.hist-goal{background:var(--text);opacity:.5;z-index:1;width:2px;position:absolute;top:0;bottom:0}.hist-kcal{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.toast{z-index:100;width:max-content;left:0;right:0;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 20px);background:var(--text);max-width:min(520px,100vw - 32px);color:var(--bg);border-radius:14px;align-items:center;gap:16px;margin:0 auto;padding:12px 16px;font-size:14px;font-weight:560;animation:.2s rise;display:flex;position:fixed;box-shadow:0 10px 30px #0006}.toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.toast button{color:var(--accent);filter:saturate(1.4)brightness(.8);text-transform:uppercase;font-size:13px;font-weight:800}:root{--water:#38bdf8}@media (prefers-color-scheme:light){:root{--water:#0284c7}}.ai-cta{text-align:left;color:var(--accent-ink);background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, var(--water)));border-radius:16px;align-items:center;gap:14px;padding:14px 16px;display:flex}.ai-cta span{flex-direction:column;min-width:0;display:flex}.ai-cta b{font-size:17px}.ai-cta em{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-style:normal;overflow:hidden}.chat-input{resize:none;background:var(--surface);border:2px solid var(--line);width:100%;color:var(--text);font:inherit;border-radius:14px;outline:0;padding:14px;font-size:17px;line-height:1.4}.chat-input:focus{border-color:var(--accent)}.examples{gap:8px;display:grid}.examples button{text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:10px 12px;font-size:14px}.plain-input{background:var(--surface-2);width:100%;height:48px;color:var(--text);border:2px solid #0000;border-radius:12px;outline:0;padding:0 12px;font-size:16px}.plain-input:focus{border-color:var(--accent)}.steps{color:var(--muted);gap:6px;margin:0;padding-left:20px;display:grid}.steps a,.form a{color:var(--accent)}.spinner.inline{vertical-align:-2px;margin-right:6px;display:inline-block}.items{gap:10px;display:grid}.item{gap:10px;padding:14px;display:grid}.item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.item-name{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.badge{background:var(--surface-2);color:var(--muted);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:650}.badge.warn-badge{background:color-mix(in srgb, var(--carbs) 20%, transparent);color:var(--carbs)}.icon-btn.sm{flex:none;width:34px;height:34px}.match{background:var(--surface-2);width:100%;height:44px;color:var(--text);text-overflow:ellipsis;border:0;border-radius:11px;padding:0 10px;font-size:14px}.item-bottom{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grams{width:96px;position:relative}.grams input{background:var(--surface-2);width:100%;height:42px;color:var(--text);border:2px solid #0000;border-radius:11px;outline:0;padding:0 28px 0 12px;font-size:17px;font-weight:600}.grams input:focus{border-color:var(--accent)}.grams em{color:var(--muted);pointer-events:none;font-style:normal;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.item-kcal{font-variant-numeric:tabular-nums;font-weight:650}.item .pills{margin-left:auto;font-size:13px}.counters{gap:14px;display:grid}.counters-head{justify-content:space-between;align-items:center;display:flex}.counters-head h2{font-size:17px}.counter{grid-template-columns:1fr 40px 40px;align-items:center;gap:8px;display:grid}.counter-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.counter-name{align-items:center;gap:6px;font-weight:600;display:inline-flex}.counter-amt{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.counter-amt b{color:var(--text)}.round.small{width:40px;height:40px}.round.add{color:var(--water)}.bar-fill.done{background:var(--accent)!important}.nutrients{padding:0}.nutrients summary{color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:16px;font-weight:650;list-style:none;display:flex}.nutrients summary::-webkit-details-marker{display:none}.nutrients>:not(summary){margin-left:16px;margin-right:16px}.nutrients>p{margin-bottom:16px}.nut-grid{gap:12px;margin-bottom:14px;display:grid}.nut-top{justify-content:space-between;margin-bottom:4px;font-size:14px;display:flex}.nut-top b{font-variant-numeric:tabular-nums}.nut-top em{font-size:12px;font-style:normal}.bar-track.thin{height:5px}.check{color:var(--muted);align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent);margin-top:1px}.torch{color:#fff;background:#0000008c;border-radius:99px;padding:8px 14px;font-size:13px;font-weight:600;position:absolute;bottom:12px;right:12px}.torch[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.ai-cta.alt{color:var(--text);background:var(--surface);border:1px solid var(--line)}.ai-cta.alt svg{color:var(--carbs)}.photo-btn{border:1.5px dashed var(--line);height:52px;color:var(--accent);border-radius:14px;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.photo-btn:disabled{opacity:.5}.photo-preview{background:#000;border-radius:14px;position:relative;overflow:hidden}.photo-preview img{object-fit:cover;width:100%;max-height:260px;display:block}.photo-preview .icon-btn{color:#fff;background:#0009;position:absolute;top:8px;right:8px}.idea{gap:10px;display:grid}.idea h3{letter-spacing:-.01em;font-size:19px}.idea-macros{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.idea-macros strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px}.idea-macros>span:not(.pills){color:var(--muted)}.idea-macros .pills{margin-left:auto;font-size:14px}.ingredients{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.ingredients li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;display:flex}.ingredients li:last-child{border-bottom:0}.steps-box summary{cursor:pointer;color:var(--accent);padding:4px 0;font-weight:600}.steps-box ol{gap:6px;margin:6px 0 0;padding-left:20px;font-size:14px;display:grid}.notice.small{font-size:13px}.link-btn.inline{padding:0;display:inline}
