:root{--ink:#102c3b;--paper:#f5f1e8;--orange:#a63d13;--line:#d6d4c9;--muted:#52616a;--gold:#f4b85c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--orange);border-radius:7px;background:var(--orange);color:white;padding:12px 19px;font-weight:700}button:hover{background:#7f2c0d;border-color:#7f2c0d}.secondary{background:white;border-color:var(--ink);color:var(--ink)}.secondary:hover{background:var(--ink);color:white;border-color:var(--ink)}:focus-visible{outline:3px solid #0873a8;outline-offset:3px}.skip{position:absolute;left:10px;top:-80px;z-index:4;background:white;padding:10px}.skip:focus{top:10px}header{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;font-size:20px;letter-spacing:1px}.brand strong{color:var(--orange)}.brand img{object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:1.6px}main{max-width:1200px;margin:auto;padding:0 28px 40px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding:65px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--orange);margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(56px,7vw,88px);line-height:1.04;letter-spacing:-3px;margin:15px 0 22px}h2{font-family:Georgia,serif;font-size:32px;line-height:1.2;margin-bottom:12px}h3{font-size:19px;margin:0 0 12px}.lead{font-size:22px;line-height:1.5}.intro-note{background:var(--ink);border-radius:14px;padding:36px;color:#fff;box-shadow:9px 9px 0 #e0d4b8}.intro-note .eyebrow{color:var(--gold)}.intro-note ol{padding-left:23px;margin:24px 0}.intro-note li{padding:5px 0}.intro-note a{color:var(--gold);font-weight:700}.panel{border:1px solid var(--line);background:#fffdf8;padding:30px;border-radius:12px;margin-bottom:28px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.section-head p{margin:0}.section-head .eyebrow{margin-bottom:7px}.setup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}label{display:block;font-size:14px;font-weight:650}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #889599;border-radius:6px;background:#fff;color:var(--ink);padding:10px;margin-top:6px}textarea{resize:vertical}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:14px;font-weight:650}.check{display:flex;gap:9px;align-items:flex-start;font-weight:500}.check input{width:18px;min-width:18px;height:18px;margin-top:5px;accent-color:var(--orange)}small,.small,.hint,.optional{font-size:13px;color:var(--muted)}fieldset small{display:block;line-height:1.4;margin-top:7px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px}.actions span{font-size:13px;color:var(--muted)}#setup-error{color:#a32413;margin:12px 0 0}.menu-section{padding-top:15px}.day{margin-bottom:24px}.day-title{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--ink);padding:0 0 8px;margin-bottom:15px;font:700 22px Georgia,serif}.day-title small{font:500 12px system-ui;color:var(--muted)}.meal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.meal{background:#fffdf8;border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}.meal .slot{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--orange);margin-bottom:6px}.meal select{font-size:14px}.meal .detail{margin-top:14px}.meal .detail p{font-size:13px;margin:8px 0}.meal .detail ul{padding-left:18px;font-size:13px}.meal .inline-fields{display:grid;grid-template-columns:90px 1fr;gap:12px;margin-top:16px}.meal .inline-fields label{font-size:12px}.meal input{font-size:14px}.meal details summary{font-size:13px;cursor:pointer;text-decoration:underline}.extras label{margin-top:15px}.optional{font-weight:400;display:block}.grocery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:25px}.grocery-group h3{font-family:Georgia,serif;border-bottom:1px solid var(--line);padding-bottom:10px}.grocery-group label{padding:7px 0;border-bottom:1px solid #ede9df;font-size:14px}.grocery-group label:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.pill{display:inline-block;border-radius:30px;padding:6px 14px;background:#e8eddf;font-size:13px;white-space:nowrap}#manual-warning{font-size:14px;color:#784018}.takeaway{padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:35px}.takeaway p{max-width:570px}.text-button{border:0;background:none;color:var(--ink);padding:8px 0;text-decoration:underline}.text-button:hover{background:none;color:var(--orange)}.food-note{border-top:1px solid var(--line);margin-top:40px;padding-top:25px;font-size:13px;color:var(--muted)}.food-note h2{font:700 18px system-ui}footer{background:var(--ink);color:white;padding:30px max(28px,calc((100vw - 1144px)/2))}footer>a{font:700 23px Georgia,serif}footer p{font-size:13px;margin:10px 0}footer div{display:flex;gap:25px}footer .small{color:#c3d1d7}[hidden]{display:none!important}#print-output{display:none}#save-status{font-size:13px}.status-warning{color:#a32413}@media(max-width:850px){.intro{gap:30px}.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-grid{grid-template-columns:1fr}.grocery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.takeaway{display:block}}@media(max-width:600px){header{padding:15px 18px}header>a:last-child{font-size:12px;max-width:80px}.brand{font-size:16px;gap:7px}.brand img{width:44px;height:44px}.brand small{font-size:7px}main{padding:0 18px 30px}.intro{grid-template-columns:1fr;padding:35px 0;gap:22px}h1{font-size:63px}h2{font-size:27px}.lead{font-size:20px}.intro-note{padding:25px}.panel{padding:20px 16px}.setup-grid{gap:15px 12px}.section-head{display:block}.section-head button,.section-head .pill{margin-top:15px}.grocery-grid{grid-template-columns:1fr}.desktop{display:none}.takeaway .actions{align-items:stretch;flex-direction:column}}@media print{body>*{display:none!important}#print-output{display:block!important;color:black;background:white;font:12pt/1.45 system-ui}#print-output h1{font:700 23pt Georgia;letter-spacing:0}#print-output h2{font:700 16pt Georgia}#print-output pre{font:11pt/1.5 system-ui;white-space:pre-wrap;overflow-wrap:anywhere}#print-output section{break-inside:avoid}}
:root .meal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}

.dessert-toggle{margin-top:22px;flex-wrap:wrap;align-items:center}.dessert-toggle .optional{flex-basis:100%;margin-left:27px}
.meal-grid:has([data-key$=":dessert"]){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.meal-grid:has([data-key$=":dessert"]){grid-template-columns:1fr}}
