@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
.weekTabs{display:flex;gap:8px;margin:0 0 22px}.weekTabs button{background:white}.weekTabs button.active{background:var(--ink);color:white}
:root{--ink:#1e3432;--sage:#dce8df;--cream:#fcfaf4;--gold:#d49347;--line:#d7ddd5;--muted:#60736c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{position:sticky;top:0;z-index:4;background:rgba(252,250,244,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:19px max(4vw,28px);display:flex;justify-content:space-between;gap:24px;align-items:center}.eyebrow{letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--gold);margin:0 0 3px}h1,h2,h3{font-family:Fraunces,serif;margin:0}h1{font-size:28px}.subtitle{margin:4px 0 0;color:var(--muted);font-size:14px}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}button{font:inherit;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:8px 12px;border-radius:22px;cursor:pointer}button:hover{background:var(--ink);color:white}.tools button:first-child,.tools button:nth-child(2){font-size:24px;line-height:18px;padding:6px 12px}main{max-width:1390px;margin:auto;padding:32px max(4vw,28px) 60px}.intro{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:26px}.intro h2{font-size:40px;margin:7px 0}.intro p{max-width:690px;line-height:1.5;color:var(--muted);margin:0}.plate{background:var(--sage);border-radius:16px;padding:16px 20px;min-width:255px}.plate b,.plate span{display:block}.plate span{font-size:13px;margin-top:5px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:18px;box-shadow:0 8px 24px #1e343208}.sectionTitle{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}.sectionTitle span{font-size:13px;color:var(--muted)}.calendar{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;overflow-x:auto;padding-bottom:5px}.day{border:1px solid var(--line);border-radius:12px;padding:12px;min-height:250px}.day h3{font-size:18px;margin-bottom:10px}.meal{padding:10px 0;border-top:1px solid #edf0ed;font-size:13px;line-height:1.35}.meal:first-of-type{border-top:0}.meal b{display:block;color:var(--gold);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.editable{outline:2px dashed transparent;border-radius:4px}.editable[contenteditable=true]{outline-color:#e9c999;background:#fffbef}.shopping{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shopGroup h3{font-size:18px;margin:0 0 8px}.shopGroup ul{list-style:none;margin:0;padding:0}.shopGroup li{border-top:1px solid #edf0ed;padding:9px 4px 9px 29px;position:relative;font-size:14px}.shopGroup li:before{content:'';position:absolute;left:4px;top:11px;width:14px;height:14px;border:1.5px solid var(--ink);border-radius:3px}.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.two .card{min-width:0}.prep article,.recipe{padding:11px 0;border-top:1px solid #edf0ed;line-height:1.45;font-size:14px}.prep article:first-child,.recipe:first-child{border-top:0}.prep b,.recipe h3{display:block;margin-bottom:4px}.recipe h3{font-family:Fraunces,serif;font-size:18px}.time{color:var(--gold);font-weight:700;font-size:12px}.savebar{position:fixed;bottom:20px;right:24px;z-index:5;background:var(--ink);color:white;box-shadow:0 8px 22px #0003}.savebar:hover{background:#31504c}dialog{border:0;border-radius:16px;color:var(--ink);padding:24px;box-shadow:0 15px 50px #0004}dialog::backdrop{background:#1e343266}dialog input{display:block;width:100%;margin:16px 0 4px;padding:10px;border:1px solid var(--line);border-radius:7px}dialog menu{display:flex;justify-content:end;gap:9px;padding:0;margin:18px 0 0}small{color:#b32f2f}@media(max-width:820px){header{position:static;align-items:flex-start;flex-direction:column}.intro{align-items:start;flex-direction:column}.intro h2{font-size:32px}.shopping,.two{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(7,230px)}main{padding:22px 18px 50px}.tools{width:100%}.tools button:nth-last-child(-n+3){flex:1;font-size:12px}}
@media print{@page{margin:12mm}body{background:white;color:#000}header,.intro,.two,#login,.savebar{display:none!important}main{padding:0;max-width:none}.card{box-shadow:none;border:0;padding:0;margin:0}.sectionTitle{margin:0 0 8px}.calendar{overflow:visible;gap:4px;grid-template-columns:repeat(7,1fr)}.day{min-height:0;border-color:#888;padding:7px}.day h3{font-size:14px}.meal{font-size:9px;padding:6px 0}.meal b{font-size:8px}.shopping{grid-template-columns:1fr;gap:8px}.shopGroup h3{font-size:15px}.shopGroup li{font-size:11px;padding-top:5px;padding-bottom:5px}body.print-menu #shopSection,body.print-shop #menuSection{display:none!important}}
