@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/f4b234103afdc32a-s.197tvtifbphtu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/0b60d5f95c5f3f76-s.2e115y8-hourl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/8056169c9d560660-s.p.41rroleoq1br7.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.mrenGq_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.mrenGq_variable{--font-headline:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/4032351b19cb998e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/cb4b92673aedbbad-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.ZtNdoa_className{font-family:Figtree,Figtree Fallback;font-style:normal}.ZtNdoa_variable{--font-body:"Figtree", "Figtree Fallback"}
:root{--bg:#f3f5f1;--card:#fff;--primary:#2d6a4f;--primary-dark:#1f4d39;--primary-container:#d7e8dd;--ink:#17201b;--muted:#55615a;--partner:#3b5ba9;--partner-container:#dce4f5;--fresh:#9a3a26;--fresh-container:#fbe3dc;--line:#e3e8e3;--line-strong:#c9d2cb;--radius-card:28px;--radius-pill:24px;--touch:44px;--on-primary:#fff;--toast-action:#bfe3cf;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111613;--card:#1a211d;--primary:#8fd3ae;--primary-dark:#bfe6cf;--primary-container:#1f3a2c;--ink:#e6ebe7;--muted:#9aa69e;--partner:#9db4f0;--partner-container:#26335a;--fresh:#f0a08a;--fresh-container:#4a2219;--line:#27312b;--line-strong:#3a463e;--on-primary:#0e2a1c;--toast-action:#1f4d39;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-body), system-ui, sans-serif;font-size:16px;line-height:1.45}h1,h2,h3,.logo{font-family:var(--font-headline), system-ui, sans-serif;letter-spacing:-.01em}h1{font-size:1.9rem;line-height:1.15}h2{font-size:1.25rem}h3{font-size:1rem}a{color:inherit;text-decoration:none}ul,ol{list-style:none}small{font-size:.82rem}hr.divider{border:0;border-top:1px solid var(--line)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.center{text-align:center}.stack{flex-direction:column;gap:14px;display:flex}.narrow{max-width:640px;margin-inline:auto}.full{width:100%}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.card{background:var(--card);border-radius:var(--radius-card);border:1px solid var(--line);padding:24px}.field{flex-direction:column;gap:6px;font-weight:600;display:flex}.field>span{color:var(--muted);font-size:.9rem;font-weight:500}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);min-height:var(--touch);width:100%;padding:10px 18px}textarea{resize:vertical;border-radius:20px}input:focus,select:focus,textarea:focus{border-color:var(--primary)}.btn,.pill,.chip,.seg{font:inherit;cursor:pointer;min-height:var(--touch);border-radius:var(--radius-pill);text-align:center;border:1.5px solid #0000;justify-content:center;align-items:center;padding:8px 22px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--card);color:var(--primary);border-color:var(--line-strong)}.btn-danger{background:var(--card);color:var(--fresh);border-color:var(--fresh-container)}.btn:disabled{opacity:.5;cursor:default}.pill{min-height:36px;padding:4px 16px;font-size:.88rem}.pill-quiet{color:var(--muted);border-color:var(--line);background:0 0}.pill-primary{background:var(--primary-container);color:var(--primary-dark)}.pill-line{background:var(--card);color:var(--muted);border-color:var(--line-strong)}.icon-btn{min-width:var(--touch);min-height:var(--touch);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.2rem}.icon-btn:hover:not(:disabled){background:var(--bg)}.icon-btn:disabled{opacity:.3;cursor:default}.notice{background:var(--primary-container);color:var(--primary-dark);border-radius:20px;padding:12px 18px}.error{background:var(--fresh-container);color:var(--fresh);border-radius:20px;padding:12px 18px}.badge-fresh{background:var(--fresh-container);color:var(--fresh);border-radius:var(--radius-pill);padding:2px 10px;font-size:.78rem;font-weight:700}.logo{color:var(--primary);font-size:1.6rem;font-weight:800}.center-page{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{width:100%;max-width:440px;padding:32px}.app-header{flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:1440px;margin:0 auto;padding:16px 24px;display:flex}.nav{flex-wrap:wrap;flex:1;gap:6px;display:flex}.nav-link{min-height:var(--touch);border-radius:var(--radius-pill);color:var(--muted);align-items:center;padding:4px 18px;font-weight:600;display:inline-flex}.nav-link.active{background:var(--primary-container);color:var(--primary-dark)}.header-end{align-items:center;gap:8px;display:flex}.header-end .pill{min-height:var(--touch)}.app-main{max-width:1440px;margin:0 auto;padding:8px 24px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.column{flex-direction:column;gap:14px;display:flex}.rows{flex-direction:column;gap:8px;display:flex}.recipe-row{text-align:left;width:100%;min-height:64px;font:inherit;color:inherit;background:var(--bg);cursor:pointer;border:1.5px solid #0000;border-radius:22px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px 10px 18px;display:flex}.recipe-row.selected{background:var(--primary-container);border-color:var(--primary)}.recipe-row-text,.week-row-text,.list-row-text,.item-text{flex-direction:column;min-width:0;display:flex}.row-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-row{background:var(--bg);border-radius:22px;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:flex}.week-row.done .week-row-text strong{color:var(--muted);text-decoration:line-through}.week-row-text{flex:1}.row-actions{display:flex}.check{width:var(--touch);height:var(--touch);border:2px solid var(--line-strong);background:var(--card);color:var(--on-primary);cursor:pointer;border-radius:50%;flex:none;font-weight:800}.check.checked{background:var(--primary);border-color:var(--primary)}.sides{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:14px;display:flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--card);border-color:var(--line-strong);color:var(--muted);font-weight:500}.chip.missing{background:var(--partner-container);border-color:var(--partner);color:var(--partner);font-weight:700}.group{flex-direction:column;gap:8px;display:flex}.group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.85rem;font-family:var(--font-body), system-ui, sans-serif}.list-row{min-height:var(--touch);align-items:center;gap:12px;display:flex}.times{color:var(--primary);font-weight:800}.glyph{background:var(--primary-container);width:36px;height:36px;color:var(--primary-dark);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.recipe-card{flex-direction:column;gap:6px;height:100%;min-height:120px;padding:20px;display:flex}.recipe-photo{object-fit:cover;border-radius:18px;width:100%;height:140px}.editor{max-width:760px;margin-inline:auto}.ingredient-row{grid-template-columns:minmax(0,1fr) minmax(0,160px) auto;align-items:center;gap:8px;display:grid}ol .ingredient-row{grid-template-columns:minmax(0,1fr) auto}.ingredient-name{font-weight:600}details summary{cursor:pointer;min-height:var(--touch);font-family:var(--font-headline), system-ui, sans-serif;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;display:flex}.actions{flex-wrap:wrap;gap:10px;display:flex}.picker{position:relative}.picker-list{background:var(--card);border:1.5px solid var(--line-strong);border-radius:22px;flex-direction:column;margin-top:8px;padding:6px;display:flex}.picker-option{width:100%;min-height:var(--touch);font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;align-items:center;gap:10px;padding:4px 12px;display:flex}.picker-option:hover{background:var(--bg)}.picker-create{color:var(--primary);font-weight:600}.picker-create-form{flex-direction:column;gap:10px;padding:10px;display:flex}.picker-empty{padding:10px 14px}.segmented{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);padding:3px;display:inline-flex}.seg{color:var(--muted);background:0 0;border:0;padding:6px 18px}.seg.active{background:var(--primary);color:var(--on-primary)}.items{gap:10px;display:grid}.items.grid-view{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.items.list-view{grid-template-columns:1fr;gap:6px}.item{width:100%;font:inherit;color:inherit;text-align:left;background:var(--bg);cursor:pointer;border:0;border-radius:22px;align-items:center;gap:10px;min-height:64px;padding:8px 14px;display:flex}.grid-view .item{text-align:center;flex-direction:column;justify-content:center;min-height:110px}.grid-view .item-text{align-items:center}.item-done{opacity:.55}.item-done strong{text-decoration:line-through}.grow{flex:1}.add-btn{background:var(--primary-container);color:var(--primary-dark);font-weight:800}.cart-card{background:var(--primary-container);border-color:var(--primary);flex-direction:column;gap:10px;display:flex}.cart-names{overflow-wrap:anywhere;font-weight:600}.toast{z-index:10;background:var(--ink);max-width:calc(100vw - 32px);color:var(--bg);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:6px 8px 6px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.toast-action{font:inherit;color:var(--toast-action);min-height:var(--touch);border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;padding:0 14px;font-weight:700}.picker-recents{flex-direction:column;gap:8px;margin-top:10px;display:flex}.picker-recents-title{font-size:.85rem}.picker-option .item-text{align-items:flex-start}.pantry-row{align-items:center;gap:12px;min-height:56px;display:flex}.pantry-row .list-row-text{flex:1}.bar{background:var(--line);border-radius:4px;max-width:320px;height:8px;margin:6px 0 4px;display:block;overflow:hidden}.bar-fill{background:var(--primary);border-radius:4px;height:100%;display:block}.bar-fill.warn{background:#c4513a}.warn-text{color:#c4513a;font-weight:600}.switch{width:52px;height:var(--touch);cursor:pointer;flex:none;place-items:center;display:grid;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;min-height:0;position:absolute;inset:0}.switch-track{background:var(--line-strong);border-radius:13px;width:44px;height:26px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--primary);outline-offset:2px}.interval select{width:auto;min-width:150px}.member-row{min-height:var(--touch);justify-content:space-between;align-items:center;display:flex}@media (max-width:1100px){.board{grid-template-columns:1fr}}@media (max-width:640px){.app-header{gap:8px 12px;padding:12px 16px}.app-main{padding:4px 16px 40px}.card{border-radius:24px;padding:18px}.nav{flex-wrap:nowrap;flex-basis:100%;order:3;overflow-x:auto}.nav-link{padding-inline:14px}.pantry-row{flex-wrap:wrap}.pantry-row .interval{order:5;margin-left:48px}.header-end{margin-left:auto}h1{font-size:1.6rem}.ingredient-row{grid-template-columns:minmax(0,1fr) auto}.ingredient-row input,.ingredient-name{grid-column:1}}
