@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0_mlbjjysj-9a.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.20edsl4fvw0xl.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.2o7k1_w7_w7bj.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.12jnqtfk91av5.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-ext-500-normal.3r_2hmgyghopi.woff2)format("woff2"),url(../media/dm-sans-latin-ext-500-normal.0hc3k9jh99u9h.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.2f4st7_5x_v78.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.366wxi7rk3-vz.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.06gqmhphopoe2.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2vcw1e622nu68.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.32n_x70livn_1.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.2tavyc8arpb_3.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-ext-700-normal.04nb2rj_m4l8k.woff2)format("woff2"),url(../media/dm-sans-latin-ext-700-normal.1avk1m8ac7puw.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.0lo5o3yaiuo13.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.3frjp6l305o-t.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fraunces-vietnamese-400-normal.43g85dj_a294t.woff2)format("woff2"),url(../media/fraunces-vietnamese-400-normal.18a9f6c99hbiv.woff)format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fraunces-latin-ext-400-normal.3y_6ohr-6eapd.woff2)format("woff2"),url(../media/fraunces-latin-ext-400-normal.3y6tqtwtp8hx7.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:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fraunces-latin-400-normal.0kyn6gd6d5zkc.woff2)format("woff2"),url(../media/fraunces-latin-400-normal.12ui2cx-s4wlh.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fraunces-vietnamese-500-normal.16cqoem03gtlk.woff2)format("woff2"),url(../media/fraunces-vietnamese-500-normal.08rz4-yd92dyi.woff)format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fraunces-latin-ext-500-normal.3gszo98-5v02c.woff2)format("woff2"),url(../media/fraunces-latin-ext-500-normal.2_xtrmztylzbp.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(../media/fraunces-latin-500-normal.33_zlrbg73dn6.woff2)format("woff2"),url(../media/fraunces-latin-500-normal.2fx2fdcuaq2em.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}
:root{--color-paper:#f9f6ee;--color-white:#fffefc;--color-paper-2:#f2efe5;--color-ink:#1c2a21;--color-muted:#555e55;--color-faint:#6a716a;--color-accent:#244934;--color-accent-hover:#173826;--color-accent-ink:#fbf8f0;--color-green-soft:#dfecdf;--color-green-mid:#c0d4c0;--color-gold:#dfbc7b;--color-gold-soft:#faedd3;--color-gold-ink:#664522;--color-rule:#dfdcd3;--color-error:#8c2e26;--color-error-soft:#ffeee6;--color-focus:#b15900;--color-snow:#e0edf6;--color-snow-ink:#30556a;--color-overlay:#06130b7a;--color-shadow:#1a251d14;--color-photo-overlay:#1019119e;--color-transparent:#fff0;--font-display:"Fraunces", Georgia, serif;--font-body:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:40px;--space-4xl:48px;--space-5xl:64px;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-display:2.75rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--rule-thin:1px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-press:.1s;--dur-hover:.18s;--dur-modal:.25s}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(97.045% -.00396371 4.59447);--color-white:lab(99.7837% -.0090003 1.14334);--color-paper-2:lab(94.5177% -.410497 5.34167);--color-ink:lab(15.6662% -8.13037 4.17296);--color-muted:lab(38.7559% -5.02983 3.91629);--color-faint:lab(46.8245% -3.91212 3.0367);--color-accent:lab(27.6621% -18.1465 7.99962);--color-accent-hover:lab(20.6343% -16.5725 7.30314);--color-accent-ink:lab(97.7411% -.00420213 4.5943);--color-green-soft:lab(92.1702% -6.14771 4.76936);--color-green-mid:lab(83.071% -10.0596 7.84063);--color-gold:lab(78.1166% 6.8799 37.6135);--color-gold-soft:lab(94.3225% 1.58435 14.3144);--color-gold-ink:lab(32.5608% 11.5649 26.5733);--color-rule:lab(87.8996% -.381768 4.95969);--color-error:lab(33.7864% 40.4726 27.6601);--color-error-soft:lab(95.2262% 6.02415 6.85958);--color-focus:lab(48.0352% 38.6815 77.7019);--color-snow:lab(93.0877% -3.35833 -5.60013);--color-snow-ink:lab(33.9542% -8.73657 -16.541);--color-overlay:lab(4.66379% -5.01566 2.51054/.48);--color-shadow:lab(13.2673% -6.23819 3.20013/.08);--color-photo-overlay:lab(7.47379% -5.35896 3.32561/.62);--color-transparent:lab(100% 0 0/0)}}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font:var(--text-base)/1.55 var(--font-body);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:var(--color-transparent)}button{cursor:pointer;background:0 0;border:0}button,a{touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}a{color:var(--color-accent)}button,a{white-space:nowrap}h1,h2,h3,h4{overflow-wrap:anywhere;min-width:0;font-style:normal}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.035em;font-weight:400;line-height:1.15}h3{line-height:1.3}svg{flex-shrink:0}input,select,textarea{border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-white);width:100%;min-height:48px;color:var(--color-ink);padding:var(--space-md);outline:2px solid var(--color-transparent);outline-offset:2px;min-width:0;font-size:1rem}input::placeholder,textarea::placeholder{color:var(--color-faint)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--color-focus)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-error)}textarea{resize:vertical;min-height:120px;line-height:1.6}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--color-accent);flex-shrink:0}select{text-transform:none}img{max-width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grow{flex:1;min-width:0}.muted,.helper{color:var(--color-muted)}.helper{font-size:var(--text-sm);line-height:1.6;display:block}.inline{align-items:center;gap:var(--space-md);display:flex}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);padding:16px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:8px}.button{border-radius:var(--radius-sm);background:var(--color-accent);min-height:48px;color:var(--color-accent-ink);padding:var(--space-md) var(--space-xl);font-size:var(--text-sm);justify-content:center;align-items:center;gap:var(--space-md);border:1px solid var(--color-accent);font-weight:600;line-height:1.4;display:inline-flex}.button.secondary{background:var(--color-white);color:var(--color-accent);border-color:var(--color-rule)}.text-button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;font-size:var(--text-sm);color:var(--color-accent);padding:var(--space-sm) 0;font-weight:600;display:inline-flex}.icon-button{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.full-button{width:100%}.pill{font-size:var(--text-xs);border-radius:var(--radius-pill);align-items:center;gap:var(--space-sm);white-space:nowrap;padding:6px 12px;font-weight:600;display:inline-flex}.pill.green{background:var(--color-green-soft);color:var(--color-accent)}.app-shell{min-height:100dvh}.sidebar{display:none}.brand-button{text-align:left;white-space:normal;min-height:44px;padding:0}.brand{align-items:center;gap:var(--space-md);font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;font-size:1.45rem;line-height:1.3;display:flex}.brand-icon{background:var(--color-accent);color:var(--color-accent-ink);border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.brand-to{font-size:.85em}.brand-tagline{font-family:var(--font-body);letter-spacing:.025em;color:var(--color-muted);margin-top:3px;font-size:10px;display:block}.small-brand{font-size:1.25rem}.small-brand .brand-icon{border-radius:12px;width:36px;height:36px}.small-brand .brand-icon svg{width:20px;height:20px}.small-brand .brand-tagline{font-size:9px}.topbar{border-bottom:1px solid var(--color-rule);height:76px;padding-inline:var(--space-lg);background:var(--color-paper);justify-content:space-between;align-items:center;display:flex}.desktop-topline,.top-search{display:none}.topbar-actions{gap:var(--space-xs);align-items:center;display:flex}.kitchen-avatar{background:var(--color-green-soft);width:44px;height:44px;color:var(--color-accent);border:1px solid var(--color-green-mid);border-radius:var(--radius-pill);place-items:center;display:grid}.saved-shortcut{width:44px}.main-content{max-width:1440px;padding:var(--space-xl) var(--space-lg) 100px;margin-inline:auto}.page-heading{gap:var(--space-lg);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.welcome-note{font-size:var(--text-xs);color:var(--color-muted);align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.small-sun{color:var(--color-gold-ink);font-size:18px;line-height:1}.small-line{background:var(--color-accent);width:16px;height:1px}.page-heading h1{margin-bottom:var(--space-sm);font-size:clamp(1.9rem,3.4vw,2.5rem)}.page-heading p{color:var(--color-muted);font-size:var(--text-sm);margin-bottom:0}.heading-action{align-self:flex-start}.overview-feature{gap:var(--space-lg);display:grid}.hero-panel{border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-green-soft);color:var(--color-accent);flex-direction:column;display:flex;overflow:hidden}.hero-copy{padding:28px 24px}.hero-label{align-items:center;gap:var(--space-sm);letter-spacing:1.2px;color:var(--color-accent);font-size:9px;font-weight:600;display:flex}.hero-copy h2{margin:var(--space-xl) 0 var(--space-lg);font-size:clamp(2.2rem,3.6vw,3rem);line-height:1.08}.hero-copy p{color:var(--color-muted);font-size:var(--text-sm);max-width:290px;margin-bottom:var(--space-xl)}.hero-button{padding-inline:var(--space-lg)}.hero-small{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);color:var(--color-muted);font-size:10px;display:flex}.hero-image{min-height:210px;position:relative;overflow:hidden}.hero-image img{object-fit:cover;object-position:center}.hero-image-note{padding:var(--space-xl);background:linear-gradient(var(--color-transparent), var(--color-photo-overlay));color:var(--color-white);position:absolute;bottom:0;left:0;right:0}.hero-image-note>span{align-items:center;gap:var(--space-sm);letter-spacing:1.3px;margin-bottom:var(--space-sm);font-size:8px;display:flex}.hero-image-note>strong{font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1.15;display:block}.use-soon-panel{padding:var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-white);color:var(--color-ink);flex-direction:column;display:flex}.sun-disc{border-radius:var(--radius-pill);background:var(--color-gold-soft);width:44px;height:44px;color:var(--color-gold-ink);place-items:center;display:grid}.sun-disc svg{width:20px;height:20px}.use-soon-panel h2{margin-bottom:0;font-size:1.5rem}.use-soon-panel>p{font-size:var(--text-sm);color:var(--color-muted);margin:var(--space-lg) 0}.soon-item{border-block:1px solid var(--color-rule);padding:var(--space-lg) 0;align-items:center;gap:var(--space-md);text-align:left;white-space:normal;margin-bottom:var(--space-md);display:flex}.soon-item strong{font-size:var(--text-sm);font-weight:500;display:block}.soon-item .grow>span{color:var(--color-muted);margin-top:4px;font-size:10px;display:block}.soon-item small{margin-top:var(--space-sm);color:var(--color-gold-ink);font-size:10px;display:block}.soon-item .date-passed{color:var(--color-error)}.food-item-icon{background:var(--color-paper);width:36px;height:44px;color:var(--color-accent);border-radius:var(--radius-sm);place-items:center;display:grid}.use-soon-panel>.text-button{justify-content:flex-start;margin-top:auto}.date-disclaimer{color:var(--color-muted);margin-top:var(--space-sm);font-size:9px;line-height:1.65;display:block}.fresh-note{padding-block:var(--space-xl);color:var(--color-accent);gap:var(--space-sm);display:grid}.fresh-note p{font-size:var(--text-sm);color:var(--color-muted)}.kitchen-stats{margin:var(--space-xl) 0 var(--space-2xl);border-block:1px solid var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kitchen-stat{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-sm);text-align:left;color:var(--color-accent);white-space:normal;display:flex}.kitchen-stat:nth-child(odd){border-right:1px solid var(--color-rule)}.kitchen-stat:nth-child(n+3){border-top:1px solid var(--color-rule)}.kitchen-stat>svg:first-child{width:20px;height:20px}.kitchen-stat>svg:last-child{display:none}.kitchen-stat strong{font-size:1.7rem;font-weight:500;font-family:var(--font-display);color:var(--color-ink);line-height:1.1;display:block}.kitchen-stat span{color:var(--color-muted);margin-top:5px;font-size:10px;display:block}.section-heading{gap:var(--space-sm);margin:var(--space-2xl) 0 var(--space-xl);flex-direction:column;display:flex}.section-heading h2{margin-bottom:var(--space-sm);font-size:1.7rem}.section-heading p{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:0}.section-heading>.text-button{align-self:flex-start}.recipe-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr);display:grid}.recipe-card{background:var(--color-white);min-width:0;color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden}.recipe-image{background:var(--color-green-soft);height:210px;color:var(--color-accent);position:relative}.food-image{object-fit:cover}.image-open{width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.image-open:focus-visible{outline-offset:-6px;z-index:1}.recipe-category{top:var(--space-md);left:var(--space-md);background:var(--color-white);color:var(--color-accent);text-transform:capitalize;letter-spacing:.2px;pointer-events:none;border-radius:6px;padding:6px 10px;font-size:9px;font-weight:600;position:absolute}.save-button{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--color-ink);background:var(--color-white);place-items:center;display:grid;position:absolute;top:8px;right:8px}.save-button.is-saved{color:var(--color-accent);background:var(--color-green-soft)}.recipe-info{padding:var(--space-lg)}.recipe-meta{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--color-muted);margin-bottom:var(--space-md);font-size:9px;display:flex}.recipe-meta>span:first-child{align-items:center;gap:5px;display:flex}.recipe-info h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-sm);font-size:1.25rem;font-weight:400}.recipe-info h3 button{font:inherit;text-align:left;white-space:normal;align-items:center;min-height:44px;padding:0;display:flex}.recipe-description{color:var(--color-muted);-webkit-line-clamp:2;min-height:37px;margin-bottom:var(--space-md);-webkit-box-orient:vertical;font-size:11px;line-height:1.7;display:-webkit-box;overflow:hidden}.recipe-card-footer{border-top:1px solid var(--color-rule);padding-top:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.match-label{color:var(--color-accent);align-items:center;gap:7px;font-size:10px;font-weight:500;display:flex}.match-dot{border-radius:var(--radius-pill);background:var(--color-accent);width:6px;height:6px}.recipe-card-footer>.icon-button{width:36px;height:44px;color:var(--color-accent)}.recipe-image-placeholder{place-content:center;gap:var(--space-md);background:var(--color-green-soft);width:100%;height:100%;color:var(--color-accent);justify-items:center;display:grid}.recipe-image-placeholder>span{font-size:var(--text-xs)}.bottom-inspiration{align-items:center;gap:var(--space-lg);padding:var(--space-xl);margin-top:var(--space-2xl);border:1px dashed var(--color-green-mid);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);flex-wrap:wrap;display:flex}.sketch-icon{color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.bottom-inspiration>div{flex:1;min-width:180px}.bottom-inspiration h3,.planner-shopping h3,.pantry-restock h3{font-size:var(--text-base);margin-bottom:var(--space-xs);font-weight:500}.bottom-inspiration p,.planner-shopping p,.pantry-restock p{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:0}.app-footer{padding-top:var(--space-2xl);margin-top:var(--space-2xl);border-top:1px solid var(--color-rule);gap:var(--space-sm);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;font-size:10px;display:flex}.app-footer>span:first-child{align-items:center;gap:var(--space-sm);color:var(--color-accent);display:flex}.app-footer>span:last-child{display:none}.mobile-nav{z-index:10;background:var(--color-white);color:var(--color-muted);border-top:1px solid var(--color-rule);padding:var(--space-sm) var(--space-sm) max(var(--space-sm), env(safe-area-inset-bottom));box-shadow:0 -4px 24px var(--color-shadow);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{justify-items:center;gap:var(--space-xs);border-radius:var(--radius-sm);min-height:48px;color:var(--color-muted);align-content:center;font-size:10px;display:grid;position:relative}.mobile-nav button.active{background:var(--color-green-soft);color:var(--color-accent)}.mobile-count{border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);min-width:16px;padding:0 4px;font-size:9px;position:absolute;top:0;right:12%}.toast{bottom:100px;left:var(--space-lg);right:var(--space-lg);z-index:40;background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-sm) var(--space-md);align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);box-shadow:0 8px 30px var(--color-shadow);font-size:var(--text-sm);display:flex;position:fixed}.toast>span{flex:1}.toast>button{color:var(--color-accent-ink);font-size:var(--text-sm);min-height:44px;text-decoration:underline}.toast-close{place-items:center;width:32px;display:grid}.discovery-bar{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.segmented{background:var(--color-paper-2);color:var(--color-muted);border:1px solid var(--color-rule);padding:var(--space-xs);border-radius:var(--radius-sm);gap:var(--space-xs);width:fit-content;max-width:100%;display:flex}.segmented button{padding:var(--space-sm) var(--space-md);min-height:44px;font-size:var(--text-sm);justify-content:center;align-items:center;gap:var(--space-sm);color:var(--color-muted);border-radius:6px;font-weight:500;display:flex}.segmented button.active{background:var(--color-white);color:var(--color-accent);box-shadow:0 1px 4px var(--color-shadow)}.segmented button>span{color:var(--color-muted);border-radius:var(--radius-pill);background:var(--color-paper-2);padding:0 5px;font-size:10px}.collection-note{font-size:var(--text-xs);color:var(--color-muted);align-items:center;gap:var(--space-sm);display:none}.recipe-search-form{gap:var(--space-sm);display:flex}.recipe-search-form>.button{padding-inline:var(--space-md)}.search-input{align-items:center;gap:var(--space-md);border:1px solid var(--color-rule);background:var(--color-white);color:var(--color-muted);border-radius:var(--radius-sm);padding-inline:var(--space-md);flex:1;min-width:0;display:flex;position:relative}.search-input input{background:var(--color-transparent);color:var(--color-ink);min-width:0;font-size:var(--text-sm);border:0;min-height:50px;padding-inline:0}.search-input:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.search-input input:focus-visible{outline:0}.pantry-search-chips{align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.chip-button{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-pill);min-height:44px;font-size:var(--text-xs);color:var(--color-muted);text-transform:capitalize;display:inline-flex}.chip-button.pantry-chip,.chip-button.selected{color:var(--color-accent);background:var(--color-green-soft);border-color:var(--color-green-mid)}.recipe-filters{gap:var(--space-sm);margin:var(--space-xl) 0;flex-wrap:wrap;display:flex}.recipe-filters button{font-size:var(--text-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill);min-height:44px;color:var(--color-muted);border:1px solid var(--color-transparent)}.recipe-filters button.selected{background:var(--color-accent);color:var(--color-accent-ink)}.results-note{gap:var(--space-sm);margin-bottom:var(--space-lg);font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;display:flex}.results-note>span:last-child{font-size:10px}.online-welcome{text-align:center;padding:var(--space-4xl) var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-white);color:var(--color-ink);flex-direction:column;align-items:center;display:flex}.online-welcome h2{margin:var(--space-xl) 0 var(--space-lg);font-size:var(--text-2xl)}.online-welcome p{max-width:440px;color:var(--color-muted);font-size:var(--text-sm);line-height:1.8}.online-welcome small{max-width:440px;color:var(--color-muted);margin-top:var(--space-xl);font-size:10px}.leaf-disc{border-radius:var(--radius-pill);background:var(--color-green-soft);width:56px;height:56px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.empty-state{padding:var(--space-4xl) var(--space-xl);text-align:center;border:1px dashed var(--color-rule);border-radius:var(--radius-md);color:var(--color-accent);flex-direction:column;align-items:center;display:flex}.empty-state h3{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-lg) 0 var(--space-md);font-weight:400}.empty-state p{font-size:var(--text-sm);color:var(--color-muted);max-width:400px}.recipe-skeleton{border-radius:var(--radius-md);padding-bottom:var(--space-xl);border:1px solid var(--color-rule)}.recipe-skeleton>div{background:var(--color-green-soft);border-radius:var(--radius-md) var(--radius-md) 0 0;height:200px}.recipe-skeleton>span{height:20px;margin:var(--space-lg);background:var(--color-paper-2);width:70%;display:block}.recipe-skeleton p{font-size:var(--text-sm);padding-inline:var(--space-lg);color:var(--color-muted)}.loading-kitchen{padding:var(--space-5xl);color:var(--color-accent);justify-items:center;display:grid}.spinning{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pantry-overview{align-items:center;gap:var(--space-lg);font-size:var(--text-sm);padding:var(--space-xl) 0;border-block:1px solid var(--color-rule);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.pantry-overview>span{align-items:center;gap:var(--space-sm);display:flex}.pantry-overview>span:nth-child(2){color:var(--color-muted)}.inventory-tools{gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.inventory-tools>.search-input{flex-basis:100%}.select-label{flex:1}.select-label select{font-size:var(--text-sm);min-height:48px}.inventory-table{border:1px solid var(--color-rule);background:var(--color-white);color:var(--color-ink);border-radius:var(--radius-md);overflow:hidden}.inventory-table-head{display:none}.inventory-row{padding:var(--space-lg);border-bottom:1px solid var(--color-rule);gap:var(--space-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.inventory-row:last-child{border-bottom:0}.inventory-food{align-items:center;gap:var(--space-md);min-width:0;display:flex}.inventory-icon{border-radius:var(--radius-sm);background:var(--color-green-soft);width:40px;height:44px;color:var(--color-accent);flex-shrink:0;place-items:center;display:grid}.inventory-icon.frozen{background:var(--color-snow);color:var(--color-snow-ink)}.inventory-food h3{font-size:var(--text-sm);margin:0 0 var(--space-xs);font-weight:500}.inventory-food p{color:var(--color-muted);margin-bottom:0;font-size:11px}.inventory-food p>span{display:none}.mobile-location{color:var(--color-muted);margin-top:2px;font-size:10px;display:block}.item-note{color:var(--color-gold-ink);margin-top:var(--space-xs);font-size:10px;display:block}.location-tag{font-size:var(--text-xs);color:var(--color-muted);display:none}.item-date{color:var(--color-muted);grid-area:2/1;padding-left:52px;font-size:10px}.item-date.needs-review{color:var(--color-error)}.inventory-actions{grid-area:1/2/3;grid-template-columns:repeat(2,44px);display:grid}.inventory-actions>.icon-button:first-child{width:auto;color:var(--color-accent);background:var(--color-green-soft);grid-column:1/-1}.pantry-footnote{color:var(--color-muted);margin-top:var(--space-xl);font-size:11px;line-height:1.8}.planner-toolbar{gap:var(--space-lg);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.planner-toolbar h2{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.planner-toolbar p{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:0}.week-controls{align-items:center;gap:var(--space-sm);display:flex}.planner-grid{gap:var(--space-md);display:grid}.plan-card{align-items:center;gap:var(--space-md);border:1px solid var(--color-rule);background:var(--color-white);color:var(--color-ink);border-radius:var(--radius-md);min-height:120px;padding:var(--space-md);grid-template-columns:60px minmax(0,1fr) auto;display:grid}.plan-card.today{border-color:var(--color-green-mid);background:var(--color-green-soft);color:var(--color-accent)}.plan-day{text-align:center;align-content:center;gap:4px;display:grid}.plan-day>span:first-child{font-size:var(--text-xs);color:var(--color-muted)}.plan-day>strong{font-family:var(--font-display);font-size:1.7rem;font-weight:400;line-height:1}.today-label{color:var(--color-accent);font-size:9px}.empty-plan{gap:var(--space-md);min-height:80px;font-size:var(--text-sm);color:var(--color-muted);border:1px dashed var(--color-rule);border-radius:var(--radius-sm);grid-column:2/-1;justify-content:center;align-items:center;display:flex}.empty-plan>span{color:var(--color-accent);place-items:center;display:grid}.planned-recipe{column-gap:var(--space-md);text-align:left;white-space:normal;grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr);align-items:center;min-width:0;padding:0;display:grid}.plan-image{background:var(--color-green-soft);height:64px;color:var(--color-accent);border-radius:var(--radius-sm);grid-area:1/1/3;place-items:center;display:grid;position:relative;overflow:hidden}.plan-image img{object-fit:cover}.planned-recipe>strong{font-size:var(--text-sm);font-weight:500;line-height:1.4}.planned-recipe>span{color:var(--color-muted);font-size:10px}.plan-card-actions{justify-items:center;display:grid}.plan-card-actions>.text-button{font-size:10px}.planner-shopping,.pantry-restock{align-items:center;gap:var(--space-lg);padding:var(--space-xl);margin-top:var(--space-xl);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-white);color:var(--color-ink);flex-wrap:wrap;display:flex}.planner-shopping>div,.pantry-restock>div{flex:1;min-width:180px}.planner-shopping .leaf-disc{display:none}.shopping-summary{align-items:center;gap:var(--space-lg);margin:var(--space-xl) 0;flex-wrap:wrap;display:flex}.shopping-summary>div{flex:1;min-width:180px}.shopping-summary h2{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.shopping-summary p{font-size:var(--text-sm);color:var(--color-muted);margin-bottom:0}.shopping-list{background:var(--color-white);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden}.shopping-row{padding:var(--space-sm) var(--space-lg);align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--color-rule);display:flex}.shopping-row>label{align-items:center;gap:var(--space-lg);cursor:pointer;flex:1;min-width:0;min-height:64px;display:flex}.shopping-row strong{font-size:var(--text-sm);font-weight:500;display:block}.shopping-row small{color:var(--color-muted);margin-top:4px;font-size:10px;display:block}.shopping-row.checked strong{color:var(--color-muted);text-decoration:line-through}.shopping-row.checked{background:var(--color-paper-2);color:var(--color-muted)}.shopping-list-footer{justify-content:space-between;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);display:flex}.modal{border:1px solid var(--color-rule);border-radius:var(--radius-lg);width:calc(100% - 24px);max-width:560px;height:fit-content;max-height:calc(100dvh - 32px);padding:var(--space-xl);background:var(--color-paper);color:var(--color-ink);box-shadow:0 24px 80px var(--color-shadow);overscroll-behavior:contain;margin:auto;position:fixed;inset:0}.modal::backdrop{background:var(--color-overlay)}.modal-wide{max-width:720px}.modal-top{align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);justify-content:space-between;display:flex}.modal-top h2{margin-bottom:0;padding-top:4px;font-size:1.7rem}.modal-top .icon-button{background:var(--color-paper-2);color:var(--color-muted);margin-top:-4px}.modal-description{color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-xl);line-height:1.8}.form-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);display:grid}.form-grid>label,.plan-date>label{gap:var(--space-sm);font-size:var(--text-sm);flex-direction:column;font-weight:500;display:flex}.optional{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.form-grid>label>.helper{font-weight:400}.full{grid-column:1/-1}.form-actions{gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap;justify-content:flex-end;display:flex}.form-actions>.button{padding-inline:var(--space-lg)}.error-message,.success-message{gap:var(--space-sm);font-size:var(--text-sm);padding:var(--space-md);border-radius:var(--radius-sm);margin:var(--space-lg) 0;align-items:flex-start;line-height:1.7;display:flex}.error-message{background:var(--color-error-soft);color:var(--color-error)}.error-message svg,.success-message svg{margin-top:3px}.success-message{background:var(--color-green-soft);color:var(--color-accent)}.alert{align-items:center;gap:var(--space-md);background:var(--color-gold-soft);color:var(--color-gold-ink);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.alert>span{flex:1;min-width:180px}.import-methods{width:100%;margin-bottom:var(--space-xl);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.import-methods button{padding-inline:var(--space-xs);gap:var(--space-xs);flex-direction:column;min-height:56px;font-size:10px}.substitution-panel{padding:var(--space-lg);border:1px solid var(--color-green-mid);border-radius:var(--radius-md);background:var(--color-green-soft);color:var(--color-accent)}.substitution-panel p{font-size:var(--text-sm);margin:var(--space-md) 0 var(--space-lg);color:var(--color-muted)}.substitution-panel fieldset{padding:var(--space-md) 0;border:0;border-top:1px solid var(--color-green-mid);margin:0}.substitution-panel legend{font-size:var(--text-sm);padding:var(--space-sm) 0;width:100%;font-weight:500}.substitution-panel .radio-option{align-items:center;gap:var(--space-md);font-size:var(--text-sm);cursor:pointer;flex-direction:row;min-height:44px;display:flex}.detail-image{border-radius:var(--radius-md);background:var(--color-green-soft);height:220px;color:var(--color-accent);position:relative;overflow:hidden}.photo-caption{bottom:var(--space-sm);right:var(--space-sm);background:var(--color-white);color:var(--color-muted);border-radius:4px;padding:4px 8px;font-size:9px;position:absolute}.detail-meta{align-items:center;gap:var(--space-md);color:var(--color-muted);margin:var(--space-lg) 0;flex-wrap:wrap;font-size:11px;display:flex}.detail-meta>span{align-items:center;gap:var(--space-sm);display:flex}.detail-meta>.text-button{margin-left:auto;font-size:11px}.detail-actions{gap:var(--space-sm);margin:var(--space-lg) 0;flex-wrap:wrap;display:flex}.detail-actions>.button{padding-inline:var(--space-md)}.inline-form{gap:var(--space-md);margin:var(--space-lg) 0;flex-wrap:wrap;align-items:flex-end;display:flex}.inline-form>label{flex:1;min-width:180px}.detail-section-heading{gap:var(--space-md);margin:var(--space-2xl) 0 var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.detail-section-heading h3{margin-bottom:0}.ingredients-list{margin:var(--space-lg) 0;padding:0;list-style:none}.ingredients-list li{gap:var(--space-md);border-bottom:1px solid var(--color-rule);padding:var(--space-md) 0;font-size:var(--text-sm);align-items:center;display:flex}.ingredients-list strong{font-weight:500;display:block}.ingredients-list .grow>span{font-size:var(--text-xs);color:var(--color-muted);margin-top:3px;display:block}.ingredients-list small{color:var(--color-muted);white-space:nowrap;font-size:10px}.ingredient-check{border:1px solid var(--color-rule);color:var(--color-muted);border-radius:var(--radius-pill);flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.ingredient-check.on-hand{background:var(--color-green-soft);color:var(--color-accent);border-color:var(--color-green-mid)}.ingredient-check>span{background:var(--color-rule);border-radius:var(--radius-pill);width:5px;height:5px}.instructions{margin:var(--space-lg) 0;padding:0;list-style:none}.instructions li{gap:var(--space-lg);margin-bottom:var(--space-xl);font-size:var(--text-sm);line-height:1.8;display:flex}.instructions li>span{border-radius:var(--radius-pill);background:var(--color-green-soft);width:28px;height:28px;color:var(--color-accent);font-size:var(--text-xs);flex-shrink:0;place-items:center;margin-top:2px;display:grid}.instructions p{margin-bottom:0}.recipe-note{gap:var(--space-md);padding:var(--space-lg);background:var(--color-gold-soft);color:var(--color-gold-ink);border-radius:var(--radius-sm);font-size:var(--text-sm);display:flex}.recipe-note p{margin:var(--space-sm) 0 0;white-space:pre-line}.source-credit{margin:var(--space-xl) 0 0;border-top:1px solid var(--color-rule);padding-top:var(--space-lg);font-size:var(--text-xs);color:var(--color-muted);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.source-credit a{align-items:center;gap:var(--space-sm);min-height:44px;display:flex}.cooking-mode{padding-block:var(--space-xl);color:var(--color-accent)}.cooking-mode>p.muted{margin-top:var(--space-md);font-size:var(--text-sm)}.step-progress{gap:var(--space-xs);margin:var(--space-xl) 0;display:flex}.step-progress span{background:var(--color-rule);border-radius:var(--radius-pill);flex:1;height:4px}.step-progress span.complete{background:var(--color-accent)}.cooking-instruction{font-family:var(--font-display);margin:var(--space-xl) 0;letter-spacing:-.02em;min-height:150px;font-size:clamp(1.5rem,3vw,2rem);line-height:1.6}.remaining-items label{align-items:center;gap:var(--space-lg);border-bottom:1px solid var(--color-rule);padding-block:var(--space-md);grid-template-columns:minmax(0,1fr) 110px;display:grid}.remaining-items strong{font-size:var(--text-sm);font-weight:500;display:block}.remaining-items small{font-size:var(--text-xs);color:var(--color-muted)}.remaining-items input{font-size:var(--text-sm)}.plan-options{margin-top:var(--space-lg);display:grid}.plan-options>button{align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--color-rule);text-align:left;white-space:normal;display:flex}.plan-options>button>span:nth-child(2){flex:1}.plan-option-icon{border-radius:var(--radius-sm);background:var(--color-green-soft);width:40px;height:44px;color:var(--color-accent);place-items:center;display:grid}.plan-options strong{font-size:var(--text-sm);font-weight:500;display:block}.plan-options small{color:var(--color-muted);margin-top:4px;font-size:10px;display:block}.more-links{gap:var(--space-md);display:grid}.more-links button{align-items:center;gap:var(--space-lg);font-size:var(--text-base);text-align:left;border-bottom:1px solid var(--color-rule);min-height:64px;padding:var(--space-md) 0;display:flex}.more-links button>span{color:var(--color-muted);font-size:var(--text-sm);margin-left:auto}.more-links button>svg:last-child{margin-left:auto}.settings-section{border-top:1px solid var(--color-rule);padding-block:var(--space-xl)}.settings-section h3{align-items:center;gap:var(--space-md);font-size:var(--text-base);margin-bottom:var(--space-lg);font-weight:500;display:flex}.settings-section p{font-size:var(--text-sm);color:var(--color-muted);margin-block:var(--space-md);line-height:1.8}.storage-state{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-accent);display:flex}.status-dot{background:var(--color-accent);border-radius:var(--radius-pill);flex-shrink:0;width:6px;height:6px}.status-dot.warning{background:var(--color-gold-ink)}.kitchen-key{gap:var(--space-md);padding:var(--space-md);background:var(--color-green-soft);color:var(--color-accent);border-radius:var(--radius-sm);margin-bottom:var(--space-lg);align-items:center;display:flex}.kitchen-key code{overflow-wrap:anywhere;min-width:0;font-size:12px}.settings-section summary{cursor:pointer;min-height:44px;font-size:var(--text-sm);color:var(--color-accent);align-items:center;text-decoration:underline;display:flex}.settings-section details{margin-top:var(--space-lg)}.settings-backup-actions{gap:var(--space-md);flex-wrap:wrap;display:flex}.settings-backup-actions .button{padding-inline:var(--space-md)}.conflict-options{border:1px solid var(--color-green-mid);border-radius:var(--radius-md);padding:var(--space-lg);margin-block:var(--space-lg)}.conflict-options>.button{margin:var(--space-xs);padding-inline:var(--space-md)}@media (hover:hover) and (pointer:fine){.button:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-accent-ink)}.button.secondary:hover:not(:disabled),.icon-button:hover,.text-button:hover,.chip-button:hover{background:var(--color-green-soft);color:var(--color-accent)}.nav-item:hover{background:var(--color-paper-2);color:var(--color-accent)}.recipe-info h3 button:hover{color:var(--color-accent)}input:hover:not(:focus),textarea:hover:not(:focus),select:hover:not(:focus){background:var(--color-paper-2);color:var(--color-ink)}.plan-options>button:hover{color:var(--color-accent)}.save-button:hover{background:var(--color-green-soft);color:var(--color-accent)}}@media (min-width:25rem){.hero-panel{flex-direction:row}.hero-copy{width:61%;padding:var(--space-xl)}.hero-image{width:39%;min-height:340px}.hero-copy h2{font-size:2.2rem}.hero-button{padding-inline:var(--space-md);gap:var(--space-sm);font-size:11px}.hero-copy p{font-size:12px}.hero-label{letter-spacing:.7px;font-size:8px}.hero-image-note{padding:var(--space-lg)}.hero-image-note>strong{font-size:1.15rem}.hero-image-note>span{letter-spacing:.7px;font-size:6px}.hero-image-note>span svg{display:none}.import-methods button{flex-direction:row;font-size:11px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer>span:last-child{display:block}}@media (min-width:40rem){.topbar{padding-inline:var(--space-2xl)}.main-content{padding:var(--space-2xl) var(--space-2xl) 110px}.page-heading{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-direction:row}.page-heading>div{min-width:0}.heading-action{align-self:center}.page-heading h1{font-size:2.2rem}.hero-copy{padding:var(--space-2xl);width:56%}.hero-image{width:44%;min-height:360px}.hero-copy h2{font-size:2.7rem}.hero-copy p{font-size:var(--text-sm)}.hero-label{letter-spacing:1px;font-size:9px}.hero-button{font-size:var(--text-sm);padding-inline:var(--space-lg)}.hero-image-note>strong{font-size:1.5rem}.hero-image-note>span{font-size:8px}.hero-image-note>span svg{display:block}.use-soon-panel{column-gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.use-soon-panel>.inline{grid-area:1/1}.use-soon-panel>p{grid-area:2/1}.soon-item{border-top:0;border-bottom:0;grid-area:1/2/4;margin:0}.use-soon-panel>.text-button{grid-area:3/1}.date-disclaimer{grid-area:4/1}.kitchen-stats{margin-top:var(--space-2xl);grid-template-columns:repeat(4,minmax(0,1fr))}.kitchen-stat{padding:var(--space-xl) var(--space-md);gap:var(--space-md)}.kitchen-stat:nth-child(n+3){border-top:0}.kitchen-stat:not(:last-child){border-right:1px solid var(--color-rule)}.kitchen-stat span{max-width:90px;font-size:10px}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-xl);flex-direction:row}.section-heading>.text-button{align-self:center}.recipe-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-image{height:200px}.recipe-info{padding:var(--space-xl)}.recipe-info h3{font-size:1.3rem}.recipe-meta{font-size:10px}.recipe-description{min-height:40px;font-size:12px}.match-label{font-size:11px}.bottom-inspiration{padding:var(--space-xl)}.inventory-tools>.search-input{flex:2}.select-label{flex:1;max-width:180px}.inventory-actions{grid-area:auto;display:flex}.inventory-actions>.icon-button:first-child{width:44px;color:var(--color-accent);background:0 0}.inventory-row{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) 130px 132px}.inventory-food{grid-row:1/3}.item-date{grid-area:2/2;padding-left:0}.location-tag{grid-area:1/2;display:block}.inventory-actions{grid-area:1/3/3}.mobile-location{display:none}.inventory-food p>span{display:inline}.planner-toolbar{flex-direction:row;justify-content:space-between;align-items:center}.planner-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card{padding:var(--space-lg);flex-direction:column;align-items:stretch;min-height:250px;display:flex}.plan-day{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);min-height:30px;display:flex}.plan-day>strong{font-size:var(--text-xl);margin-right:auto}.empty-plan{gap:var(--space-md);flex-direction:column;flex:1;min-height:160px}.planned-recipe{align-items:stretch;gap:var(--space-md);flex-direction:column;flex:1;display:flex}.plan-image{grid-area:auto;min-width:0;height:130px}.planned-recipe>strong{font-size:var(--text-base)}.plan-card-actions{margin-top:var(--space-lg);justify-content:space-between;display:flex}.planner-shopping .leaf-disc{display:grid}.shopping-summary{margin:var(--space-2xl) 0}.modal{padding:var(--space-2xl);width:calc(100% - 64px);max-height:calc(100dvh - 64px)}.modal-top h2{font-size:var(--text-2xl)}.detail-image{height:300px}.import-methods button{font-size:var(--text-sm);gap:var(--space-sm)}.toast{left:auto;right:var(--space-2xl);max-width:450px;bottom:100px}}@media (min-width:64rem){.sidebar{border-right:1px solid var(--color-rule);background:var(--color-white);width:236px;color:var(--color-ink);padding:var(--space-2xl) var(--space-lg);z-index:20;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar>.brand-button{padding-left:var(--space-sm);margin-bottom:var(--space-4xl)}.brand{gap:10px;font-size:1.35rem}.brand-icon{border-radius:14px;width:40px;height:40px}.brand-tagline{font-size:9px}.sidebar-label{letter-spacing:1.2px;color:var(--color-muted);padding-inline:var(--space-lg);margin-bottom:var(--space-lg);font-size:8px;font-weight:500}.sidebar nav{gap:var(--space-sm);display:grid}.nav-item{align-items:center;gap:var(--space-md);min-height:48px;padding:var(--space-md) var(--space-lg);text-align:left;width:100%;color:var(--color-muted);border-radius:var(--radius-sm);font-size:12px;font-weight:500;display:flex}.nav-item.active{background:var(--color-green-soft);color:var(--color-accent)}.nav-item>span:nth-child(2){flex:1}.nav-count{color:var(--color-accent);background:var(--color-paper-2);text-align:center;border-radius:5px;min-width:20px;padding:1px 6px;font-size:10px}.sidebar-bottom{padding-top:var(--space-2xl);margin-top:auto}.less-waste{margin:var(--space-xl) var(--space-sm) var(--space-2xl);padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-accent)}.less-waste .leaf-disc{background:var(--color-green-soft);color:var(--color-accent);width:44px;height:44px;margin-bottom:var(--space-lg)}.less-waste h3{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.025em;margin-bottom:var(--space-md);font-weight:400;line-height:1.35}.less-waste p{color:var(--color-muted);margin-bottom:0;font-size:10px;line-height:1.8}.sync-status{padding:var(--space-lg);align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:9px;display:flex}.workspace{margin-left:236px}.topbar{height:80px;padding-inline:var(--space-3xl)}.mobile-brand{display:none}.desktop-topline{align-items:center;gap:var(--space-sm);color:var(--color-muted);font-size:11px;display:flex}.desktop-topline svg{color:var(--color-accent);width:16px;height:16px}.top-search{align-items:center;gap:var(--space-sm);color:var(--color-muted);min-height:44px;padding-inline:var(--space-md);margin-right:var(--space-md);font-size:10px;display:flex}.topbar-actions{gap:var(--space-md)}.saved-shortcut{display:none}.kitchen-avatar{width:36px;height:36px}.main-content{padding:var(--space-2xl) var(--space-3xl) var(--space-3xl)}.page-heading{margin-bottom:var(--space-2xl)}.page-heading h1{font-size:2.3rem}.heading-action{min-height:44px;padding:var(--space-md) var(--space-lg);font-size:11px}.mobile-nav{display:none}.overview-feature{grid-template-columns:minmax(0,1fr)}.hero-panel{flex-direction:row}.hero-copy{width:56%;padding:var(--space-2xl)}.hero-image{width:44%}.hero-copy h2{font-size:2.7rem}.hero-button{font-size:12px}.kitchen-stat{padding:var(--space-xl) var(--space-lg)}.kitchen-stat span{max-width:110px;font-size:9px}.section-heading h2{font-size:1.75rem}.section-heading p{font-size:11px}.recipe-grid{gap:var(--space-lg);grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-image{height:170px}.recipe-info{padding:var(--space-lg)}.recipe-info h3{font-size:1.2rem}.recipe-meta{gap:var(--space-xs);font-size:8px}.recipe-meta svg{width:12px;height:12px}.recipe-description{min-height:34px;font-size:10px}.match-label{font-size:9px}.collection-note{display:flex}.bottom-inspiration h3{font-size:var(--text-sm)}.bottom-inspiration p,.bottom-inspiration>.button{font-size:11px}.toast{bottom:var(--space-xl)}.planner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-shopping p,.planner-shopping>.button{font-size:11px}.app-footer{font-size:9px}}@media (min-width:80rem){.sidebar{width:248px;padding-inline:var(--space-xl)}.workspace{margin-left:248px}.main-content{padding:var(--space-3xl) var(--space-3xl)}.page-heading h1{font-size:2.5rem}.overview-feature{gap:var(--space-xl);grid-template-columns:minmax(0,2.45fr) minmax(0,1fr)}.hero-copy{padding:var(--space-2xl);width:57%}.hero-image{width:43%;min-height:380px}.hero-copy h2{font-size:2.6rem}.hero-label{font-size:8px}.hero-copy p{max-width:240px;font-size:11px}.hero-small{font-size:9px}.hero-button{gap:var(--space-sm);padding-inline:var(--space-md);font-size:10px}.hero-image-note{padding:var(--space-lg)}.hero-image-note>strong{font-size:1.3rem}.hero-image-note>span{font-size:6px}.hero-image-note>span svg{width:12px}.use-soon-panel{padding:var(--space-xl);display:flex}.use-soon-panel h2{font-size:1.35rem}.sun-disc{width:36px;height:36px}.use-soon-panel>p{font-size:10px}.soon-item{margin-bottom:var(--space-md);border-block:1px solid var(--color-rule)}.soon-item strong{font-size:11px}.soon-item .grow>span,.soon-item small{font-size:9px}.use-soon-panel>.text-button{justify-content:space-between;font-size:10px}.date-disclaimer{font-size:8px}.kitchen-stat>svg:last-child{width:12px;margin-left:auto;display:block}.kitchen-stat>svg:first-child{width:24px;height:24px}.kitchen-stat span{max-width:none;font-size:10px}.recipe-image{height:190px}.recipe-info{padding:var(--space-xl)}.recipe-info h3{font-size:1.25rem}.recipe-meta{font-size:9px}.recipe-description{min-height:38px;font-size:11px}.match-label{font-size:10px}.inventory-table-head{padding:var(--space-lg) var(--space-xl);gap:var(--space-lg);color:var(--color-muted);letter-spacing:1px;background:var(--color-paper-2);grid-template-columns:minmax(0,2fr) 1fr 1fr 132px;font-size:8px;display:grid}.inventory-row{padding-inline:var(--space-xl);grid-template-columns:minmax(0,2fr) 1fr 1fr 132px}.inventory-food{grid-row:auto}.item-date,.location-tag{grid-area:auto;font-size:11px}.inventory-actions{grid-area:auto}.planner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-card{min-height:290px}.plan-image{height:110px}.planned-recipe>strong{font-size:var(--text-sm)}}@media (min-width:96rem){.main-content{padding-inline:var(--space-4xl)}.hero-copy{padding:var(--space-3xl)}.hero-copy h2{font-size:3.1rem}.hero-copy p{font-size:var(--text-sm)}.hero-button{font-size:12px}.hero-label{font-size:9px}.hero-small{font-size:10px}.hero-image{min-height:400px}.use-soon-panel{padding:var(--space-2xl)}.use-soon-panel h2{font-size:1.5rem}.use-soon-panel>p{font-size:11px}.recipe-grid{gap:var(--space-xl)}.recipe-image{height:230px}.recipe-info h3{font-size:1.4rem}.recipe-meta{font-size:10px}.recipe-description{font-size:12px}.match-label{font-size:11px}.planner-grid{gap:var(--space-md);grid-template-columns:repeat(7,minmax(0,1fr))}.plan-card{padding:var(--space-md)}.plan-day{gap:var(--space-sm)}.plan-day>strong{font-size:var(--text-lg)}.plan-day>span:first-child{font-size:10px}.today-label{font-size:8px}.plan-image{height:100px}.planned-recipe>strong{font-size:12px}.empty-plan{font-size:11px}.plan-card-actions>.text-button{font-size:9px}.plan-card-actions>.icon-button{width:32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active:not(:disabled){transform:none}}.photo-editor{min-width:0}.photo-editor-heading,.photo-editor-heading strong{align-items:center;gap:var(--space-sm);display:flex}.photo-editor-heading{margin-bottom:var(--space-lg);justify-content:space-between}.photo-editor-heading strong{font-size:var(--text-sm);font-weight:500}.photo-crop-preview{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-green-soft);color:var(--color-accent);margin-bottom:var(--space-lg);position:relative;overflow:hidden}.photo-crop-preview img{object-fit:cover;max-width:none;position:absolute}.photo-crop-label{bottom:var(--space-sm);right:var(--space-sm);align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-white);color:var(--color-accent);border-radius:var(--radius-sm);font-size:var(--text-xs);display:flex;position:absolute}.photo-crop-controls{gap:var(--space-md);display:grid}.photo-crop-controls label{font-size:var(--text-sm);align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.photo-crop-controls label>span{color:var(--color-muted);margin-left:auto}.photo-crop-controls input[type=range]{min-height:44px;accent-color:var(--color-accent);cursor:pointer;flex-basis:100%;padding:0}.photo-editor-actions{align-items:center;gap:var(--space-md);margin-block:var(--space-lg);flex-wrap:wrap;display:flex}.photo-editor-actions .button{padding-inline:var(--space-md)}.photo-editor>.helper{font-size:var(--text-xs)}.uploaded-recipe-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.detail-photo-button{top:var(--space-md);right:var(--space-md);align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-accent);font-size:var(--text-xs);display:flex;position:absolute}.button.danger{background:var(--color-error-soft);color:var(--color-error);border-color:var(--color-error-soft)}@media (hover:hover) and (pointer:fine){.button.danger:hover:not(:disabled){background:var(--color-error);color:var(--color-white)}}.food-lookup{padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);margin-bottom:var(--space-xl)}.food-lookup-heading{gap:var(--space-md);margin-bottom:var(--space-lg);align-items:flex-start;display:flex}.food-lookup-icon{color:var(--color-accent);flex:none;padding-top:3px}.food-lookup h3,.pantry-form-heading h3{font-family:inherit;font-size:var(--text-base);margin:0 0 var(--space-xs);font-weight:600}.food-lookup-heading p,.pantry-form-heading p{color:var(--color-muted);font-size:var(--text-sm);margin:0;line-height:1.6}.food-search-form{gap:var(--space-sm);flex-wrap:wrap;display:flex}.food-search-form label{flex:210px;min-width:0}.food-search-form input{width:100%}.food-search-form .button{padding-inline:var(--space-md);flex:1 0 auto}.food-attribution{margin:var(--space-md) 0 0;font-size:var(--text-xs);color:var(--color-muted);line-height:1.7}.food-attribution a,.pantry-item-fields .helper a{text-underline-offset:3px;text-decoration:underline}.food-results-label{font-size:var(--text-sm);color:var(--color-muted);margin:var(--space-lg) 0 var(--space-sm)}.food-results{gap:var(--space-sm);overscroll-behavior:contain;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.food-result{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);text-align:left;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-white);color:var(--color-ink);min-height:64px;display:flex}.food-result>svg{color:var(--color-muted);flex:none}.food-result>span{flex:1;min-width:0}.food-result strong,.food-result small{overflow-wrap:anywhere;display:block}.food-result strong{font-size:var(--text-sm);line-height:1.4}.food-result small{color:var(--color-muted);font-size:var(--text-xs);margin-top:3px;line-height:1.6}.food-result .food-result-action{color:var(--color-accent)}.food-result:hover,.food-result.chosen{border-color:var(--color-accent)}.food-lookup-message{font-size:var(--text-sm);margin:var(--space-md) 0 0;overflow-wrap:anywhere;line-height:1.6}.pantry-category-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.pantry-category-heading>label,.new-pantry-category>label{font-size:var(--text-sm);font-weight:500}.category-add-trigger{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--color-accent);font-size:var(--text-sm);min-height:44px;padding:var(--space-xs);background:0 0;border:0;display:inline-flex}.new-pantry-category{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2)}.new-pantry-category>div{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.new-pantry-category input{flex:160px;min-width:0}.new-pantry-category .button{padding-inline:var(--space-md);white-space:nowrap;flex:1}.new-pantry-category .helper{margin:var(--space-sm) 0 0}.inventory-tools .select-label{min-width:0}@media (max-width:639px){.inventory-tools .inventory-category-filter{flex-basis:100%;order:1}.food-lookup{padding:var(--space-md)}}.pantry-category-tools{margin:calc(-1 * var(--space-sm)) 0 var(--space-md);justify-content:flex-end;display:flex}.category-manager-add>label{font-size:var(--text-sm);font-weight:500}.category-manager-add>div{gap:var(--space-sm);margin:var(--space-sm) 0 var(--space-lg);flex-wrap:wrap;display:flex}.category-manager-add input{flex:190px;min-width:0}.category-manager-add .button{padding-inline:var(--space-md);flex:1 0 auto}.category-manager-list{margin:0;padding:0;list-style:none}.category-manager-list>li{border-bottom:1px solid var(--color-rule)}.category-manager-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;min-height:64px;display:flex}.category-manager-row>div{min-width:0}.category-manager-row strong{font-size:var(--text-base);overflow-wrap:anywhere;font-weight:500}.category-manager-row small{margin-top:var(--space-xs);color:var(--color-muted);font-size:var(--text-xs);display:block}.category-manager-row .icon-button{flex:none}.category-delete-confirm{background:var(--color-paper-2);padding:var(--space-md);margin-bottom:var(--space-md);border-radius:var(--radius-sm)}.category-delete-confirm p{font-size:var(--text-sm);margin:0 0 var(--space-md);line-height:1.6}.category-delete-confirm>div{gap:var(--space-sm);flex-wrap:wrap;display:flex}.category-delete-confirm .button{padding-inline:var(--space-sm);font-size:var(--text-sm);flex:1}.import-photo-notice{font-size:var(--text-sm);padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-green-soft);margin:0 0 var(--space-xl);line-height:1.7}.category-manager-row .danger{color:var(--color-error)}.barcode-scan-trigger{gap:var(--space-sm);width:100%;margin-bottom:var(--space-md);flex-wrap:wrap;min-height:52px}.barcode-scan-trigger>span{font-size:var(--text-xs);color:var(--color-muted);margin-left:auto;font-weight:400}.barcode-scanner{margin-bottom:var(--space-lg)}.barcode-scanner-heading{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.barcode-scanner-heading strong{align-items:center;gap:var(--space-sm);font-size:var(--text-sm);display:flex}.barcode-scanner-heading .icon-button{flex:none}.barcode-preview{aspect-ratio:4/3;background:var(--color-ink);border-radius:var(--radius-sm);position:relative;overflow:hidden}.barcode-preview video{object-fit:cover;width:100%;height:100%;display:block}.barcode-viewfinder{border:2px solid var(--color-accent-ink);border-radius:var(--radius-sm);box-shadow:0 0 0 100vmax var(--color-overlay);pointer-events:none;position:absolute;inset:30% 8%}.barcode-camera-state{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-ink);color:var(--color-accent-ink);text-align:center;font-size:var(--text-sm);flex-direction:column;line-height:1.5;display:flex;position:absolute;inset:0}.barcode-instructions{font-size:var(--text-sm);color:var(--color-muted);margin:var(--space-md) 0;line-height:1.7}.barcode-scanner-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.barcode-scanner-actions .button{font-size:var(--text-sm);padding-inline:var(--space-sm);flex:150px}.barcode-success{font-size:var(--text-sm);color:var(--color-accent);margin:var(--space-md) 0;line-height:1.6}
