:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;font-synthesis:none;color:#293b35;background:#fafaf7;--accent: #f6b;--accent-soft: #fff0f7;--accent-ink: #942454;--muted: #63716b;--line: #dce3dc;--surface: #fff;--sage: #eff3ed}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--accent-ink)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}button,input{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:40px;padding:.45rem .85rem;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#34252f;text-decoration:none;font-size:.87rem;font-weight:600;cursor:pointer}button:hover,.button:hover{background:#ff8acb;color:#34252f}.secondary{background:var(--surface);border-color:var(--line);color:#293b35}.secondary:hover{background:var(--accent-soft);border-color:#e9b4ce}[hidden]{display:none!important}.site-header,main,footer{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;text-decoration:none;letter-spacing:-.03em}.brand img{display:block;width:32px;height:32px;flex-shrink:0}nav{display:flex;align-items:center;gap:.35rem}nav a{display:flex;align-items:center;min-height:40px;padding:.4rem .7rem;border-radius:5px;font-size:.87rem;text-decoration:none;color:var(--muted)}nav a:hover{background:var(--sage);color:#293b35}nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;box-shadow:inset 0 -2px var(--accent)}main{flex:1;padding-block:1.6rem 2.5rem}footer{border-top:1px solid var(--line);padding-block:.8rem;font-size:.75rem;color:var(--muted)}h1,h2,h3{line-height:1.3;font-weight:650;letter-spacing:-.025em}h1{margin:0 0 .6rem;font-size:1.8rem}h2{font-size:1.1rem;margin:0 0 .7rem}h3{font-size:1rem;margin:0 0 .4rem}p{margin:.4rem 0 .8rem;max-width:80ch}.lead{font-size:.9rem;color:var(--muted);margin:0 0 1rem}.eyebrow{font-size:.75rem;color:var(--muted);margin:0 0 .3rem}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-heading h1{margin-bottom:.25rem}.page-heading p{margin-bottom:0}.week-strip{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1rem 1.2rem;background:var(--sage);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;margin-bottom:1.5rem}.week-strip h2{margin:0 0 .25rem}.week-strip p{margin:0;font-size:.85rem;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem 0 .65rem}.section-heading h2{margin:0}.section-heading a{font-size:.83rem}.recipe-list{display:grid;gap:.5rem}.recipe-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1.25rem;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-decoration:none}.recipe-card:hover{border-color:#df9ebe;background:#fffbfd;color:inherit}.recipe-card h2,.recipe-card h3{margin:0 0 .15rem;font-size:1rem}.recipe-card p{margin:0;font-size:.78rem;color:var(--muted)}.recipe-meta{font-size:.8rem;color:var(--muted);text-align:right;white-space:nowrap}.badge{display:inline-block;width:fit-content;padding:.15rem .5rem;border:1px solid var(--line);background:var(--sage);color:#4e6257;border-radius:4px;font-size:.72rem;line-height:1.5;white-space:nowrap}.search{display:block;max-width:480px;margin-top:1rem;font-size:.83rem;font-weight:550}.search input{display:block;width:100%;min-height:42px;padding:.5rem .7rem;background:var(--surface);border:1px solid #b7c4ba;border-radius:5px;margin-top:.3rem}#results{font-size:.78rem;color:var(--muted);margin:.6rem 0}.back{display:inline-block;font-size:.8rem;margin-bottom:.85rem;color:var(--muted);text-decoration:none}.recipe-layout{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:2rem;margin-top:1.25rem}.panel{background:var(--surface);border:1px solid var(--line);padding:1rem;border-radius:6px}.panel>:last-child{margin-bottom:0}.panel input[type=number]{width:76px;min-height:36px;border:1px solid #b7c4ba;padding:.25rem .5rem;background:var(--surface);border-radius:4px;margin-left:.5rem}.ingredients{list-style:none;padding:0;margin:.7rem 0 0}.ingredients li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:.6rem;padding:.55rem 0;border-top:1px solid var(--line);font-size:.87rem}.amount{font-variant-numeric:tabular-nums}small{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem}.prose{max-width:70ch;font-size:.93rem}.prose h2{margin-top:1.25rem}.prose>h2:first-child{margin-top:0}.prose ol{padding-left:1.3rem}.prose li{padding:.35rem 0 .35rem .25rem}.plan-list{display:grid;gap:.5rem;margin-top:1rem}.plan-row{padding:.8rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-decoration:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}.plan-row:hover{border-color:#df9ebe}.plan-row h2{font-size:1rem;margin:.35rem 0 .15rem}.plan-row p{font-size:.8rem;color:var(--muted);margin:0}.meal-list{margin:1.25rem 0;border-bottom:1px solid var(--line)}.meal{display:grid;grid-template-columns:145px minmax(0,1fr) 135px;border-top:1px solid var(--line);padding:.8rem 0;gap:1rem;align-items:start}.meal-content{min-width:0}.meal-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .6rem}.meal h2{min-width:0;overflow-wrap:anywhere;font-size:.98rem;margin:0}.meal h2 a{text-decoration:none}.meal p{font-size:.78rem;margin:.25rem 0 0}.meal-date{font-size:.83rem}.meal-date span{display:block;color:var(--muted);font-size:.75rem;margin-top:.1rem}.meal-status{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.calendar-day,.calendar-slot,.calendar-empty,.plan-view-switch{display:none}@media screen and (min-width:960px){.plan-view-switch{display:flex;gap:.15rem;margin-right:.35rem}.plan-view-switch button{width:40px;padding:.45rem;background:transparent;border-color:transparent;color:var(--muted)}.plan-view-switch button:hover{background:var(--sage);color:#293b35}.plan-view-switch button[aria-pressed=true]{background:var(--sage);color:#293b35;box-shadow:inset 0 -2px var(--muted)}.week-plan[data-view=calendar] .meal-list{display:grid;grid-template-columns:90px repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:6px;background:var(--line);overflow:hidden}.week-plan[data-view=calendar] .calendar-day,.week-plan[data-view=calendar] .calendar-slot{display:block;padding:.65rem .5rem;background:var(--sage);font-size:.78rem;font-weight:600;overflow-wrap:anywhere}.week-plan[data-view=calendar] .calendar-empty{display:block;padding:.65rem .5rem;background:#fafaf7;color:var(--muted);font-size:.75rem}.week-plan[data-view=calendar] .meal{display:flex;flex-direction:column;gap:.45rem;min-width:0;min-height:130px;padding:.65rem .5rem;border:0;background:var(--surface)}.week-plan[data-view=calendar] .meal-date{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.week-plan[data-view=calendar] .meal-heading{align-items:flex-start;flex-direction:column;gap:.4rem}.week-plan[data-view=calendar] .meal h2{font-size:.86rem}.week-plan[data-view=calendar] .meal-status{text-align:left;margin-top:auto}}.muted{color:var(--muted);font-size:.78rem}.notice{border-left:3px solid var(--accent);background:var(--accent-soft);padding:.6rem .8rem;font-size:.8rem;max-width:90ch;margin:.8rem 0;border-radius:0 4px 4px 0}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.help{font-size:.8rem;color:var(--muted);margin:.75rem 0 1rem;max-width:90ch}.help summary{width:fit-content;cursor:pointer;padding:.35rem 0;color:#40564b}.help[open] summary{margin-bottom:.3rem}.shopping-grid{columns:2;column-gap:2rem}.shopping-group{break-inside:avoid;margin:0 0 1.1rem}.shopping-group h2{padding:.4rem .6rem;background:var(--sage);border-radius:4px;font-size:.9rem;margin:0}.shopping-group ul{list-style:none;padding:0;margin:0}.shopping-group li{border-bottom:1px solid var(--line)}.shopping-group label{display:flex;gap:.65rem;align-items:center;padding:.55rem .25rem;min-height:46px;cursor:pointer;font-size:.85rem}.shopping-group input{width:18px;height:18px;accent-color:var(--accent-ink);flex-shrink:0}.shopping-group label>span:not(.shopping-amount){min-width:0;overflow-wrap:anywhere}.shopping-group strong{font-weight:550}.shopping-group label:has(input:checked)>span{color:var(--muted);text-decoration:line-through}.shopping-amount{margin-left:auto;padding-left:.3rem;white-space:nowrap;font-variant-numeric:tabular-nums}.provenance{display:block;font-size:.7rem}.preference-list{display:grid;grid-template-columns:minmax(180px,1fr) 1fr;gap:.5rem 1.25rem;max-width:780px;margin:1rem 0 1.5rem;font-size:.87rem}.preference-list dt{font-weight:550}.preference-list dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.tier-list{border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow:hidden;margin:.7rem 0}.tier-row{display:grid;grid-template-columns:65px minmax(0,1fr);gap:1rem;align-items:baseline;padding:.75rem 1rem}.tier-row+.tier-row{border-top:1px solid var(--line)}.tier-row:first-child{background:var(--accent-soft)}.tier-row h3{font-size:.9rem;margin:0}.tier-row p{font-size:.83rem;margin:0;max-width:none;line-height:1.65}.skip{position:absolute;left:1rem;top:-100px;padding:.7rem;background:#fff;z-index:10}.skip:focus{top:.5rem}code{font-size:.9em;overflow-wrap:anywhere}@media(max-width:760px){.recipe-layout{grid-template-columns:280px minmax(0,1fr);gap:1.2rem}.meal{grid-template-columns:120px minmax(0,1fr);gap:.7rem}.meal-status{grid-column:2;text-align:left;margin-top:-.5rem!important}.shopping-grid{columns:1}.recipe-card{gap:.75rem}}@media(max-width:560px){.site-header,main,footer{width:calc(100% - 2rem)}.site-header{flex-wrap:wrap;gap:.2rem .5rem;padding-block:.55rem;min-height:60px}nav{gap:0}nav a{padding-inline:.5rem;font-size:.8rem}.brand{font-size:1.05rem}main{padding-block:1.2rem 2rem}h1{font-size:1.5rem}.page-heading{align-items:flex-start;flex-direction:column;gap:.7rem;margin-bottom:1rem}.week-strip{align-items:flex-start;flex-direction:column;gap:.8rem;padding:.85rem}.recipe-card{grid-template-columns:minmax(0,1fr) auto;padding:.75rem;gap:.35rem .6rem}.recipe-card .badge{grid-column:1 / -1}.recipe-meta{font-size:.75rem;white-space:normal;max-width:100px}.recipe-layout{grid-template-columns:1fr;gap:1.25rem}.meal{grid-template-columns:1fr;gap:.3rem}.meal-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .6rem}.meal-status{grid-column:1;margin-top:0!important}.preference-list{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:.6rem 1rem;padding:.85rem;font-size:.8rem}.tier-row{grid-template-columns:40px minmax(0,1fr);gap:.7rem;padding:.7rem}.tier-row small{font-size:.65rem}}@media print{:root{font-size:11px;color:#000;background:#fff}body{display:block;min-height:auto}.site-header,footer,.back,.actions,.skip,.help{display:none!important}main{width:100%;padding:0}h1{font-size:20px}.page-heading{margin-bottom:.7rem}.shopping-grid{columns:2}.shopping-group{margin-bottom:.8rem}.shopping-group label{padding-block:.35rem;min-height:28px}.provenance{display:none}.recipe-layout{grid-template-columns:1fr 2fr;gap:1rem}.panel{background:transparent}.meal,.recipe-card,.tier-row{break-inside:avoid}}
