@font-face{font-family:Newsreader;src:url('/assets/fonts/newsreader-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--ink:#24342b;--muted:#59665e;--paper:#f7f4ed;--surface:#fffdf8;--green:#315f50;--sage:#dce8d7;--peach:#f2d7c0;--line:#cdd7c7;--serif:Newsreader,Georgia,serif;--sans:Plex,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button,summary{cursor:pointer}:focus-visible{outline:3px solid #a95538;outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--surface);z-index:3}.skip:focus{top:10px}
.private-banner{padding:8px 24px;background:var(--green);color:#fff;font-size:12px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.private-banner span{opacity:.9}.masthead{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.wordmark{font:600 30px/1.2 var(--serif);letter-spacing:-1px;text-decoration:none}.wordmark em{color:#a95538}.small-label,.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600}.eyebrow{margin:0 0 14px;color:var(--green)}footer nav{font-size:14px;margin-bottom:18px}footer nav a{display:inline-flex;align-items:center;min-height:44px}.masthead>a.small-label{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px;padding:65px 0 74px}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;margin:0;letter-spacing:-.035em;overflow-wrap:break-word}h1{font-size:clamp(48px,6.5vw,82px)}h2{font-size:35px}h3{font-size:26px}.deck{font:25px/1.5 var(--serif);max-width:37ch;color:var(--muted);margin:24px 0}.start{text-decoration:none;font-weight:600;border-bottom:1px solid var(--green);display:inline-flex;gap:30px;padding:8px 0}.intro-art{background:var(--sage);padding:28px;border-radius:50% 50% 6px 6px;text-align:center;display:grid;gap:16px}.intro-art svg{width:100%;height:230px}.art-labels{display:flex;justify-content:space-around;gap:8px;font:18px var(--serif);flex-wrap:wrap}
.workspace{display:grid;grid-template-columns:.9fr 1.2fr;gap:44px;align-items:start;scroll-margin-top:24px}.controls{border-top:2px solid var(--green);padding:28px 0}.controls>p:not(.eyebrow){color:var(--muted);max-width:44ch}.recipe-option{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px;margin:14px 0;display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:14px;align-items:center}.recipe-choice{display:flex;gap:12px;align-items:flex-start}.recipe-choice input{flex:none;width:20px;height:20px;margin:3px 0;accent-color:var(--green)}.recipe-choice strong{display:block;font:24px/1.2 var(--serif);font-weight:500}.recipe-choice small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px}.count label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}input[type=number]{width:100%;min-height:44px;padding:8px;border:1px solid #879b85;border-radius:3px;background:white;color:var(--ink);font-variant-numeric:tabular-nums}input:disabled{opacity:.45}.stock{padding:14px 0;margin:18px 0;border-block:1px solid var(--line)}summary{min-height:44px;align-content:center;font-weight:600}.stock p{font-size:13px;color:var(--muted)}.stock-row{padding:14px 0;border-top:1px solid var(--line)}.stock-row>strong{font-size:14px;display:block;overflow-wrap:anywhere}.stock-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.stock-fields label{font-size:12px;color:var(--muted)}.stock-fields input{display:block;margin-top:4px}.stock-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.button{background:var(--green);color:white;min-height:48px;border:1px solid var(--green);padding:12px 20px;border-radius:3px;display:inline-flex;justify-content:center;gap:24px;font-size:14px;font-weight:600}.button:hover{background:#244b3e}.secondary{background:transparent;color:var(--green)}.secondary:hover{background:var(--sage)}.text-button{background:none;border:none;min-height:48px;padding:8px 0;color:var(--green);text-decoration:underline;text-underline-offset:5px}.evidence-note{font-size:12px;border-left:2px solid var(--line);padding-left:14px;margin-top:24px}
.results{min-width:0}#status{min-height:32px;color:var(--muted);font-size:13px}#error{padding:16px;background:#fae4d9;color:#792e17;border:1px solid #ba7754;margin-bottom:16px}.plan-head{background:var(--sage);border:1px solid #b8cbb3;padding:28px;display:flex;gap:24px;align-items:center;border-radius:5px}.plan-count{font:72px/1 var(--serif);flex:none}.plan-head h2{font-size:31px}.plan-head p{margin:8px 0 0;font-size:13px;color:var(--muted)}.result-section{padding:26px 0;border-bottom:1px solid var(--line)}.result-section h3{margin-bottom:18px}.shopping-item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:5px;padding:17px 0;border-bottom:1px solid var(--line)}.shopping-item:last-child{border:0}.shopping-item strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.shopping-quantity{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.shopping-item small{grid-column:1/-1;color:var(--muted);font-size:12px}.unit-controls{display:flex;gap:8px;margin-bottom:10px}.unit-controls button{min-height:40px;border:1px solid var(--line);background:var(--surface);padding:6px 12px;border-radius:3px;color:var(--ink);font-size:13px}.unit-controls [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.support-list{margin:0;padding-left:20px;color:var(--muted);font-size:14px}.support-list li+li{margin-top:8px}.recipe-method{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:4px;margin:12px 0}.recipe-method summary{font:22px/1.3 var(--serif);font-weight:500}.recipe-method p,.recipe-method ol{font-size:14px;color:var(--muted)}.recipe-method a{display:inline-block;min-height:44px;font-size:14px;text-underline-offset:4px}.recipe-method .source{font-size:12px;margin-top:18px}.service-step{border-left:3px solid #b78d54;padding-left:15px;margin-top:14px}.service-step p{margin:4px 0;font-size:14px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px}.limits{margin:70px 0;background:var(--peach);border-radius:5px;padding:40px;max-width:100%}.limits p{max-width:68ch;color:var(--muted)}.limits li{font-size:14px;margin-bottom:8px;max-width:74ch}.limits summary{border-top:1px solid #cfb29b;padding-top:12px}.limits h2{font-size:39px}footer{border-top:1px solid var(--line);padding:30px 0 50px}footer p{max-width:42ch;color:var(--muted);font-size:14px}
@media(max-width:850px){.intro{gap:28px}.workspace{gap:24px;grid-template-columns:1fr 1.1fr}.recipe-option{grid-template-columns:minmax(0,1fr) 68px;padding:14px}.recipe-choice strong{font-size:21px}.plan-head{padding:20px;gap:16px}.plan-count{font-size:58px}.plan-head h2{font-size:27px}}
@media(max-width:680px){.shell{width:calc(100% - 32px)}.private-banner{gap:4px;text-align:center;flex-direction:column}.masthead{padding:20px 0}.masthead>.small-label{display:none}.intro{grid-template-columns:1fr;padding:40px 0}.intro-art{border-radius:5px;padding:22px;grid-template-columns:1fr 1fr;align-items:center}.intro-art svg{grid-column:2;grid-row:1/3;height:155px}.intro-art .art-labels{grid-column:1;display:grid;gap:8px;text-align:left}.intro-art>.small-label{text-align:left}.workspace{grid-template-columns:1fr;gap:20px}.controls{padding-top:22px}.controls>p{max-width:none}.recipe-option{grid-template-columns:minmax(0,1fr) 82px}.recipe-choice strong{font-size:24px}.limits{padding:26px 22px;margin:40px 0}.limits h2{font-size:32px}.plan-head h2{font-size:30px}.shopping-item{column-gap:12px}.shopping-quantity{font-size:14px}h2{font-size:33px}}
@media(max-width:360px){.shopping-item{grid-template-columns:1fr}.shopping-quantity{text-align:left}.recipe-option{grid-template-columns:minmax(0,1fr) 65px}.plan-head{gap:12px;padding:18px}.plan-head h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;font-size:11px}.shell{width:100%}.private-banner,.masthead,.intro,.controls,.actions,footer,.unit-controls,.skip,#status{display:none}.workspace{display:block}.plan-head{background:white;border:1px solid #777;padding:10px}.plan-count{font-size:38px}.plan-head h2{font-size:24px}.result-section{padding:12px 0;break-inside:avoid}.recipe-method{background:white;break-inside:avoid}.recipe-method summary{font-size:18px}.recipe-method a{min-height:0}.shopping-item{padding:7px 0}.support-list,.service-step p,.recipe-method p,.recipe-method ol{font-size:11px}.limits{background:white;border:1px solid #777;padding:16px;margin:20px 0}.limits h2{font-size:22px}.limits li{font-size:11px}.limits summary{border:0}}
