@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f8f7f2;--ink:#263e34;--green:#254b3f;--muted:#758078;--line:#dedfd5;--accent:#e5b95f;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b78425;outline-offset:4px}.site-header{max-width:1280px;margin:auto;padding:24px 48px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;letter-spacing:-.6px}.brand-icon{background:var(--green);color:#fff;border-radius:14px;width:48px;height:48px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.5px;color:var(--muted)}.household{margin-left:auto;color:var(--muted);font-size:13px}.site-header form{margin:0}.text-button{border:0;background:none;padding:8px;color:var(--green);font-size:13px;min-height:44px}.main-nav{max-width:1184px;margin:auto;display:flex;gap:32px;border-bottom:1px solid var(--line)}.main-nav a{padding:14px 3px;font-size:13px;white-space:nowrap}.main-nav a[aria-current]{border-bottom:3px solid var(--green);font-weight:700}main{max-width:1280px;margin:auto;padding:40px 48px 70px;min-height:75vh}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-1px}h1{font-size:54px;margin-bottom:22px}h1 em{font-weight:400;color:#637c61}h2{font-size:36px;margin-bottom:18px}h3{font-size:21px;line-height:1.3;letter-spacing:-.5px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:16px;color:#79816e}.lead{font-size:15px;line-height:1.8;color:#6a756d;max-width:680px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--green);color:white;border:1px solid var(--green);padding:13px 21px;border-radius:7px;font-size:13px;font-weight:600;min-height:46px}.button:hover{background:#37614f}.button.secondary{background:transparent;color:var(--green);border-color:#bec9bd}.full{width:100%}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:50px;padding:14px 0 55px;align-items:center}.hero .button{margin-top:10px}.hero-note{position:relative;max-width:345px;justify-self:end;width:100%;border:1px solid #d9ddcc;border-radius:50% 50% 10px 10px;background:#e9eddc;text-align:center;padding:45px 25px 28px;transform:rotate(2deg)}.hero-note h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.hero-note p{font-size:12px;color:#6a7563}.hero-note a{font-size:12px;font-weight:700}.note-sticker{position:absolute;top:25px;left:-20px;background:#f4dfb5;padding:9px 15px;font-size:9px;letter-spacing:1px;transform:rotate(-9deg)}.food-art{display:block;font-size:65px;margin:15px 0;letter-spacing:-15px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}.section-heading h2{margin-bottom:0}.count{font-family:'DM Sans',sans-serif;font-size:12px;vertical-align:middle;background:#e9ecdf;padding:6px 10px;border-radius:50%;letter-spacing:0}.search{display:flex;gap:8px;align-items:center}.search input{width:240px}.search button{background:none;border:0;font-size:12px;font-weight:600;color:var(--green);min-height:44px}.filter-row{display:flex;align-items:center;gap:10px;margin-bottom:25px}.chip{display:inline-flex;gap:12px;padding:9px 15px;border:1px solid var(--line);background:var(--white);border-radius:30px;font-size:12px;min-height:40px;align-items:center}.filter-row .hint{margin-left:auto}.hint{font-size:12px;color:var(--muted);line-height:1.7}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.recipe-card{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--white);transition:transform .15s}.recipe-card:hover{transform:translateY(-4px)}.recipe-art{height:185px;position:relative;display:grid;place-items:center;overflow:hidden}.recipe-art>span:first-child{font-size:87px;filter:drop-shadow(8px 15px 10px #0001);transform:rotate(-12deg)}.art-sage{background:radial-gradient(ellipse at 65% 20%,#e8efdb,#c7d6b7)}.art-peach{background:radial-gradient(ellipse at 30% 10%,#f4e3cd,#ddbea0)}.art-gold{background:radial-gradient(ellipse at 70% 25%,#f7e7b9,#e1d18f)}.art-rose{background:#e5d4c9}.time-pill{position:absolute;bottom:15px;left:15px;background:#fffdf4ed;border-radius:20px;padding:5px 10px;font-size:10px}.heart{position:absolute;top:13px;right:15px;color:white;font-size:24px}.card-body{padding:23px}.card-body .eyebrow{font-size:9px;margin-bottom:10px}.card-body h3{margin-bottom:10px}.card-body p:not(.eyebrow){font-size:12px;color:var(--muted);min-height:38px}.card-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;gap:8px;font-size:10px}.card-foot span{color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:30px}.empty{grid-column:1/-1;text-align:center;padding:45px}.message{background:#e6eddd;border:1px solid #c9d5be;padding:12px 18px;border-radius:8px;margin-bottom:24px}.back-link{display:inline-block;font-size:12px;margin-bottom:23px}.editor{max-width:950px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.wide{grid-column:1/-1}.field{margin-bottom:18px;min-width:0}label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}input:not([type=checkbox]):not([type=hidden]),select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #d3d8cc;border-radius:6px;background:#fffefb;color:var(--ink);min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #81997e;outline-offset:1px}input[type=checkbox]{height:22px;width:22px;accent-color:var(--green)}.field small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.errorlist{color:#9e3a2c;font-size:12px;padding-left:18px}.editor h2{margin-top:30px}.ingredient-line{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr 60px;gap:12px;border-bottom:1px solid var(--line);padding-top:12px;margin-bottom:14px}.form-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}.reference{background:#f0f2e7;padding:12px;font-size:12px;border-radius:6px}.ingredient-list{list-style:none;padding:0;margin-bottom:35px}.ingredient-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:20px;font-size:13px}.ingredient-list small{display:block;font-size:10px;color:var(--muted)}.instructions{font-size:14px}.plan-panel{background:#edf0e5}.week-nav{display:flex;align-items:center;gap:18px;white-space:nowrap}.week-nav a{border:1px solid var(--line);background:var(--white);width:40px;height:44px;display:grid;place-items:center;border-radius:6px}.week-nav span{text-align:center;font-size:13px}.week-nav small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.plan-panel .week-nav{margin:25px 0}.scale-preview{background:#fffef6;border:1px dashed #c2c9b4;padding:18px;border-radius:8px;margin:20px 0;display:grid;gap:6px;font-size:12px}.scale-preview strong{font-size:20px}.plan-layout{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}.meal-card{display:flex;gap:20px;margin-bottom:16px;padding:23px}.meal-card .eyebrow{margin-bottom:10px}.meal-card h3{margin-bottom:12px}.meal-info{flex:1}.meal-info a{font-size:12px;text-decoration:underline}.meal-illustration{font-size:50px;align-self:center}.portion-tags{display:flex;gap:8px;flex-wrap:wrap}.portion-tags span{font-size:10px;padding:5px 9px;background:#eef0e5;border-radius:5px}.meal-card .hint{margin:10px 0}.summary{background:#e9eddc}.summary p{font-size:13px;line-height:1.8}.add-meal{display:block;text-align:center;padding:22px;border:1px dashed #bec9b4;border-radius:9px;font-size:13px}.shopping-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.store-tabs{display:flex;gap:10px;flex-wrap:wrap}.export-actions{display:flex;align-items:center;gap:15px;font-size:12px}.shopping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.store-panel{padding:0;overflow:hidden;scroll-margin-top:20px}.store-heading{display:flex;justify-content:space-between;align-items:center;padding:25px 25px 18px;background:#edf0e5;border-bottom:1px solid var(--line)}.store-panel:nth-child(even) .store-heading{background:#f6eadb}.store-heading h2{font-size:32px;margin-bottom:0}.store-heading .eyebrow{font-size:8px;margin-bottom:10px}.store-badge{border:1px solid #c5ccbb;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;font-size:20px;font-weight:700}.shopping-row{margin:0;border-bottom:1px solid #e8e9e1}.shopping-row:last-child{border:0}.check-button{display:flex;align-items:center;width:100%;gap:16px;border:0;text-align:left;background:transparent;padding:19px 24px;color:var(--ink);min-height:78px}.checkbox{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1.5px solid #bcc6b7;border-radius:6px;font-size:16px}.item-text{flex:1;min-width:0}.item-text strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.item-text small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.quantity{white-space:nowrap;font-size:16px;font-weight:600}.quantity small{font-size:11px;font-weight:400}.is-checked .checkbox{background:var(--green);border-color:var(--green);color:white}.is-checked .item-text strong,.is-checked .quantity{text-decoration:line-through;color:#8c968d}.is-checked{background:#f4f5ed}.empty-store{padding:35px 25px;color:var(--muted);font-size:13px}.empty-store p{margin-bottom:6px}.empty-store span{font-size:11px}.extras-panel{margin-top:30px}.extras-panel h2{margin-bottom:12px}.extras-panel>div>p:not(.eyebrow){font-size:13px;color:var(--muted)}.extra-form{display:grid;grid-template-columns:2fr .8fr 1fr 1.3fr auto;gap:14px;align-items:end}.extra-form .field{margin:0}.extra-entries{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}.extra-entries form{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:3px 10px;font-size:11px}.danger{color:#a45a47}.narrow{max-width:600px}.pantry-panel{margin-top:28px}.pantry-panel p{font-size:13px;color:var(--muted)}.pantry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pantry-item{display:flex;flex-direction:column;gap:5px;background:#fafaf5;border:1px solid var(--line);border-radius:6px;text-align:left;padding:14px;width:100%;color:var(--ink)}.pantry-item small{font-size:10px;color:var(--muted)}.pantry-item.stocked{background:#e8eddf;border-color:#a8b69c}.login-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;min-height:65vh}.login-layout h1{font-size:76px}.login-panel h2{font-size:37px}.login-panel p{font-size:13px}.login-panel .button{width:100%;margin-top:15px}.login-art{font-size:65px;letter-spacing:10px}.login-art span{display:inline-block;transform:rotate(-15deg)}footer{max-width:1184px;border-top:1px solid var(--line);margin:0 auto;padding:25px 0;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}.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}
@media(max-width:1000px){.site-header{padding:20px 28px}.main-nav{margin:0 28px}main{padding:30px 28px 60px}h1{font-size:45px}.hero{gap:20px}.hero-note{max-width:290px}.recipe-grid{gap:16px}.card-body{padding:18px}.recipe-art{height:155px}.detail-grid{grid-template-columns:1fr 1fr}.extra-form{grid-template-columns:2fr 1fr 1fr}.extra-form .button{grid-column:2/4}.pantry-grid{grid-template-columns:repeat(2,1fr)}footer{margin:0 28px}.login-layout{gap:40px}}
@media(max-width:700px){.site-header{padding:17px 20px;gap:12px}.brand{font-size:18px}.brand-icon{width:40px;height:40px;font-size:25px}.brand small{font-size:8px}.household{display:none}.site-header form{margin-left:auto}.main-nav{margin:0;padding:0 16px;gap:0;justify-content:space-between;position:sticky;top:0;background:var(--paper);z-index:5;box-shadow:0 3px 5px #00000004}.main-nav a{font-size:11px;padding:15px 4px}main{padding:28px 20px 50px}h1{font-size:40px;letter-spacing:-.7px}h2{font-size:31px}.eyebrow{font-size:9px}.hero{display:block;padding:0 0 35px}.hero h1{font-size:40px}.hero .lead br{display:contents}.hero .lead br:after{content:" "}.hero-note{display:none}.section-heading{display:block}.section-heading .search{margin-top:20px}.search input{width:100%}.filter-row .hint{display:none}.recipe-grid{grid-template-columns:1fr 1fr;gap:13px}.recipe-art{height:130px}.recipe-art>span:first-child{font-size:65px}.card-body{padding:15px}.card-body h3{font-size:17px}.card-body p:not(.eyebrow){font-size:11px}.card-foot{display:block}.card-foot strong{display:block;margin-top:5px}.card-body .eyebrow{font-size:8px;letter-spacing:1px}.panel{padding:23px}.form-grid,.detail-grid,.plan-layout,.shopping-grid,.login-layout{grid-template-columns:1fr}.ingredient-line{grid-template-columns:1fr 1fr;gap:4px 12px;padding-top:16px}.ingredient-line .field:first-child{grid-column:1/-1}.ingredient-line .field:last-child{display:flex;gap:10px;align-items:center}.form-grid{gap:5px}.field{margin-bottom:16px}.detail-grid{gap:20px}.section-heading>.button{margin-bottom:16px}.section-heading .week-nav{margin:20px 0}.week-nav{justify-content:center}.meal-card{padding:20px;gap:12px;flex-wrap:wrap}.meal-illustration{font-size:35px}.meal-card h3{font-size:19px}.meal-card>form{margin-left:auto}.shopping-toolbar{align-items:start;flex-direction:column;gap:10px}.shopping-grid{gap:20px}.store-panel{padding:0}.check-button{padding:18px;gap:12px;min-height:80px}.item-text strong{font-size:16px}.item-text small{font-size:10px}.quantity{font-size:17px}.extras-panel{padding:22px}.extra-form{grid-template-columns:1fr 1fr}.extra-form .field:first-of-type{grid-column:1/-1}.extra-form .button{grid-column:1/-1}.pantry-grid{grid-template-columns:1fr 1fr;gap:10px}.pantry-item{font-size:12px}.login-layout{gap:25px;min-height:0}.login-layout h1{font-size:52px}.login-art{display:none}.login-panel h2{font-size:32px}footer{margin:0 20px;font-size:9px;gap:20px}footer span{text-align:right}}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.kitchen-switch{font-size:12px;color:var(--muted);max-width:180px;overflow-wrap:anywhere}.theme-toggle{background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:8px 14px;min-height:44px;font-size:12px;white-space:nowrap}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.profile-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.profile-card p:last-child{margin-bottom:0}.profile-card .helptext{display:block;color:var(--muted);font-size:11px}.access-panel{max-width:950px;margin:28px 0}.access-panel>p{font-size:13px;color:var(--muted)}.member-list{list-style:none;padding:0;margin-bottom:30px}.member-list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;gap:15px}.member-list small{display:block;font-size:11px;color:var(--muted)}.invitation{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 14px;background:var(--paper);border:1px solid var(--line);padding:16px;border-radius:8px;margin-top:15px}.invitation label{grid-column:1/-1}.invitation input{font-family:monospace;font-size:12px;min-width:0}.kitchen-list{display:flex;gap:12px;flex-wrap:wrap}.narrow .helptext{font-size:11px;color:var(--muted)}.narrow ul{font-size:11px;color:var(--muted)}
html[data-theme=dark]{color-scheme:dark;--paper:#171e1b;--ink:#e3e9df;--green:#94bea3;--muted:#a6b3a7;--line:#3a4940;--white:#222d26;--accent:#e5b95f}html[data-theme=dark] .button{background:#89b69b;color:#14231b;border-color:#89b69b}html[data-theme=dark] .button:hover{background:#a6cdb5}html[data-theme=dark] .button.secondary{background:transparent;color:var(--ink);border-color:#607665}html[data-theme=dark] .brand-icon{background:#9cc0a6;color:#18261d}html[data-theme=dark] .lead,html[data-theme=dark] .eyebrow{color:#aebda9}html[data-theme=dark] h1 em{color:#9abc98}html[data-theme=dark] input:not([type=checkbox]):not([type=hidden]),html[data-theme=dark] select,html[data-theme=dark] textarea{background:#18221b;color:var(--ink);border-color:#50614f}html[data-theme=dark] .hero-note,html[data-theme=dark] .summary,html[data-theme=dark] .plan-panel,html[data-theme=dark] .reference,html[data-theme=dark] .portion-tags span,html[data-theme=dark] .count,html[data-theme=dark] .store-heading{background:#2b3b2e;color:var(--ink)}html[data-theme=dark] .hero-note p{color:var(--muted)}html[data-theme=dark] .store-panel:nth-child(even) .store-heading{background:#3b332a}html[data-theme=dark] .scale-preview{background:#1b271e;border-color:#52654b}html[data-theme=dark] .shopping-row{border-color:var(--line)}html[data-theme=dark] .is-checked{background:#25372c}html[data-theme=dark] .is-checked .checkbox{background:#95bfa5;border-color:#95bfa5;color:#15231b}html[data-theme=dark] .is-checked .item-text strong,html[data-theme=dark] .is-checked .quantity{color:#b0bcae}html[data-theme=dark] .pantry-item{background:var(--paper)}html[data-theme=dark] .pantry-item.stocked,html[data-theme=dark] .message{background:#2d4232;border-color:#536c50;color:var(--ink)}html[data-theme=dark] .danger,html[data-theme=dark] .errorlist{color:#edaa95}html[data-theme=dark] .art-sage{background:radial-gradient(ellipse at 65% 20%,#52644a,#344632)}html[data-theme=dark] .art-peach{background:radial-gradient(ellipse at 30% 10%,#6a5540,#443a2d)}html[data-theme=dark] .art-gold{background:radial-gradient(ellipse at 70% 25%,#70613c,#454125)}html[data-theme=dark] .art-rose{background:#59463e}html[data-theme=dark] .time-pill{background:#25332a;color:var(--ink)}html[data-theme=dark] .note-sticker{background:#5a4c2b;color:#f1ddac}
@media(max-width:700px){.site-header{flex-wrap:wrap}.header-actions{gap:8px}.kitchen-switch{display:none}.theme-toggle{font-size:11px;padding:7px 10px}.site-header .text-button{font-size:11px;padding:5px}.brand small{display:none}.brand{font-size:16px;gap:7px}.brand-icon{width:34px;height:38px}.profile-grid{grid-template-columns:1fr}.invitation{grid-template-columns:minmax(0,1fr)}.invitation form{justify-self:end}}
@media print{html[data-theme=dark]{--paper:white;--ink:#222;--muted:#555;--line:#aaa;--white:white;color-scheme:light}body{background:#fff;font-size:12px}.site-header,.main-nav,footer,.shopping-toolbar,.extras-panel,.week-nav,.message{display:none}main{padding:0}.shopping-grid{display:block}.store-panel{break-inside:avoid;margin-bottom:20px;border:1px solid #aaa;padding:0}.store-heading,html[data-theme=dark] .store-heading,html[data-theme=dark] .store-panel:nth-child(even) .store-heading{background:white;padding:15px}.check-button{padding:10px 15px;min-height:40px}.is-checked{display:none}h1{font-size:30px}.hint{display:none}}

