:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#252321;background:#f4f3ef;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{border:1px solid #a53714;background:#aa3815;color:#fff;border-radius:100px;padding:.65rem 1.15rem;min-height:44px;font-weight:650;cursor:pointer;line-height:1.2;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}button:not(:disabled):active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#fff;color:#39312b;border-color:#8b8074}.text-button{background:transparent;color:#8e2b0d;border:0;text-decoration:underline;padding-left:0}a{color:#8e2b0d}:focus-visible{outline:3px solid #2354ac;outline-offset:4px}.top{max-width:1160px;margin:auto;display:flex;gap:1rem;align-items:center;padding:1.4rem 1.5rem;flex-wrap:wrap}.top>span{margin-right:auto;font-size:.85rem}.brand{font-size:2.8rem;letter-spacing:-.2rem;font-weight:850;color:#29231f;text-decoration:none;line-height:1}.brand span{color:#a53714}main,footer{max-width:1100px;margin:auto;padding:0 1.5rem 2rem}.session-notice{border-block:1px solid #d6d0c8;padding:.7rem 0;font-size:.9rem}nav{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.3rem 0}nav button{background:transparent;border-color:transparent;color:#50463e}nav button[aria-current]{background:#302b26;color:#fff}.status{min-height:1.6em;color:#713011}.hero{padding:1rem 0 2.5rem;max-width:800px}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:#766054}h1{font-size:clamp(2.3rem,7vw,4.8rem);letter-spacing:-.055em;line-height:1.05;margin:.7rem 0 1.4rem;font-weight:750}h2{font-size:1.45rem;line-height:1.3;margin-top:0}h3{line-height:1.3;font-size:1.4rem}p{max-width:80ch}.hero p{font-size:1.2rem;max-width:38rem}.quick-start{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.4rem 1.6rem;background:#e9ded7;border:1px solid #c9a99a;border-radius:20px}.quick-start h2,.quick-start p{margin-block:0}.quick-start p{margin-top:.4rem}.card{padding:1.6rem;background:#fff;border:1px solid #ddd6ce;border-radius:20px;margin-bottom:1.3rem}section{margin-bottom:2rem}.fields,.cards,.grocery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.cards{margin-top:1.5rem}.cards .card{margin:0}.meal.card{display:flex;min-width:0;flex-direction:column;padding:0;overflow:hidden}.meal-image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.meal-body{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:1.35rem}.meal-body h3,.meal-body p{margin:0}.meal-body button{align-self:flex-start;margin-top:auto;white-space:nowrap}.fields{margin-block:1rem}label{display:block;font-size:.94rem;font-weight:550}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;min-height:44px;background:#fff;border:1px solid #918579;border-radius:8px;padding:.6rem;color:#252321;margin:.3rem 0 1rem}input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:#a53714;margin:0}.check{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;min-height:30px;font-weight:400}fieldset{border:1px solid #d0c7bc;border-radius:12px;min-width:0;margin:1.2rem 0;padding:1rem}legend{font-weight:650;padding:0 .3rem}.inventory-row{background:#faf9f6}.warning{background:#fff2de;padding:.8rem;border-left:3px solid #966411}.quick-add{margin-block:1rem;padding:1rem;background:#f4f3ef;border-radius:12px}.quick-add p{margin-top:0}.empty-state{max-width:680px;padding:1.6rem;background:#fff;border:1px solid #ddd6ce;border-radius:20px}.result-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:center;padding:1rem 1.2rem;background:#e9ded7;border:1px solid #c9a99a;border-radius:16px}.shop-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #ddd6ce;border-radius:20px;overflow:hidden}.shop-summary>div{display:grid;justify-items:center;align-content:center;min-height:122px;padding:1rem;text-align:center}.shop-summary>div+div{border-left:1px solid #e2ddd6}.shop-summary span{color:#685d55;font-size:.76rem;font-weight:700;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}.shop-summary strong{color:#28231f;font-size:1.8rem;line-height:1.2}.shop-summary>div:last-child strong,.shop-summary>div:last-child small{color:#a53714}.shop-summary small{color:#756b63}.shop-controls{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:1.5rem;align-items:end;padding:1.3rem 0;border-bottom:1px solid #d6d0c8}.shop-controls select{margin-bottom:0}.shop-controls>div{display:flex;gap:1rem;align-items:center;justify-content:flex-end}.shop-controls p{margin:0;color:#625850;font-size:.9rem}.shop-controls button{flex:0 0 auto}.grocery-section{margin-top:2.2rem}.grocery-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.grocery-section-head>div{display:flex;align-items:center;gap:.8rem}.grocery-section-head h2{margin:0;font-size:1.65rem}.grocery-section-head span{border-radius:8px;background:#f0d8cf;color:#8e2b0d;padding:.25rem .55rem;font-size:.8rem;font-weight:700}.grocery-grid{grid-template-columns:1fr}.grocery-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;background:#fff;border:1px solid #e0d9d1;border-radius:18px;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.grocery-item.is-in-basket{border-color:#bc765e;background:#fffaf8}.grocery-image{width:76px;height:76px;border-radius:12px}.grocery-image{object-fit:cover}.grocery-copy{min-width:0}.grocery-copy h3,.grocery-copy p{margin:0}.grocery-copy h3{font-size:1.14rem}.grocery-copy p{color:#4d443d}.grocery-copy small{color:#756b63}.grocery-copy .warning{margin-top:.6rem}.basket-button{min-width:94px;white-space:nowrap}.home-stock{margin:2rem 0;padding:1.1rem 1.2rem;background:#e9e8e4;border-radius:16px}.home-stock summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:700;cursor:pointer}.home-stock summary span{border-radius:7px;background:#dcdad5;padding:.15rem .5rem;color:#5d544d;font-size:.8rem}.home-stock ul,.home-stock p{margin-bottom:0}.shop-basket{display:grid;grid-template-columns:auto 1fr;gap:1rem 2rem;align-items:center;padding:1.3rem 1.4rem;background:#fff;border:1px solid #ddd6ce;border-radius:20px;box-shadow:0 14px 34px #6b4b3b14}.shop-basket span{color:#675d55;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.shop-basket h2{margin:.15rem 0 0}.shop-basket-actions{display:flex;gap:.7rem;justify-content:flex-end}.shopping-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #a53714;border-radius:100px;background:#aa3815;color:#fff;padding:.65rem 1.15rem;font-weight:700;text-decoration:none;text-align:center;white-space:nowrap}.shopping-link:active{transform:translateY(1px)}.shopping-link.is-disabled{border-color:#b8afa6;background:#e4e0dc;color:#6f665f}.shop-basket>p{grid-column:1 / -1;margin:0;color:#675d55;font-size:.85rem}.preview{max-width:100%;max-height:350px;object-fit:contain;display:block;margin:1rem 0;border-radius:12px}.days,.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.days button{background:#fff;color:#312820;border-color:#8b8074}.days button[aria-pressed=true]{background:#302b26;color:#fff}footer{border-top:1px solid #d6d0c8;padding-top:1.5rem;font-size:.9rem}dialog{border:1px solid #c9beb0;border-radius:18px;width:min(680px,calc(100% - 2rem));max-height:85dvh;overflow:auto;overflow-wrap:anywhere;scroll-padding:1rem;padding:1.6rem;color:#252321;background:#fff}dialog::backdrop{background:#211b15aa}dialog header{display:flex;flex-wrap:wrap;gap:1rem;align-items:start;justify-content:space-between}dialog header h2{flex:1 1 12rem;min-width:0;margin-block:.5rem}dialog button{max-width:100%}dialog a{display:inline-block;max-width:100%}.recipe-dialog-image{display:block;width:100%;height:auto;max-height:360px;margin:1rem 0 1.25rem;border-radius:14px;object-fit:cover}textarea{min-height:12rem}li{margin:.5rem 0}strong{font-weight:700}@media(max-width:480px){main,footer{padding-inline:1rem}.top{padding-inline:1rem;gap:.7rem}.top .secondary{padding:.5rem .8rem}.card{padding:1.1rem}.hero{padding-bottom:1.2rem}nav button{flex:1;padding:.6rem .4rem}dialog{padding:1rem}.quick-start,.result-summary{grid-template-columns:1fr}.quick-start button,.result-summary button{width:100%}}@media(max-width:700px){.shop-controls,.shop-basket{grid-template-columns:1fr}.shop-controls>div{align-items:flex-start;flex-direction:column}.shop-basket-actions{justify-content:flex-start;flex-wrap:wrap}.shop-basket>p{grid-column:1}}@media(max-width:560px){.shop-summary>div{min-height:104px;padding-inline:.45rem}.shop-summary span{font-size:.66rem}.shop-summary strong{font-size:1.5rem}.grocery-section-head{align-items:flex-start}.grocery-section-head>div{align-items:flex-start;flex-direction:column;gap:.35rem}.grocery-item{grid-template-columns:58px minmax(0,1fr);align-items:start}.grocery-image{width:58px;height:58px}.basket-button{grid-column:2;justify-self:start}.shop-basket-actions{flex-direction:column}.shop-basket-actions button,.shopping-link{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
