.builder-flow[data-v-3e0bda4e]{display:flex;flex-direction:column;gap:1.25rem;max-width:42rem}.builder-field[data-v-3e0bda4e]{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.builder-field select[data-v-3e0bda4e]{max-width:20rem;padding:.4rem .6rem}.builder-step[data-v-3e0bda4e]{border:1px solid var(--color-border, #ddd);border-radius:8px;padding:.75rem 1rem 1rem;margin:0}.builder-step legend[data-v-3e0bda4e]{padding:0 .35rem;font-weight:600}.builder-optional[data-v-3e0bda4e]{font-weight:400;color:var(--color-muted);font-size:.85em}.builder-chips[data-v-3e0bda4e]{display:flex;flex-wrap:wrap;gap:.5rem}.builder-chip[data-v-3e0bda4e]{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid var(--color-border, #ccc);border-radius:6px;background:var(--color-surface, #fff);cursor:pointer;font:inherit}.builder-chip.active[data-v-3e0bda4e]{border-color:var(--color-accent, #2d6a4f);background:color-mix(in srgb,var(--color-accent, #2d6a4f) 12%,white)}.builder-chip.promo[data-v-3e0bda4e]{box-shadow:inset 0 0 0 1px color-mix(in srgb,#d97706 50%,transparent)}.builder-chip-tag[data-v-3e0bda4e]{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:#b45309}.builder-filterbar[data-v-3e0bda4e]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.5rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--color-accent, #2d6a4f) 6%,transparent)}.builder-filterbar-label[data-v-3e0bda4e]{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.builder-pills[data-v-3e0bda4e]{display:flex;flex-wrap:wrap;gap:.3rem}.builder-pill[data-v-3e0bda4e]{padding:.25rem .7rem;border:none;border-radius:999px;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-size:.85rem;line-height:1.4}.builder-pill[data-v-3e0bda4e]:hover{background:color-mix(in srgb,var(--color-accent, #2d6a4f) 12%,transparent)}.builder-pill.active[data-v-3e0bda4e]{background:var(--color-accent, #2d6a4f);color:#fff;font-weight:600}.builder-groups[data-v-3e0bda4e]{display:flex;flex-direction:column;gap:.9rem;margin-top:.5rem}.builder-group-label[data-v-3e0bda4e]{margin:0;font-size:.95rem;font-weight:600}.builder-group-blurb[data-v-3e0bda4e]{margin:0 0 .4rem;font-size:.85rem;color:var(--color-muted)}.builder-concept-companions[data-v-3e0bda4e]{font-size:.8rem;color:var(--color-muted);margin-top:.75rem}.builder-hint[data-v-3e0bda4e]{color:var(--color-muted);margin:0}.builder-actions[data-v-3e0bda4e]{display:flex;gap:.75rem}.builder-result h2[data-v-3e0bda4e]{margin:0 0 .35rem;font-size:1.25rem}.builder-result h3[data-v-3e0bda4e]{margin:1rem 0 .35rem;font-size:1rem}.builder-meta[data-v-3e0bda4e],.builder-price[data-v-3e0bda4e]{margin:.25rem 0;color:var(--color-muted)}.builder-pantry-list[data-v-3e0bda4e]{color:var(--color-muted);font-size:.92rem}:root{color-scheme:light;--color-brand: #0e5a38;--color-brand-dark: #0a4730;--color-cream: #f8faf6;--color-leaf: #1f9d55;--color-tomato: #fb4d3d;--color-tomato-ink: #c5371f;--color-lemon: #f6b800;--color-ink: #15231c;--color-muted: color-mix(in srgb, var(--color-ink) 68%, transparent);--color-border: color-mix(in srgb, var(--color-brand) 12%, transparent);--color-card: #ffffff;--color-meal: color-mix(in srgb, var(--color-leaf) 12%, transparent);--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-accent: "Caveat", ui-serif, cursive;--radius-card: 16px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-cream);color:var(--color-ink);-webkit-font-smoothing:antialiased}a{color:var(--color-brand-dark);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px;border-radius:4px}.font-display{font-family:var(--font-display)}.app-shell{min-height:100vh}.layout-inner{max-width:64rem;margin-inline:auto;padding-inline:1rem}.app-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-cream) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header--staging{background:color-mix(in srgb,#ef4444 28%,var(--color-cream) 72%);border-bottom-color:color-mix(in srgb,#dc2626 35%,var(--color-border))}.app-header-inner{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-block:.75rem}.brand{flex-shrink:0;font-family:var(--font-display);font-weight:800;font-size:1.125rem;letter-spacing:-.02em;color:var(--color-brand-dark);text-decoration:none}.brand:hover{text-decoration:none}.header-nav{display:flex;align-items:center;flex-shrink:1;min-width:0;gap:.375rem;font-size:.8125rem}.header-nav-link{color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-decoration:none;transition:color .15s ease}.header-nav-link:hover,.header-nav-link.active{color:var(--color-brand-dark);text-decoration:none}.header-nav-link.active{font-weight:600}.header-nav-desktop{display:none}.btn-header-register,.btn-header-login{flex-shrink:0;padding:.375rem .5rem;border-radius:.5rem;font-weight:500;white-space:nowrap;text-decoration:none}.btn-header-label-full{display:none}.btn-header-register{border:1px solid color-mix(in srgb,var(--color-brand) 35%,transparent);background:transparent;color:var(--color-brand-dark);transition:background .15s ease,border-color .15s ease}.btn-header-register:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);border-color:var(--color-brand);text-decoration:none}.btn-header-login{background:var(--color-brand);color:#fff;transition:background .15s ease}.btn-header-login:hover{background:var(--color-brand-dark);text-decoration:none}.btn-install{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;padding:.375rem .5rem;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--color-brand) 30%,transparent);background:color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:inherit;font-weight:500;color:var(--color-brand-dark);white-space:nowrap;cursor:pointer;transition:background .15s ease}.btn-install:hover{background:color-mix(in srgb,var(--color-brand) 15%,transparent)}@media(min-width:640px){.app-header-inner{gap:1rem}.brand{font-size:1.25rem}.header-nav{gap:1rem;font-size:.875rem}.btn-header-register,.btn-header-login{padding:.375rem .875rem}.btn-header-label-full{display:inline}.btn-header-label-short{display:none}.btn-install{gap:.375rem;padding:.375rem .75rem}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-brand) 8%,transparent);font-family:var(--font-display);font-size:.875rem;font-weight:700;color:var(--color-brand-dark);cursor:pointer;transition:border-color .15s ease,background .15s ease}.user-menu-trigger:hover{border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);background:color-mix(in srgb,var(--color-brand) 15%,transparent)}.user-menu-panel{position:absolute;right:0;top:2.75rem;z-index:50;width:14rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-brand) 15%,transparent);border-radius:.75rem;background:#fff;box-shadow:0 10px 28px -8px color-mix(in srgb,var(--color-brand) 25%,transparent)}.user-menu-email{margin:0;padding:.625rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent);font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-list{list-style:none;margin:0;padding:.25rem 0}.user-menu-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem 1rem;border:none;background:none;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 75%,transparent);text-align:left;text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.user-menu-item:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);color:var(--color-brand-dark);text-decoration:none}.user-menu-logout{border-top:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent)}.app-main{max-width:64rem;margin:0 auto;padding:1.5rem 1rem 6rem}.app-footer{max-width:64rem;margin:0 auto;padding:2.5rem 1rem calc(6.25rem + env(safe-area-inset-bottom,0px));font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.app-footer a{color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:40;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-border);background:color-mix(in srgb,#fff 95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bottom-nav-list{display:flex;align-items:stretch;justify-content:space-around;max-width:28rem;margin:0 auto;padding:0;list-style:none}.bottom-nav-item{flex:1}.bottom-nav-link{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.625rem 0;font-size:.6875rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 45%,transparent);text-decoration:none;transition:color .15s ease}.bottom-nav-link:hover,.bottom-nav-link.active{color:var(--color-brand-dark);text-decoration:none}.page-heading{margin-bottom:1.5rem}.eyebrow{display:inline-flex;align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.6875rem;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand)}.eyebrow-dot{display:inline-block;width:.375rem;height:.375rem;border-radius:1px;background:var(--color-leaf);transform:rotate(45deg)}.page-title{margin:0;font-family:var(--font-display);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.page-subtitle{margin:.375rem 0 0;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.page-subtitle--spaced{margin-bottom:1.25rem}.card{border-radius:var(--radius-card);background:#fff;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);box-shadow:0 1px 2px #15231c0a,0 10px 28px -18px #0e5a3840;padding:1rem}.ui-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:600}.ui-badge--meal{background:color-mix(in srgb,var(--color-leaf) 12%,transparent);color:var(--color-brand-dark)}.ui-badge--neutral{background:color-mix(in srgb,var(--color-ink) 6%,transparent);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.ui-badge--promo{background:color-mix(in srgb,var(--color-tomato) 12%,transparent);color:var(--color-tomato-ink)}.ui-badge--active{background:var(--color-brand);color:#fff}.ui-badge--draft{background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:#7a5b00}.ui-badge--saved{background:color-mix(in srgb,var(--color-leaf) 15%,transparent);color:var(--color-brand-dark)}.back-link{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.75rem;border:none;background:none;padding:0;font:inherit;font-size:.875rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer}.back-link:hover{text-decoration:underline}.stack{display:grid;gap:1rem}.field{display:grid;gap:.35rem;font-size:.9rem}.field input,.field select,.field textarea{padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;font:inherit;background:#fff}fieldset.field{border:none;padding:0;margin:0}fieldset.field legend{margin-bottom:.5rem;font-weight:600}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.35rem .75rem}.checkbox{display:flex;align-items:center;gap:.4rem;font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pref-form{display:grid;gap:2rem}.pref-fieldset{border:none;padding:0;margin:0}.pref-fieldset>legend{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.pref-hint{margin:0 0 .75rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-hint--warn{color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.allergen-verify-note{margin:-.25rem 0 1rem;opacity:.7}.pref-chain-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.pref-select{width:100%;max-width:22rem;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;font:inherit;font-size:.875rem;line-height:1.35;background:#fff}.pref-combobox{position:relative;width:100%;max-width:22rem}.pref-combobox-input{max-width:none;box-sizing:border-box;min-height:0}.pref-combobox-list{position:absolute;top:100%;left:0;right:0;z-index:40;max-height:16rem;margin:.25rem 0 0;padding:.25rem 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;background:#fff;box-shadow:0 10px 28px -8px color-mix(in srgb,var(--color-brand) 25%,transparent)}.pref-combobox-option{display:block;width:100%;padding:.5rem .75rem;border:none;background:transparent;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.pref-combobox-option.active,.pref-combobox-option:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.pref-combobox-option.selected{font-weight:600}.pref-combobox-empty{margin:.35rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.pref-coming{margin-top:.75rem;padding-top:.625rem;border-top:1px solid color-mix(in srgb,var(--color-brand) 10%,transparent)}.pref-coming-hint{margin:0 0 .4rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-soon-list{display:flex;flex-wrap:wrap;gap:.3rem .35rem}.pref-soon-chip{display:inline-block;padding:.15rem .45rem;border:1px dashed color-mix(in srgb,var(--color-brand) 18%,transparent);border-radius:.375rem;background:color-mix(in srgb,var(--color-ink) 2%,#fff);font-size:.6875rem;font-weight:500;line-height:1.35;color:color-mix(in srgb,var(--color-ink) 42%,transparent)}.pref-pill-grid{display:flex;flex-wrap:wrap;gap:.5rem}.pref-pill{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);border-radius:.75rem;background:#fff;padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:border-color .15s ease,background .15s ease}.pref-pill:has(:checked){border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 7%,#fff)}.pref-pill--other{border-color:color-mix(in srgb,var(--color-ink) 14%,transparent);background:color-mix(in srgb,var(--color-ink) 2%,#fff);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.pref-pill--other:has(:checked){border-color:color-mix(in srgb,var(--color-ink) 38%,transparent);background:color-mix(in srgb,var(--color-ink) 4%,#fff);color:var(--color-ink)}.pref-pill-label--other{font-style:italic}.pref-pill--other input[type=radio]{accent-color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.pref-pill--choice{padding:.375rem .875rem;border-radius:.5rem}.pref-pill input[type=checkbox],.pref-pill input[type=radio]{accent-color:var(--color-brand)}.pref-allergen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem .75rem}@media(min-width:640px){.pref-allergen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pref-allergen{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.pref-ingredient-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent)}.pref-chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:999px;padding:.25rem .75rem;font-size:.875rem}.pref-chip--liked{border:1px solid color-mix(in srgb,var(--color-leaf) 35%,transparent);background:color-mix(in srgb,var(--color-leaf) 12%,#fff);color:var(--color-brand-dark)}.pref-chip--disliked{border:1px solid color-mix(in srgb,var(--color-tomato) 40%,transparent);background:color-mix(in srgb,var(--color-tomato) 10%,#fff);color:var(--color-tomato-ink)}.pref-chip button{border:none;background:none;padding:0;font:inherit;line-height:1;opacity:.6;cursor:pointer}.pref-chip button:hover{opacity:1}.pref-add-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.pref-add-row label{display:grid;gap:.25rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.pref-add-row select{min-width:10rem;padding:.5rem .65rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.5rem;font:inherit;background:#fff}.btn-primary{padding:.5rem 1rem;border:none;border-radius:.5rem;background:var(--color-brand);color:#fff;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-brand-dark)}a.btn-primary,a.btn-primary:hover{display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none}a.btn-primary:hover{background:var(--color-brand-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .875rem;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:.5rem;background:#fff;color:color-mix(in srgb,var(--color-ink) 70%,transparent);font:inherit;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease}.btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-brand-dark);text-decoration:none}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-link{border:none;background:none;color:var(--color-brand-dark);font:inherit;font-size:.875rem;cursor:pointer;text-decoration:underline}.btn-danger{padding:.55rem 1rem;border:1px solid #d64545;border-radius:.5rem;background:#fff5f5;color:#9b2226;cursor:pointer}.auth-card{max-width:24rem;margin:0 auto}.auth-footer{margin-top:1rem}.oauth-block{margin-top:1.25rem}.oauth-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent);font-size:.8125rem}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:color-mix(in srgb,#000 12%,transparent)}.oauth-buttons{display:flex;flex-direction:column;gap:.5rem}.oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;width:100%;text-align:center;box-sizing:border-box}.oauth-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.oauth-consent-hint{margin-top:.75rem}.filter-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);background:#fff;font-size:.875rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.filter-chip:hover{border-color:color-mix(in srgb,var(--color-leaf) 50%,transparent);color:var(--color-brand-dark)}.filter-chip.active{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.search-field{position:relative;margin-bottom:1rem}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:color-mix(in srgb,var(--color-ink) 35%,transparent);pointer-events:none}.search-input{width:100%;padding:.625rem 2.5rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;background:#fff;font:inherit;font-size:.875rem;color:var(--color-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.search-input::placeholder{color:color-mix(in srgb,var(--color-ink) 35%,transparent)}.search-input:focus{border-color:color-mix(in srgb,var(--color-brand) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-brand) 15%,transparent)}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;border-radius:999px;background:none;color:color-mix(in srgb,var(--color-ink) 40%,transparent);cursor:pointer}.search-clear:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent);color:var(--color-brand-dark)}.search-count{margin:0 0 .75rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.recipe-search{margin-bottom:1rem}.recipe-search .search-field{margin-bottom:0}.recipe-search-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.recipe-search-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .65rem;border-radius:999px;background:color-mix(in srgb,var(--color-brand) 12%,transparent);color:var(--color-brand-dark);font-size:.8125rem;font-weight:600}.recipe-search-chip-clear{display:flex;align-items:center;justify-content:center;padding:.15rem;border:none;border-radius:999px;background:transparent;color:inherit;cursor:pointer}.recipe-search-chip-clear:hover{background:color-mix(in srgb,var(--color-brand) 18%,transparent)}.recipe-search-list{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:40;max-height:16rem;margin:0;padding:.25rem 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;background:#fff;box-shadow:0 10px 28px -8px color-mix(in srgb,var(--color-brand) 25%,transparent)}.recipe-search-option{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:none;background:transparent;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.recipe-search-option.active,.recipe-search-option:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.recipe-search-option-name{font-weight:500}.recipe-search-option-cat{flex-shrink:0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.error{color:#9b2226}.hint,.status-line{font-size:.875rem;color:var(--color-muted)}.onboarding-form,.section-gap{margin-top:1rem}.section-title{margin:0;font-size:1rem;font-weight:600}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.section-heading{margin:0 0 .75rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700}.section-heading-row{display:flex;align-items:baseline;gap:.375rem}.section-heading-row .section-heading{margin-bottom:.25rem}.info-hint-text{margin:0;font-size:.8125rem}.page-title--sm{font-size:1.125rem}.note-sm{margin:0 0 .5rem;font-size:.75rem;color:var(--color-muted)}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem;padding:1rem}.meta-grid__item dt{margin:0;font-size:.6875rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.meta-grid__item dd{margin:.125rem 0 0;font-weight:500;font-variant-numeric:tabular-nums}.content-columns{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:1.5rem}.split-rows{list-style:none;margin:0;padding:0}.split-rows>li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.375rem;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:.875rem}.split-rows>li+li{margin-top:.375rem}.split-rows__main{min-width:0;overflow:hidden;text-overflow:ellipsis;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.split-rows__main--strong{font-weight:500;color:var(--color-ink)}.split-rows__aside{flex-shrink:0;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.split-rows__lead{display:flex;min-width:0;align-items:center;gap:.5rem}.meta-grid__price{display:inline-flex;align-items:center;gap:.375rem}.portion-stepper{display:inline-flex;align-items:center;gap:.25rem;margin-top:.125rem}.portion-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:.375rem;background:#fff;color:var(--color-ink);font-size:1.125rem;font-weight:500;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.portion-stepper__btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);background:color-mix(in srgb,var(--color-brand) 6%,#fff)}.portion-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.portion-stepper__value{min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}.ingredient-pref-toggle{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border-radius:999px;border:1px dashed color-mix(in srgb,var(--color-ink) 25%,transparent);background:transparent;font-size:1rem;line-height:1;color:color-mix(in srgb,var(--color-ink) 35%,transparent);cursor:pointer;transition:border-color .15s ease,color .15s ease}.ingredient-pref-toggle:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand-dark)}.ingredient-pref-toggle:disabled{opacity:.5;cursor:not-allowed}.ingredient-pref-toggle--liked{border-color:transparent;color:var(--color-brand-dark)}.ingredient-pref-toggle--disliked{border-color:transparent;color:var(--color-tomato-ink)}.info-hint{position:relative;display:inline-flex}.info-hint-trigger{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;border:1px solid currentColor;border-radius:999px;background:transparent;font-size:.625rem;font-weight:700;line-height:1;color:inherit;opacity:.7;cursor:pointer;transition:opacity .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.info-hint-trigger:hover,.info-hint-trigger--open{opacity:1}.info-hint-trigger--open{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.info-hint-panel{position:absolute;right:0;top:1.5rem;z-index:30;display:block;width:22rem;max-width:min(22rem,calc(100vw - 2rem));padding:.75rem;text-align:left;font-size:.75rem;font-weight:400;line-height:1.5;color:color-mix(in srgb,var(--color-ink) 75%,transparent);box-shadow:0 10px 28px -8px color-mix(in srgb,var(--color-brand) 25%,transparent);white-space:normal;overflow-wrap:break-word}.info-hint-title{margin:0 0 .375rem;font-weight:600;color:var(--color-ink)}.price-info-hero{margin:0 0 .75rem;padding-bottom:.625rem;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent)}.price-info-hero-main{margin:0;font-size:1.125rem;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--color-ink)}.price-info-hero-saving{display:inline-block;margin-left:.375rem;font-size:.75rem;font-weight:600;color:#7a5b00;vertical-align:middle}.price-info-hero-regular{margin:.125rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.price-info-hero-meta{margin:.375rem 0 0;font-size:.6875rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.price-info-section-title{margin:0 0 .375rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.price-info-lines{list-style:none;margin:0 0 .25rem;padding:0}.price-info-lines--promo{margin-bottom:.25rem}.price-info-line+.price-info-line{margin-top:.375rem}.price-info-line-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.price-info-line-main{flex:1 1 8rem;min-width:0}.price-info-star{color:var(--color-brand-dark)}.price-info-qty{color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-line-prices{display:inline-flex;flex-shrink:0;align-items:baseline;gap:.375rem;font-variant-numeric:tabular-nums}.price-info-line-price{flex-shrink:0;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.price-info-line-price--struck{text-decoration:line-through;text-decoration-thickness:1px;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-line-promo{font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-tomato-ink)}.price-info-others-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:.25rem 0;border:0;border-radius:.25rem;background:transparent;font:inherit;color:var(--color-brand-dark);cursor:pointer;text-align:left}.price-info-others-toggle:hover{text-decoration:underline}.price-info-others-toggle--plain{justify-content:flex-start;padding-top:.125rem;font-size:.6875rem}.price-info-legend{margin:0 0 .625rem;font-size:.625rem;line-height:1.4;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.price-info-muted{margin:0 0 .5rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.price-info-banner{padding:.375rem .5rem;border-radius:.375rem;background:color-mix(in srgb,var(--color-ink) 5%,transparent)}.price-info-totals{display:grid;gap:.25rem;margin-top:.25rem;padding-top:.625rem;border-top:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);font-variant-numeric:tabular-nums}.price-info-total-row{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.price-info-total-row>span:first-child{flex:1 1 8rem;min-width:0}.price-info-total-row--promo{color:#7a5b00}.price-info-total-row--promo-strong{font-weight:600}.price-info-total-value{font-weight:500;color:var(--color-ink)}.price-info-check{margin:.5rem 0 0;font-size:.625rem;line-height:1.4;color:color-mix(in srgb,var(--color-ink) 42%,transparent)}.price-info-foot{margin:.375rem 0 0;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.text-link{display:block;margin-top:.5rem;font-weight:500;color:var(--color-brand-dark);text-decoration:none}.text-link:hover{text-decoration:underline}.steps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.steps-list>li{display:flex;gap:.75rem;font-size:.875rem;line-height:1.625}.steps-list__num{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--color-brand);color:#fff;font-size:.75rem;font-weight:600}.steps-list__text{min-width:0;padding-top:.0625rem}.detail-header{display:flex;align-items:flex-start;gap:1rem;margin-top:.75rem}.detail-icon{display:none;flex-shrink:0;align-items:center;justify-content:center;padding:.75rem;border-radius:1rem;background:color-mix(in srgb,var(--color-leaf) 10%,transparent)}.detail-head{min-width:0;flex:1}.detail-head .recipe-badges{margin-bottom:.5rem}.detail-title{margin:0;font-family:var(--font-display);font-size:1.875rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.inline-note{margin:1rem 0 0;font-size:.875rem}.inline-note strong,.inline-note-label{font-weight:500}.member-list{list-style:none;margin:0;padding:0}.member-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--color-border)}.member-row:first-child{border-top:none}.banner{padding:.75rem 1rem;border-radius:.75rem;font-size:.875rem}.banner.success{border:1px solid color-mix(in srgb,var(--color-leaf) 40%,transparent);background:color-mix(in srgb,var(--color-leaf) 10%,transparent);color:var(--color-brand-dark)}.banner.warning{border:1px solid color-mix(in srgb,var(--color-lemon) 60%,transparent);background:color-mix(in srgb,var(--color-lemon) 12%,transparent);color:#7a5b00}.empty-state{padding:1.5rem 1rem;text-align:center;color:var(--color-muted)}.onboarding-banner p{margin:.25rem 0 0}.onboarding-banner-cta{display:inline-block;margin-top:.75rem}.banner-info{border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);background:color-mix(in srgb,var(--color-brand) 5%,transparent);color:var(--color-brand-dark)}.banner-link{margin-left:.25rem;font-weight:500;text-decoration:underline;text-underline-offset:2px;color:inherit}.banner-link:hover{opacity:.85;text-decoration:underline}.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-actions{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.detail-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.5rem;background:#fff;font:inherit;font-size:.875rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.detail-action-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-brand) 40%,transparent);color:var(--color-brand-dark)}.detail-action-btn:disabled{opacity:.6;cursor:not-allowed}.detail-action-btn--active,.detail-action-btn--saved{border-color:color-mix(in srgb,var(--color-brand) 40%,transparent);background:color-mix(in srgb,var(--color-brand) 10%,transparent);color:var(--color-brand-dark)}.detail-action-btn--saved{border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);background:color-mix(in srgb,var(--color-tomato) 10%,transparent);color:var(--color-tomato-ink)}.detail-action-btn--saved:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-tomato) 40%,transparent);color:var(--color-tomato-ink)}.invite-code{font-family:ui-monospace,monospace;font-size:1.25rem;letter-spacing:.2em;font-weight:700}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.join-input{width:8rem;padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.75rem;font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.15em}.pref-subtitle{margin:0 0 .5rem;font-size:.875rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.pref-page{max-width:42rem;margin:0 auto}.produce-icon{width:3rem;height:3rem}@media(min-width:640px){.detail-icon{display:inline-flex}.meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.content-columns{grid-template-columns:1fr 1.4fr}}.legal-page{max-width:42rem}.legal-prose{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.legal-prose h2{margin:1rem 0 .25rem;font-size:1.05rem;font-weight:600}.legal-prose h2:first-child{margin-top:0}.legal-prose p,.legal-prose li{font-size:.9rem;line-height:1.55;color:color-mix(in srgb,var(--color-ink) 82%,transparent)}.legal-prose ul{margin:0;padding-left:1.25rem}.legal-table{width:100%;border-collapse:collapse;font-size:.8rem;margin:.25rem 0 .5rem}.legal-table th,.legal-table td{border:1px solid var(--color-border);padding:.45rem .5rem;text-align:left;vertical-align:top}.legal-table th{background:color-mix(in srgb,var(--color-brand) 6%,transparent);font-weight:600}.legal-updated{margin-top:1rem;font-size:.75rem;opacity:.65}button.linkish{display:inline;padding:0;border:none;background:none;color:var(--color-brand-dark);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit}.consent-banner{position:fixed;inset-inline:0;bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));z-index:50;padding:.75rem 1rem;background:color-mix(in srgb,#fff 96%,transparent);border-top:1px solid var(--color-border);box-shadow:0 -4px 24px color-mix(in srgb,var(--color-ink) 8%,transparent)}.consent-banner-inner{max-width:64rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}@media(min-width:640px){.consent-banner{bottom:0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.consent-banner-inner{flex-direction:row;align-items:center;justify-content:space-between}}.consent-banner-text{margin:0;font-size:.85rem;line-height:1.45;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.consent-banner-actions{display:flex;flex-shrink:0;gap:.5rem}.consent-btn{white-space:nowrap}.account-danger{padding:1.25rem;border:1px solid color-mix(in srgb,#b33 35%,transparent);border-radius:.75rem;background:color-mix(in srgb,#b33 4%,transparent)}.account-danger h2{margin:0 0 .5rem;font-size:1.05rem}.account-danger p{margin:0 0 .75rem;font-size:.875rem;line-height:1.45}.account-danger-confirm{display:flex;flex-direction:column;gap:.5rem;max-width:20rem}.btn-danger{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:999px;border:1px solid #a33;background:#a33;color:#fff;font-weight:550;cursor:pointer}.btn-danger:hover:not(:disabled){background:#8c2a2a}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.pref-consent{margin-top:.75rem;display:flex;gap:.5rem;align-items:flex-start;font-size:.8rem;line-height:1.4;color:color-mix(in srgb,var(--color-ink) 78%,transparent)}.pref-consent input{margin-top:.15rem;flex-shrink:0}.recipe-grid{display:grid;grid-template-columns:1fr;gap:1rem}.recipe-card{display:flex;flex-direction:column;height:100%}.recipe-card-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.recipe-badges{display:flex;flex-wrap:wrap;gap:.25rem}.recipe-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.35}.recipe-title a{color:inherit;text-decoration:none}.recipe-title a:hover{text-decoration:underline}.price-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .625rem;border-radius:999px;background:color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-brand-dark);white-space:nowrap}.price-chip.promo{background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:#7a5b00}.recipe-price-stack{display:flex;align-items:flex-end;flex-shrink:0;text-align:right}.price-chip-was{font-weight:500;font-variant-numeric:tabular-nums;color:color-mix(in srgb,#7a5b00 55%,transparent);text-decoration:line-through;text-decoration-thickness:1px}.meta{color:var(--color-muted);font-size:.75rem}.recipe-card-footer{margin-top:auto}.recipe-card-action{margin-top:.75rem}.offer-promos{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem}.promo-chip-tag{display:inline-flex;max-width:100%;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;padding:.2rem .55rem;border-radius:.375rem;background:color-mix(in srgb,var(--color-tomato) 8%,transparent);font-size:.75rem;line-height:1.35;color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.promo-chip-tag-label{min-width:0;overflow-wrap:anywhere}.promo-chip-tag-price{display:inline-flex;flex-shrink:0;align-items:baseline;gap:.3rem;font-variant-numeric:tabular-nums;color:var(--color-tomato-ink)}.promo-chip-tag-was{text-decoration:line-through;opacity:.55;font-weight:400;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.promo-chip-tag-now{font-weight:600}.promo-chip-tag-form{flex-shrink:0;padding:.05rem .35rem;border:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent);border-radius:999px;font-size:.85em;font-weight:600;letter-spacing:.01em;color:var(--color-muted)}.promo-chip-tag-loyalty{flex-shrink:0;font-weight:500;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.recipe-card-selected{border-width:2px;border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 5%,transparent)}.offer-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.375rem .75rem;border-radius:.5rem;border:none;background:var(--color-brand);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent}.offer-toggle:focus{outline:none}.offer-toggle:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.offer-toggle:hover:not(:disabled):not(.selected){background:var(--color-brand-dark)}.offer-toggle.selected{border:1px solid color-mix(in srgb,var(--color-brand) 40%,transparent);background:color-mix(in srgb,var(--color-leaf) 10%,#fff);color:var(--color-brand-dark)}.offer-toggle.selected:focus,.offer-toggle.selected:focus-visible{background:color-mix(in srgb,var(--color-leaf) 14%,#fff);color:var(--color-brand-dark);outline:2px solid var(--color-leaf);outline-offset:2px}.offer-toggle.selected:hover:not(:disabled){border-color:var(--color-brand);background:color-mix(in srgb,var(--color-leaf) 16%,#fff);color:var(--color-brand-dark)}.offer-toggle:disabled{opacity:.6;cursor:not-allowed}.recipe-variants{margin:.15rem 0 0;font-size:.8rem;color:var(--color-accent, #6b5b3e);font-weight:600}.variant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.variant-list a{color:var(--color-link, inherit);text-decoration:none}.variant-list a:hover{text-decoration:underline}.recipe-card-skeleton{height:9rem;background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand) 4%,#fff),color-mix(in srgb,var(--color-brand) 9%,#fff),color-mix(in srgb,var(--color-brand) 4%,#fff));background-size:200% 100%;animation:recipe-skeleton-shimmer 1.4s ease-in-out infinite}@keyframes recipe-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.recipe-card-skeleton{animation:none}}.plan-form{display:grid;gap:.75rem;max-width:24rem;margin-bottom:1.5rem}.plan-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.plan-meta{margin:0;font-size:.875rem}.plan-meta.subtle{color:var(--color-muted)}.plan-summary-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;border-radius:.75rem;background:color-mix(in srgb,var(--color-leaf) 7%,transparent);font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.plan-actions{margin-bottom:1rem}.plan-item.cooked{opacity:.72}.cooked-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.cooked-toggle{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem 0;border:none;background:transparent;color:color-mix(in srgb,var(--color-ink) 60%,transparent);cursor:pointer}.cooked-toggle:hover{color:var(--color-ink)}.cooked-toggle .section-title{color:inherit}.cooked-toggle-chevron{flex-shrink:0;transition:transform .15s ease}.cooked-toggle-chevron.is-open{transform:rotate(90deg)}.cooked-note{margin-top:.5rem}.plan-sweep-cooked{flex-shrink:0;padding:.3125rem .75rem;font-size:.8125rem}@media(prefers-reduced-motion:reduce){.cooked-toggle-chevron{transition:none}}.plan-item-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.plan-item-action{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;border-radius:.5rem;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);background:transparent;color:color-mix(in srgb,var(--color-ink) 70%,transparent);font-size:.75rem;font-weight:500;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.plan-item-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-ink)}.plan-item-action.active{border-color:color-mix(in srgb,var(--color-brand) 40%,transparent);color:var(--color-brand-dark);background:color-mix(in srgb,var(--color-leaf) 8%,transparent)}.plan-item-action:disabled{opacity:.6;cursor:not-allowed}.plan-item-action-link{box-sizing:border-box}.alt-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.alt-card{display:flex;flex-direction:column;gap:.5rem}.alt-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.alt-title{margin:0;font-size:1.125rem}.alt-promos{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.offer-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem}.offer-filters .field{min-width:10rem}.active-plan-section{margin-bottom:1.5rem}.active-plan-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.offer-section-title{margin-bottom:.75rem}.offer-cta{margin-top:1.5rem;padding:1rem;text-align:center;background:color-mix(in srgb,var(--color-leaf) 7%,transparent);border-color:color-mix(in srgb,var(--color-leaf) 20%,transparent)}.offer-cta p{margin:0 0 .75rem;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.plan-browse-page.has-selection-dock{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.plan-browse-page.has-selection-dock:has(.plan-selection-dock.is-expanded){padding-bottom:calc(100dvh - 5rem)}.plan-selection-dock{position:fixed;inset-inline:0;bottom:calc(3.25rem + env(safe-area-inset-bottom,0px));z-index:35;margin-inline:.75rem;border-radius:1rem;background:#fff;box-shadow:0 4px 24px color-mix(in srgb,var(--color-ink) 14%,transparent);border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);overflow:hidden}.plan-selection-dock.is-expanded{display:flex;flex-direction:column;max-height:calc(100dvh - 4.25rem - env(safe-area-inset-bottom,0px))}.plan-selection-bar{display:flex;flex-shrink:0;align-items:center;gap:.75rem;padding:.625rem .75rem;order:2}.plan-selection-panel{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;order:1;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.plan-selection-toggle{display:inline-flex;flex:1;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.5rem .75rem;border:none;border-radius:.75rem;background:color-mix(in srgb,var(--color-leaf) 8%,transparent);font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 75%,transparent);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-toggle:focus{outline:none}.plan-selection-toggle:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-selection-toggle .is-flipped{transform:rotate(180deg)}.plan-selection-confirm{flex-shrink:0;min-height:2.75rem;white-space:nowrap}.plan-selection-panel-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 .75rem;-webkit-overflow-scrolling:touch}.plan-selection-panel-footer{flex-shrink:0;padding:.5rem .75rem .75rem;border-top:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);background:#fff}.plan-selection-list{list-style:none;margin:0;padding:0;display:grid;gap:.375rem}.plan-selection-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;border-radius:.625rem;font-size:.875rem}.plan-selection-item--add{background:color-mix(in srgb,var(--color-leaf) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-leaf) 22%,transparent)}.plan-selection-item--remove{background:color-mix(in srgb,var(--color-tomato) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-tomato) 18%,transparent)}.plan-selection-item-label{display:inline-flex;align-items:baseline;gap:.375rem;min-width:0}.plan-selection-item-label.add .plan-selection-sign{color:var(--color-brand-dark)}.plan-selection-item-label.remove .plan-selection-sign{color:var(--color-tomato-ink)}.plan-selection-sign{flex-shrink:0;font-weight:700}.plan-selection-undo{flex-shrink:0;min-height:2.25rem;padding:.25rem .625rem;border:none;border-radius:.5rem;background:color-mix(in srgb,var(--color-ink) 5%,transparent);font:inherit;font-size:.8125rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer}.plan-selection-hint{margin:.625rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.plan-selection-panel-footer .plan-selection-hint{margin-top:0}.plan-selection-discard{margin-top:.375rem;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 45%,transparent);cursor:pointer;text-decoration:underline}.plan-selection-section{margin-top:.75rem;padding-bottom:.25rem}.plan-selection-section:first-child{margin-top:.5rem}.plan-selection-section-title{margin:0 0 .375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.plan-selection-section-title--add{color:var(--color-brand-dark)}.plan-selection-section-title--remove{color:var(--color-tomato-ink)}.plan-selection-section-meta{font-weight:500;text-transform:none;letter-spacing:normal;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-meal-groups{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}.plan-selection-meal-group{display:grid;gap:.25rem}.plan-selection-ingredient-nest{list-style:none;margin:0;padding:0 0 0 1.25rem;display:grid;gap:.25rem}.plan-selection-ingredient-row{display:flex;align-items:center;justify-content:space-between;gap:.625rem;padding:.375rem .5rem;border-radius:.5rem;background:color-mix(in srgb,var(--color-ink) 3%,transparent);font-size:.8125rem}.plan-selection-ingredient-row.is-remove{background:color-mix(in srgb,var(--color-tomato) 5%,transparent)}.plan-selection-ingredient-row.is-shared .plan-selection-ingredient-name{color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-ingredient-row.is-excluded .plan-selection-ingredient-name{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.plan-selection-ingredient-row-main{display:flex;flex-direction:column;gap:.0625rem;min-width:0}.plan-selection-ingredient-name{font-weight:500;color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.plan-selection-ingredient-note{font-size:.6875rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-ingredient-excluded{flex-shrink:0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-ingredient-kept{flex-shrink:0;font-size:.75rem;font-weight:500;color:var(--color-brand-dark)}.plan-selection-ingredient-row.is-kept{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.plan-selection-keep-ing{flex-shrink:0;min-height:2.25rem;padding:.25rem .625rem;border:1px solid color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:999px;background:#fff;font:inherit;font-size:.75rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-keep-ing.active{border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.plan-selection-keep-ing:focus{outline:none}.plan-selection-keep-ing:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-selection-hint--top{margin-top:.25rem}.plan-selection-hint--standalone{margin-top:.75rem}.plan-selection-ingredient-group{margin-top:.625rem}.plan-selection-ingredient-group:first-of-type{margin-top:.375rem}.plan-selection-subtitle{margin:0 0 .375rem;font-size:.8125rem;font-weight:600;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.plan-selection-subtitle--add{color:var(--color-brand-dark)}.plan-selection-subtitle--remove{color:var(--color-tomato-ink)}.plan-selection-item-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.plan-selection-delta{margin-left:.375rem;font-weight:700}.plan-selection-delta--add{color:var(--color-brand-dark)}.plan-selection-delta--remove{color:var(--color-tomato-ink)}.plan-selection-delta-label{margin-left:.25rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-ingredients{list-style:none;margin:0;padding:0;display:grid;gap:.375rem}.plan-selection-ingredient{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;border-radius:.625rem;background:color-mix(in srgb,var(--color-ink) 3%,transparent)}.plan-selection-ingredient-main{display:flex;flex-direction:column;gap:.125rem;min-width:0}.plan-selection-ingredient-name{font-size:.875rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.plan-selection-ingredient-name.is-removed{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.plan-selection-ingredient-from{font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.plan-selection-remove-ing{flex-shrink:0;min-height:2.25rem;padding:.25rem .625rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:999px;background:#fff;font:inherit;font-size:.75rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-selection-remove-ing.active{border-color:color-mix(in srgb,var(--color-ink) 20%,transparent);background:color-mix(in srgb,var(--color-ink) 6%,transparent);color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.plan-selection-remove-ing:focus{outline:none}.plan-selection-remove-ing:focus-visible{outline:2px solid var(--color-leaf);outline-offset:2px}.plan-leave-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--color-ink) 35%,transparent)}.plan-leave-dialog{width:min(100%,22rem);padding:1.25rem;border-radius:1rem;background:#fff;box-shadow:0 12px 40px color-mix(in srgb,var(--color-ink) 18%,transparent)}.plan-leave-title{margin:0 0 .5rem;font-size:1.125rem}.plan-leave-desc{margin:0 0 1rem;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.plan-leave-actions{display:flex;flex-direction:column;gap:.5rem}.plan-leave-cancel{min-height:2.5rem;border:none;background:none;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 55%,transparent);cursor:pointer;text-decoration:underline}.recipe-card-pending:not(.recipe-card-selected){outline:2px dashed color-mix(in srgb,var(--color-brand) 35%,transparent);outline-offset:-2px}@media(min-width:640px){.plan-browse-page.has-selection-dock{padding-bottom:6rem}.plan-browse-page.has-selection-dock:has(.plan-selection-dock.is-expanded){padding-bottom:calc(100dvh - 3rem)}.plan-selection-dock{bottom:1rem;max-width:36rem;margin-inline:auto;left:0;right:0}.plan-selection-dock.is-expanded{max-height:calc(100dvh - 2rem)}}@media(prefers-reduced-motion:reduce){.plan-selection-dock{box-shadow:0 2px 8px color-mix(in srgb,var(--color-ink) 10%,transparent)}}.shopping-page{display:grid;gap:1rem;min-width:0}.shopping-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:.75rem}.shopping-toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.shopping-chain-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.shopping-chain-form.is-disabled{opacity:.55;pointer-events:none}.shopping-chain-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-chain-label select{padding:.375rem .75rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.5rem;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 80%,transparent);background:#fff}.shopping-chain-hint{font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-stale-banner,.shopping-auth-banner{padding:.75rem 1rem;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--color-tomato) 25%,transparent);background:color-mix(in srgb,var(--color-tomato) 7%,transparent);font-size:.875rem;color:var(--color-tomato-ink)}.shopping-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;padding:.75rem 1rem;border-radius:.75rem;background:color-mix(in srgb,var(--color-leaf) 7%,transparent);font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.shopping-summary-core,.shopping-summary-detail{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem}.shopping-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-left:auto}.shopping-summary-actions .shopping-clear-checked{margin-left:0}.shopping-clear-checked{border:none;background:none;font:inherit;font-size:.875rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer;text-decoration:none}.shopping-clear-checked:hover:not(:disabled){text-decoration:underline}.shopping-clear-checked:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.saving-badge{padding:.125rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:#7a5b00;font-weight:500}.offline-banner{padding:.75rem 1rem;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);background:color-mix(in srgb,var(--color-leaf) 7%,transparent);font-size:.9375rem;color:var(--color-muted)}.pending-badge{padding:.125rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--color-brand) 10%,transparent);font-size:.75rem;color:var(--color-brand-dark)}.shopping-groups{display:grid;gap:1.5rem}.shopping-category{margin:0 0 .5rem;font-size:.875rem;font-weight:600;text-transform:capitalize;color:var(--color-brand-dark)}.shopping-category-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.shopping-category-row .shopping-category{margin:0;flex:1;min-width:0}.shopping-category-move{display:inline-flex;gap:.25rem;flex-shrink:0}.shopping-category-arrow{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:.5rem;background:#fff;font:inherit;font-size:1rem;line-height:1;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer}.shopping-category-arrow:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-brand-dark)}.shopping-category-arrow:disabled{opacity:.35;cursor:not-allowed}.shopping-reorder-hint{margin:0;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.shopping-reorder-admin{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.shopping-reorder-dock{position:fixed;z-index:35;inset-inline:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));width:auto;min-height:2.75rem;padding:.75rem 1.25rem;border-radius:999px;box-shadow:0 4px 24px color-mix(in srgb,var(--color-ink) 18%,transparent)}.shopping-page:has(.shopping-reorder-dock) .shopping-checklist{padding-bottom:6.5rem}.shopping-page:has(.shopping-reorder-dock) .shopping-summary{display:none}.shopping-checklist.is-reorder-mode .shopping-item{opacity:.85}.shopping-list-card{list-style:none;margin:0;padding:0;overflow:hidden;display:grid;gap:.375rem}.shopping-item{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;border-bottom:none;font-size:.875rem;border-radius:.75rem;background:var(--color-card);box-shadow:0 1px color-mix(in srgb,var(--color-brand) 8%,transparent);transition:background .15s ease}.shopping-item-row{display:flex;align-items:stretch;gap:0;min-width:0}.shopping-item:active:not(.checked){background:color-mix(in srgb,var(--color-leaf) 6%,var(--color-card))}.shopping-check{display:flex;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.625rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.shopping-item-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.shopping-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;flex-shrink:0;border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent);border-radius:.3125rem;font-size:.75rem;color:transparent;transition:border-color .15s ease,background .15s ease,color .15s ease}.shopping-toggle.checked{border-color:var(--color-brand);background:var(--color-brand);color:#fff}.shopping-print-box{display:none;width:.75rem;height:.75rem;flex-shrink:0;align-self:center;border:1px solid color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-name-line{display:inline-flex;align-items:baseline;gap:.125rem;max-width:100%;min-width:0}.shopping-name{font-weight:500;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.shopping-name.is-checked{color:color-mix(in srgb,var(--color-ink) 40%,transparent);text-decoration:line-through}.shopping-qty{margin-left:.5rem;font-weight:400;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.shopping-qty-btn{min-width:2.75rem;min-height:2.75rem;margin:0;padding:.35rem .55rem;border:1px solid color-mix(in srgb,var(--color-ink) 14%,transparent);border-radius:.5rem;background:var(--color-card);color:color-mix(in srgb,var(--color-ink) 72%,transparent);font:inherit;font-size:.875rem;font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer}.shopping-qty-btn:hover{border-color:color-mix(in srgb,var(--color-ink) 28%,transparent)}.shopping-qty-btn.is-overridden{border-color:color-mix(in srgb,var(--color-leaf) 45%,transparent);color:var(--color-ink)}.shopping-qty-btn--pantry{margin-inline-start:.35rem;min-height:2.25rem}.shopping-qty-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.shopping-qty-editor-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 35%,transparent)}.shopping-qty-editor-panel{position:relative;z-index:1;width:min(28rem,100%);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));border-radius:1rem 1rem 0 0;background:var(--color-card);box-shadow:0 -8px 32px color-mix(in srgb,#000 18%,transparent)}.shopping-qty-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.shopping-qty-editor-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.3}.shopping-qty-editor-close{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin:-.35rem -.35rem 0 0;border:none;border-radius:999px;background:transparent;color:var(--color-ink);cursor:pointer}.shopping-qty-stepper{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1rem}.shopping-qty-bump{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid color-mix(in srgb,var(--color-ink) 16%,transparent);border-radius:999px;background:var(--color-card);color:var(--color-ink);cursor:pointer}.shopping-qty-field{display:flex;align-items:baseline;gap:.35rem;min-width:7rem;justify-content:center}.shopping-qty-input{width:5rem;padding:.4rem .35rem;border:1px solid color-mix(in srgb,var(--color-ink) 18%,transparent);border-radius:.5rem;background:var(--color-cream);color:var(--color-ink);font:inherit;font-size:1.25rem;font-weight:600;text-align:center}.shopping-qty-unit{font-size:.95rem;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.shopping-qty-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.shopping-checked-by{font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-item-secondary{display:flex;flex-shrink:0;align-items:center;gap:.125rem;padding-inline-end:.375rem}.shopping-expand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center;width:1.25rem;height:1.25rem;margin:0;padding:0;border:none;border-radius:.25rem;background:none;color:color-mix(in srgb,var(--color-ink) 45%,transparent);cursor:pointer;vertical-align:baseline;transition:color .15s ease,background .15s ease}.shopping-expand:hover{color:var(--color-brand-dark);background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-expand-chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.shopping-item.is-expanded .shopping-expand-chevron,.shopping-pantry-item.is-expanded .shopping-expand-chevron{transform:rotate(180deg)}.shopping-expand--pantry{width:1.125rem;height:1.125rem}.shopping-pantry-label{display:inline-flex;align-items:baseline;gap:.125rem;min-width:0}.shopping-pantry-name{min-width:0}.shopping-item-detail{padding:0 .75rem .625rem 4.25rem;font-size:.75rem;line-height:1.4;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.shopping-item-detail--pantry{width:100%;padding:.125rem 0 .25rem 1.25rem}.shopping-used-in-label{display:block;margin-bottom:.125rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.shopping-used-in{list-style:none;margin:0;padding:0;display:grid;gap:.125rem}.shopping-used-in li{margin:0}.promo-chip{display:inline-block;max-width:100%;padding:.125rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--color-tomato) 10%,transparent);font-size:.75rem;line-height:1.35;color:var(--color-tomato-ink)}.promo-form{display:inline-flex;align-items:center;margin-left:.3rem;padding:.05rem .35rem;border:1px solid color-mix(in srgb,var(--color-ink) 22%,transparent);border-radius:999px;font-size:.9em;font-weight:600;white-space:nowrap}.promo-loyalty{display:inline-flex;align-items:center;gap:.2rem;margin-left:.25rem;font-weight:500;white-space:nowrap}.shopping-delete{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.375rem .5rem;border:none;border-radius:.5rem;background:none;font:inherit;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 30%,transparent);cursor:pointer;transition:color .15s ease,background .15s ease}.shopping-delete:hover:not(:disabled){color:#9b2226}.shopping-delete:disabled{opacity:.4;cursor:not-allowed}.shopping-delete--icon{font-size:.875rem}.shopping-pantry{margin-top:2rem}.shopping-pantry-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-brand-dark)}.shopping-pantry-hint{margin:0 0 .5rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-pantry-list{list-style:none;margin:0;padding:0;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--color-ink) 2%,transparent);overflow:hidden}.shopping-pantry-item{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent);font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.shopping-pantry-item:last-child{border-bottom:none}.shopping-pantry-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.shopping-pantry-actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.shopping-move-to-buy{padding:.375rem .25rem;border:none;background:none;font:inherit;font-size:.75rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer;text-decoration:none}.shopping-move-to-buy:hover:not(:disabled){text-decoration:underline}.shopping-move-to-buy:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.shopping-add{margin-top:1.5rem;padding:1rem;border:1px dashed color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:1rem;background:#fff}.shopping-add[disabled]{opacity:.55;pointer-events:none}.shopping-add form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem}.shopping-add-name{position:relative;display:flex;flex:1 1 12rem;flex-direction:column;gap:.25rem;min-width:0}.shopping-add-label{display:flex;flex:1 1 12rem;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.shopping-add-name .shopping-add-label{flex:none;width:100%}.shopping-add-label--narrow{flex:0 1 5rem}.shopping-add-label--unit{flex:0 1 7rem}.shopping-add-label input,.shopping-add-label select{padding:.375rem .75rem;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.5rem;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 80%,transparent);background:#fff}.shopping-add-suggestions{position:absolute;top:100%;left:0;right:0;z-index:40;max-height:16rem;margin:.25rem 0 0;padding:.25rem 0;list-style:none;overflow:auto;border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);border-radius:.5rem;background:#fff;box-shadow:0 10px 28px -8px color-mix(in srgb,var(--color-brand) 25%,transparent)}.shopping-add-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:none;background:transparent;font:inherit;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 85%,transparent);text-align:left;cursor:pointer}.shopping-add-suggestion.active,.shopping-add-suggestion:hover{background:color-mix(in srgb,var(--color-brand) 10%,transparent)}.shopping-add-suggestion-cat{flex-shrink:0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.shopping-add-hint{margin:0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.shopping-add-hint--mapped{color:color-mix(in srgb,var(--color-brand-dark) 70%,transparent)}.shopping-item-row.checked .shopping-name{opacity:.45;text-decoration:line-through}.shopping-items{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.shopping-empty{display:grid;gap:1rem}.shopping-admin-toggle{display:none}@media(min-width:640px){.shopping-list-card{gap:0;border-radius:.75rem;box-shadow:none;border:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-item{border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-item:last-child{border-bottom:none}.shopping-item:active:not(.checked){background:color-mix(in srgb,var(--color-leaf) 4%,transparent)}.shopping-check{padding:.625rem .75rem}.shopping-item-secondary .shopping-delete{opacity:0;transition:opacity .15s ease}.shopping-item:hover .shopping-item-secondary .shopping-delete,.shopping-item:focus-within .shopping-item-secondary .shopping-delete{opacity:1}}@media(max-width:639px){.shopping-checklist{padding-bottom:5.5rem}.shopping-summary{position:fixed;inset-inline:0;bottom:calc(3.25rem + env(safe-area-inset-bottom,0px));z-index:35;flex-wrap:nowrap;justify-content:center;gap:.75rem 1rem;margin-inline:.75rem;padding:.625rem 1rem;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--color-brand) 12%,transparent);box-shadow:0 4px 24px color-mix(in srgb,var(--color-ink) 18%,transparent)}.shopping-summary-detail{display:none}.shopping-clear-checked{margin-left:0;flex-shrink:0;min-height:2.75rem;padding:0 .75rem;border-radius:999px;background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.shopping-category-row{position:sticky;top:0;z-index:10;margin-inline:-1rem;margin-bottom:.5rem;padding:.5rem 1rem;background:color-mix(in srgb,var(--color-cream) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border)}.shopping-category-row .shopping-category{margin:0}.shopping-list-card{gap:.375rem;border:none;box-shadow:none;background:transparent}.shopping-item{min-height:3.5rem;flex-wrap:nowrap}.shopping-check{flex:1 1 auto;flex-direction:row-reverse;justify-content:flex-start;min-width:0;padding:.75rem 1rem;gap:.875rem}.shopping-name{font-size:1rem;line-height:1.35}.shopping-toggle{width:2.75rem;height:2.75rem;border-radius:50%;font-size:1.125rem}.promo-chip{font-size:.8125rem}.shopping-item-secondary{display:flex;padding-inline:.25rem .5rem}.shopping-delete{min-width:2.75rem;min-height:2.75rem}.shopping-pantry-item{padding-block:.625rem}.shopping-move-to-buy{min-height:2.75rem;padding-inline:.5rem}.shopping-add{margin-bottom:.5rem}.shopping-add form{gap:.5rem}.shopping-add-label input,.shopping-add-label select,.shopping-add .btn-primary{min-height:2.75rem}.shopping-admin-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.5rem 1rem;border:1px dashed color-mix(in srgb,var(--color-brand) 25%,transparent);border-radius:.75rem;background:#fff;font:inherit;font-size:.875rem;font-weight:500;color:var(--color-brand-dark);cursor:pointer}.shopping-page-admin{display:none}.shopping-page.is-admin-open .shopping-page-admin,.shopping-page.is-admin-open .shopping-chain-form,.shopping-page.is-admin-open .shopping-toolbar{display:flex}.shopping-print-btn{display:none}}@media print{.shopping-toolbar,.shopping-chain-form,.shopping-stale-banner,.shopping-auth-banner,.offline-banner,.shopping-clear-checked,.shopping-toggle,.shopping-delete,.shopping-add,.shopping-pantry,.info-hint-trigger,.pending-badge,.shopping-admin-toggle,.shopping-item-secondary{display:none!important}.shopping-print-box{display:inline-block!important}.shopping-summary{position:static;background:transparent;padding:0;margin:0 0 .5rem;box-shadow:none;border-radius:0}.shopping-summary-detail{display:flex}.shopping-groups{columns:2;column-gap:2rem}.shopping-group{break-inside:avoid;margin-bottom:.75rem}.shopping-category{text-decoration:underline;color:#000}.shopping-list-card{border:none;box-shadow:none;background:transparent}.shopping-item{break-inside:avoid;flex-wrap:wrap;padding:.25rem 0;border-bottom:1px solid color-mix(in srgb,#000 15%,transparent);border-radius:0;background:transparent;box-shadow:none}.shopping-check{flex-direction:row;padding:0}.shopping-item-body{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.5rem}.shopping-name{font-weight:400;color:#000}.shopping-qty{color:color-mix(in srgb,#000 70%,transparent)}.promo-chip{background:transparent;padding:0;color:color-mix(in srgb,#000 70%,transparent)}}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.overview-greeting{margin:0;min-width:0;font-size:.9375rem;font-weight:500;color:var(--color-muted)}.overview-stack{display:grid;gap:1.5rem}.overview-retry{display:inline-block;margin-top:.75rem}.overview-error p{margin:.25rem 0 0}.overview-help-btn{flex-shrink:0;margin-top:.25rem;padding:.375rem .75rem;border:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);border-radius:.5rem;background:#fff;font-size:.75rem;font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.overview-help-btn:hover{border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);color:var(--color-brand-dark)}.branch-strip{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding-top:.875rem;border-top:1px solid var(--color-border);font-size:.8125rem}.branch-strip-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .75rem;min-width:0}.branch-strip-chain{font-weight:600}.branch-strip-meta{min-width:0;overflow-wrap:anywhere;color:var(--color-muted)}.branch-loyalty-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.125rem .5rem;border-radius:9999px;background:color-mix(in srgb,var(--color-lemon) 25%,transparent);font-size:.75rem;font-weight:500;color:#7a5b00}.branch-strip-edit{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;font-size:.75rem;font-weight:500;color:var(--color-muted);text-decoration:none;transition:color .15s;white-space:nowrap}.branch-strip-edit:hover{color:var(--color-brand-dark);text-decoration:underline;text-underline-offset:3px}.plan-status{padding:1.25rem 1.25rem 1.125rem}.plan-status-eyebrow{margin:0 0 .5rem}.plan-status-headline{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,6vw,2.25rem);font-weight:700;line-height:1.05;letter-spacing:-.02em}.plan-status-lead{margin:.625rem 0 0;max-width:34ch;color:var(--color-muted)}.plan-status-cta{display:inline-block;margin-top:1rem;text-decoration:none}.plan-status-tally{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:1rem}.plan-tally{display:inline-flex;gap:.25rem}.plan-tally-mark{width:.625rem;height:1.5rem;border-radius:3px;border:1.5px solid color-mix(in srgb,var(--color-brand) 42%,transparent)}.plan-tally-mark.is-cooked{border-color:var(--color-brand);background:var(--color-brand)}.plan-status-tally-label{font-size:.875rem;font-weight:500;color:var(--color-muted)}.plan-status-ledger{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-top:1.125rem;padding-top:.875rem;border-top:1px solid var(--color-border)}.plan-status-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;min-width:0}.plan-status-facts dt{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.plan-status-facts dd{display:flex;align-items:center;gap:.25rem;margin:.125rem 0 0;font-size:.9375rem}.plan-status-saving{color:#7a5b00}.plan-status-share{flex-shrink:0}.plan-status-next{display:inline-block;margin:1rem 0 0;text-decoration:none}.plan-status-stale{margin:.625rem 0 0;font-size:.75rem;color:var(--color-muted)}.plan-status-stale{color:var(--color-tomato-ink)}.plan-status-share-error{margin:.5rem 0 0}.plan-status-skeleton{height:11.5rem}.plan-card-skeleton{height:9rem}.plan-status-skeleton,.plan-card-skeleton{background:linear-gradient(90deg,color-mix(in srgb,var(--color-brand) 4%,#fff),color-mix(in srgb,var(--color-brand) 9%,#fff),color-mix(in srgb,var(--color-brand) 4%,#fff));background-size:200% 100%;animation:plan-skeleton-shimmer 1.4s ease-in-out infinite}@keyframes plan-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.plan-status-skeleton,.plan-card-skeleton{animation:none}}@media(max-width:480px){.plan-status-share{width:100%}}.to-cook-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.to-cook-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-top:1px solid var(--color-border);font-size:.875rem}.to-cook-item:first-child{border-top:none}.plan-loop-hint{background:color-mix(in srgb,var(--color-leaf) 5%,#fff)}.plan-loop-hint-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.plan-loop-hint-title{margin:0;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:var(--color-brand-dark)}.plan-loop-hint-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin:-.25rem -.25rem 0 0;border:none;border-radius:.5rem;background:transparent;color:color-mix(in srgb,var(--color-ink) 45%,transparent);cursor:pointer;transition:background .15s,color .15s}.plan-loop-hint-close:hover{background:color-mix(in srgb,var(--color-ink) 6%,transparent);color:var(--color-ink)}.plan-loop-hint-steps{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:.875rem}.plan-loop-hint-step{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.625rem;row-gap:.125rem;align-items:start;font-size:.875rem}.plan-loop-hint-icon{grid-row:1 / span 2;margin-top:.125rem;color:var(--color-brand-dark)}.plan-loop-hint-step-title{font-weight:700;color:var(--color-ink)}.plan-loop-hint-step-text{line-height:1.45;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}@media(min-width:640px){.plan-loop-hint-steps{grid-template-columns:repeat(3,1fr);gap:1rem}.plan-loop-hint-step{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;text-align:center;gap:.35rem;padding-top:.5rem;border-top:2px solid color-mix(in srgb,var(--color-leaf) 30%,transparent)}.plan-loop-hint-icon{grid-row:auto;margin-top:0}}.settings-page{display:grid;gap:0}.settings-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.375rem .75rem;margin:0 0 1.5rem;padding-bottom:.875rem;border-bottom:1px solid var(--color-border);font-size:.8125rem}.settings-summary-chain{font-weight:600;color:var(--color-ink)}.settings-summary-meta{min-width:0;overflow-wrap:anywhere;color:var(--color-muted)}.settings-summary-meta:before{content:"·";margin-right:.75rem;color:color-mix(in srgb,var(--color-ink) 30%,transparent)}.settings-summary a{text-decoration:none}.settings-summary a:hover{text-decoration:underline}.settings-block{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.settings-block--handoff{margin-top:3.25rem}.settings-block-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.settings-autosave{font-size:.6875rem;font-weight:500;letter-spacing:.02em;text-transform:lowercase;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.pref-section{display:grid;gap:1.5rem}.pref-section+.pref-section{margin-top:2.5rem}.pref-section-head{display:block}.pref-section-title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--color-ink)}.pref-section-lead{margin:.35rem 0 0;font-size:.875rem;line-height:1.45;color:var(--color-muted)}.settings-block .pref-section-lead{margin-bottom:1rem}.pref-form--card{padding:1.25rem;border:1px solid var(--color-border);border-radius:1rem;background:#fff}.pref-pill-hint{opacity:.45}.household-panel{display:grid;gap:1.25rem}.household-summary-lead{margin:0 0 .35rem;font-size:.875rem;color:var(--color-muted)}.household-block{display:grid;gap:.5rem}.household-advanced{margin-top:.5rem;padding-top:1rem;border-top:1px dashed color-mix(in srgb,var(--color-ink) 12%,transparent)}.household-advanced>summary{cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-muted);list-style:none}.household-advanced>summary::-webkit-details-marker{display:none}.household-advanced>summary:before{content:"▸ ";color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.household-advanced[open]>summary:before{content:"▾ "}.household-advanced[open]>summary{margin-bottom:1rem}.pref-form--dirty{padding-bottom:5rem}.pref-savebar{position:fixed;inset-inline:0;bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));z-index:45;padding:.75rem 1rem;border-top:1px solid var(--color-border);background:color-mix(in srgb,#fff 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 -4px 24px color-mix(in srgb,var(--color-ink) 10%,transparent)}.pref-savebar-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:64rem;margin:0 auto}.pref-savebar-text{font-size:.8125rem;font-weight:500;color:var(--color-muted)}@media(min-width:640px){.pref-savebar{bottom:0;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}}.pref-disclosure-summary{display:flex;align-items:baseline;gap:.5rem;padding:.25rem 0;cursor:pointer;list-style:none}.pref-disclosure-summary::-webkit-details-marker{display:none}.pref-disclosure-title{font-size:.875rem;font-weight:600}.pref-disclosure-title:after{content:"";display:inline-block;width:.3rem;height:.3rem;margin-left:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.1em) rotate(45deg);opacity:.5;transition:transform .15s ease}.pref-disclosure[open] .pref-disclosure-title:after{transform:translateY(.1em) rotate(-135deg)}.pref-disclosure-state{min-width:0;overflow-wrap:anywhere;font-size:.75rem;color:var(--color-muted)}.pref-disclosure[open] .pref-disclosure-state{display:none}.pref-disclosure>.pref-fieldset{margin-top:.5rem}.pref-section>.pref-effect{margin-top:0}.pref-effect{margin:.75rem 0 0;padding:.5rem .75rem;border-left:2px solid var(--color-leaf);border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--color-leaf) 8%,transparent);font-size:.8125rem;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.account-danger-details{border:none}.account-danger-details>summary{cursor:pointer;font-size:.875rem;font-weight:600;color:color-mix(in srgb,#a33 85%,transparent);list-style:none}.account-danger-details>summary::-webkit-details-marker{display:none}.account-danger-details>.account-danger{margin-top:.75rem}.admin-actions,.admin-stats{margin-bottom:1rem}.admin-stat-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;font-size:.9375rem;color:var(--color-muted)}.admin-status-list,.admin-review-list,.admin-run-list{list-style:none;margin:.75rem 0 0;padding:0}.admin-review-item,.admin-run-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.admin-review-item:first-child,.admin-run-item:first-child{border-top:none}.admin-review-main{display:grid;gap:.25rem}.admin-review-suggestion{font-size:.875rem;color:var(--color-brand-dark)}.admin-run-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.875rem}.admin-run-error{color:#9b2226}.badge-ok{background:color-mix(in srgb,var(--color-leaf) 15%,transparent);color:var(--color-brand-dark)}.badge-partial{background:color-mix(in srgb,var(--color-lemon) 25%,transparent);color:#7a5b00}.badge-error{background:#fff5f5;color:#9b2226}.badge-running,.badge-dry_run{background:#f0f0f0;color:var(--color-muted)}.admin-ingestion{margin-bottom:1rem}.admin-ingestion-cron{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.875rem;color:var(--color-muted)}.admin-ingestion-running{margin:.75rem 0 0;font-size:.875rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-chain-grid{display:grid;gap:.75rem;margin-top:1rem}@media(min-width:720px){.admin-chain-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.admin-chain-card{border:1px solid var(--color-border);border-radius:.75rem;padding:.875rem 1rem;background:color-mix(in srgb,var(--color-leaf) 4%,white)}.admin-chain-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.admin-chain-header h3{margin:0;font-size:1rem}.admin-chain-leaflet{margin:.5rem 0 0;font-size:.875rem}.admin-chain-due{margin:.35rem 0 0;font-size:.8125rem;color:#7a5b00}.admin-chain-ok{margin:.35rem 0 0;font-size:.8125rem;color:var(--color-muted)}.admin-job-list{list-style:none;margin:.75rem 0 0;padding:0;border-top:1px solid var(--color-border)}.admin-job-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;padding:.5rem 0;border-top:1px solid color-mix(in srgb,var(--color-border) 60%,transparent);font-size:.8125rem}.admin-job-item:first-child{border-top:none}.admin-job-name{font-weight:500}.admin-job-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;color:var(--color-muted)}.admin-job-due{color:#7a5b00}.admin-job-fetch{font-size:.8125rem;font-weight:600;color:var(--color-brand-dark);padding:0}.admin-job-fetch:disabled{opacity:.5;cursor:not-allowed}.admin-job-banner{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem;padding:.7rem .9rem;border-radius:.6rem;background:color-mix(in srgb,var(--color-brand-dark) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-dark) 22%,transparent);color:var(--color-brand-dark);font-size:.875rem;line-height:1.4}.admin-job-spinner{flex:none;width:1rem;height:1rem;border:2px solid color-mix(in srgb,var(--color-brand-dark) 30%,transparent);border-top-color:var(--color-brand-dark);border-radius:50%;animation:admin-job-spin .8s linear infinite}@keyframes admin-job-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.admin-job-spinner{animation-duration:2.4s}}.admin-page-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.5rem}.admin-page-link{font-size:.875rem;font-weight:500;color:var(--color-brand-dark);text-decoration:none}.admin-page-link:hover{text-decoration:underline}.admin-empty{padding:1.25rem;font-size:.875rem;color:var(--color-muted)}.admin-feedback-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.admin-feedback-item{padding:1rem}.admin-feedback-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.admin-feedback-author{font-weight:500;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.admin-feedback-name{margin:.25rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 40%,transparent)}.admin-feedback-page{margin:.5rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.admin-feedback-page a{color:var(--color-brand-dark);text-decoration:none}.admin-feedback-page a:hover{text-decoration:underline}.admin-feedback-message{margin:.75rem 0 0;white-space:pre-wrap;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.admin-visitors-table{width:100%;max-width:28rem;border-collapse:collapse;font-size:.875rem}.admin-visitors-table th,.admin-visitors-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid color-mix(in srgb,var(--color-ink) 12%,transparent)}.admin-visitors-table th{font-weight:600;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.admin-visitors-table td:last-child,.admin-visitors-table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.landing{display:grid;gap:5rem;padding-bottom:1rem;min-width:0;overflow-x:clip}.landing-hero{display:grid;gap:2rem;align-items:center;min-width:0}.landing-sample{min-width:0;max-width:100%}.hero-crate{position:relative;max-width:300px;margin:0 auto}.hero-crate-produce{display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:0;margin:0 0 -1.4rem}.hero-crate-item{display:block;animation:crate-pop .45s ease backwards;animation-delay:calc(.08s * var(--i, 0))}.hero-crate-item .produce-icon{display:block;width:3.4rem;height:3.4rem}.hero-crate-item:nth-child(2n) .produce-icon{transform:translateY(.3rem) rotate(-7deg)}.hero-crate-item:nth-child(3n) .produce-icon{transform:translateY(.12rem) rotate(6deg)}.hero-crate-box{position:relative;z-index:1;display:block;width:100%;height:auto}.hero-crate-stamp{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.08em;fill:var(--color-brand-dark)}.hero-cenovka{--rot: 3deg;position:absolute;z-index:2;display:grid;gap:.1rem;max-width:11rem;padding:.4rem .65rem .45rem 1.1rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 2px 10px #15231c24;transform:rotate(var(--rot));font-size:.75rem;line-height:1.2;animation:cenovka-drop .4s ease backwards}.hero-cenovka:before{content:"";position:absolute;left:.4rem;top:50%;translate:0 -50%;width:.4rem;height:.4rem;border-radius:50%;background:var(--color-cream);border:1px solid color-mix(in srgb,var(--color-ink) 25%,transparent)}.hero-cenovka--0{right:-1.1rem;top:54%;animation-delay:.5s}.hero-cenovka--1{--rot: -2.5deg;left:-1.1rem;bottom:-.6rem;animation-delay:.65s}.hero-cenovka-name{font-weight:600}.hero-cenovka-prices{display:flex;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}.hero-cenovka-was{font-size:.7rem;color:color-mix(in srgb,var(--color-ink) 50%,transparent)}.hero-cenovka-now{font-weight:700;color:var(--color-tomato-ink)}@keyframes crate-pop{0%{opacity:0;translate:0 14px}}@keyframes cenovka-drop{0%{opacity:0;translate:0 -10px}}.landing-sample-title{margin:1.5rem 0 .75rem;font-size:.875rem;font-weight:600;text-align:center;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.landing-sample-loading{margin:1.5rem 0 0;padding:1.25rem .75rem;border-radius:.75rem;background:color-mix(in srgb,var(--color-brand) 6%,transparent);font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-align:center}.landing-sample-dishes{list-style:none;margin:0;padding:0;display:grid;gap:.875rem;min-width:0}.landing-sample-dishes li{display:grid;gap:.125rem;justify-items:center;text-align:center;min-width:0}.landing-sample-saving{font-family:var(--font-accent);font-size:1.1rem;line-height:1.1;color:var(--color-tomato-ink)}.landing-sample-chain{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-dark)}.landing-sample-dish-title{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:700;line-height:1.25}.landing-sample-dish-title a{color:inherit;text-decoration:none}.landing-sample-dish-title a:hover{text-decoration:underline}.landing-hero-copy{text-align:center}.landing-title{margin:0;font-family:var(--font-display);font-size:clamp(2.5rem,7vw,3.75rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--color-brand-dark)}.landing-claim{margin:.875rem 0 0;font-family:var(--font-display);font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--color-ink)}.landing-accent{position:relative;color:var(--color-brand-dark);white-space:nowrap}.landing-accent:after{content:"";position:absolute;left:0;right:0;bottom:-.15rem;height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--color-lemon) 50%,transparent);z-index:-1}.landing-tagline{margin:1rem 0 0;font-family:var(--font-accent);font-size:1.5rem;color:var(--color-tomato-ink)}.landing-lead{margin:.75rem auto 0;max-width:28rem;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.landing-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.75rem}.landing-cta{padding:.75rem 1.5rem;border-radius:.75rem}.landing-link{font-size:.875rem;font-weight:600;color:var(--color-brand-dark);text-decoration:none}.landing-link:hover{text-decoration:underline}.landing-note{margin:.75rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.landing-section-title{margin:0 0 1.5rem;text-align:center}.landing-values{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.landing-value{text-align:center}.landing-value h3{margin:.75rem 0 0;font-family:var(--font-display);font-size:1.125rem}.landing-value p{margin:.375rem 0 0;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.landing-value-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:1rem;background:color-mix(in srgb,var(--color-leaf) 12%,transparent);color:var(--color-brand-dark)}.landing-compare{display:grid;gap:1rem}.landing-compare h3{margin:0;font-family:var(--font-display);font-size:1.125rem}.landing-compare ul{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.landing-compare li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.landing-compare-highlight{border-color:color-mix(in srgb,var(--color-leaf) 35%,transparent);background:color-mix(in srgb,var(--color-leaf) 4%,transparent)}.landing-compare-highlight h3{color:var(--color-brand-dark)}.landing-compare-highlight svg{color:var(--color-leaf);flex-shrink:0}@media(min-width:640px){.landing-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.landing-hero-copy{text-align:left}.landing-lead{margin-left:0}.landing-values{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}.feedback-page{max-width:40rem;margin-inline:auto}.feedback-context{display:inline-flex;align-items:center;gap:.35rem;margin:-.75rem 0 1.25rem;padding:.35rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--color-brand) 8%,transparent);color:var(--color-brand-dark);font-size:.8125rem}.feedback-context-path{font-weight:600;font-variant-numeric:tabular-nums}.feedback-form{padding:1.25rem}.feedback-form .field textarea{resize:vertical;min-height:10rem;line-height:1.45}.feedback-form .field textarea:focus{border-color:color-mix(in srgb,var(--color-leaf) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-leaf) 18%,transparent);outline:none}.feedback-count{justify-self:end;font-size:.75rem;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.feedback-count--warn{color:#7a5b00;font-weight:600}.feedback-form .meta{font-size:.75rem;font-weight:400;color:color-mix(in srgb,var(--color-ink) 45%,transparent)}.feedback-identity{margin:0;font-size:.8125rem;color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.feedback-success{display:grid;gap:.5rem;padding-block:1.5rem .5rem}.feedback-thanks{margin:0;font-family:var(--font-accent);font-size:2.25rem;line-height:1;color:var(--color-leaf)}.feedback-success .page-title{margin:0}.feedback-success .page-subtitle{margin:0 0 .75rem}.feedback-success .btn-secondary{justify-self:start}.tabular-nums{font-variant-numeric:tabular-nums}@media(min-width:640px){.header-nav-desktop{display:inline}.app-main{padding-bottom:1.5rem}.app-footer{padding-bottom:2.5rem}.bottom-nav{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media print{.app-header,.app-footer,.bottom-nav{display:none!important}.app-main{max-width:none;padding:0}}
