
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243829;background:#f8f7f1;font-size:18px;line-height:1.55;color-scheme:light}
*{box-sizing:border-box}body{margin:0}header{background:#e8edde;border-bottom:1px solid #c7d1c0}.wrap{width:min(100% - 2rem,960px);margin:auto}header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:76px;gap:1rem}.brand{font-weight:750;font-size:1.2rem;color:inherit;text-decoration:none}main{padding:2rem 0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.18;letter-spacing:-.025em;margin-bottom:1rem}h2{font-size:1.2rem}h3{font-size:1.05rem;margin-bottom:.5rem}button,.button,select,input{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;min-width:48px;padding:.55rem 1rem;border:1px solid #31513d;border-radius:12px;background:#31513d;color:white;cursor:pointer;text-decoration:none;font-weight:600}button:hover,.button:hover{background:#213e2d}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ba7b19;outline-offset:4px}button:disabled{opacity:.65;cursor:wait}label{font-size:.9rem;font-weight:600;display:flex;flex-direction:column;gap:.3rem}select,input{min-height:48px;padding:.5rem;border:1px solid #879781;border-radius:8px;color:inherit;background:white;max-width:100%}.heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.eyebrow{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;color:#53664e}nav{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.3rem 0}nav button{background:transparent;color:#31513d}nav button[aria-pressed=true]{background:#31513d;color:white}.day{margin-bottom:1rem;padding:1.3rem;background:white;border:1px solid #d8dfd2;border-radius:16px}.meal+.meal{border-top:1px solid #e4e8df;margin-top:1rem;padding-top:1rem}.meal p,.notes{white-space:pre-wrap;overflow-wrap:anywhere}.recipe-button{background:#edf1e6;color:#294031;border-color:#b6c5ae}.empty{color:#596752}.meal-type{font-size:.8rem;font-weight:700;text-transform:uppercase;color:#6d5735;letter-spacing:.05em}.groceries{list-style:none;padding:0}.groceries li{padding:.8rem 0;border-bottom:1px solid #e4e8df}.checked{text-decoration:line-through;color:#637060}#status{min-height:1.55rem}#week-controls{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;margin-top:2rem}.quiet{background:transparent;color:#31513d;border-color:#bcc7b6}dialog{width:min(calc(100% - 2rem),780px);max-height:90vh;border:1px solid #a9b69f;border-radius:18px;padding:1.5rem;background:#fff;color:inherit}dialog::backdrop{background:#182e25aa}.close{float:right;margin:0 0 1rem 1rem}dialog h2{font-size:1.6rem}.ingredient{margin-bottom:.5rem}ol li{padding-left:.3rem;margin-bottom:1rem;white-space:pre-wrap}[hidden]{display:none!important}
@media(max-width:520px){.heading label{width:100%}main{padding-top:1.3rem}.day{padding:1rem}nav button{flex:1;padding:.5rem}footer{align-items:start}.wrap{width:calc(100% - 1.3rem)}}
@media print{header{background:none}nav,#week-controls,footer,.recipe-button,dialog,#status,.heading label{display:none!important}body{background:white;color:black;font-size:12pt}.wrap{width:100%}main{padding:0}.day{break-inside:avoid;border:1px solid #aaa;border-radius:0;padding:.6rem}h1{font-size:22pt}.heading{margin-top:1rem}.eyebrow{display:none}}
