@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-BalHKn7d.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-qxMiU51n.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-CBw-mJf_.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-292QVhS1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer tokens{:root{--page:#faf7f0;--surface:#fff;--surface-sunk:#f1ece0;--ink:#22301d;--ink-soft:#5f6b56;--line:#e4decf;--accent:#e9a21b;--accent-hover:#d8921a;--accent-strong:#8f5e00;--accent-wash:#fbefd1;--on-accent:#22301d;--good:#4c7a3b;--good-text:#38602c;--good-wash:#e3efda;--people:#7a3e6e;--people-wash:#f0e1ec;--on-people:#fff;--star:#b87a07;--fresh:var(--good);--fresh-text:var(--good-text);--thaw:var(--accent);--thaw-text:var(--accent-strong);--spoil:#d64b2e;--spoil-text:#a33a22;--spoil-wash:#fbe3dc;--font-body:"Atkinson Hyperlegible Next", system-ui, sans-serif;--font-display:"Bricolage Grotesque Variable", "Avenir Next", "Helvetica Neue", sans-serif;--text-title:2.5rem;--text-section:1.6rem;--text-subsection:1.25rem;--text-numeral:2.1rem;--text-step:1.75rem;--text-figure:1.5rem;--text-body:1.0625rem;--text-small:.9rem;--text-caption:.8rem;--text-tiny:.72rem;--weight-bold:700;--weight-display:700;--weight-title:800;--space-3xs:.15rem;--space-2xs:.35rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.25rem;--space-2xl:4rem;--measure:38rem;--content-width:52rem;--control-height:2.75rem;--control-height-sm:2.25rem;--row-min-height:3.5rem;--field-basis:14rem;--field-narrow:8rem;--radius-control:12px;--radius-panel:16px;--radius-photo:20px;--radius-pill:999px;--rail-width:13rem;--tabbar-height:4rem;--topbar-height:3.5rem;--gutter:1rem;--focus-ring:3px solid var(--accent-strong);--focus-offset:2px;--z-nav:10;--z-toast:20;--shadow-raised:0 6px 24px #0003;--shadow-float:0 10px 30px #3c2d0a1a;--scrim:#00000059;--scrim-solid:#000;--on-scrim:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-scheme=dark]{--page:#24231c;--surface:#2f2e26;--surface-sunk:#3a3930;--ink:#f5f1e6;--ink-soft:#bcb6a4;--line:#47463b;--accent:#f0b23a;--accent-hover:#f6c057;--accent-strong:#f2c25e;--accent-wash:#3c2e10;--on-accent:#1e2314;--good:#8dba6f;--good-text:#a9d08e;--good-wash:#263221;--people:#c58bb8;--people-wash:#3a2535;--on-people:#24231c;--star:#f2c14e;--spoil:#f0735a;--spoil-text:#f39380;--spoil-wash:#3f2420;--shadow-float:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@layer base{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-body);font-size:var(--text-body);margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);margin:0;line-height:1.1}h1{font-size:var(--text-title);font-weight:var(--weight-title);letter-spacing:-.02em;text-wrap:balance}h2{font-size:var(--text-section)}h3{font-size:var(--text-subsection)}p,dd{margin:0}:where(ul,ol)[class]{margin:0;padding:0;list-style:none}input:where([type=checkbox],[type=radio]){width:1.25rem;height:1.25rem;accent-color:var(--accent);flex:none;margin:0}a{color:var(--accent-strong)}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}}@layer components{.button{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:var(--control-height);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font:inherit;font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;border:1px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex}.button--primary{background:var(--accent);color:var(--on-accent)}.button--primary:hover:not(:disabled){background:var(--accent-hover)}.button--secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button--secondary:hover:not(:disabled){border-color:var(--ink-soft)}.button--quiet{color:var(--accent-strong);padding-inline:var(--space-xs);background:0 0}.button--quiet:hover:not(:disabled){background:var(--accent-wash)}.button--danger{border-color:var(--spoil);color:var(--spoil-text);background:0 0}.button--danger:hover:not(:disabled){background:var(--spoil-wash)}.button--small{min-height:var(--control-height-sm);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-small)}.button--block{width:100%}.button[aria-pressed=true]{background:var(--accent-wash);border-color:var(--accent-strong);color:var(--accent-strong)}.segmented{gap:var(--space-3xs);flex-wrap:wrap;display:flex}.cluster{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.cluster--tight{gap:var(--space-2xs)}.stack{gap:var(--space-sm);display:grid}.stack--tight{gap:var(--space-xs)}.stack--loose{gap:var(--space-md)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel)}.panel--padded{padding:var(--space-md)}.panel--accent{border-color:var(--accent)}.well{padding:var(--space-sm);border-radius:var(--radius-control);background:var(--surface-sunk)}.subsection{gap:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--line);display:grid}.fine-print{color:var(--ink-soft);font-size:var(--text-small)}.label-heading{font-family:var(--font-body);font-size:var(--text-body);font-weight:var(--weight-bold);margin:0;line-height:1.5}.label-heading--small{font-size:var(--text-small)}.code-figure{font-family:var(--font-display);font-size:var(--text-figure);font-weight:var(--weight-display);letter-spacing:.06em;display:block}.divided>*+*{border-top:1px solid var(--line)}.list-row{gap:var(--space-3xs);padding:var(--space-sm) var(--space-md);display:grid}.list-row--link{color:inherit;text-decoration:none}.list-row--link:hover{background:var(--surface-sunk)}.panel:has(.list-row--link){overflow:hidden}.action-row{align-items:center;gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto}.action-row__wide{grid-column:1/-1}.action-row__actions{justify-content:flex-end}.meta{column-gap:var(--space-md);color:var(--ink-soft);font-size:var(--text-small);flex-wrap:wrap;display:flex}.shelf{overflow:hidden}.shelf-row{column-gap:var(--space-md);grid-template-columns:5px 3rem 1fr auto;grid-template-areas:"bar picture body days""bar actions actions actions";display:grid}.shelf-row__bar{background:var(--fresh);grid-area:bar}.shelf-row__picture{border-radius:var(--radius-control);grid-area:picture;align-self:center;width:3rem;height:3rem;font-size:1.1rem}.shelf-row[data-status=EAT_SOON] .shelf-row__bar{background:var(--thaw)}.shelf-row[data-status=EXPIRED] .shelf-row__bar{background:var(--spoil)}.shelf-row[data-finished=true] .shelf-row__bar{background:var(--line)}.shelf-row__body{padding:var(--space-sm) 0 var(--space-2xs);grid-area:body;min-width:0}.shelf-row__title{font-weight:var(--weight-bold);color:var(--ink);overflow-wrap:anywhere;text-decoration:none}a.shelf-row__title:hover{text-decoration:underline}.shelf-row__days{padding:var(--space-sm) var(--space-md) 0 0;grid-area:days}.shelf-row__actions{gap:var(--space-xs);padding:var(--space-2xs) var(--space-md) var(--space-sm) 0;flex-wrap:wrap;grid-area:actions;display:flex}@media (width>=40rem){.shelf-row{grid-template-columns:5px 3rem 1fr auto auto;grid-template-areas:"bar picture body actions days";align-items:center}.shelf-row__body{padding:var(--space-md) 0}.shelf-row__actions{padding:var(--space-xs) 0;justify-content:flex-end}.shelf-row__days{padding:var(--space-xs) var(--space-lg) var(--space-xs) var(--space-xs);width:9rem}}.days{color:var(--fresh-text);flex-direction:column;align-items:flex-end;line-height:1;display:flex}.days__figure{font-family:var(--font-display);font-size:var(--text-numeral);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.days__caption{font-size:var(--text-caption);color:var(--ink-soft);margin-top:var(--space-3xs);white-space:nowrap}.days[data-status=EAT_SOON]{color:var(--thaw-text)}.days[data-status=EXPIRED],.days[data-status=EXPIRED] .days__caption{color:var(--spoil-text)}.tag{font-size:var(--text-caption);padding:.05rem var(--space-xs);border-radius:var(--radius-pill);background:var(--surface-sunk);color:var(--ink-soft);display:inline-block}.diet-labels{gap:var(--space-2xs);margin-top:var(--space-2xs);flex-wrap:wrap;display:flex}.tag--diet{background:var(--good-wash);color:var(--good-text)}.tag--suggested{border:1px solid var(--thaw);color:var(--thaw-text);background:0 0;justify-self:start}.plate{gap:var(--space-sm);margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-panel);background:var(--good-wash);display:grid}.plate--empty{background:var(--surface);border:1px solid var(--line)}.plate__summary{align-items:center;gap:var(--space-md);display:flex}.plate__ring{border-radius:var(--radius-pill);background:conic-gradient(var(--good) var(--share), color-mix(in oklab, var(--good) 22%, transparent) 0);flex:none;place-items:center;width:4rem;height:4rem;display:grid}.plate__ring b{border-radius:var(--radius-pill);background:var(--surface);width:2.9rem;height:2.9rem;font-family:var(--font-display);font-size:var(--text-small);font-weight:var(--weight-title);font-variant-numeric:tabular-nums;place-items:center;display:grid}.plate__say{font-family:var(--font-display);font-size:var(--text-subsection);font-weight:var(--weight-display);color:var(--good-text);text-wrap:balance;line-height:1.25}.plate__meters{gap:var(--space-xs) var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.meter{gap:var(--space-3xs);display:grid}.meter__text{justify-content:space-between;gap:0 var(--space-sm);font-size:var(--text-small);flex-wrap:wrap;display:flex}.meter__label{color:var(--ink-soft)}.meter__value{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.meter__bar{border-radius:var(--radius-pill);background:color-mix(in oklab, var(--good) 20%, transparent);height:6px;position:relative;overflow:hidden}.meter__fill,.meter__planned{width:var(--share);border-radius:var(--radius-pill);background:var(--good);position:absolute;inset:0 auto 0 0}.meter__planned{background:color-mix(in oklab, var(--good) 45%, transparent)}.plate__details>summary{cursor:pointer;color:var(--good-text)}.plate__heading{font-size:var(--text-body);font-weight:var(--weight-bold);display:inline}.plate__details>summary:hover .plate__heading{text-decoration:underline}.plate__details[open]>summary{margin-bottom:var(--space-sm)}.plate__details>*+*{margin-top:var(--space-xs)}.nutrition-facts{gap:var(--space-sm) var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));margin:0;display:grid}.nutrition-facts__item dt{color:var(--ink-soft);font-size:var(--text-small)}.nutrition-facts__item dd{display:grid}.nutrition-facts__value{font-family:var(--font-display);font-size:var(--text-figure);font-weight:var(--weight-display);line-height:1.1}.inline-fields{align-items:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.inline-fields>.field{flex:1 1 var(--field-basis)}.inline-form{gap:var(--space-xs);padding:0 var(--space-md) var(--space-md) 0;grid-column:3/-1}.inline-form .field{flex:100%}@media (width>=40rem){.inline-form .field{flex:0 1 var(--field-basis)}}.empty{padding:var(--space-lg);border:1px dashed var(--line);border-radius:var(--radius-panel);color:var(--ink-soft)}.empty p+.button,.empty p+.form-actions,.empty p+p{margin-top:var(--space-sm)}.form{gap:var(--space-lg);max-width:var(--measure);display:grid}.form-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end;display:grid}.field{gap:var(--space-2xs);align-content:start;display:grid}.field__label{font-weight:var(--weight-bold)}.field__optional{color:var(--ink-soft);font-weight:400}.field__hint{color:var(--ink-soft);font-size:var(--text-small)}.field__error{color:var(--spoil-text);font-size:var(--text-small);font-weight:var(--weight-bold)}.input{width:100%;min-height:var(--control-height);padding:var(--space-xs) var(--space-sm);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit}.input:focus-visible{outline-offset:0;border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--spoil)}textarea.input{resize:vertical;min-height:5.5rem}select.input{appearance:auto}.form-actions{gap:var(--space-sm);padding-top:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.form-actions__end{margin-left:auto}.alert{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--spoil-wash);color:var(--spoil-text);font-weight:var(--weight-bold)}.checkbox{align-items:center;gap:var(--space-xs);cursor:pointer;display:inline-flex}.checkbox-group{gap:var(--space-xs) var(--space-lg);flex-wrap:wrap;display:flex}.credit{margin-top:var(--space-xs);font-size:var(--text-small);color:var(--ink-soft)}.fieldset{gap:var(--space-sm);border:0;margin:0;padding:0;display:grid}.fieldset--compact{gap:var(--space-xs)}.fieldset>legend{font-family:var(--font-display);font-size:var(--text-section);font-weight:var(--weight-display);margin-bottom:var(--space-sm);padding:0;line-height:1.1}.fieldset__title{margin-bottom:var(--space-sm)}.fieldset>legend.field__label{font-family:inherit;font-size:inherit;font-weight:var(--weight-bold);line-height:inherit;margin-bottom:var(--space-2xs)}.tick-list{gap:var(--space-2xs);display:grid}.tick-row{justify-content:space-between;align-items:center;column-gap:var(--space-md);flex-wrap:wrap;display:flex}.tick-row label{align-items:center;gap:var(--space-xs);min-height:var(--control-height-sm);display:flex}.toast{inset-inline:var(--gutter);bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-md));z-index:var(--z-toast);width:fit-content;max-width:30rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--ink);color:var(--page);box-shadow:var(--shadow-raised);font-weight:var(--weight-bold);margin-inline:auto;position:fixed}@media (width>=56rem){.toast{bottom:var(--space-xl);left:var(--rail-width)}}@media (prefers-reduced-motion:no-preference){.toast{animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}}}.notice{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-control);background:var(--accent-wash);color:var(--accent-strong);margin:0}.legal-links{gap:var(--space-md);margin-top:var(--space-md);font-size:var(--text-small);flex-wrap:wrap;display:flex}@media (pointer:coarse){.button--small,.checkbox,.tick-row label{min-height:var(--control-height)}}}@layer layout{.app{min-height:100dvh}.topbar{height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--gutter) 0;justify-content:space-between;align-items:center;display:flex}.wordmark{font-family:var(--font-display);font-size:var(--text-subsection);font-weight:var(--weight-title);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.avatar{border-radius:var(--radius-pill);background:var(--people);width:2.25rem;height:2.25rem;color:var(--on-people);font-family:var(--font-display);font-weight:var(--weight-title);place-items:center;text-decoration:none;display:inline-grid}.nav{z-index:var(--z-nav);height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;position:fixed;inset:auto 0 0}.nav__brand,.nav__account{display:none}.nav__links{display:contents}.nav__link{justify-content:center;align-items:center;gap:var(--space-3xs);color:var(--ink-soft);font-size:var(--text-caption);flex-direction:column;flex:1;text-decoration:none;display:flex}.nav__icon{border-radius:var(--radius-pill);place-items:center;width:3.25rem;height:1.75rem;display:grid}.nav__link svg{width:1.4rem;height:1.4rem}.nav__link[aria-current=page]{color:var(--ink);font-weight:var(--weight-bold)}.nav__link[aria-current=page] .nav__icon{background:var(--accent);color:var(--on-accent)}.nav__link:focus-visible{outline-offset:-3px}@media (width<=24rem){.nav__link{font-size:var(--text-tiny)}}.main{max-width:var(--content-width);padding:var(--space-sm) var(--gutter) calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-xl));margin:0 auto}@media (width>=56rem){.topbar{display:none}.nav{width:var(--rail-width);height:auto;padding:var(--space-lg) var(--space-sm);background:var(--page);border-top:0;border-right:1px solid var(--line);flex-direction:column;inset:0 auto 0 0}.nav__brand{font-size:var(--text-section);padding:0 var(--space-sm) var(--space-lg);display:block}.nav__links{gap:var(--space-2xs);flex-direction:column;display:flex}.nav__link{justify-content:flex-start;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);font-size:var(--text-body);flex-direction:row;flex:none}.nav__icon{border-radius:0;width:auto;height:auto}.nav__link[aria-current=page] .nav__icon{color:inherit;background:0 0}.nav__link:hover{background:var(--surface-sunk)}.nav__link[aria-current=page]{background:var(--accent-wash)}.nav__link:focus-visible{outline-offset:var(--focus-offset)}.nav__account{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);color:var(--ink);margin-top:auto;text-decoration:none;display:flex}.nav__account:hover{background:var(--surface-sunk)}.nav__account[aria-current=page]{background:var(--accent-wash);font-weight:var(--weight-bold)}.nav__account-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{margin-left:var(--rail-width);padding:var(--space-xl) var(--space-xl) var(--space-2xl)}}@media (width>=80rem){.main{margin-left:max(var(--rail-width), calc((100vw - var(--content-width)) / 2))}}.page-head{gap:var(--space-md);margin-bottom:var(--space-lg);display:grid}.page-head__intro{color:var(--ink-soft);margin-top:var(--space-2xs);max-width:var(--measure)}.page-head__actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}@media (width>=40rem){.page-head:has(>.page-head__actions){grid-template-columns:minmax(0,1fr) auto;align-items:start}}.kitchen-tabs{gap:var(--space-2xs);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.kitchen-tabs a{min-height:var(--control-height-sm);padding:var(--space-2xs) var(--space-md);border-radius:var(--radius-pill);color:var(--ink-soft);font-weight:var(--weight-bold);align-items:center;text-decoration:none;display:inline-flex}.kitchen-tabs a:hover{background:var(--surface-sunk)}.kitchen-tabs a[aria-current=page]{background:var(--accent);color:var(--on-accent)}.back-link{margin-bottom:var(--space-sm);color:var(--ink-soft);text-decoration:none;display:inline-block}.back-link:hover{color:var(--ink);text-decoration:underline}.section{margin-top:var(--space-xl)}.section>h2{margin-bottom:var(--space-sm)}.toolbar{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.toolbar>.input{flex:1 1 var(--field-basis)}.toolbar>select.input{flex:0 auto;width:auto}.status-line{color:var(--ink-soft);padding:var(--space-md) 0}}@layer features{.nutrition-panel{margin-bottom:var(--space-xl);padding:var(--space-md) var(--space-lg)}.recipe-facts{gap:var(--space-xs);margin:var(--space-xs) 0 0;flex-wrap:wrap;display:flex}.recipe-facts div{align-items:center;gap:var(--space-2xs);min-height:var(--control-height-sm);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--surface);display:inline-flex}.recipe-facts dt{color:var(--ink-soft);font-size:var(--text-small)}.recipe-facts dd{font-family:var(--font-display);font-size:var(--text-subsection);font-weight:var(--weight-display);line-height:1}.recipe-columns{gap:var(--space-xl);display:grid}@media (width>=56rem){.recipe-columns{grid-template-columns:minmax(14rem,2fr) 3fr}}.ingredient-list li{gap:var(--space-sm);padding:var(--space-xs) 0;grid-template-columns:5.5rem 1fr;display:grid}.ingredient-list__amount{font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.step-list{counter-reset:step}.step-list li{counter-increment:step;gap:var(--space-sm);padding:var(--space-xs) 0;max-width:var(--measure);grid-template-columns:2.25rem 1fr;display:grid}.step-list li:before{content:counter(step);font-family:var(--font-display);font-size:var(--text-step);font-weight:var(--weight-bold);color:var(--accent-strong);line-height:1}.recipe-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));display:grid}@media (width>=40rem){.recipe-grid{gap:var(--space-xl) var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}}.recipe-card__link{gap:var(--space-xs);color:inherit;border-radius:var(--radius-photo);text-decoration:none;display:grid}.recipe-card__picture{aspect-ratio:4/3;border-radius:var(--radius-photo);width:100%}.photo{object-fit:cover;background:var(--surface-sunk);display:block}.tile{background:linear-gradient(135deg, oklch(88% .07 var(--tile-hue)), oklch(76% .1 calc(var(--tile-hue) + 35)));color:oklch(42% .09 var(--tile-hue));font-family:var(--font-display);font-size:3rem;font-weight:var(--weight-title);-webkit-user-select:none;user-select:none;place-items:center;line-height:1;display:grid}:root[data-scheme=dark] .tile{background:linear-gradient(135deg, oklch(36% .06 var(--tile-hue)), oklch(28% .05 calc(var(--tile-hue) + 35)));color:oklch(82% .08 var(--tile-hue))}.recipe-card__body{gap:var(--space-3xs);padding:0 var(--space-3xs);display:grid}.recipe-card__name{font-family:var(--font-display);font-size:var(--text-subsection);font-weight:var(--weight-display);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;line-height:1.15}.recipe-card__link:hover .recipe-card__name{text-underline-offset:.15em;text-decoration:underline;text-decoration-thickness:2px}.recipe-card .meta{column-gap:var(--space-xs)}.recipe-hero{gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-lg);border-radius:var(--radius-photo);background:var(--surface-sunk);display:grid}.recipe-hero[style*=--hue]{--tint:hsl(var(--hue) 85% 55%);background:linear-gradient(165deg, color-mix(in oklab, var(--tint) 18%, var(--surface)), color-mix(in oklab, var(--tint) 7%, var(--surface)))}:root[data-scheme=dark] .recipe-hero[style*=--hue]{background:linear-gradient(165deg, color-mix(in oklab, var(--tint) 22%, var(--surface)), color-mix(in oklab, var(--tint) 9%, var(--surface)))}.recipe-hero__text{gap:var(--space-xs);align-content:start;justify-items:start;min-width:0;display:grid}.recipe-hero__text>.page-head__intro{margin:0}.recipe-hero__text>.form-actions{padding-top:var(--space-sm)}.recipe-hero>.recipe-photo{order:-1}@media (width>=56rem){.recipe-hero{padding:var(--space-xl);grid-template-columns:minmax(0,1fr) 19rem}.recipe-hero>.recipe-photo{order:0}}.recipe-photo{gap:var(--space-xs);align-content:start;display:grid}.recipe-photo__image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-photo);background:var(--surface-sunk);width:100%}.stars{align-items:center;gap:var(--space-3xs);vertical-align:middle;display:inline-flex}.stars__star svg{fill:none;width:1rem;height:1rem;stroke:var(--ink-soft);stroke-width:1.6px;stroke-linejoin:round;display:block}.stars__star--on svg{fill:var(--star);stroke:var(--star)}.stars--input{margin:var(--space-2xs) 0 var(--space-xs) calc(-1 * var(--space-2xs))}.stars--input .stars__star{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.stars--input .stars__star svg{width:1.6rem;height:1.6rem}.stars--input .stars__star:hover:not(:disabled){background:var(--surface-sunk)}.recipe-facts .servings-stepper{align-items:center;gap:var(--space-2xs);display:flex}.ingredients-head{justify-content:space-between;align-items:baseline;gap:var(--space-xs);flex-wrap:wrap;display:flex}.recipe-source{margin-top:var(--space-xs)}.cook-mode__status{flex-basis:100%;order:1}.collection-filter{margin-bottom:var(--space-sm)}.manage-collections{margin-bottom:var(--space-md)}.manage-collections__list{gap:var(--space-xs);display:grid}.community-rating{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.cooks{gap:var(--space-xs);margin-bottom:var(--space-lg);display:grid}.cooks__row{gap:var(--space-sm);padding-bottom:var(--space-2xs);scrollbar-width:thin;display:flex;overflow-x:auto}.cook{justify-items:center;gap:var(--space-3xs);width:4.5rem;color:var(--ink);text-align:center;font-size:var(--text-caption);text-decoration:none;display:grid}.cook:hover .cook__name{text-decoration:underline}.cook__name{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.cook-avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg, oklch(82% .1 var(--tile-hue)), oklch(70% .13 calc(var(--tile-hue) + 35)));width:3rem;height:3rem;color:oklch(32% .1 var(--tile-hue));font-family:var(--font-display);font-size:1.25rem;font-weight:var(--weight-title);-webkit-user-select:none;user-select:none;place-items:center;display:grid}:root[data-scheme=dark] .cook-avatar{background:linear-gradient(135deg, oklch(42% .08 var(--tile-hue)), oklch(33% .07 calc(var(--tile-hue) + 35)));color:oklch(88% .08 var(--tile-hue))}.cook-avatar--large{width:4.5rem;height:4.5rem;font-size:2rem}.cook-profile__who{align-items:center;gap:var(--space-md);display:flex}.community-tabs{margin-bottom:var(--space-md)}.report-form{max-width:var(--measure);flex-basis:100%}.reported-list{gap:var(--space-md);display:grid}.reported{max-width:var(--measure)}.reported__hidden{margin-left:var(--space-xs)}.reported__notes{padding-left:var(--space-lg);list-style:outside}.community-comments__list{margin-bottom:var(--space-md);gap:var(--space-sm);display:grid}.community-comments__list li{padding:var(--space-sm) 0;border-top:1px solid var(--line);gap:var(--space-3xs);justify-items:start;display:grid}.community-comments__text{white-space:pre-wrap;max-width:var(--measure)}.community-comments__actions{align-items:flex-start}.community-comments__form{gap:var(--space-sm);max-width:var(--measure);display:grid}.auth-page{align-content:center;justify-items:center;gap:var(--space-md);min-height:100dvh;padding:var(--space-xl) var(--gutter);display:grid}.auth-page__brand{font-family:var(--font-display);font-size:var(--text-title);font-weight:var(--weight-title);letter-spacing:-.02em;color:var(--ink)}.auth-form{gap:var(--space-md);width:100%;max-width:26rem;padding:var(--space-lg);display:grid}.auth-form>h1{font-size:var(--text-section)}.auth-page__switch{color:var(--ink-soft)}.auth-form--quiet{padding-block:0}.auth-form--quiet>h2{font-size:var(--text-subsection)}.home{gap:var(--space-xl);display:grid}.home-greeting .page-head__intro{margin-top:var(--space-2xs)}.tonight{border-radius:var(--radius-photo);background:var(--surface);box-shadow:var(--shadow-float);display:grid;overflow:hidden}.tonight__picture{aspect-ratio:16/9;width:100%;font-size:4rem}.tonight__body{gap:var(--space-xs);padding:var(--space-lg);align-content:center;justify-items:start;display:grid}.tonight__eyebrow{color:var(--ink-soft);font-size:var(--text-small)}.tonight__title{font-size:var(--text-section);font-weight:var(--weight-title);letter-spacing:-.01em}.tonight__body>.cluster{margin-top:var(--space-xs)}@media (width>=40rem){.tonight:has(.tonight__picture){grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.tonight__picture{aspect-ratio:auto;height:100%;min-height:16rem}.tonight__body{padding:var(--space-xl)}}.use-up{gap:var(--space-2xs);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-panel);background:var(--accent-wash);justify-items:start;display:grid}.use-up__list{gap:var(--space-3xs);display:grid}.use-up__name{font-weight:var(--weight-bold)}.home-section__head{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.card-row{gap:var(--space-md);margin-inline:calc(-1 * var(--gutter));padding:var(--space-3xs) var(--gutter) var(--space-sm);scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);scrollbar-width:thin;grid-auto-columns:11rem;grid-auto-flow:column;display:grid;overflow-x:auto}.card-row>.recipe-card{scroll-snap-align:start}@media (width>=56rem){.card-row{grid-auto-columns:13rem;margin-inline:0;padding-inline:0}}.food-link{gap:var(--space-2xs);display:grid}.food-link__chosen{justify-content:space-between;align-items:center;gap:var(--space-2xs) var(--space-md);padding:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.food-link__actions{gap:var(--space-2xs);display:flex}.food-description{gap:var(--space-3xs);min-width:0;display:grid}.food-description__name{font-weight:var(--weight-bold);overflow-wrap:anywhere}.food-description__values{column-gap:var(--space-sm);color:var(--ink-soft);font-size:var(--text-small);flex-wrap:wrap;display:flex}.food-picker{gap:var(--space-xs);padding:var(--space-sm);display:grid}.food-picker__search{gap:var(--space-2xs);display:grid}.food-picker__search-row{gap:var(--space-xs);align-items:center;display:flex}.food-picker__heading{margin-top:var(--space-2xs);color:var(--ink-soft)}.food-results{border:1px solid var(--line);border-radius:var(--radius-control);max-height:18rem;overflow-y:auto}.food-results li{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);display:flex}.own-food__values{gap:var(--space-sm);grid-template-columns:repeat(auto-fit, minmax(var(--field-narrow), 1fr));align-items:end;display:grid}.food-description__name .tag{margin-left:var(--space-2xs);vertical-align:.1em}.scanner__viewport{border-radius:var(--radius-control);background:var(--scrim-solid);aspect-ratio:4/3;max-height:50vh;position:relative;overflow:hidden}.scanner__video{object-fit:cover;width:100%;height:100%}.scanner__frame{border:2px solid var(--on-scrim);border-radius:var(--radius-control);box-shadow:0 0 0 100vmax var(--scrim);position:absolute;inset:30% 12%}.scanner__photo:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}.plan-week{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md);display:flex}.plan-week__title{font-size:var(--text-subsection)}.week-strip{gap:var(--space-2xs);margin-bottom:var(--space-lg);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}@media (width>=40rem){.week-strip{gap:var(--space-sm)}}.week-strip__day{gap:var(--space-3xs);color:var(--ink-soft);font-size:var(--text-caption);border-radius:var(--radius-control);justify-items:center;text-decoration:none;display:grid}.week-strip__day[aria-current=date]{color:var(--ink);font-weight:var(--weight-bold)}.week-strip__picture{aspect-ratio:1;border-radius:var(--radius-control);width:100%;font-size:1.25rem}.week-strip__picture--empty{border:2px dashed var(--line);display:block}.week-strip__day[aria-current=date] .week-strip__picture{outline:3px solid var(--accent);outline-offset:2px}.plan-days{gap:var(--space-md);display:grid}.plan-day__head{align-items:baseline;gap:var(--space-sm);display:flex}.plan-day__head h3{font-size:var(--text-subsection)}.plan-totals{gap:var(--space-3xs);margin:var(--space-xs) 0 0;display:grid}.plan-totals__person{column-gap:var(--space-sm);flex-wrap:wrap;display:flex}.plan-totals__person dt{font-size:var(--text-small);font-weight:var(--weight-bold)}.plan-totals__words{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--good-text);flex-basis:100%}.plan-totals__meters{gap:var(--space-xs) var(--space-lg);margin:var(--space-2xs) 0;flex-basis:100%;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.plan-totals__over{color:var(--accent-strong);font-weight:var(--weight-bold)}.plan-slot{border-top:1px solid var(--line);margin-top:var(--space-sm);padding-top:var(--space-xs)}.plan-day__add{gap:var(--space-3xs) var(--space-2xs);margin-top:var(--space-sm);margin-left:calc(-1 * var(--space-xs));flex-wrap:wrap;display:flex}.plan-slot__name{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.plan-slot__meals{gap:var(--space-xs);margin-top:var(--space-2xs);display:grid}.plan-meal{gap:var(--space-2xs) var(--space-sm);grid-template-columns:1fr;display:grid}.plan-meal:has(>.plan-meal__picture){grid-template-columns:3rem 1fr}.plan-meal__picture{border-radius:var(--radius-control);width:3rem;height:3rem;font-size:1.1rem}.plan-meal>.cluster,.plan-meal>form{grid-column:1/-1}@media (width>=40rem){.plan-meal{grid-template-columns:1fr auto;align-items:center}.plan-meal:has(>.plan-meal__picture){grid-template-columns:3rem 1fr auto}.plan-meal>.cluster{grid-column:auto}}.plan-meal__body{gap:var(--space-3xs);min-width:0;display:grid}.plan-meal__name{font-weight:var(--weight-bold);overflow-wrap:anywhere}.plan-meal--eaten .plan-meal__name{color:var(--ink-soft)}.plan-meal__short{color:var(--spoil-text)}.plan-toggle[aria-pressed=true]:before{content:"✓ "}.plan-form{margin-top:var(--space-xs)}.plan-suggestions{margin-top:var(--space-2xs)}.plan-suggestion{padding:var(--space-2xs) var(--space-sm);text-align:left;white-space:normal;justify-content:start;justify-items:start;display:grid}.plan-suggestion__reason{font-size:var(--text-caption);color:var(--ink-soft);font-weight:400}.plan-choices{gap:var(--space-3xs);max-height:16rem;display:grid;overflow-y:auto}.plan-add__portions .input{max-width:var(--field-narrow)}.plan-eaters__person{align-items:center;gap:var(--space-2xs);display:inline-flex}.plan-eaters__portions{width:4.5rem}.plan-shopping{margin-bottom:var(--space-md)}.shopping-add{gap:var(--space-xs);margin-bottom:var(--space-lg);display:flex}.shopping-add .input{flex:1;min-width:0}.shopping-section{margin-bottom:var(--space-lg)}.shopping-section>h2{margin:0 0 var(--space-xs);font-size:var(--text-subsection)}.shopping-item{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-md);display:flex}.shopping-item__check{align-items:center;gap:var(--space-sm);min-height:var(--control-height);cursor:pointer;flex:1;display:flex}.shopping-item__check>span{display:grid}.shopping-item--checked .shopping-item__text{color:var(--ink-soft);text-decoration:line-through}.shopping-editor{gap:var(--space-sm);padding:var(--space-xs) 0;flex:1;display:grid}.shopping-editor__fields{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.shopping-actions{margin-top:var(--space-xs)}.recipe-shopping{margin-top:var(--space-md);padding:var(--space-md) var(--space-lg)}.recipe-shopping h2{font-size:var(--text-subsection)}.recipe-shopping__servings{max-width:var(--field-narrow)}.editable-list{gap:var(--space-sm);display:grid}.editable-list__row{gap:var(--space-xs);padding:var(--space-sm);display:grid}.ingredient-fields{gap:var(--space-xs) var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"name name""amount unit""weight weight""note note";display:grid}.ingredient-fields__name{grid-area:name}.ingredient-fields__amount{grid-area:amount}.ingredient-fields__unit{grid-area:unit}.ingredient-fields__weight{grid-area:weight}.ingredient-fields__note{grid-area:note}@media (width>=40rem){.ingredient-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,7rem) minmax(0,11rem);grid-template-areas:"name name amount unit""weight note note note"}.ingredient-fields--no-weight{grid-template-areas:"name name amount unit""note note note note"}}.row-controls{gap:var(--space-2xs);justify-content:flex-end;display:flex}.import-option{gap:var(--space-sm);padding-bottom:var(--space-lg);border-bottom:1px solid var(--line);display:grid}.import-option:last-child{border-bottom:0}.import-option>.field__hint{margin:calc(-1 * var(--space-xs)) 0 0}.bookmarklet{cursor:grab}.paprika-result{gap:var(--space-xs);justify-items:start;display:grid}.paprika-result ul{margin:var(--space-2xs) 0 0}.settings-page{gap:var(--space-xl);max-width:var(--measure);display:grid}.choice{align-items:center;gap:var(--space-md);min-height:var(--row-min-height);padding:var(--space-sm) var(--space-md);cursor:pointer;display:flex}.choice:hover{border-color:var(--accent)}.choice:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice:has(input:focus-visible){outline:var(--focus-ring);outline-offset:var(--focus-offset)}.choice input:focus-visible{outline:none}.choice__text{gap:var(--space-3xs);display:grid}.choice__name{font-weight:var(--weight-bold)}.nutrient-choice{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-md);min-height:var(--row-min-height);padding:var(--space-xs) var(--space-md);flex-wrap:wrap;display:flex}.nutrient-choice__target{align-items:center;gap:var(--space-2xs) var(--space-xs);flex-wrap:wrap;display:flex}.nutrient-choice__target .input{width:6.5rem}.nutrient-choice__target .field__error{text-align:right;flex-basis:100%}.settings-page h3{margin-top:var(--space-sm)}.member-list__name{font-weight:var(--weight-bold)}.join-household{gap:var(--space-xs);margin-top:var(--space-md);display:grid}.join-household h3{margin-top:0}.admin-search{margin-bottom:var(--space-md);max-width:var(--measure)}.admin-accounts__name{align-items:baseline;gap:var(--space-xs);font-weight:var(--weight-bold);flex-wrap:wrap;display:flex}.admin-accounts__public{color:var(--ink-soft);font-weight:400}.admin-blocked{margin:0 0 var(--space-md);max-width:var(--measure)}.admin-facts{gap:var(--space-xs) var(--space-md);margin:0 0 var(--space-lg);padding:var(--space-md);max-width:var(--measure);grid-template-columns:1fr;display:grid}.admin-facts dt{color:var(--ink-soft)}.admin-facts__members{margin-top:var(--space-3xs)}.admin-actions{gap:var(--space-lg);max-width:var(--measure);display:grid}.admin-danger__title{font-size:var(--text-subsection)}.admin-log{max-width:var(--measure)}.admin-log__detail{overflow-wrap:anywhere}.admin-facts dd{margin-bottom:var(--space-xs)}@media (width>=40rem){.admin-facts{grid-template-columns:max-content 1fr}.admin-facts dd{margin-bottom:0}}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-soft)}.button:disabled,.input:disabled,.stars__star:disabled{opacity:.55;cursor:not-allowed}.checkbox:has(>input:disabled){opacity:.55;cursor:not-allowed}.choice:has(input:disabled){opacity:.55;cursor:not-allowed}}
