/* No external font or asset dependencies. */
:root{--ink:#253a31;--paper:#f5f1e6;--chalk:#fffcf3;--lemon:#eed461;--line:#b7b9a8;--red:#a25244;--soft:#e7e7d9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}button,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip{position:absolute;top:-80px;left:10px;z-index:20;background:#fff;padding:1rem}.skip:focus{top:0}.wrap{width:min(1160px,calc(100% - 42px));margin:0 auto}.eyebrow,.mast-center,.mast-no,.step-no,.status-key,.paper,.paper-line,.receipt-head,.phase,.offers-head,.masthead,.safety,.site-footer{letter-spacing:.075em}.eyebrow,.step-no{font-size:.72rem;font-weight:850}.safety{background:var(--ink);color:#f8f4db;padding:9px 20px;text-align:center;display:flex;gap:14px;align-items:center;justify-content:center;font-size:.7rem}.safety span:last-child{opacity:.81;letter-spacing:0}.blip{width:8px;height:8px;background:var(--lemon);border-radius:50%;display:inline-block}.masthead{height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);font-weight:760;font-size:.76rem}.brand{font-weight:950;font-size:1.4rem;text-decoration:none;letter-spacing:-.07em}.accent,.dot{color:var(--red)}.mast-center{font-size:.74rem}.mast-no b{border:1px solid var(--ink);padding:4px 7px;margin-left:5px}
.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:25px;min-height:442px;align-items:center;padding:30px 0 46px}.hero .eyebrow{margin:0 0 18px}.hero h1{font-size:clamp(3.65rem,8vw,7.8rem);line-height:.88;letter-spacing:-.09em;margin:0;font-weight:950}.hero h1 em{font-style:normal;color:var(--red)}.intro{font-size:1.2rem;max-width:510px;line-height:1.5;margin:24px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.button{border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:12px 17px;font-size:.78rem;letter-spacing:.03em;font-weight:820;text-decoration:none;display:inline-flex;gap:15px;align-items:center;justify-content:space-between;transition:transform .15s,background .15s}.button:hover:not(:disabled){transform:translateY(-2px);background:var(--lemon)}.button.primary{background:var(--ink);color:white}.button.primary:hover:not(:disabled){background:#435c47}.button.ghost{background:transparent}.button.small{padding:10px 12px}.button.wide{width:100%}.button:disabled{opacity:.45;cursor:not-allowed}.hero-mark{position:relative;display:flex;align-items:center;justify-content:center;height:340px;border:1px solid var(--ink);border-radius:50% 45% 50% 48%;background:var(--lemon);transform:rotate(-6deg);overflow:hidden;box-shadow:10px 10px 0 #d6d6c5}.mark-ring{position:absolute;left:7%;top:11%;font-size:.78rem;font-weight:850;max-width:250px;transform:rotate(5deg);text-align:center}.lemon-shape{width:173px;height:124px;background:#e5b72d;border:2px solid var(--ink);border-radius:72% 30% 65% 35%;transform:rotate(-35deg);display:grid;place-items:center;position:relative}.lemon-shape:before,.lemon-shape:after{content:'';width:120px;height:1px;background:var(--ink);position:absolute;transform:rotate(35deg)}.lemon-shape:after{transform:rotate(-22deg)}.lemon-shape i{height:95px;width:1px;background:var(--ink);position:absolute}.hero-mark>span{position:absolute;bottom:35px;text-align:center;line-height:1.4;font-size:.7rem;font-weight:850}
.ticker{background:var(--ink);color:var(--lemon);overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.ticker-inner{display:flex;justify-content:center;gap:25px;white-space:nowrap;padding:12px;font-size:.78rem;font-weight:900;letter-spacing:.11em}.ticker span{color:white}.work{padding:66px 0 90px}.section-heading{display:grid;grid-template-columns:170px 1fr;gap:20px;margin-bottom:22px}.section-heading.second{margin-top:78px}.step-no{border-top:3px solid var(--red);padding-top:9px;align-self:start}.section-heading h2,.architecture h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;margin:0 0 9px;letter-spacing:-.06em}.section-heading p{max-width:750px;margin:0;color:#58675d}.recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recipe-choice{background:var(--chalk);text-align:left;padding:18px;border:1.5px solid var(--line);min-height:149px;display:flex;flex-direction:column;justify-content:space-between}.recipe-choice:hover,.recipe-choice[aria-pressed=true]{border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.recipe-choice[aria-pressed=true]{background:#f5e6ad}.recipe-choice small,.recipe-choice span{font-size:.67rem;font-weight:850;letter-spacing:.08em}.recipe-choice strong{font-size:1.35rem;line-height:1.1;letter-spacing:-.035em}.pantry-wrap{background:var(--chalk);border:2px solid var(--ink);margin-top:19px;padding:27px}.pantry-header{display:flex;align-items:start;justify-content:space-between;gap:15px}.pantry-header h3{font-size:2rem;letter-spacing:-.055em;margin:0}.pantry-header p:not(.eyebrow){margin:3px 0 12px;color:#617063}.serves{font-size:.68rem;font-weight:900;white-space:nowrap;display:flex;align-items:center;gap:10px}.serves select{border:1px solid var(--ink);padding:9px;background:var(--paper);color:var(--ink)}.pantry-help{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px 0}.status-key{font-size:.63rem;font-weight:850}.status-key.have{color:#476d43}.status-key.missing{color:var(--red)}.status-key.unknown{color:#7c766d}.ingredients{border-top:1px solid var(--line)}.ingredient{display:grid;grid-template-columns:minmax(150px,1fr) 80px 145px;align-items:center;gap:16px;padding:13px 5px;border-bottom:1px solid var(--line)}.ingredient strong{font-size:.99rem}.ingredient .quantity{font-variant-numeric:tabular-nums;font-size:.86rem}.ingredient select{padding:9px;border:1px solid var(--line);width:100%;background:white;color:var(--ink)}.pantry-summary{background:var(--soft);margin-top:18px;padding:15px;font-size:.87rem;font-weight:800}
.match-panel{display:grid;grid-template-columns:1fr 1.8fr;border:2px solid var(--ink);background:#e6e7d9}.match-side{padding:24px;border-right:2px solid var(--ink)}.match-side h3{font-size:2rem;letter-spacing:-.06em;margin:0 0 15px}.focus-buttons{display:flex;flex-direction:column;gap:7px}.focus-btn{background:var(--chalk);border:1px solid var(--line);padding:12px;text-align:left;font-size:.82rem;font-weight:800;display:flex;justify-content:space-between}.focus-btn[aria-pressed=true]{background:var(--lemon);border:2px solid var(--ink)}.fine{font-size:.76rem;color:#576257;line-height:1.6}.offers-side{padding:24px}.offers-head{font-weight:850;font-size:.69rem;display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.offers{display:grid;gap:11px;margin-top:14px}.offer{border:1px solid var(--line);padding:16px;background:var(--chalk)}.offer-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.offer h4{margin:0;font-size:1.05rem}.offer p{margin:5px 0;font-size:.84rem}.offer .adequate{color:#35613a;font-weight:800}.offer .short{color:var(--red);font-weight:800}.offer button{margin-top:10px}.offer-empty{background:var(--chalk);border:1px dashed var(--line);padding:22px;font-size:.88rem}
.witness{background:var(--ink);color:var(--chalk);padding:26px}.witness .eyebrow{color:var(--lemon)}.witness-top{display:flex;justify-content:space-between;gap:16px}.witness-top h3{font-size:2.2rem;letter-spacing:-.05em;margin:0}.witness-top p:not(.eyebrow){color:#cbd5c6;margin:3px 0 20px;max-width:650px}.phase{align-self:flex-start;border:1px solid var(--lemon);color:var(--lemon);padding:7px 10px;font-size:.72rem}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:19px}.progress span{border:1px solid #708176;padding:10px 2px;text-align:center;color:#9faca3;font-size:.68rem;font-weight:900}.progress span.active{background:var(--lemon);color:var(--ink);border-color:var(--lemon)}.handoff-actions{display:flex;gap:12px;flex-wrap:wrap}.handoff-actions .button{border-color:var(--lemon);color:var(--ink);background:var(--lemon)}.handoff-actions .button:hover{background:white}.handoff-actions .button.decline{background:none;color:#ffe9d0;border:1px solid #aaa}.witness-note{font-size:.76rem;color:#b4c2b6;margin:18px 0;padding-left:12px;border-left:2px solid var(--lemon)}.receipt-head{border-top:1px solid #667a6b;display:flex;justify-content:space-between;font-size:.64rem;padding-top:16px;font-weight:850}.receipts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}.receipts li{padding:9px 5px;border-bottom:1px dotted #607565;display:flex;justify-content:space-between;gap:10px;font-size:.8rem}.receipts time{color:#abc3aa;font-size:.7rem}.receipt-label{color:var(--lemon);font-weight:900}
.press-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;align-items:start}.paper{background:#fffdf5;border:1px solid var(--ink);padding:28px;color:#242e25;box-shadow:7px 7px 0 #d6d4c8}.paper-top{display:flex;justify-content:space-between;border-top:6px double #24372b;border-bottom:2px solid #24372b;padding:9px 0;font-weight:900;font-size:.59rem}.paper-title{position:relative;border-bottom:7px double #24372b;padding:25px 0 17px}.paper-title small{font-size:.66rem;font-weight:900}.paper-title h2{font:950 clamp(2.5rem,5vw,4.5rem)/.9 system-ui,sans-serif;letter-spacing:-.09em;margin:8px 0}.paper-round{position:absolute;right:15px;bottom:16px;font-size:3rem;color:var(--red)}.paper-line{background:var(--ink);color:white;text-align:center;font-weight:900;font-size:.64rem;padding:8px;margin-top:17px}.paper>h3{font-size:2rem;line-height:1.05;margin:16px 0 0;letter-spacing:-.05em}.paper>p{margin:4px 0 20px;font-size:.83rem}.print-ingredients{border-top:1px solid #aaa}.print-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #aaa;padding:6px;font-size:.82rem}.print-row span:last-child{font-size:.7rem;font-weight:850}.print-row .missing{color:var(--red)}.paper-recipe{padding:12px 0}.paper h4{font-size:.7rem;letter-spacing:.06em;margin:8px 0}.paper-recipe ol{padding-left:20px;margin:4px 0;font-size:.79rem}.paper-recipe li{margin-bottom:5px}.paper-bottom{display:grid;grid-template-columns:1fr 1fr;border-top:3px solid var(--ink);border-bottom:3px double var(--ink);gap:13px}.paper-bottom>div+div{border-left:1px solid var(--ink);padding-left:13px}.paper-bottom p{font-size:.77rem;margin:0 0 13px}.paper footer{display:flex;justify-content:space-between;gap:10px;font-size:.51rem;font-weight:850;margin-top:12px}.press-tools{display:grid;gap:12px}.press-tool{border:1px solid var(--ink);padding:24px;background:#e8e7d9}.press-tool:nth-child(even){background:#f5e9bc}.tool-icon{float:right;font-size:2.2rem}.press-tool h3{font-size:1.65rem;line-height:1.1;letter-spacing:-.05em;margin:5px 0 10px}.press-tool p:not(.eyebrow){font-size:.86rem}.radio-text{white-space:pre-wrap;background:var(--ink);color:#e5f0db;padding:14px;font-size:.76rem;line-height:1.65;max-height:210px;overflow:auto}.press-tool label{display:block;font-size:.73rem;font-weight:800;margin:12px 0 7px}.press-tool textarea{resize:vertical;width:100%;border:1px solid var(--line);padding:12px;color:var(--ink);background:white}.stack-actions{display:flex;gap:9px;flex-wrap:wrap}.text-button{border:none;padding:8px;background:none;text-decoration:underline;font-size:.75rem;color:var(--ink)}
.architecture{border-top:4px solid var(--ink);padding:32px 0 80px}.architecture h2{margin:0 0 25px}.organ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.organ-grid div{padding:16px;background:var(--paper);display:flex;flex-direction:column;gap:5px}.organ-grid b{font-size:.72rem;letter-spacing:.06em}.organ-grid span{font-size:.75rem;color:#637266}.boundaries{font-size:.79rem;line-height:1.65;margin-top:24px;max-width:950px}.site-footer{border-top:2px solid var(--ink);display:flex;justify-content:space-between;gap:16px;padding:28px 0;font-weight:900;font-size:.67rem}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(130%);z-index:15;background:var(--ink);color:white;padding:13px 23px;box-shadow:4px 4px 0 var(--lemon);transition:transform .25s;max-width:calc(100vw - 30px);font-size:.82rem}.toast.show{transform:translateX(-50%) translateY(0)}
@media(max-width:900px){.hero{grid-template-columns:1.8fr 1fr}.hero-mark{height:240px}.lemon-shape{width:115px;height:95px}.mark-ring{font-size:.55rem}.press-grid{grid-template-columns:1fr 1fr}.organ-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.wrap{width:min(100% - 28px,530px)}.safety{flex-wrap:wrap;gap:6px;font-size:.64rem}.masthead{height:61px}.mast-center{display:none}.hero{grid-template-columns:1fr;padding:40px 0;min-height:0}.hero h1{font-size:clamp(3.2rem,13vw,5.8rem)}.hero-mark{display:none}.ticker-inner{justify-content:start;font-size:.61rem}.work{padding-top:45px}.section-heading{grid-template-columns:1fr;gap:7px}.section-heading.second{margin-top:53px}.step-no{width:max-content;min-width:140px}.recipes{grid-template-columns:1fr}.recipe-choice{min-height:90px;gap:9px}.pantry-wrap{padding:17px}.pantry-header{flex-direction:column}.ingredient{grid-template-columns:1fr 100px;gap:4px}.ingredient .quantity{grid-column:1;grid-row:2}.ingredient select{grid-column:2;grid-row:1/span 2}.match-panel{grid-template-columns:1fr}.match-side{border-right:0;border-bottom:2px solid var(--ink)}.press-grid{grid-template-columns:1fr}.witness{padding:17px}.witness-top{flex-direction:column;gap:0}.progress span{font-size:.49rem;letter-spacing:0;padding:10px 0}.paper{padding:18px}.paper footer{flex-wrap:wrap}.organ-grid{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column}}@media(max-width:370px){.hero h1{font-size:3.1rem}.paper-title h2{font-size:2.4rem}.organ-grid{grid-template-columns:1fr}}
@media print{*{box-shadow:none!important}body{background:white;color:black}.masthead,.safety,.hero,.ticker,.section-heading,.recipes,.pantry-wrap,.match-panel,.witness,.press-tools,.architecture,.site-footer,.toast{display:none!important}.wrap,.work{width:100%;margin:0;padding:0}.press-grid{display:block}.paper{border:0;width:100%;max-width:100%;padding:12mm;break-inside:avoid}.paper-title h2{font-size:42pt}.paper>h3{font-size:22pt}.paper-recipe ol,.paper-bottom p{font-size:9pt}@page{size:letter;margin:8mm}}
