@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+2019,U+2026}@font-face{font-family:Young Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./young-serif-latin-400-normal-DIMmNPI9.woff2)format("woff2");unicode-range:U+??,U+2019,U+2026,U+20AC}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ground:#eef5f8;--surface:#fff;--raised:#fff;--sunken:#e1ebf0;--ink:#0f2733;--ink-2:#3f5863;--ink-3:#4f6975;--line:#cddce4;--line-strong:#6f8995;--leaf:#187c4e;--leaf-text:#176b45;--leaf-tint:#d6f1e3;--on-leaf:#fff;--sky:#1b6fa8;--sky-text:#175c8c;--sky-tint:#dcedf8;--on-sky:#fff;--bar:#0f3d52;--on-bar:#fff;--on-bar-2:#b7d2df;--bar-active:#7fe0b4;--tomato:#b8301b;--tomato-fill:#b8301b;--tomato-tint:#fce9e3;--hoy:#b0440a;--hoy-fill:#b0440a;--hoy-tint:#fdeadb;--on-urgent:#fff;--amber:#8a5a00;--amber-fill:#f4be4a;--amber-tint:#fbefc9;--on-amber:#0f2733;--olive:#5f6d0e;--olive-fill:#e0e67f;--olive-tint:#f0f3cf;--focus:#1b6fa8;--shadow-color:15 39 51;--toast-bg:#0f2733;--toast-ink:#eef5f8;--toast-accent:#7fe0b4;--f-serif:"Young Serif", Georgia, "Times New Roman", serif;--f-display:"Figtree Variable", "Segoe UI Variable Display", system-ui, sans-serif;--f-body:"Figtree Variable", "Segoe UI", Roboto, system-ui, sans-serif;--t-display:2.125rem;--t-title:1.5rem;--t-section:.9375rem;--t-sticker:.875rem;--t-body:1rem;--t-row:1.0625rem;--t-meta:.875rem;--t-label:.8125rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-sm:6px;--r-md:12px;--r-lg:20px;--r-full:999px;--gutter:20px;--e1:0 1px 2px rgb(var(--shadow-color) / .08), 0 2px 6px rgb(var(--shadow-color) / .06);--e2:0 4px 12px rgb(var(--shadow-color) / .12), 0 1px 2px rgb(var(--shadow-color) / .08);--e-sticker:0 1px 1px rgb(var(--shadow-color) / .18), inset 0 0 0 1px #ffffff59;--e-float:0 8px 24px -8px rgb(var(--shadow-color) / .18), 0 2px 6px rgb(var(--shadow-color) / .08);--deep:#0f3d52;--on-deep:#fff;--on-deep-2:#b7d2df;--deep-accent:#7fe0b4;--d-instant:.1s;--d-fast:.16s;--d-base:.24s;--d-slow:.4s;--e-out:cubic-bezier(.23, 1, .32, 1);--e-in-out:cubic-bezier(.77, 0, .175, 1);--e-sheet:cubic-bezier(.32, .72, 0, 1);--tabbar:calc(64px + env(safe-area-inset-bottom))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0b1a22;--surface:#13262f;--raised:#1b3440;--sunken:#07131a;--ink:#e8f2f6;--ink-2:#a8c0cb;--ink-3:#8ca5b1;--line:#23404c;--line-strong:#5f7d8a;--leaf:#3dbe86;--leaf-text:#7fe0b4;--leaf-tint:#153b31;--on-leaf:#06201a;--sky:#5fb6ec;--sky-text:#8ecdf4;--sky-tint:#163a50;--on-sky:#06202e;--bar:#0b1a22;--on-bar:#e8f2f6;--on-bar-2:#a8c0cb;--bar-active:#7fe0b4;--tomato:#ff8d77;--tomato-fill:#e8664f;--tomato-tint:#3f2320;--hoy:#ffa868;--hoy-fill:#d96a1d;--hoy-tint:#3f2a18;--on-urgent:#06201a;--amber:#f5c85e;--amber-fill:#f5c85e;--amber-tint:#3c3114;--on-amber:#06201a;--olive:#d3dd62;--olive-fill:#30371a;--olive-tint:#30371a;--focus:#7fe0b4;--shadow-color:0 0 0;--toast-bg:#1b3440;--toast-ink:#e8f2f6;--toast-accent:#7fe0b4;--e1:none;--e2:0 4px 12px #0006;--e-sticker:0 1px 1px #00000080;--e-float:0 8px 24px -8px #0009;--deep:#14394a;--on-deep:#e8f2f6;--on-deep-2:#a8c0cb;--deep-accent:#7fe0b4}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#0b1a22;--surface:#13262f;--raised:#1b3440;--sunken:#07131a;--ink:#e8f2f6;--ink-2:#a8c0cb;--ink-3:#8ca5b1;--line:#23404c;--line-strong:#5f7d8a;--leaf:#3dbe86;--leaf-text:#7fe0b4;--leaf-tint:#153b31;--on-leaf:#06201a;--sky:#5fb6ec;--sky-text:#8ecdf4;--sky-tint:#163a50;--on-sky:#06202e;--bar:#0b1a22;--on-bar:#e8f2f6;--on-bar-2:#a8c0cb;--bar-active:#7fe0b4;--tomato:#ff8d77;--tomato-fill:#e8664f;--tomato-tint:#3f2320;--hoy:#ffa868;--hoy-fill:#d96a1d;--hoy-tint:#3f2a18;--on-urgent:#06201a;--amber:#f5c85e;--amber-fill:#f5c85e;--amber-tint:#3c3114;--on-amber:#06201a;--olive:#d3dd62;--olive-fill:#30371a;--olive-tint:#30371a;--focus:#7fe0b4;--shadow-color:0 0 0;--toast-bg:#1b3440;--toast-ink:#e8f2f6;--toast-accent:#7fe0b4;--e1:none;--e2:0 4px 12px #0006;--e-sticker:0 1px 1px #00000080;--e-float:0 8px 24px -8px #0009;--deep:#14394a;--on-deep:#e8f2f6;--on-deep-2:#a8c0cb;--deep-accent:#7fe0b4}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font:400 var(--t-body) / 1.5 var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;caret-color:var(--leaf);accent-color:var(--leaf);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;margin:0}::selection{background:var(--sky-tint);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0}p{margin:0}a{color:var(--leaf-text);text-underline-offset:3px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar) + var(--s-6))}.screen-head{padding:calc(var(--s-4) + env(safe-area-inset-top)) var(--s-4) var(--s-2);justify-content:space-between;align-items:baseline;gap:var(--s-3);display:flex}.screen-head h1{font-size:var(--t-display);letter-spacing:-.02em;font-weight:700;line-height:1.1}.screen-head .total{color:var(--ink-2);font-size:var(--t-meta)}main{padding:0 var(--s-4) var(--s-6)}.screen{animation:screen-in .14s var(--e-out)}@keyframes screen-in{0%{opacity:.7}}.loading{align-content:center;place-items:center;gap:var(--s-4);min-height:100dvh;display:grid}.loading strong{font:600 var(--t-display) var(--f-display);color:var(--leaf-text)}.loading .mark-sticker{animation:mark-in var(--d-slow) var(--e-out) both;transform-box:fill-box;transform-origin:50%}@keyframes mark-in{0%{opacity:0;transform:rotate(-20deg)}}.demo-banner{align-items:center;gap:var(--s-2);margin:0 var(--s-4) var(--s-2);min-height:32px;padding:0 var(--s-3);background:var(--amber-tint);color:var(--amber);border-radius:var(--r-sm);font-size:var(--t-meta);font-weight:600;display:flex}.tabs{z-index:20;height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.tabs .tab{min-height:56px;color:var(--ink-2);font-size:var(--t-label);cursor:pointer;transition:color var(--d-fast) var(--e-out);background:0 0;border:0;align-content:center;justify-items:center;gap:4px;font-weight:600;display:grid;position:relative}.tabs .tab[aria-current=page]{color:var(--leaf-text);font-weight:700}.tabs .tab-icon{width:24px;height:24px;position:relative}.tabs .tab-icon svg{transition:opacity .12s var(--e-out);position:absolute;inset:0}.tabs .tab-icon .on{opacity:0}.tabs .tab[aria-current=page] .tab-icon .on{opacity:1}.tabs .tab[aria-current=page] .tab-icon .off{opacity:0}.tabs .indicator{top:4px;left:calc(var(--i) * 20% + 10% - 16px);background:var(--leaf);width:32px;height:3px;transition:left var(--d-fast) var(--e-out);border-radius:2px;position:absolute}.badge{border-radius:var(--r-full);background:var(--tomato-fill);min-width:18px;height:18px;color:var(--on-urgent);font:600 12px/18px var(--f-display);text-align:center;animation:badge-pop var(--d-base) var(--e-out);padding:0 5px;position:absolute;top:-6px;left:18px}@keyframes badge-pop{50%{transform:scale(1.25)}}.segmented{margin:var(--s-2) 0 var(--s-4);background:var(--sunken);border-radius:var(--r-md);grid-auto-columns:1fr;grid-auto-flow:column;min-height:44px;padding:4px;display:grid;position:relative}.segmented .thumb{top:4px;bottom:4px;left:calc(4px + var(--i) * (100% - 8px) / var(--n));width:calc((100% - 8px) / var(--n));background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--e1);transition:left var(--d-fast) var(--e-out);position:absolute}.segmented button{z-index:1;min-height:40px;color:var(--ink-2);font-size:var(--t-label);cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 6px;font-weight:600;display:inline-flex;position:relative}.segmented button[aria-pressed=true]{color:var(--ink);font-weight:700}.segmented.wrap{grid-template-columns:repeat(3,1fr);grid-auto-flow:row;gap:4px}.segmented.wrap .thumb{display:none}.segmented.wrap button[aria-pressed=true]{background:var(--surface);box-shadow:var(--e1);border-radius:var(--r-sm)}.sticker{border-radius:var(--r-sm);height:28px;font:600 var(--t-sticker)/1 var(--f-display);letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:var(--e-sticker);transition:transform var(--d-fast) var(--e-out), opacity var(--d-fast) var(--e-out);align-items:center;gap:4px;padding:0 10px;display:inline-flex}.sticker.sm{height:20px;padding:0 6px;font-size:12px}.sticker[data-level=caducado]{background:var(--tomato-fill);color:var(--on-urgent)}.sticker[data-level=hoy]{background:var(--hoy-fill);color:var(--on-urgent)}.sticker[data-level=caducado],.sticker[data-level=hoy]{clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);transform:rotate(-3deg)}.sticker[data-level=pronto]{background:var(--amber-fill);color:var(--ink)}.pulse .sticker[data-level=caducado],.pulse .sticker[data-level=hoy]{animation:1.2s ease-in-out 2 expiring}@keyframes expiring{50%{filter:drop-shadow(0 0 6px #b8301b73)}}.section-head{align-items:center;gap:var(--s-2);margin:var(--s-6) 0 var(--s-2);font:600 var(--t-section)/1.3 var(--f-display);color:var(--ink);display:flex}.section-head .count{font:600 var(--t-label) var(--f-body);color:var(--ink-2)}.section-head[data-level=caducado]{color:var(--tomato)}.section-head[data-level=hoy]{color:var(--hoy)}.rows{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.row-wrap{transition:grid-template-rows var(--d-base) var(--e-in-out), opacity var(--d-base) var(--e-in-out), transform var(--d-base) var(--e-in-out);grid-template-rows:1fr;display:grid}.row-wrap>*{min-height:0}.row-wrap.gone{opacity:0;grid-template-rows:0fr;transform:translate(24px)}.row-wrap[data-new]{animation:row-arrive var(--d-base) var(--e-out) both;animation-delay:calc(min(var(--n,0), 8) * 40ms)}@keyframes row-arrive{0%{opacity:0;transform:translateY(8px)}}.row{gap:var(--s-3);min-height:72px;padding:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);grid-template-columns:1fr 48px;align-items:center;display:grid}.row-wrap.gone .row{overflow:hidden}.row[data-level=caducado]{background:var(--tomato-tint)}.row[data-level=hoy]{background:var(--hoy-tint)}.row-main{gap:var(--s-3);text-align:left;cursor:pointer;border-radius:var(--r-md);min-width:0;transition:transform var(--d-instant) var(--e-out);background:0 0;border:0;grid-template-columns:56px 1fr;align-items:center;padding:0;display:grid}.row-main:active{transform:scale(.98)}.row-text{gap:2px;min-width:0;display:grid}.row-name{font-size:var(--t-row);text-overflow:ellipsis;white-space:nowrap;transition:background-size .2s var(--e-out);background:linear-gradient(currentColor,currentColor) 0 55%/0 1.5px no-repeat;font-weight:600;line-height:1.3;overflow:hidden}.row[data-level=caducado] .row-name{color:var(--ink-2);text-decoration:line-through}.row-meta{font-size:var(--t-meta);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row-meta .later{color:var(--leaf-text);align-items:center;gap:4px;font-weight:600;display:inline-flex}.row-meta .est{align-items:center;gap:2px;display:inline-flex}.consume{border-radius:var(--r-full);border:1.5px solid var(--line-strong);background:var(--surface);width:48px;height:48px;color:var(--ink-2);cursor:pointer;transition:background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), transform var(--d-instant) var(--e-out);place-items:center;display:grid}.consume:active{transform:scale(.94)}.consuming .consume{background:var(--leaf);border-color:var(--leaf);color:var(--on-leaf)}.consuming .row-name{background-size:100% 1.5px}@media (hover:hover) and (pointer:fine){.consume:hover{background:var(--leaf-tint)}}.filter-empty{color:var(--ink-2);padding:var(--s-6) 0;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.empty{text-align:center;justify-items:center;gap:var(--s-3);padding:var(--s-8) var(--s-4) var(--s-6);display:grid}.empty>svg{width:160px;height:120px}.empty h2{font-size:var(--t-title);font-weight:600}.empty p{color:var(--ink-2);text-wrap:balance;max-width:34ch}.welcome{gap:var(--s-3);padding:var(--s-4);margin-top:var(--s-2);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);display:grid}.welcome h2{font-size:var(--t-title);font-weight:600}.notice{align-items:flex-start;gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);background:var(--tomato-tint);color:var(--tomato);font-weight:600;display:flex}.notice>svg{flex:none;margin-top:2px}.notice .body{gap:var(--s-2);display:grid}.notice .actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.notice.ok{background:var(--leaf-tint);color:var(--leaf-text)}.notice.warn{background:var(--amber-tint);color:var(--amber);font-size:var(--t-meta)}.banner{margin:0 var(--s-4) var(--s-3)}.scrim{z-index:30;background:rgb(var(--shadow-color) / .35);animation:fade var(--d-base) var(--e-out);border:0;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{z-index:31;max-height:92dvh;padding:var(--s-5) var(--s-4) calc(var(--s-5) + env(safe-area-inset-bottom));background:var(--raised);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--e2);animation:sheet-in var(--d-slow) var(--e-sheet);position:fixed;bottom:0;left:0;right:0;overflow:auto}@keyframes sheet-in{0%{transform:translateY(100%)}}.sheet-head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.sheet-head h2{font-size:var(--t-title);font-weight:600}.fields{gap:var(--s-4);display:grid}.field{font-size:var(--t-label);color:var(--ink-2);gap:6px;font-weight:600;display:grid}.input,.select{width:100%;min-height:48px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--t-body);font-weight:400}.input::placeholder{color:var(--ink-3)}.select{appearance:none;padding-right:40px}.select-wrap{position:relative}.select-wrap svg{pointer-events:none;color:var(--ink-2);position:absolute;top:50%;right:12px;translate:0 -50%}.shortcuts{gap:var(--s-2);flex-wrap:wrap;display:flex}.shortcuts button{min-height:36px;padding:0 var(--s-3);border-radius:var(--r-sm);background:var(--sunken);color:var(--ink);font-size:var(--t-label);cursor:pointer;border:0;font-weight:700}.confirm{gap:var(--s-2);margin-top:var(--s-4);padding:var(--s-3);border-radius:var(--r-md);background:var(--tomato-tint);color:var(--tomato);font-weight:600;display:grid}.confirm .actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.capture{height:220px;margin:var(--s-2) 0;border-radius:var(--r-lg);background:var(--sunken);color:var(--ink-3);cursor:pointer;place-items:center;display:grid;position:relative;overflow:hidden}.capture>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.capture>svg.idle{opacity:.45;width:200px;height:120px}.corner{border:3px solid var(--leaf);z-index:2;width:22px;height:22px;position:absolute}.corner.tl{border-bottom:0;border-right:0;border-radius:8px 0 0;top:16px;left:16px}.corner.tr{border-bottom:0;border-left:0;border-radius:0 8px 0 0;top:16px;right:16px}.corner.bl{border-top:0;border-right:0;border-radius:0 0 0 8px;bottom:16px;left:16px}.corner.br{border-top:0;border-left:0;border-radius:0 0 8px;bottom:16px;right:16px}.scanning .corner{animation:1.4s ease-in-out infinite breathe}@keyframes breathe{50%{width:26px;height:26px}}.sweep{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sweep:before{content:"";background:linear-gradient(#0000,#fff6,#0000);height:24%;animation:1.4s linear infinite sweep;position:absolute;top:0;left:0;right:0}@keyframes sweep{0%{transform:translateY(-100%)}to{transform:translateY(420%)}}.dots span{animation:1.2s infinite dot}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes dot{0%,to{opacity:.2}50%{opacity:1}}.cta-dock{bottom:calc(var(--tabbar) + 12px);z-index:5;gap:var(--s-2);padding-top:var(--s-2);justify-items:center;display:grid;position:sticky}.samples{gap:var(--s-3);margin:var(--s-2) 0;grid-template-columns:1fr 1fr;display:grid}.sample{padding:var(--s-2);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--e1);color:var(--ink);font-size:var(--t-label);cursor:pointer;transition:transform var(--d-instant) var(--e-out);border:0;gap:6px;font-weight:700;display:grid}.sample:active{transform:scale(.97)}.sample img{border-radius:var(--r-sm);width:100%;height:auto;display:block}.review-head{align-items:center;gap:var(--s-3);margin:var(--s-2) 0 var(--s-1);display:flex}.review-head h2{font-size:var(--t-title);font-weight:600}.review-head img{border-radius:var(--r-md);object-fit:cover;flex:none;width:56px;height:56px;margin-left:auto}.review-row{gap:var(--s-3);padding:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);grid-template-columns:28px 48px minmax(0,1fr);align-items:center;display:grid}.review-row.off{opacity:.55}.review-row.off .name-input{text-decoration:line-through}.check{appearance:none;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:6px;width:24px;height:24px;margin:0 auto}.check:checked{background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 16px no-repeat;border-color:var(--leaf)}.name-input{width:100%;min-height:36px;font-size:var(--t-row);color:var(--ink);background:0 0;border:0;border-bottom:1.5px solid #0000;border-radius:0;padding:0;font-weight:600}.name-input:focus-visible{border-bottom-color:var(--leaf);outline:none}.date-chip{min-height:32px;padding:0 var(--s-2);border-radius:var(--r-sm);background:var(--sunken);color:var(--ink-2);font-size:var(--t-meta);cursor:pointer;border:0;align-items:center;gap:4px;margin-top:2px;font-weight:600;display:inline-flex}.dock-bar{bottom:calc(var(--tabbar) + 8px);z-index:5;gap:var(--s-2);margin-top:var(--s-4);padding:var(--s-3);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--r-lg);box-shadow:var(--e2);display:flex;position:sticky}.recipe{gap:var(--s-3);padding:var(--s-4);margin-top:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);display:grid}.recipe h2{font-size:var(--t-title);font-weight:600;line-height:1.2}.recipe .meta{color:var(--ink-2);font-size:var(--t-meta);align-items:center;gap:6px;margin-top:-6px;display:flex}.uses{gap:var(--s-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.uses li{font-weight:600;font-size:var(--t-meta);align-items:center;gap:8px;display:inline-flex}.buy{color:var(--ink-2);font-size:var(--t-meta);align-items:flex-start;gap:6px;display:flex}.steps{gap:var(--s-3);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.steps li{gap:var(--s-3);text-wrap:pretty;counter-increment:step;grid-template-columns:28px 1fr;align-items:start;display:grid}.steps li:before{content:counter(step);border-radius:var(--r-full);background:var(--leaf-tint);width:28px;height:28px;color:var(--leaf-text);font:600 .9375rem/1 var(--f-display);place-items:center;display:grid}.block{gap:var(--s-3);padding:var(--s-4);margin-bottom:var(--s-4);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);display:grid}.block>h2{font-size:var(--t-section);font-weight:500}.block .state{color:var(--ink-2);font-size:var(--t-meta);margin-top:-8px}.hint{color:var(--ink-2);font-size:var(--t-meta)}.engines{gap:var(--s-2);display:grid}.engine{gap:var(--s-3);min-height:56px;padding:var(--s-3);border-radius:var(--r-md);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);grid-template-columns:24px 1fr;align-items:start;display:grid}.engine strong{font-size:var(--t-row)}.engine span{color:var(--ink-2);font-size:var(--t-meta);display:block}.engine[aria-checked=true]{border-color:var(--leaf);background:var(--leaf-tint)}.engine[aria-checked=true] strong{color:var(--leaf-text)}.engine .default{background:var(--leaf);color:var(--on-leaf);vertical-align:2px;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.steps-key{gap:var(--s-4);counter-reset:k;margin:0;padding:0;list-style:none;display:grid}.steps-key>li{gap:var(--s-3);counter-increment:k;grid-template-columns:28px 1fr;display:grid}.steps-key>li:before{content:counter(k);border-radius:var(--r-full);background:var(--leaf-tint);width:28px;height:28px;color:var(--leaf-text);font:600 .9375rem/1 var(--f-display);place-items:center;display:grid}.steps-key .step{gap:var(--s-2);align-content:start;display:grid}.key-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.key-row .input{flex:200px}details.advanced summary{cursor:pointer;min-height:44px;color:var(--ink-2);align-items:center;gap:6px;font-weight:700;list-style:none;display:flex}details.advanced summary::-webkit-details-marker{display:none}details.advanced summary svg{transition:transform var(--d-fast) var(--e-out)}details.advanced[open] summary svg{transform:rotate(180deg)}details.advanced .fields{margin-top:var(--s-2)}.toast{left:16px;right:16px;bottom:calc(var(--tabbar) + 12px);z-index:40;align-items:center;gap:var(--s-3);max-width:480px;min-height:52px;padding:0 var(--s-2) 0 var(--s-4);background:var(--toast-bg);color:var(--toast-ink);border-radius:var(--r-md);box-shadow:var(--e2);transition:transform var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);margin:0 auto;display:flex;position:fixed}@starting-style{.toast{opacity:0;transform:translateY(100%)}}.toast>svg{color:var(--toast-accent);flex:none}.toast .msg{flex:1}.toast .toast-action{color:var(--toast-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.sweep{display:none}.scanning .corner{animation:none}.sticker[data-level=caducado],.sticker[data-level=hoy],.row-wrap.gone{transform:none}.row-wrap,.toast{transition-property:opacity,grid-template-rows!important;transition-duration:var(--d-fast)!important}}.engine .default{font-style:normal}.row{padding-bottom:calc(var(--s-3) + 4px)}.sticker[data-level=pronto]{color:var(--on-amber)}.row[data-level=caducado] .row-meta,.row[data-level=hoy] .row-meta{color:var(--ink-2)}.segmented button,.shortcuts button{min-height:44px}.head-end{align-items:center;gap:var(--s-2);display:inline-flex}.badge.info{background:var(--sky);color:var(--on-sky)}.notice.info{background:var(--sky-tint);color:var(--sky-text);font-size:var(--t-meta)}.row.selected{box-shadow:inset 0 0 0 2px var(--sky)}.segmented button[aria-pressed=true] svg{color:var(--sky)}.corner{border-width:2px;border-color:var(--line-strong);width:20px;height:20px}.scanning .corner{border-color:var(--leaf);border-width:3px}.viewfinder-center{z-index:1;justify-items:center;gap:var(--s-3);padding:0 var(--s-6);text-align:center;display:grid;position:relative}.viewfinder-circle{border-radius:var(--r-full);background:var(--surface);width:72px;height:72px;box-shadow:var(--e1);color:var(--ink-2);place-items:center;display:grid}.viewfinder-text{max-width:28ch;color:var(--ink-2);font-size:var(--t-meta);font-weight:600}.form-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin:var(--s-1) 0 var(--s-2);display:flex}.prefs{gap:var(--s-4);padding-bottom:var(--s-2);display:grid}.pref-group{border:0;min-width:0;margin:0;padding:0}.pref-group legend{margin-bottom:var(--s-2);color:var(--ink-2);font-size:var(--t-label);align-items:center;gap:6px;padding:0;font-weight:700;display:inline-flex}.pref-group .segmented{margin:0}.pref-pair{gap:var(--s-4);grid-template-columns:auto 1fr;align-items:end;display:grid}.chips-wrap{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip-opt{min-height:44px;padding:0 var(--s-3);border-radius:var(--r-sm);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--t-label);cursor:pointer;transition:background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), transform var(--d-instant) var(--e-out);align-items:center;gap:6px;font-weight:700;display:inline-flex}.chip-opt:active{transform:scale(.97)}.stepper{background:var(--sunken);border-radius:var(--r-md);grid-template-columns:44px 40px 44px;align-items:center;padding:4px;display:inline-grid}.stepper button{border-radius:var(--r-sm);background:var(--surface);height:44px;color:var(--ink);font:700 1.25rem/1 var(--f-display);cursor:pointer;box-shadow:var(--e1);border:0}.stepper button:disabled{opacity:.4;cursor:default}.stepper output{text-align:center;font:600 1.5rem/1 var(--f-display);font-variant-numeric:tabular-nums}.extra{position:relative}.extra textarea{resize:vertical;field-sizing:content;min-height:48px;padding:12px}.extra .counter{color:var(--ink-3);font-size:var(--t-label);position:absolute;bottom:8px;right:10px}.dimmed{opacity:.6}.results-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin:var(--s-2) 0;flex-wrap:wrap;display:flex}.results-head h2{font-size:var(--t-title);font-weight:600}.recipe .meta{gap:var(--s-3);flex-wrap:wrap;display:flex}.recipe .meta span{align-items:center;gap:4px;display:inline-flex}.recipe h3{font:700 var(--t-label) var(--f-body);color:var(--ink-2);margin:0 0 6px}.have,.lack{padding-top:var(--s-3);border-top:1px solid var(--line);gap:6px;display:grid}.lack ul{gap:4px var(--s-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.lack li{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.lack li svg{color:var(--ink-3)}.macros{padding-top:var(--s-3);border-top:1px solid var(--line);color:var(--ink-2);font-size:var(--t-meta);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.steps-wrap summary{min-height:44px;color:var(--leaf-text);cursor:pointer;align-items:center;font-weight:700;display:flex}.steps-wrap[open] summary{margin-bottom:var(--s-2)}.pot{margin:0 auto;display:block;overflow:visible}.pot .steam{opacity:0;animation:2.4s ease-in-out infinite steam}.pot .steam:nth-child(2){animation-delay:.8s}.pot .steam:nth-child(3){animation-delay:1.6s}@keyframes steam{0%{opacity:0;transform:translateY(6px)}25%{opacity:.9}to{opacity:0;transform:translateY(-14px)}}.pot.simmer .lid{transform-box:view-box;transform-origin:60px 40px;animation:1.6s cubic-bezier(.23,1,.32,1) infinite lid}@keyframes lid{0%,to{transform:none}8%{transform:translateY(-3px)rotate(-2deg)}16%{transform:none}22%{transform:translateY(-1px)}28%{transform:none}}.pot .bubble{animation:1.8s ease-out infinite bubble}.pot .bubble:nth-child(2){animation-delay:.6s}.pot .bubble:nth-child(3){animation-delay:1.2s}@keyframes bubble{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.shop{gap:var(--s-3);display:grid}.shop-rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.shop-rows label{align-items:center;gap:var(--s-3);min-height:48px;padding:0 var(--s-2);border-radius:var(--r-sm);font-size:var(--t-row);cursor:pointer;font-weight:600;display:flex}.shop-rows .check{flex:none;margin:0}.shop-rows .done{opacity:.55}.shop-rows .done span{text-decoration:line-through}.detail-head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-4);display:flex}.detail-head h2{font-size:var(--t-title);outline:none;flex:1;font-weight:600}.sheet .detail-head{margin-bottom:var(--s-2)}.tabs .brand,.tabs .bar-end{display:none}@media (width>=900px){.app{padding-bottom:0;display:block}.tabs{top:0;z-index:20;background:var(--bar);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;align-items:stretch;gap:0;height:64px;padding:0 max(32px,50% - 568px);display:flex;position:sticky;inset:auto}.tabs .brand{color:var(--on-bar);font:600 1.125rem/1 var(--f-display);align-items:center;gap:10px;margin-right:32px;display:inline-flex}.tabs .tab{min-height:64px;color:var(--on-bar-2);grid-auto-flow:column;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.tabs .tab[aria-current=page]{color:var(--on-bar)}.tabs .tab-icon,.tabs .tab-icon svg{width:20px;height:20px}.tabs .badge{top:-8px;left:12px}.tabs .indicator{display:none}.tabs .tab[aria-current=page]:after{content:"";background:var(--bar-active);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:16px;right:16px}.tabs .tab:focus-visible{outline-color:var(--on-bar);outline-offset:-4px}.tabs .bar-end{align-items:center;gap:var(--s-2);margin-left:auto;display:inline-flex}.tabs .demo-banner{min-height:32px;color:var(--on-bar);background:#ffffff1f;margin:0}.body{max-width:1200px;margin:0 auto;padding:32px 32px 48px}.body>.screen-head,.body>.banner,.body>.demo-banner{max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.body>.screen-head{padding-top:0}main{padding:0}.content{max-width:none;margin:0}.split{grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.detail{background:var(--surface);border-radius:var(--r-lg);max-height:calc(100dvh - 112px);box-shadow:var(--e1);padding:24px;position:sticky;top:88px;overflow:auto}.pane{animation:pane-swap var(--d-base) var(--e-out)}@keyframes pane-swap{0%{opacity:0;transform:translate(12px)}}.detail-empty{align-content:center;place-items:center;gap:var(--s-3);text-align:center;min-height:320px;color:var(--ink-2);display:grid}.detail .panel-form .btn-group-footer{z-index:2;margin:var(--s-5) -24px -24px;padding:var(--s-3) 24px;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;bottom:-24px}.detail .review-pane .dock-bar{margin:var(--s-4) -24px -24px;border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:none;border-top:1px solid var(--line);position:sticky;bottom:-24px}.detail .segmented{margin-top:0}.capture{height:260px}.cta-dock{position:static}.dock-bar{bottom:0}.toast{bottom:24px;left:0;right:0}.sheet{border-radius:var(--r-lg);width:420px;max-height:none;animation:pane-swap var(--d-base) var(--e-out);inset:88px 24px 24px auto}}@media (width>=1440px){.tabs{padding:0 calc(50% - 688px)}.body{max-width:1440px}.split{grid-template-columns:480px minmax(0,1fr);gap:40px}}@media (width<=899px){.tabs .brand,.tabs .bar-end{display:none}}@media (prefers-reduced-motion:reduce){.pot .lid,.pot .bubble{animation:none!important}.pot .steam{opacity:.6;transform:translateY(-4px);animation:none!important}.pane{animation:none}}.demo-banner{background:var(--sky-tint);color:var(--sky-text)}@media (width>=900px){.master .cta-dock{position:sticky;bottom:16px}.detail .review-pane .dock-bar{margin:var(--s-4) 0 0;border-radius:var(--r-md);box-shadow:var(--e2);border-top:0;bottom:0}}.sheet{z-index:45}:is(.btn:has(>input:focus-visible),.capture:has(>input:focus-visible)){outline:3px solid var(--focus);outline-offset:2px}.input:focus-visible,.select:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent)}.cta-dock{background:linear-gradient(transparent, var(--ground) 35%);padding-bottom:4px}.block>h2{font-weight:600}.date-chip{min-height:44px}@media (width<=440px){.pref-pair{grid-template-columns:1fr}}@media (width>=600px) and (width<=899px){.content,.screen-head,.banner,.demo-banner{max-width:608px;margin-inline:auto}main{padding-inline:24px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--detail-bg:var(--raised)}}:root[data-theme=dark]{--detail-bg:var(--raised)}@media (width>=900px){.detail{background:var(--detail-bg,var(--surface))}}.shop-rows li{align-items:center;gap:var(--s-2);display:flex}.shop-rows li label{flex:1}.shop-rows .from{color:var(--ink-3);font-size:var(--t-meta);font-weight:400;display:block}.diff-names{font-weight:400;display:block}.pricely-link{justify-content:space-between;align-items:center;gap:var(--s-3);min-height:48px;color:inherit;border-radius:var(--r-md);flex:1;text-decoration:none;display:flex}.pricely-link svg{color:var(--ink-2);flex:none}.pricely-link:hover span:first-child{text-decoration:underline}.barcode{gap:var(--s-3);align-content:start;display:grid}.barcode-title{align-items:center;gap:var(--s-2);display:flex}.barcode-samples{gap:var(--s-2);display:grid}.barcode-samples .key-row{flex-wrap:wrap}.barcode-view{aspect-ratio:16/10;width:100%;overflow:hidden}.barcode-view video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.barcode-view .scanline{background:var(--leaf);height:2px;box-shadow:0 0 12px var(--leaf);animation:scanline 1.6s var(--e-out) infinite alternate;position:absolute;top:50%;left:12%;right:12%}@keyframes scanline{0%{transform:translateY(-40px)}to{transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.barcode-view .scanline{animation:none}}.nutrition{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);background:var(--sunken);display:grid}.nutrition-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.nutrition-head div{display:grid}.nutrition-head small,.nutrition .per{color:var(--ink-3);font-size:.8rem}.nutriscore{color:#fff;width:44px;height:44px;font-size:1.25rem;font-weight:800;font-family:var(--f-display);border-radius:50%;place-items:center;display:grid}.nutriscore[data-grade=a]{background:#038141}.nutriscore[data-grade=b]{background:#4b8a1c}.nutriscore[data-grade=c]{background:#a67c00}.nutriscore[data-grade=d]{background:#c2570c}.nutriscore[data-grade=e]{background:#c0281b}.nutrition-grid{gap:var(--s-2);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.nutrition-grid div{display:grid}.nutrition-grid dt{color:var(--ink-3);font-size:.8rem}.nutrition-grid dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.week{gap:var(--s-3);align-content:start;display:grid}.week h2{align-items:center;gap:var(--s-2);display:flex}.week>.back{justify-self:start;align-items:center;gap:4px;display:inline-flex}.week-days{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.week-day{gap:var(--s-2);padding:var(--s-3);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--e1);display:grid}.week-day h3{font-size:1rem}.week-meal{border-top:1px solid var(--line);padding-top:var(--s-2)}.week-meal:first-of-type{border-top:0;padding-top:0}.week-meal summary{gap:var(--s-2);cursor:pointer;grid-template-columns:5.5rem 1fr auto;align-items:baseline;min-height:44px;list-style:none;display:grid}.week-meal summary::-webkit-details-marker{display:none}.meal-title{font-weight:700}.meal-meta{color:var(--ink-3);white-space:nowrap;font-size:.85rem}.meal-uses{gap:var(--s-2) var(--s-3);margin:var(--s-2) 0;flex-wrap:wrap;display:flex}.meal-uses span{align-items:center;gap:6px;display:inline-flex}.saved{gap:var(--s-4,20px);align-content:start;display:grid}.saved>.back{justify-self:start;align-items:center;gap:4px;display:inline-flex}.saved-chart{padding:var(--s-3);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e1);margin:0}.saved-chart figcaption{margin-bottom:var(--s-2);font-weight:700}.chart-wrap{position:relative}.saved-chart svg{width:100%;height:auto;display:block;overflow:visible}.saved-chart .baseline{stroke:var(--line);stroke-width:1px}.saved-chart .bar{fill:var(--leaf);transition:opacity var(--d-instant,.12s)}.saved-chart g:hover .bar:not(.on){opacity:.55}.saved-chart svg:has(.bar.on) .bar:not(.on){opacity:.55}.saved-chart .hit{fill:#0000}.saved-chart .value{fill:var(--ink);font-size:11px;font-weight:800}.saved-chart .tick{fill:var(--ink-3);font-size:12px}.chart-tip{margin:var(--s-2) 0 0;color:var(--ink-2);font-size:.9rem}.saved-top h3{margin-bottom:var(--s-2);font-size:1rem}.saved-top ol{gap:var(--s-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.saved-top li{background:var(--sunken);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}:root{--btn-h-sm:40px;--btn-h-md:48px;--btn-h-lg:56px;--btn-px-sm:var(--s-3);--btn-px-md:var(--s-5);--btn-px-lg:var(--s-6);--btn-gap:var(--s-2);--btn-radius:var(--r-md);--btn-press:scale(.97);--touch:44px}.btn{justify-content:center;align-items:center;gap:var(--btn-gap);height:var(--btn-h-md);min-width:var(--touch);padding:0 var(--btn-px-md);border-radius:var(--btn-radius);font:700 var(--t-body) / 1 var(--f-body);letter-spacing:0;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform var(--d-instant) var(--e-out), background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out), opacity var(--d-fast) var(--e-out);border:1.5px solid #0000;text-decoration:none;display:inline-flex;position:relative}.btn-sm{height:var(--btn-h-sm);padding:0 var(--btn-px-sm);font-size:var(--t-meta)}.btn-lg{height:var(--btn-h-lg);padding:0 var(--btn-px-lg);font-size:var(--t-row)}.btn-sm:after{content:"";position:absolute;inset:-2px}.btn-wide{width:100%;display:flex}.btn-icon{flex:none}.btn-label{text-overflow:ellipsis;overflow:hidden}.btn:active:not(:disabled){transform:var(--btn-press)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn.is-loading{opacity:1;cursor:progress}.btn-primary{background:var(--leaf);color:var(--on-leaf)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn-soft{background:var(--leaf-tint);color:var(--leaf-text)}.btn-info{background:var(--sky-tint);color:var(--sky-text)}.btn-ghost{color:var(--leaf-text);padding-inline:var(--s-3);background:0 0}.btn-danger{color:var(--tomato);background:0 0}.btn-danger.btn-solid{background:var(--tomato-fill);color:var(--on-urgent)}@media (hover:hover) and (pointer:fine){.btn-primary:not(:disabled):hover{background:color-mix(in srgb, var(--leaf) 88%, var(--ink))}.btn-secondary:not(:disabled):hover{background:var(--sunken)}.btn-soft:not(:disabled):hover{background:color-mix(in srgb, var(--leaf-tint) 80%, var(--leaf))}.btn-info:not(:disabled):hover{background:color-mix(in srgb, var(--sky-tint) 82%, var(--sky))}.btn-ghost:not(:disabled):hover{background:var(--leaf-tint)}.btn-danger:not(:disabled):hover{background:var(--tomato-tint)}}.btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.6s linear infinite btn-spin}.btn-sm .btn-spinner{width:16px;height:16px}@keyframes btn-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:1.6s}}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--btn-radius);color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--d-instant) var(--e-out), background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);background:0 0;border:1.5px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-btn svg{display:block}.icon-btn-sm{width:40px;height:40px}.icon-btn-sm:after{content:"";position:absolute;inset:-2px}.icon-btn-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.icon-btn-danger{color:var(--tomato)}.icon-btn:active:not(:disabled){transform:var(--btn-press)}.icon-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn .badge{top:2px;left:auto;right:0}@media (hover:hover) and (pointer:fine){.icon-btn:not(:disabled):hover{background:var(--sunken);color:var(--ink)}.icon-btn-danger:not(:disabled):hover{background:var(--tomato-tint);color:var(--tomato)}}.btn-group{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.btn-group-end{justify-content:flex-end}.btn-group-between{justify-content:space-between}.btn-group-stretch>.btn{flex:1 1 0}.btn-group-footer{margin-top:var(--s-5);flex-wrap:nowrap}.btn-group-footer>.btn-primary,.btn-group-footer>.btn-danger.btn-solid{flex:auto}.btn-group-footer>.btn:not(.btn-primary):not(.btn-solid){flex:none}.sheet .btn-group-footer{bottom:calc(-1 * (var(--s-5) + env(safe-area-inset-bottom)));z-index:2;margin:var(--s-5) calc(-1 * var(--s-4)) calc(-1 * (var(--s-5) + env(safe-area-inset-bottom)));padding:var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom));background:var(--raised);box-shadow:0 -1px 0 var(--line);position:sticky}.btn-square{width:var(--btn-h-md);flex:none;padding:0}.back{margin-left:calc(-1 * var(--s-3));place-self:flex-start start}.shop-head{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.text-actions{margin-left:calc(-1 * var(--s-3))}.alt-add{gap:var(--s-2);margin-top:var(--s-4);display:grid}.sheet-delete{margin-top:var(--s-5);margin-left:calc(-1 * var(--s-3))}.confirm .btn-group{margin-top:var(--s-1)}.demo-banner .btn{margin:-6px calc(-1 * var(--s-2)) -6px auto;color:inherit}.tabs .demo-banner .btn{color:var(--bar-active)}.results-head .btn-group{align-items:center}@media (width<=479px){.alt-add .btn-group{flex-direction:column;align-items:stretch}.alt-add .btn-group>.btn{flex:none}}.btn-group{min-width:0}@media (width<=419px){.btn-group-footer{flex-wrap:wrap}.week .btn-group-footer>.btn-primary{flex-basis:100%}}@media (hover:hover) and (pointer:fine){.btn-danger.btn-solid:not(:disabled):hover{background:color-mix(in srgb, var(--tomato-fill) 88%, var(--ink));color:var(--on-urgent)}.toast .btn.toast-action:not(:disabled):hover{background:#ffffff1a}.tabs .demo-banner .btn:not(:disabled):hover{background:#ffffff1f}.icon-btn-on-bar:not(:disabled):hover{color:var(--on-bar);background:#ffffff1a}}.icon-btn-on-bar{color:var(--on-bar-2)}.icon-btn-on-bar:focus-visible{outline-color:var(--on-bar)}.btn.is-done{cursor:default}.btn.is-done:active{transform:none}.super{z-index:60;overscroll-behavior:contain;padding:calc(var(--s-4) + env(safe-area-inset-top)) var(--s-4) 0;background:var(--ground);animation:screen-in .14s var(--e-out);position:fixed;inset:0;overflow:auto}.super>*{max-width:640px;margin-inline:auto}.super-head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.super-head h2{align-items:center;gap:var(--s-2);font-size:var(--t-display);display:flex}.super-head h2:focus{outline:none}.super-progress{margin:var(--s-1) 0 0;color:var(--ink-2);font-size:var(--t-row)}.super-meter{height:6px;margin-top:var(--s-3);border-radius:var(--r-full);background:var(--sunken);overflow:hidden}.super-meter span{background:var(--leaf);height:100%;transition:width var(--d-base) var(--e-out);display:block}.super-awake{margin-top:var(--s-2);align-items:center;gap:6px;display:flex}.super-aisle{margin-top:var(--s-5)}.super-aisle h3{font-size:var(--t-section);margin-bottom:var(--s-2)}.super-aisle h3 .count{color:var(--ink-3);font-weight:600}.super-aisle ul{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.super-row{align-items:center;gap:var(--s-4);min-height:64px;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--e1);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--d-instant) var(--e-out), opacity var(--d-fast) var(--e-out);display:flex}.super-row:active{transform:var(--btn-press)}.super-row:has(>input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.super-check{border-radius:var(--r-sm);border:2px solid var(--line-strong);background:var(--surface);width:36px;height:36px;color:var(--on-leaf);flex:none;place-items:center;display:grid}.super-row.done .super-check{background:var(--leaf);border-color:var(--leaf)}.super-name{font-size:1.25rem;font-weight:600;line-height:1.3}.super-row.done{opacity:.55}.super-row.done .super-name{text-decoration:line-through}.super-empty{margin-top:var(--s-8);text-align:center;color:var(--ink-2)}.super-foot{margin-top:var(--s-6);padding:var(--s-3) 0 calc(var(--s-3) + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--ground) 30%);flex-wrap:nowrap;position:sticky;bottom:0}.super-foot>.btn-primary{flex:auto}.notice.allergy{align-items:flex-start}.notice.allergy strong{font-weight:800}.allergy-tag{margin-top:var(--s-1);border-radius:var(--r-sm);background:var(--tomato-tint);color:var(--tomato);font-size:var(--t-label);align-items:center;gap:4px;padding:2px 8px;font-weight:700;display:inline-flex}.allergy-dot{vertical-align:-2px;color:var(--tomato);margin-right:4px;display:inline-flex}.allergy-hint{align-items:flex-start;gap:6px;display:flex}.allergy-hint svg{flex:none;margin-top:3px}.block .chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.allergy-unknown{margin-top:var(--s-1);border-radius:var(--r-sm);background:var(--sky-tint);color:var(--sky-text);font-size:var(--t-label);align-items:center;gap:4px;padding:2px 8px;font-weight:600;display:inline-flex}.cooked-btn{margin-top:var(--s-2);justify-self:start}.cook-used{margin:var(--s-2) 0 var(--s-4);gap:var(--s-1);padding:0;list-style:none;display:grid}.cook-row{align-items:center;gap:var(--s-3);cursor:pointer;min-height:48px;display:flex}.cook-row .check{flex:none;margin:0}.cook .field .stepper{margin-top:var(--s-2);justify-self:start}.rows>.row-wrap{content-visibility:auto;contain-intrinsic-size:auto 80px}.inv-search{width:100%}main{padding-inline:var(--gutter)}.screen-head{padding-inline:var(--gutter);padding-top:calc(var(--s-5) + env(safe-area-inset-top));align-items:center}.screen-head h1{font:400 var(--t-display)/1.05 var(--f-serif);letter-spacing:-.01em}@media (width>=600px) and (width<=899px){:root{--gutter:24px}}@media (width>=900px){:root{--gutter:0px}main{padding:0}.screen-head{padding-inline:0}}.empty h2,.welcome h2,.sheet-head h2,.saved>h2,.detail-empty p{font:400 var(--t-title)/1.15 var(--f-serif)}.demo-banner{margin:0 var(--gutter) var(--s-2);min-height:0;color:var(--ink-2);font:600 var(--t-label) var(--f-body);background:0 0;border-radius:0;padding:0}.demo-banner .btn{color:var(--leaf-text);margin:-10px 0 -10px auto}.inv-meta{margin:calc(-1 * var(--s-1)) 0 var(--s-3);color:var(--ink-2);font-size:var(--t-meta)}.link{color:var(--leaf-text);font:inherit;cursor:pointer;text-underline-offset:3px;transition:text-decoration-color var(--d-fast) var(--e-out);background:0 0;border:0;padding:0;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.link:hover{text-decoration-color:currentColor}.inv-search{margin-bottom:var(--s-2)}.text-tabs{gap:var(--s-5);margin:0 calc(-1 * var(--gutter)) var(--s-2);padding:0 var(--gutter);scrollbar-width:none;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.text-tabs button{min-height:44px;color:var(--ink-2);cursor:pointer;white-space:nowrap;font:600 var(--t-section) var(--f-body);background:0 0;border:0;padding:0;position:relative}.text-tabs button:after{content:"";background:var(--leaf);height:2px;transition:transform var(--d-fast) var(--e-out);border-radius:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.text-tabs button[aria-pressed=true]{color:var(--ink)}.text-tabs button[aria-pressed=true]:after{transform:scaleX(1)}.section-head{margin:var(--s-8) 0 var(--s-1);font:700 var(--t-section)/1.3 var(--f-body)}.section-head .count{font:inherit;color:var(--ink-2);font-weight:600}.inv-section[data-level=caducado],.inv-section[data-level=hoy]{margin:var(--s-6) calc(-1 * var(--gutter)) 0;padding:var(--s-1) var(--gutter) var(--s-1)}.inv-section[data-level=caducado]{background:var(--tomato-tint)}.inv-section[data-level=hoy]{background:var(--hoy-tint)}.inv-section[data-level=caducado]>.section-head,.inv-section[data-level=hoy]>.section-head{margin-top:var(--s-3)}.inv-section[data-level=caducado]+.inv-section[data-level=hoy]{margin-top:0}@media (width>=900px){.inv-section[data-level=caducado],.inv-section[data-level=hoy]{border-radius:var(--r-md);margin-inline:-12px;padding-inline:12px}}.rows{gap:0}.row{--date-col:84px;gap:var(--s-2);min-height:60px;padding:var(--s-3) 0;background:linear-gradient(var(--line), var(--line)) no-repeat calc(var(--date-col) + var(--s-3)) 100% / 100% 1px;box-shadow:none;border-radius:0;grid-template-columns:1fr 44px}.rows>.row-wrap:last-child .row{background-size:0 0}.row[data-level=caducado],.row[data-level=hoy]{background-color:#0000}.row.selected{box-shadow:none;background-color:color-mix(in srgb, var(--sky-tint) 70%, transparent)}.row-main{grid-template-columns:var(--date-col) 1fr;border-radius:var(--r-sm)}.row-main:active{opacity:.7;transform:none}.row-date{order:-1;align-items:center;display:flex}.row-date .sticker{height:26px;padding:0 8px}.row-date .later{color:var(--leaf-text);font:600 var(--t-meta) var(--f-body);font-variant-numeric:tabular-nums}.row-meta{gap:4px}.row[data-level=caducado] .row-name{text-decoration:none}.consume{border-radius:var(--r-full);width:44px;height:44px;color:var(--on-leaf);background:0 0;border:0}.consume-ring{border-radius:var(--r-full);border:1.5px solid var(--line-strong);width:28px;height:28px;transition:background-color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);place-items:center;display:grid}.consume-ring svg{clip-path:inset(0 100% 0 0);transition:clip-path var(--d-fast) var(--e-out)}.consuming .consume{background:0 0}.consuming .consume-ring{background:var(--leaf);border-color:var(--leaf)}.consuming .consume-ring svg{clip-path:inset(0)}.consuming .row-name{color:var(--ink-2)}.consuming .row-date .sticker{opacity:.6}@media (hover:hover) and (pointer:fine){.consume:hover{background:0 0}.consume:hover .consume-ring{border-color:var(--leaf);background:var(--leaf-tint)}}@media (prefers-reduced-motion:reduce){.consume-ring,.consume-ring svg,.text-tabs button:after{transition:none}}.empty{text-align:left;padding:var(--s-6) 0;justify-items:start}.empty p{text-wrap:pretty}@media (width>=900px){:is(.detail:has(>.pane>.detail-empty),.detail:has(>.detail-empty)){box-shadow:none;background:0 0}.detail-empty p{color:var(--ink-3);max-width:24ch}.tabs .demo-banner{color:var(--on-bar-2);margin:0}.tabs .demo-banner .btn{margin:0 0 0 var(--s-1);color:var(--bar-active)}}.capture{background:var(--deep);height:280px;color:var(--on-deep-2);border-radius:var(--r-lg)}.capture .corner,.scanning .corner{border-color:var(--deep-accent)}.viewfinder-circle{color:var(--deep);box-shadow:0 0 0 4px var(--leaf);background:#fff}.viewfinder-text{color:var(--on-deep-2)}.text-actions{gap:var(--s-5);margin:var(--s-2) 0 0;display:flex}.text-actions .link{min-height:44px}.review-row{padding:var(--s-3) 0;background:linear-gradient(var(--line), var(--line)) no-repeat 40px 100% / 100% 1px;box-shadow:none;border-radius:0;grid-template-columns:28px minmax(0,1fr)}.rows>.row-wrap:last-child .review-row{background-size:0 0}.date-chip{min-height:32px;color:var(--ink-2);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;background:0 0;margin:0;padding:0;font-weight:400}.dock-bar{box-shadow:var(--e-float);border-radius:var(--r-md)}.alt-add{margin-top:var(--s-2);gap:0}.alt-add .section-head{margin:var(--s-6) 0 0}.nav-row{gap:var(--s-3);border:0;border-bottom:1px solid var(--line);width:100%;min-height:56px;color:var(--ink);text-align:left;cursor:pointer;font:600 var(--t-row) var(--f-body);background:0 0;grid-template-columns:22px 1fr 18px;align-items:center;padding:0;display:grid}.nav-row>svg{color:var(--ink-2)}.nav-row:last-child{border-bottom:0}.nav-row:active{opacity:.7}.sample{box-shadow:none;font:600 var(--t-meta) var(--f-body);background:0 0;justify-items:start;padding:0}.sample img{border-radius:var(--r-md)}.prefs{gap:var(--s-5)}.pref-group legend{font:700 var(--t-section) var(--f-body);color:var(--ink)}.pref-pair{grid-template-columns:1fr auto}.chip-opt{background:var(--sunken);font:600 var(--t-meta) var(--f-body);border:1.5px solid #0000}.chip-opt[aria-pressed=true]{background:var(--leaf-tint);border-color:var(--leaf);color:var(--leaf-text)}.stepper button{box-shadow:none}.more-prefs{gap:var(--s-5);border-top:1px solid var(--line);display:grid}.more-prefs>summary{align-items:baseline;gap:4px var(--s-2);min-height:52px;padding-top:var(--s-3);cursor:pointer;font:700 var(--t-section) var(--f-body);color:var(--leaf-text);flex-wrap:wrap;list-style:none;display:flex}.more-prefs>summary::-webkit-details-marker{display:none}.more-prefs>summary:after{content:"›";color:var(--ink-3);transition:transform var(--d-fast) var(--e-out);margin-left:auto}.more-prefs[open]>summary:after{transform:rotate(90deg)}.more-sum{color:var(--ink-2);font-weight:400;font-size:var(--t-meta);flex-basis:100%;order:2}.more-prefs[open] .more-sum{display:none}.more-prefs>.pref-group+.pref-group{margin-top:var(--s-5)}.cta-dock .btn-ghost{justify-self:center}.results-head h2{font:400 var(--t-title)/1.15 var(--f-serif)}.recipe{gap:var(--s-2);padding:var(--s-6) 0 var(--s-5);box-shadow:none;border-top:1px solid var(--line);background:0 0;border-radius:0;margin:0}.recipe h2{font:400 var(--t-title)/1.15 var(--f-serif)}.recipe .meta{color:var(--ink-2);gap:0;margin:0}.have,.lack{border:0;padding:0;line-height:1.6;display:block}.have .lead,.lack .lead{color:var(--ink);font-weight:700}.have .use .sticker{vertical-align:1px}.lack{color:var(--ink-2)}.lack .link{color:var(--sky-text);align-items:center;gap:4px;min-height:32px;display:inline-flex}.lack .link.is-done{color:var(--leaf-text);cursor:default;text-decoration:none}.macros{border:0;padding:0}.recipe.featured{margin:var(--s-3) calc(-1 * var(--gutter)) var(--s-2);padding:var(--s-6) var(--gutter);background:var(--deep);color:var(--on-deep);border:0}@media (width>=600px){.recipe.featured{padding-inline:var(--s-5);border-radius:var(--r-lg);margin-inline:0}}.recipe.featured h2{font-size:var(--t-display);color:var(--on-deep);line-height:1.05}.recipe.featured .meta,.recipe.featured .lack,.recipe.featured .macros{color:var(--on-deep-2)}.recipe.featured .lead{color:var(--on-deep)}.recipe.featured .lack .link,.recipe.featured .steps-wrap summary,.recipe.featured .link.is-done{color:var(--deep-accent)}.recipe.featured+.recipe{border-top:0}.recipe.featured .cooked-btn{border-color:var(--on-deep-2);color:var(--on-deep);background:0 0}.recipe.featured .steps li:before{color:var(--deep-accent);background:#ffffff1f}.steps{gap:var(--s-2)}.steps li{padding:var(--s-3) var(--s-4);background:var(--sky-tint);border-radius:var(--r-md);font-size:1.0625rem;line-height:1.55;display:block}.steps li:before{content:"Paso " counter(step);width:auto;height:auto;color:var(--sky-text);font:700 var(--t-section) var(--f-body);background:0 0;border-radius:0;margin-bottom:2px;display:block}.recipe.featured .steps li{color:var(--on-deep);background:#ffffff14}.recipe.featured .steps li:before{background:0 0}.review-head h2{font:400 var(--t-title)/1.15 var(--f-serif)}.results-head{margin-top:var(--s-4)}.date-chip{min-height:44px;margin-block:-6px}.review-row .name-input{min-height:32px}.saved{gap:var(--s-5)}.saved>h2{margin-top:var(--s-2)}.saved-sentence{font:400 1.625rem/1.25 var(--f-serif);text-wrap:pretty}.saved-sentence strong{color:var(--leaf-text);font-weight:400}.saved-rows{margin:0}.saved-rows>div{justify-content:space-between;align-items:baseline;gap:var(--s-3);min-height:52px;padding:var(--s-3) 0;border-bottom:1px solid var(--line);display:flex}.saved-rows>div:last-child{border-bottom:0}.saved-rows dt{color:var(--ink-2)}.saved-rows dd{font:700 1.25rem var(--f-body);margin:0}.saved-rows small{color:var(--ink-3);font-size:var(--t-meta);font-weight:400}.saved-chart{box-shadow:none;background:0 0;border-radius:0;padding:0}.saved-chart figcaption{font:700 var(--t-section) var(--f-body)}.saved-top{color:var(--ink-2)}.saved-top strong{color:var(--ink)}.shop-rows{gap:0}.shop-rows li{border-bottom:1px solid var(--line)}.shop-rows li:last-child{border-bottom:0}.shop-rows label{min-height:56px;padding:var(--s-2) 0;border-radius:0}.shop-rows .check{border-radius:var(--r-full);width:26px;height:26px}.shop-rows .check:not(:checked){background-color:#0000}.shop-rows .from{color:var(--sky-text)}.shop-rows .done .from{color:var(--ink-3)}.block{padding:var(--s-5) 0;box-shadow:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin:0}.block:last-child{border-bottom:0}.block>h2{font:700 var(--t-section) var(--f-body)}.welcome{padding:var(--s-5) 0 0;margin-top:var(--s-3);box-shadow:none;border-top:1px solid var(--line);background:0 0;border-radius:0}.week-day{padding:var(--s-4) 0;box-shadow:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.week-days{gap:0}.sheet{box-shadow:var(--e-float)}.sheet-head{margin-bottom:var(--s-5)}@media (width>=900px){.detail{box-shadow:none;border:1px solid var(--line)}}.row[data-stick] .row-date>*{animation:stick var(--d-base) var(--e-out) both;animation-delay:calc(min(var(--n,0), 8) * 30ms)}@keyframes stick{0%{opacity:0;transform:scale(1.12)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.row[data-stick] .row-date>*{animation:none}}.link{margin-block:-12px;padding-block:12px;display:inline-block}.lack .link{min-height:0;margin-block:-12px;padding-block:12px;display:inline-flex}.text-tabs button{min-width:44px}@media (width>=600px) and (width<=899px){.screen-head{padding-inline:0}.demo-banner{margin-inline:auto}}@media (width>=900px){:is(.detail:has(>.pane>.detail-empty),.detail:has(>.detail-empty)){border-color:#0000}.tabs .demo-banner{background:0 0}}.saved-chart .chart-wrap{max-width:560px}.inv-section[data-level=caducado]+.inv-section[data-level=hoy]{border-top:2px solid var(--ground)}.inv-section[data-level=caducado] .consume-ring,.inv-section[data-level=hoy] .consume-ring{border-color:var(--ink-2)}.recipe.featured .steps li{padding:var(--s-3) 0 0;background:0 0;border-top:1px solid #ffffff29;border-radius:0}.name-input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.more-prefs>summary:after{content:"›" / ""}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--deep:#17495e}:root:not([data-theme=light]) .inv-section[data-level=caducado]{background:color-mix(in srgb, var(--tomato) 14%, var(--ground))}:root:not([data-theme=light]) .inv-section[data-level=hoy]{background:color-mix(in srgb, var(--hoy) 14%, var(--ground))}:root:not([data-theme=light]) .sample img{filter:brightness(.85)saturate(.9)}}:root[data-theme=dark]{--deep:#17495e}:root[data-theme=dark] .inv-section[data-level=caducado]{background:color-mix(in srgb, var(--tomato) 14%, var(--ground))}:root[data-theme=dark] .inv-section[data-level=hoy]{background:color-mix(in srgb, var(--hoy) 14%, var(--ground))}:root[data-theme=dark] .sample img{filter:brightness(.85)saturate(.9)}.no-ai{gap:var(--s-3);padding:var(--s-4) 0 var(--s-2);justify-items:start;display:grid}.no-ai h2{font:400 var(--t-title)/1.15 var(--f-serif)}.no-ai p{color:var(--ink-2);text-wrap:pretty;max-width:46ch}.plan{gap:var(--s-2);display:grid}.plan-people{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-2);display:flex}.plan-people .text-tabs{flex:1;margin-bottom:0}.plan-name{font:400 var(--t-title)/1.15 var(--f-serif)}.plan-rows{margin:var(--s-2) 0 0}.plan-rows>div{justify-content:space-between;align-items:baseline;gap:var(--s-3);min-height:52px;padding:var(--s-3) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.plan-rows dt{color:var(--ink-2)}.plan-rows dd{font:700 1.25rem var(--f-body);margin:0}.plan-rows small{color:var(--ink-3);font-size:var(--t-meta);font-weight:400}.referral{gap:var(--s-2);margin:var(--s-2) calc(-1 * var(--gutter)) 0;padding:var(--s-4) var(--gutter);background:var(--sky-tint);color:var(--ink);display:grid}@media (width>=600px){.referral{border-radius:var(--r-md);padding-inline:var(--s-4);margin-inline:0}}.help-list{margin:var(--s-2) 0 0;gap:var(--s-3);padding:0;list-style:none;display:grid}.help-list li{justify-items:start;gap:4px;display:grid}.help-list span{color:var(--ink-2);font-size:var(--t-meta)}.disclaimer{margin-top:var(--s-6);color:var(--ink-3);font-size:var(--t-meta)}.weight-chart{margin:var(--s-3) 0 0;max-width:560px}.weight-chart svg{width:100%;height:auto;display:block;overflow:visible}.weight-chart polyline{fill:none;vector-effect:non-scaling-stroke;stroke:var(--sky);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.weight-chart circle{fill:var(--sky)}.weight-chart .tick{fill:var(--ink-3);font-size:11px}.field-pair{gap:var(--s-3);grid-template-columns:1fr 1fr;align-items:end;display:grid}.field-pair .segmented{margin:0}.radio-rows{display:grid}.radio-row,.check-row{align-items:flex-start;gap:var(--s-3);min-height:48px;padding:var(--s-2) 0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--ink);font-weight:400;display:flex}.radio-row:last-child,.check-row:last-of-type{border-bottom:0}.radio-row input{width:22px;height:22px;accent-color:var(--leaf);flex:none;margin:2px 0 0}.radio-row span{gap:2px;display:grid}.radio-row small{color:var(--ink-2);font-size:var(--t-meta)}.check-row .check{flex:none;margin:0}.check-row.consent{margin-top:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);background:var(--sunken);border:0}@media (width<=380px){.field-pair{grid-template-columns:1fr}}.plan-rows .row-note{color:var(--ink-3);font:400 var(--t-meta)/1.4 var(--f-body);flex-basis:100%;margin:0}.plan-rows,.weight-form,.plan .referral,.plan-people{max-width:560px}.weight-form .field small{color:var(--ink-3);font-weight:400}.weight-chart figcaption{color:var(--ink-3);font-size:var(--t-label);justify-content:space-between;margin-top:4px;display:flex}.radio-row input{appearance:none;border:1.5px solid var(--line-strong);border-radius:var(--r-full);cursor:pointer;width:22px;height:22px;transition:border-width var(--d-fast) var(--e-out);background:0 0}.radio-row input:checked{border:7px solid var(--leaf)}.sheet .segmented .thumb{box-shadow:inset 0 0 0 1.5px var(--line-strong)}.import-preview{gap:var(--s-3);display:grid}.targets-edit{gap:var(--s-4);max-width:560px;margin-top:var(--s-3);display:grid}.targets-edit .segmented{margin:0}.targets-edit .stepper{margin-top:var(--s-1);justify-self:start}.targets-edit small.hint{font-size:var(--t-meta);margin-top:4px;font-weight:400;display:block}.day-bars{gap:var(--s-3);max-width:560px;margin:var(--s-3) 0 var(--s-2);display:grid}.day-bars label{gap:6px;font-weight:600;display:grid}.day-bars label>span{justify-content:space-between;gap:var(--s-2);display:flex}.day-bars small{color:var(--ink-2);font-weight:400}.day-bars progress{appearance:none;background:var(--line);border:0;border-radius:2px;width:100%;height:4px;overflow:hidden}.day-bars progress::-webkit-progress-bar{background:var(--line)}.day-bars progress.protein::-webkit-progress-value{background:var(--sky)}.day-bars progress.protein::-moz-progress-bar{background:var(--sky)}.macro-line{color:var(--ink-2);font-size:var(--t-meta)}.plan-short{max-width:560px;color:var(--ink-2);font-size:var(--t-meta)}.meal-rows,.week-rows,.swap-list{max-width:560px;margin:0;padding:0;list-style:none}.meal-rows>li,.week-rows>li{border-bottom:1px solid var(--line)}.meal-row{gap:var(--s-3);min-height:60px;padding:var(--s-3) 0;grid-template-columns:84px 1fr auto;align-items:center;display:grid}.meal-kind{color:var(--ink-2);font-size:var(--t-meta);font-weight:600}.meal-main{gap:2px;min-width:0;display:grid}.meal-main strong{font:600 var(--t-row)/1.3 var(--f-body)}.meal-main small{color:var(--ink-3);font-size:var(--t-meta)}.swap-list{padding:0 0 var(--s-3) 96px;gap:var(--s-2);display:grid}.swap-list li{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.swap-list li span{gap:2px;display:grid}.swap-list small{color:var(--ink-3);font-size:var(--t-meta)}.plan-actions{justify-content:space-between;align-items:center;gap:var(--s-3);max-width:560px;margin-top:var(--s-2);flex-wrap:wrap;display:flex}.week-head{justify-content:space-between;gap:var(--s-2);padding-top:var(--s-3);display:flex}.week-head small{color:var(--ink-2)}.week-rows p{padding:4px 0 var(--s-3);color:var(--ink-2);font-size:var(--t-meta)}.dislike-form{max-width:560px;margin-top:var(--s-2)}.plan .text-tabs{max-width:560px}@media (width<=420px){.meal-row{grid-template-columns:1fr auto}.meal-kind{grid-column:1/-1}.swap-list{padding-left:0}}.day-bars progress{border-radius:3px;height:6px}.day-bars progress::-webkit-progress-value{background:var(--sky);border-radius:3px}.day-bars progress::-moz-progress-bar{background:var(--sky);border-radius:3px}.meal-main .lack-line{color:var(--ink-2)}.plan-cols{gap:var(--s-2);display:grid}@media (width>=1100px){.plan-cols{gap:var(--s-10);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.plan-col-plan{order:2;position:sticky;top:88px}.plan-col-plan>.section-head:first-child{margin-top:var(--s-2)}}.shop-plan,.advice-rows{margin:0 0 var(--s-3);max-width:560px;padding:0;list-style:none}.shop-plan li,.advice-rows li{padding:var(--s-2) 0;border-bottom:1px solid var(--line);gap:2px;display:grid}.shop-plan small,.advice-rows small{color:var(--ink-3);font-size:var(--t-meta)}.advice-rows li[data-ok] span{color:var(--ink-2)}.chat-sheet{gap:var(--s-3);flex-direction:column;display:flex}@media (width>=900px){.chat-sheet{width:480px}}.chat-head{justify-content:space-between;margin-bottom:0}.chat-dest{color:var(--ink-3);font-size:var(--t-label)}.chat-log{gap:var(--s-3);max-height:52dvh;padding-right:4px;display:grid;overflow:auto}.chat-msg{gap:var(--s-2);display:grid}.chat-msg.user{max-width:85%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--sunken);justify-self:end}.chat-msg.assistant{max-width:95%}.chat-action{gap:var(--s-2);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);display:grid}.chat-action small{color:var(--leaf-text);font-weight:600}.chat-crisis{gap:var(--s-2);padding:var(--s-4);border-radius:var(--r-md);background:var(--sky-tint);display:grid}.chat-input{gap:var(--s-2);background:var(--raised);padding-top:var(--s-2);grid-template-columns:1fr auto;align-items:end;display:grid;position:sticky;bottom:0}.chat-input textarea{resize:none;min-height:48px;padding-top:12px}.chat-note,.chat-consent .hint{font-size:var(--t-meta)}.chat-consent,.chat-empty{gap:var(--s-3);display:grid}.chat-sheet{height:86dvh;max-height:86dvh;overflow:hidden}.chat-log{flex:1;min-height:0;max-height:none}.chat-consent ul{gap:4px;margin:0;padding-left:1.2em;display:grid}.help-list.crisis a.wide{justify-content:center;width:100%}.chat-busy{gap:var(--s-2);align-items:center;display:flex}@media (width>=900px){.chat-sheet{height:auto;max-height:none}}:root{--ground:#e6f2f5;--sunken:#d5e6ec;--ink:#0c2a38;--ink-2:#3f5a66;--line:#c4d9e1;--line-strong:#6a8591;--leaf-tint:#cfefdf;--sky-tint:#d3e9f6;--mint:#7fe0b4;--k-rojo:#f9d2ca;--k-naranja:#fbd9bc;--k-amarillo:#fbe7ae;--k-tostado:#efdfc6;--k-verde:#cbebd5;--k-malva:#ecd3e2;--k-azul:#c6e2f4;--t-display:2.5rem;--t-lede:1.25rem;--t-title:1.625rem;--t-figure:1.75rem;--t-row:1.125rem;--t-card:1.0625rem;--t-body:1.0625rem;--t-meta:.9375rem;--t-section:.9375rem;--t-sticker:.9375rem;--t-label:.8125rem;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--bar:var(--deep)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--line-strong:#6b8a97;--leaf-tint:#153b31;--sky-tint:#163a50;--k-rojo:#34211f;--k-naranja:#35251a;--k-amarillo:#322b18;--k-tostado:#2e281b;--k-verde:#12301f;--k-malva:#2f2031;--k-azul:#102b3b}}:root[data-theme=dark]{--line-strong:#6b8a97;--leaf-tint:#153b31;--sky-tint:#163a50;--k-rojo:#34211f;--k-naranja:#35251a;--k-amarillo:#322b18;--k-tostado:#2e281b;--k-verde:#12301f;--k-malva:#2f2031;--k-azul:#102b3b}@media (width>=900px){:root{--t-display:3.5rem;--t-lede:1.5rem;--t-title:1.875rem;--t-figure:2rem;--t-section:1rem;--t-label:.875rem}}body{font-size:var(--t-body)}.food{flex:none;place-items:center;display:inline-grid}.food svg,.food img{display:block}.screen-head.band{background:var(--deep);color:var(--on-deep);padding-bottom:var(--s-5);margin-bottom:var(--s-6);flex-wrap:wrap;align-items:center;row-gap:0;position:relative}.screen-head.band h1{color:var(--on-deep);font:400 var(--t-display)/1.05 var(--f-serif);text-wrap:balance}.screen-head.band .icon-btn,.screen-head.band .btn-ghost,.screen-head.band .btn-secondary{color:var(--on-deep)}.screen-head.band :focus-visible{outline-color:var(--mint)}.screen-head.band .badge.info{background:var(--mint);color:var(--deep)}.band-slot{flex-basis:100%;min-width:0}.band-slot:empty{display:none}@media (width<=899px){.body>.screen-head.band{border-radius:0 0 var(--r-xl) var(--r-xl)}}@media (width>=600px) and (width<=899px){.body>.screen-head.band{box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax);border-radius:0}}.band-more{gap:var(--s-4);padding-top:var(--s-2);display:grid}.band-more .lede{font:400 var(--t-lede)/1.35 var(--f-serif);color:var(--on-deep-2);text-wrap:pretty;max-width:40ch;margin:0}.band-extra{font:600 var(--t-meta) var(--f-body);color:var(--on-deep-2);margin:0}.cards{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.cards{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}}.card-wrap{transition:grid-template-rows var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);grid-template-rows:1fr;display:grid}.card-wrap>*{min-height:0}.card-wrap.gone{opacity:0;grid-template-rows:0fr}.pcard{border-radius:var(--r-lg);background:var(--tint);height:100%;color:var(--ink);position:relative;overflow:hidden}.pcard.selected{box-shadow:inset 0 0 0 3px var(--mint)}.pcard-main{width:100%;height:100%;padding:44px var(--s-3) var(--s-3);color:inherit;text-align:left;font:inherit;cursor:pointer;border-radius:var(--r-lg);transition:transform var(--d-instant) var(--e-out);background:0 0;border:0;grid-template-rows:auto 1fr auto;justify-items:start;gap:2px;display:grid}.pcard-main:active{transform:scale(.97)}.pcard-main .food{margin-bottom:var(--s-2);transition:transform var(--d-base) var(--e-out), opacity var(--d-base) var(--e-out);justify-self:center}.pcard-name{font:700 var(--t-card)/1.2 var(--f-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:36px;display:-webkit-box;overflow:hidden}.pcard .row-meta{color:var(--ink-2);font-size:var(--t-meta);padding-right:36px}.pcard-date{top:var(--s-3);left:var(--s-3);position:absolute}.pcard .sticker{height:30px;font:800 1.0625rem/30px var(--f-body);border-radius:var(--r-sm);box-shadow:none;padding:0 10px}.pcard .sticker[data-level=caducado],.pcard .sticker[data-level=hoy]{transform:rotate(-3deg)}.pcard .sticker[data-level=semana]{background:var(--olive-fill);color:var(--on-amber);box-shadow:none}.pcard .consume{position:absolute;bottom:4px;right:4px}.pcard .consume-ring{background:color-mix(in srgb, var(--surface) 70%, transparent)}.consuming .pcard-main .food,.consuming .row-main .food{opacity:.5;transform:scale(.9)}@media (width>=900px){.pcard-main .food img{width:104px;height:104px}}.pcard[data-stick] .food{animation:art-arrive var(--d-base) var(--e-out) both;animation-delay:calc(min(var(--n,0), 8) * 30ms)}.pcard[data-stick] .sticker{animation:stick var(--d-base) var(--e-out) both;animation-delay:calc(min(var(--n,0), 8) * 30ms)}@keyframes art-arrive{0%{opacity:0;transform:scale(.8)}}.row{--date-col:56px;background-position:calc(var(--date-col) + var(--s-3)) 100%;min-height:72px}.row-main{grid-template-columns:var(--date-col) 1fr auto;align-items:center;column-gap:var(--s-3)}.row-main .food{border-radius:var(--r-md);background:var(--tint);width:56px;height:56px}.row-main .food img{width:44px;height:44px}.row-date{order:0;justify-content:flex-end}.row-name{font:600 var(--t-row)/1.3 var(--f-body)}.row-meta{color:var(--ink-2);font-size:var(--t-meta)}.row-date .later{color:var(--sky-text);font:700 var(--t-meta) var(--f-body)}.row-date .sticker{height:28px;font:800 var(--t-sticker)/28px var(--f-body);border-radius:var(--r-sm);padding:0 9px}.row[data-stick] .food{animation:art-arrive var(--d-base) var(--e-out) both;animation-delay:calc(min(var(--n,0), 8) * 30ms)}.row.selected{background-color:var(--sky-tint)}.section-head{font:700 var(--t-section)/1.3 var(--f-body);margin-top:var(--s-8);margin-bottom:var(--s-2)}.empty-art{display:flex}.empty-art .food{border-radius:var(--r-lg);background:var(--tint);width:112px;height:112px}.empty-art .food+.food{margin-left:-16px}.empty h2{font:400 var(--t-title)/1.15 var(--f-serif)}.empty p{font-size:var(--t-body)}@media (width<=899px){.tabs{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.tabs .tab{font:700 var(--t-label)/1.2 var(--f-body);color:var(--ink-2)}.tabs .tab[aria-current=page]{color:var(--ink)}.tabs .tab-icon{width:56px;height:32px}.tabs .tab-icon svg{width:26px;height:26px;inset:3px 15px}.tabs .tab[aria-current=page] .tab-icon .on{color:var(--leaf-text)}.tabs .indicator{top:8px;left:calc(var(--i) * 20% + 10% - 28px);border-radius:var(--r-full);background:var(--leaf-tint);width:56px;height:32px;transition:left .2s var(--e-out)}.tabs .badge{width:8px;min-width:8px;height:8px;padding:0;font-size:0;top:0;left:40px;overflow:hidden}}@media (prefers-reduced-motion:reduce){.tabs .indicator{transition:none}.pcard[data-stick] .food,.row[data-stick] .food,.pcard[data-stick] .sticker{animation:none}}@media (width>=900px){.tabs{background:var(--deep)}.tabs .tab[aria-current=page]:after{background:var(--mint)}.body{padding-top:0}.body>.screen-head.band{padding-top:var(--s-6);padding-bottom:var(--s-8);margin-bottom:var(--s-8);box-shadow:0 0 0 100vmax var(--deep);clip-path:inset(0 -100vmax)}.split{grid-template-columns:minmax(0,1fr) 400px;gap:40px}.split:has(>.detail .detail-empty){grid-template-columns:minmax(0,720px)}.split:has(>.detail .detail-empty)>.detail{display:none}.detail{box-shadow:none;padding:0 0 0 var(--s-2);background:0 0;border:0}}@media (width>=1280px){.split{grid-template-columns:minmax(0,1fr) 440px}}.btn{--btn-h:48px;min-height:var(--btn-h);border-radius:var(--r-md);font-size:var(--t-card);font-weight:700}.btn-sm{--btn-h:40px;font-size:var(--t-meta)}.btn-lg,.btn-wide.btn-primary{--btn-h:56px}.btn:active{transform:scale(.97)}.on-deep .btn-primary,.deep .btn-primary{background:var(--mint);color:var(--deep)}.btn-soft,.btn-info{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong);background:0 0}.screen-head.band{border:0}.sticker[data-level=semana]{background:var(--olive-fill);color:var(--on-amber);box-shadow:none}.pcard-main{padding-top:40px}.pcard-main .food{margin-bottom:var(--s-1)}.recipe .plate{width:148px;height:148px;margin:0 0 var(--s-4);background:var(--ground);box-shadow:inset 0 0 0 10px var(--surface);border-radius:50%;display:block;position:relative}.plate .p0{top:26px;left:18px}.plate .p1{top:34px;right:16px}.plate .p2{bottom:14px;left:44px}.plate .on-plate:only-child{top:44px;left:44px}.recipe.featured[data-new] .on-plate{animation:serve .32s var(--e-out) both}.recipe.featured[data-new] .p1{animation-delay:60ms}.recipe.featured[data-new] .p2{animation-delay:.12s}@keyframes serve{0%{opacity:0;transform:translateY(-12px)}}.recipe:not(.featured){column-gap:var(--s-4);grid-template-columns:72px 1fr;display:grid}.recipe:not(.featured)>*{grid-column:2}.recipe:not(.featured)>.recipe-art{border-radius:var(--r-md);background:var(--tint);grid-area:1/1/span 3;width:72px;height:72px}.recipe:not(.featured) h2{font:700 1.1875rem/1.2 var(--f-body)}.meal-row{align-items:center}.meal-row>.food{border-radius:var(--r-md);background:var(--tint);width:56px;height:56px}@media (prefers-reduced-motion:reduce){.recipe.featured[data-new] .on-plate{animation:none}}.meal-row{grid-template-columns:56px minmax(0,1fr) auto;row-gap:2px}.meal-row>.food{grid-row:1/span 2;align-self:start}.meal-row>.meal-kind{font:700 var(--t-label) var(--f-body);color:var(--ink-2);grid-column:2}.meal-row>.meal-main{grid-column:2}.meal-row>.btn{grid-area:1/3/span 2}@media (width<=420px){.meal-row{grid-template-columns:56px minmax(0,1fr) auto}.meal-kind{grid-column:2}}.sticker.sm{height:22px;font-size:13px}.engine .default,.saved-chart .value,.saved-chart .tick,.weight-chart .tick{font-size:13px}.segmented button{font-size:var(--t-meta)}.recipe .plate{background:#eef5f7;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 0 0 10px #fff}.plate .on-plate{position:static}.plate .on-plate+.on-plate{margin-left:-10px}.plate .p2{margin-top:40px}.band-inline{background:var(--deep);color:var(--on-deep);border-radius:var(--r-xl);padding:var(--s-4);margin-bottom:var(--s-4)}.plan-cols,.plan-cols>*{min-width:0}.text-tabs{max-width:100%}.field,.key-row{min-width:0;max-width:100%}.field>.input,.key-row>.input,.field input{flex:1 1 0;min-width:0}.segmented.wrap{max-width:100%}.segmented.wrap button{overflow-wrap:anywhere;min-width:0}:root{--olive-ink:var(--on-amber)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--olive-ink:var(--olive)}}:root[data-theme=dark]{--olive-ink:var(--olive)}.sticker[data-level=semana],.pcard .sticker[data-level=semana]{color:var(--olive-ink)}@media (width<=479px){.segmented.wrap{grid-template-columns:repeat(2,1fr)}}.pcard .row-meta{white-space:nowrap;text-overflow:ellipsis;flex-wrap:nowrap;display:block;overflow:hidden}@media (width<=599px){.meal-row>.btn{grid-area:auto/2;justify-self:start;margin-left:-12px}}@media (width>=900px){.tabs .badge{width:8px;min-width:8px;height:8px;padding:0;font-size:0;top:14px;left:22px;overflow:hidden}.body>.screen-head.band{border-bottom:0;outline:0}.body>.screen-head.band+*{border-top:0}}.notice,.notice.ok,.notice.warn{color:var(--ink)}.notice>svg{color:var(--tomato)}.notice.ok>svg{color:var(--leaf-text)}.notice.warn>svg{color:var(--amber)}.recipe.featured{position:relative}.plate-tag{top:var(--s-5);right:var(--s-5);height:30px;font:800 var(--t-meta)/30px var(--f-body);border-radius:var(--r-sm);padding:0 10px;position:absolute;transform:rotate(3deg)}.chip:not([aria-pressed=true]),.allergen-chip:not([aria-pressed=true]){box-shadow:inset 0 0 0 1.5px var(--line-strong)}@media (width>=600px){.body>.screen-head.band{box-shadow:none;clip-path:none;border-image:conic-gradient(var(--deep) 0 0) fill 0 / / 0 100vmax}}.recipe.featured .btn-primary{background:var(--mint);color:var(--deep);box-shadow:none}.today-panel{gap:var(--s-4);display:grid}.today-recipe{background:var(--deep);color:var(--on-deep);border-radius:var(--r-lg);padding:var(--s-6)}.today-recipe h2{color:var(--on-deep);font:400 var(--t-title)/1.15 var(--f-serif);margin:0 0 var(--s-2)}.today-recipe .meta{color:var(--on-deep-2);margin:0 0 var(--s-2)}.today-recipe .btn{margin-top:var(--s-3)}.today-kicker{margin:0 0 var(--s-3);font:700 var(--t-section) var(--f-body);color:var(--mint)}.today-saved{font:600 var(--t-body) var(--f-body);justify-self:start}.today-saved .num{font:800 var(--t-figure)/1 var(--f-body);color:var(--leaf-text)}.today-panel .today-recipe h2{font:400 var(--t-title)/1.15 var(--f-serif)}.today-panel .today-recipe .plate{width:128px;height:128px}@media (width>=900px){.plan-cols{grid-template-columns:minmax(0,1fr) 400px}.plan-cols>.plan-col-plan{order:0}.plan-cols>.plan-col-body{order:1}}@media (width>=1280px){.plan-cols{grid-template-columns:minmax(0,1fr) 440px}}@media (width>=900px){.plan-cols>.plan-col-plan{position:static}}.demo-banner .btn{white-space:nowrap;flex:none}@media (width>=900px){.body>.demo-banner{align-items:center;gap:var(--s-1);padding:var(--s-2) 0 0;color:var(--on-deep-2);font:600 var(--t-meta) var(--f-body);border-image:conic-gradient(var(--deep) 0 0) fill 0 / / 0 100vmax;margin:0;display:flex}.body>.demo-banner strong{color:var(--on-deep)}.body>.demo-banner .btn{margin:-8px 0 -8px var(--s-2);color:var(--mint)}.body>.demo-banner+.screen-head.band{padding-top:var(--s-4)}}@media (width>=900px) and (width<=1099px){.tabs{padding-inline:24px}.tabs .brand{margin-right:12px}.tabs .brand>span{display:none}.tabs .tab{gap:6px;padding:0 12px}}.items-panel{gap:var(--s-3);display:grid}.panel-lede{color:var(--ink-2);font-size:var(--t-body);margin:0}.mini-rows{margin:0;padding:0;list-style:none}.mini-row{gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;display:grid}.mini-row:last-child{border-bottom:0}.mini-row .food{border-radius:var(--r-sm);background:var(--tint);width:40px;height:40px}.mini-text{min-width:0;display:grid}.mini-text strong{font:600 var(--t-body)/1.3 var(--f-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-text small{color:var(--ink-2);font-size:var(--t-meta)}.read-list{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.read-list li{padding-bottom:var(--s-3);border-bottom:1px solid var(--line);gap:2px;display:grid}.read-list li:last-child{border-bottom:0}.read-list strong{font:700 var(--t-body)/1.3 var(--f-body)}.read-list span{color:var(--ink-2);font-size:var(--t-meta)}
