@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-latin-500-normal-Dh16O2IA.woff2)format("woff2"),url(/assets/lora-latin-500-normal-Dbc_1yrl.woff)format("woff")}:root{--forest:#2e7d32;--sage:#8daf7f;--light-olive:#c9d9c0;--cream:#faf8f2;--sand:#eadcc8;--terracotta:#c97a5b;--burgundy:#7a2e3b;--warm-gray:#9ca3a0;--light-gray:#d9e0e0;--dark-gray:#374151;--background:var(--cream);--surface:#fff;--surface-soft:var(--sand);--text-primary:var(--dark-gray);--text-secondary:#59635d;--border-decorative:var(--light-gray);--border-control:#69756b;--action:var(--forest);--on-action:#fff;--focus:var(--burgundy);--selected-surface:var(--light-olive);--selected-text:var(--dark-gray);--sufficient-bg:#e5f0e1;--sufficient-text:#245c2a;--low-bg:#fff0cf;--low-text:#785000;--out-bg:#f9e6e2;--out-text:#8c3030;--untracked-bg:#e9edea;--untracked-text:#48534c;--destructive:#8c3030;--on-destructive:#fff;--font-ui:"Poppins", system-ui, sans-serif;--font-editorial:"Lora", Georgia, serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-control:12px;--radius-card:16px;--radius-dialog:20px;--target-min:44px;--target-comfortable:48px}[data-theme=dark]{--background:#18221c;--surface:#243029;--surface-soft:#303d32;--text-primary:#faf8f2;--text-secondary:#c9d9c0;--border-decorative:#48534c;--border-control:#9ca3a0;--action:#c9d9c0;--on-action:#18221c;--focus:#eadcc8;--selected-surface:#303d32;--selected-text:#faf8f2;--sufficient-bg:#263e2b;--sufficient-text:#c9d9c0;--low-bg:#44371f;--low-text:#ffe0a1;--out-bg:#492b30;--out-text:#ffc9c5;--untracked-bg:#303b35;--untracked-text:#d9e0e0;--destructive:#ffc9c5;--on-destructive:#492b30}*{box-sizing:border-box}html{font-family:var(--font-ui);color:var(--text-primary);background:var(--background);font-synthesis:none;line-height:1.5}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.65}a{color:var(--action)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:clamp(1.5rem,1rem + 1.3vw,2rem);font-weight:600;line-height:1.25}h2{letter-spacing:-.025em;font-size:clamp(1.25rem,1rem + .5vw,1.5rem);font-weight:600;line-height:1.4}h3{font-size:1rem;font-weight:500;line-height:1.5}p{color:var(--text-secondary)}.icon{vertical-align:middle;flex-shrink:0}.refrigerator{width:var(--fridge-size);flex-shrink:0;height:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--surface);padding:12px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.app-shell{min-height:100dvh}.brand-link{color:var(--text-primary);text-decoration:none}.brand{align-items:center;gap:12px;display:flex}.brand>span{letter-spacing:-.04em;font-size:1.375rem;font-weight:400;line-height:1.2}.brand strong{font-weight:600}.brand small{letter-spacing:.16em;margin-top:8px;font-size:.5rem;display:block}.sidebar>.brand-link,.sidebar-note{display:none}.navigation{z-index:10;padding:8px 4px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border-decorative);background:var(--surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-link{min-height:64px;color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;border-bottom:3px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px 1px;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;display:flex}.nav-link .icon{color:var(--action)}.nav-link.is-active{color:var(--selected-text);background:var(--selected-surface);border-bottom-color:var(--action)}.topbar{border-bottom:1px solid var(--border-decorative);justify-content:space-between;align-items:center;gap:12px;min-height:96px;padding:16px;display:flex}.topbar>div:first-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.topbar .field{flex-shrink:0;gap:2px;max-width:120px}.topbar .field label{font-size:.75rem}.topbar select{background:var(--background);min-height:44px;padding:8px}.desktop-context{display:none}.demo-badge{border:1px solid var(--border-control);color:var(--text-secondary);border-radius:20px;padding:3px 10px;font-size:.75rem;font-weight:500;display:inline-flex}.demo-disclosure{color:var(--text-secondary);padding:10px 16px 0;font-size:.75rem}main{max-width:1200px;min-height:70vh;margin:0 auto;padding:24px 16px 48px}main>*+*{margin-top:28px}main:focus,h1:focus{outline:none}h1:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.eyebrow{letter-spacing:.14em;color:var(--text-secondary);font-size:.6875rem;font-weight:500}.welcome{justify-content:space-between;align-items:center;gap:16px;padding:12px 0 16px;display:flex}.welcome h1{margin:12px 0}.welcome .tagline{font-family:var(--font-editorial);color:var(--text-primary);font-size:clamp(1.2rem,1rem + .6vw,1.5rem)}.welcome p+p{margin-top:16px;font-size:.875rem;line-height:1.7}.welcome .button{margin-top:24px}.welcome-art{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.welcome-art .refrigerator{width:64px}.welcome-art span{display:none}.button{border-radius:var(--radius-control);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 20px;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;transition:background-color .14s;display:inline-flex}.button--primary{background:var(--action);color:var(--on-action)}.button--secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border-control)}.button--quiet{color:var(--text-primary);background:0 0}.button--destructive{color:var(--on-destructive);background:var(--destructive)}.button:hover:not(:disabled),.category-card:hover{filter:brightness(.96)}.icon-button{min-width:44px;min-height:44px;padding:10px}.search{background:var(--surface);border:1px solid var(--border-control);border-radius:var(--radius-control);color:var(--text-secondary);align-items:center;gap:12px;padding:4px 12px;display:flex}.search:focus-within{outline:2px solid var(--focus);outline-offset:3px}.search input{background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:44px}input::placeholder{color:var(--text-secondary);opacity:1}input[type=search]::-webkit-search-cancel-button{display:none}.stats{border:1px solid var(--border-decorative);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.stats a{color:var(--text-primary);border:1px solid var(--border-decorative);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:20px;text-decoration:none;display:grid}.stats a:focus-visible{outline-offset:-5px}.stats .icon{color:var(--action)}.stats strong{font-size:1.75rem;font-weight:500}.stats span{color:var(--text-secondary);grid-column:1/-1;font-size:.75rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{margin-top:4px}.text-link{align-items:center;gap:10px;min-height:44px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.product-grid{gap:12px;display:grid}.product-card{border:1px solid var(--border-decorative);background:var(--surface);border-radius:var(--radius-card);align-items:center;gap:16px;min-width:0;padding:20px 16px;display:flex}.product-copy{flex:1;min-width:0}.product-copy h3{margin:3px 0}.product-copy .eyebrow{letter-spacing:.04em;font-size:.625rem}.product-copy p{margin-bottom:12px;font-size:.75rem}.product-art{background:var(--selected-surface);width:64px;height:72px;color:var(--selected-text);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.art--bread{background:var(--low-bg);color:var(--low-text)}.art--fruit{background:var(--out-bg);color:var(--out-text)}.art--bottle{background:var(--sufficient-bg);color:var(--sufficient-text)}.badge{border-radius:7px;align-items:center;gap:6px;padding:4px 9px;font-size:.875rem;font-weight:500;line-height:1.4;display:inline-flex}.badge--sufficient{background:var(--sufficient-bg);color:var(--sufficient-text)}.badge--low{background:var(--low-bg);color:var(--low-text)}.badge--out{background:var(--out-bg);color:var(--out-text)}.badge--untracked{background:var(--untracked-bg);color:var(--untracked-text)}.gentle-note{border-radius:var(--radius-card);background:var(--surface-soft);align-items:center;gap:18px;padding:24px;display:flex}.gentle-note>.icon{color:var(--text-primary)}.gentle-note strong{font-size:.875rem;font-weight:500}.gentle-note p{margin-top:4px;font-size:.8125rem}.app-footer{padding:20px 0 calc(120px + env(safe-area-inset-bottom));border-top:1px solid var(--border-decorative);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0 16px;font-size:.75rem;display:flex}.app-footer span{font-family:var(--font-editorial)}.page-heading{max-width:680px}.page-heading h1{margin:10px 0 14px}.page-heading p{font-size:.9375rem;line-height:1.75}.category-grid,.store-grid,.gallery-grid{gap:16px;display:grid}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-card{border:1px solid var(--border-decorative);background:var(--surface);border-radius:var(--radius-card);text-align:left;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:20px 16px;display:flex}.category-card strong{font-size:.875rem;font-weight:500}.category-card>span:last-child{color:var(--text-secondary);font-size:.75rem}.category-card.is-selected{border-color:var(--action);outline:1px solid var(--action)}.card{border:1px solid var(--border-decorative);border-radius:var(--radius-card);background:var(--surface);padding:24px}.card>*+*{margin-top:16px}.store-card{align-items:center;gap:20px;display:flex}.store-card>*+*{margin-top:0}.store-card p{margin:8px 0;font-size:.875rem}.shopping-layout{gap:24px;display:grid}.shopping-list{margin:0;padding:0;list-style:none}.shopping-row{border-top:1px solid var(--border-decorative);gap:8px;padding:20px 0;display:grid}.shopping-row .muted{font-size:.75rem}.purchase-preview{align-self:start}.count{background:var(--selected-surface);color:var(--selected-text);border-radius:20px;padding:4px 12px}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field label,.field-hint,.field-error{font-size:.875rem}.field input,.field select{border:1px solid var(--border-control);border-radius:var(--radius-control);background:var(--surface);width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:1rem}.field [aria-invalid=true]{border-color:var(--destructive)}.field-error{color:var(--destructive)}.field-hint,.muted{color:var(--text-secondary)}.choice{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:.9375rem;display:flex}.choice input{width:22px;height:22px;accent-color:var(--action);flex-shrink:0}.choice:has(input:disabled){cursor:not-allowed;color:var(--text-secondary)}.switch input{appearance:none;background:var(--border-control);border:2px solid var(--border-control);border-radius:20px;width:44px;height:26px;position:relative}.switch input:after{content:"";background:var(--surface);border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:2px}.switch input:checked{background:var(--action);border-color:var(--action)}.switch input:checked:after{background:var(--on-action);left:20px}fieldset{border:1px solid var(--border-control);border-radius:var(--radius-control)}.stepper{align-items:center;gap:4px;max-width:220px;display:flex}.stepper input{text-align:center;appearance:textfield;font-variant-numeric:tabular-nums}.stepper input::-webkit-inner-spin-button{appearance:none}.component-gallery summary{cursor:pointer;border:1px solid var(--border-control);border-radius:var(--radius-control);min-height:48px;padding:18px}.component-gallery>p{margin:20px 0}.button-row{flex-wrap:wrap;gap:12px;display:flex}.overlay{width:min(560px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text-primary);background:var(--surface);border:1px solid var(--border-control);border-radius:var(--radius-dialog);padding:24px;overflow:auto}.overlay::backdrop{background:#00000073}.overlay-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.overlay>*+*{margin-top:16px}.drawer{border-radius:20px 0 0 20px;height:100dvh;max-height:100dvh;margin:auto 0 0 auto}.empty-state{text-align:center;color:var(--text-secondary);padding:32px 16px}.empty-state>*+*{margin-top:12px}.empty-state .icon{color:var(--action)}.error-state{background:var(--out-bg);color:var(--out-text);border-radius:12px;padding:16px}.error-state p{color:inherit;margin:8px 0}.state{align-items:center;gap:12px;padding:16px 0;display:flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:30;right:16px;bottom:calc(112px + env(safe-area-inset-bottom));border:1px solid var(--border-control);background:var(--surface);max-width:min(460px,100% - 32px);color:var(--text-primary);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed}.toast--error{background:var(--out-bg);color:var(--out-text)}.toast--success{background:var(--sufficient-bg);color:var(--sufficient-text)}@media (width>=48rem){main{padding:32px 32px 56px}.topbar{padding:18px 32px}.demo-disclosure{padding-left:32px}.welcome{padding:16px 20px 24px 0}.welcome-art{flex-direction:column;align-items:center;gap:20px;padding:24px 56px;display:flex}.welcome-art .refrigerator{width:var(--fridge-size)}.welcome-art span{font-family:var(--font-editorial);color:var(--text-secondary);font-size:.875rem;display:block}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.store-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer{margin:0 32px}.shopping-layout{grid-template-columns:1.5fr 1fr}}@media (width>=80rem){.app-shell{grid-template-columns:240px minmax(0,1fr);display:grid}.sidebar{border-right:1px solid var(--border-decorative);background:var(--surface);flex-direction:column;height:100dvh;padding:36px 20px 24px;display:flex;position:sticky;top:0}.sidebar>.brand-link{padding-left:8px;display:block}.navigation{border:0;flex-direction:column;gap:8px;margin-top:60px;padding:0;display:flex;position:static}.nav-link{overflow-wrap:normal;border-bottom:0;border-left:3px solid #0000;flex-direction:row;justify-content:flex-start;gap:16px;min-height:52px;padding:14px 16px}.nav-link.is-active{border-left-color:var(--action)}.sidebar-note{margin-top:auto;padding:24px 12px 0;display:block}.sidebar-note p{font-family:var(--font-editorial);font-size:.9375rem;line-height:1.8}.sidebar-note small{color:var(--text-secondary);margin-top:20px;font-size:.6875rem;display:block}.sidebar-rule{background:var(--sage);width:32px;height:3px;margin-bottom:20px;display:block}.mobile-brand{display:none}.desktop-context{display:inline}.topbar{min-height:92px;padding:16px 48px}.demo-disclosure{padding-left:48px}main{padding:32px 48px 56px}main>*+*{margin-top:36px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-card{flex-wrap:wrap;gap:12px;padding:20px}.product-card .product-copy{flex-basis:calc(100% - 80px)}.product-card>.icon-button{margin-left:auto}.app-footer{margin:0 48px;padding-bottom:24px}.toast{bottom:24px}}@media (width<=359px){.product-card{gap:8px;padding:16px 12px}.product-art{width:44px;height:56px}.brand small{display:none}.topbar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth-shell{max-width:64rem;margin:auto}.auth-shell main{max-width:36rem;margin:auto;padding:24px 16px}.auth-panel{background:var(--surface);border:1px solid var(--border-decorative);overflow-wrap:anywhere;border-radius:16px;margin-block:16px;padding:24px}.auth-panel form,.auth-panel fieldset{gap:20px;min-width:0;display:grid}.auth-panel fieldset{border:0;margin:0;padding:0}.auth-panel h1{font-family:var(--font-editorial)}.auth-panel .button,.auth-links a,.auth-panel>a{margin-block:8px}.auth-panel>a,.auth-links a{align-items:center;min-height:44px;display:flex}.auth-links{flex-wrap:wrap;gap:8px 24px;display:flex}.mfa-qr{background:#fff;max-width:100%;height:auto}.household-list,.recovery-codes{overflow-wrap:anywhere;padding-left:20px}.household-list .button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.recovery-codes{-webkit-user-select:all;user-select:all}.auth-panel h1,.auth-panel h2{margin:0 0 24px}
