:root{--ink:#26342d;--muted:#65716a;--paper:#f6f4ee;--green:#345b42;--line:#dedfd4;--peach:#f1dfca;--white:#fffefb;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{border:1px solid var(--line);border-radius:9px}button{background:var(--white);color:var(--ink);padding:11px 15px;min-height:44px;font-weight:600}button:hover{background:#e9eee3}button.primary,button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}button.quiet{background:transparent;border-color:transparent;color:var(--muted)}button.danger{color:#9c332b}input,select,textarea{background:white;color:var(--ink);padding:11px;width:100%;min-width:0}input[type=checkbox]{width:20px;height:20px;min-width:20px;accent-color:var(--green);margin:3px 0 0}textarea{line-height:1.6;resize:vertical}a{color:var(--green)}:focus-visible{outline:3px solid #b76a26;outline-offset:3px}header{max-width:1240px;margin:auto;padding:28px 30px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.mark{background:var(--green);color:#fff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font:26px Georgia,serif}.brand strong{font:26px Georgia,serif;letter-spacing:-.5px}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.header-actions,.toolbar,.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.top-nav{background:#eaece2;padding:5px;border-radius:12px;display:flex}.top-nav button{border:0;background:transparent}.top-nav button[aria-selected=true]{background:white;box-shadow:0 1px 4px #21342515;color:var(--green)}.shell{max-width:1240px;margin:auto;padding:12px 30px 50px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px}.sidebar{align-self:start;position:sticky;top:20px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--green)}.sidebar h2{font:30px Georgia,serif;margin:8px 0 18px}.filter-grid{display:grid;grid-template-columns:1fr;gap:9px;margin:10px 0 14px}.label{font-size:12px;font-weight:650;display:block;margin:0 0 6px;color:var(--muted)}.count{font-size:12px;color:var(--muted);margin:16px 0 10px}.recipe-list{display:grid;gap:6px}.recipe-card{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:15px 13px;display:flex;gap:12px;align-items:flex-start}.recipe-card[aria-current=true]{background:#e4e9dc;border-color:#ccd6c4}.recipe-card strong{display:block;font-weight:650;font-size:14px;line-height:1.45}.recipe-card small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.recipe-number{font:18px Georgia,serif;color:#8b9786;min-width:20px;margin-top:2px}.detail{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:0}.recipe-heading{padding:32px 36px 25px;background:linear-gradient(110deg,#f0f2e8,#faf7ee)}h1{font:clamp(30px,3.2vw,45px)/1.12 Georgia,serif;font-weight:400;letter-spacing:-1px;margin:12px 0 16px;max-width:650px}.description{font-size:14px;line-height:1.7;color:#536254;max-width:630px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.pill{font-size:11px;padding:7px 10px;background:#fff9;border:1px solid #d9ddcf;border-radius:30px}.draft{background:#fff0d7;color:#765423;border-color:#e8cf9c}.recipe-body{padding:25px 36px 35px}.serving-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}.serving-buttons{display:flex;gap:5px}.serving-buttons button{min-width:43px;padding:8px}.small{font-size:12px;color:var(--muted);line-height:1.6}.columns{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.25fr);gap:30px}.section-title{font:25px Georgia,serif;margin:0 0 16px}.subhead{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:26px 0 12px;color:var(--green)}.subhead:first-child{margin-top:0}.checklist{list-style:none;padding:0;margin:0}.checklist li{border-bottom:1px solid #ecece4}.checklist label{display:flex;gap:11px;padding:12px 0;font-size:13px;line-height:1.65;cursor:pointer;overflow-wrap:anywhere}.checklist input:checked~span{color:#8d938b;text-decoration:line-through}.step-number{color:#8a977e;font-family:Georgia,serif;font-size:17px;min-width:16px}.note{background:#fff4e3;border-left:3px solid #c28c4e;padding:14px 17px;font-size:12px;line-height:1.7;margin:22px 0 0}.source{border-top:1px solid var(--line);padding-top:16px;margin-top:25px}.empty{padding:35px;text-align:center;color:var(--muted);line-height:1.7}.hidden,[hidden]{display:none!important}#shopping-view{max-width:1000px;margin:auto;padding:15px 30px 50px}#shopping-view h1{margin-top:8px}.shopping-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px;margin-top:24px}.panel{border:1px solid var(--line);background:var(--white);border-radius:16px;padding:22px;min-width:0}.plan-row{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 75px;gap:10px;align-items:center}.plan-row label{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;cursor:pointer}.plan-row select{font-size:13px;padding:9px}.shopping-item{display:flex;align-items:flex-start;gap:8px}.shopping-item label{flex:1}.shopping-item button{min-height:36px;padding:5px 9px;margin-top:9px}.contribution{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}.manual{display:flex;gap:7px;margin-top:18px}.manual button{white-space:nowrap}.notice{padding:10px 15px;background:#fff0d7;border-bottom:1px solid #dfcead;font-size:13px;text-align:center}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:12px;box-shadow:0 4px 20px #0002;z-index:30;max-width:90vw;font-size:13px}dialog{border:1px solid var(--line);border-radius:18px;padding:0;max-width:min(760px,94vw);width:760px;max-height:90vh;color:var(--ink);background:var(--white)}dialog::backdrop{background:#1e2b2460}dialog form{padding:25px}dialog h2{font:30px Georgia,serif;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field{display:block;margin-bottom:15px;font-size:13px;font-weight:600}.form-field input,.form-field textarea,.form-field select{margin-top:7px;font-weight:400}.form-field .small{display:block;font-weight:400;margin-top:5px}.dialog-actions{position:sticky;bottom:0;background:var(--white);border-top:1px solid var(--line);padding-top:15px;display:flex;gap:8px;justify-content:flex-end}.form-error{color:#9c332b;font-size:13px;line-height:1.6}.local-note{max-width:1240px;margin:0 auto 25px;padding:0 30px;color:var(--muted);font-size:11px;line-height:1.6}.backup-grid{display:grid;gap:14px}.backup-grid button{text-align:left}.backup-grid button span{display:block;font-size:12px;font-weight:400;margin-top:5px;color:var(--muted)}@media(max-width:950px){.shell{grid-template-columns:230px minmax(0,1fr);gap:20px}.columns{grid-template-columns:1fr}.recipe-heading,.recipe-body{padding:25px}.shopping-layout{grid-template-columns:260px minmax(0,1fr)}}@media(max-width:680px){header{padding:20px 16px 10px;align-items:flex-start;flex-wrap:wrap;gap:18px}.brand strong{font-size:24px}.header-actions{width:100%;justify-content:space-between}.shell{display:block;padding:10px 16px 35px}.sidebar{position:static;margin-bottom:18px}.sidebar h2{display:none}.sidebar>.eyebrow{display:none}.filter-grid{grid-template-columns:1fr 1fr}.recipe-list{display:flex;overflow-x:auto;padding-bottom:8px;gap:8px;scroll-snap-type:x proximity}.recipe-card{min-width:200px;max-width:200px;background:#efeee7;border-color:var(--line);scroll-snap-align:start}.recipe-number{display:none}.count{margin:10px 0}.recipe-heading,.recipe-body{padding:23px 20px}.columns{gap:26px}h1{font-size:34px}.serving-bar{align-items:flex-start;gap:16px}.shopping-layout{grid-template-columns:1fr}#shopping-view{padding:15px 16px 35px}.form-grid{grid-template-columns:1fr}.local-note{padding:0 16px}.toolbar button{font-size:12px;padding:9px 11px}.top-nav button{font-size:13px}.mark{width:36px;height:36px}.panel{padding:18px}.manual{flex-wrap:wrap}.manual input{flex:1;min-width:130px}.row{gap:6px}.recipe-card strong{font-size:13px}}@media print{header,.sidebar,.local-note,.toolbar,.serving-bar button,button,.plan-panel,#toast{display:none!important}.shell{display:block;padding:0}.detail,.panel{border:0}.recipe-heading{background:white}.recipe-body{padding:0}.shopping-layout{display:block}body{background:white}.columns{display:block}.checklist label{padding:6px 0}.note{break-inside:avoid}}
