
:root{--ink:#291b2c;--muted:#756a76;--accent:#ce422a;--paper:#faf9f7;--line:#e5dfe3;--white:#fff;--soft:#f1edf2;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #985ca8;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:clamp(2.4rem,4vw,3.7rem);letter-spacing:-.045em;line-height:1.08;margin-bottom:20px}h2{font-size:2rem;letter-spacing:-.035em}h3{font-size:1.5rem;line-height:1.25}p{line-height:1.65}small,.meta{font-size:.875rem;color:var(--muted)}.header{min-height:94px;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:25px;border-bottom:1px solid var(--line);background:#fff}.brand{font-weight:700;font-size:1.65rem;letter-spacing:-.065em;display:inline-flex;align-items:center;gap:4px}.brand>span:last-child{font-weight:400}.brandmark{font:italic 2.2rem Georgia;background:var(--ink);color:#fff;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-right:9px;padding-bottom:7px}.header nav{display:flex;gap:30px;align-items:center;font-size:.95rem}.header nav a{padding:12px 0;color:var(--muted)}.header nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--accent)}#account{display:flex;gap:12px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--ink);color:#fff;border-radius:8px;padding:13px 21px;font-weight:600;font-size:.95rem;min-height:46px;text-decoration:none!important}.button:hover{filter:brightness(1.18)}.button.accent{background:var(--accent)}.button.light{background:#fff;color:var(--ink);border-color:var(--line)}.button.compact{padding:9px 16px;min-height:40px}.textbutton{border:0;background:none;color:inherit;padding:6px 0;font-size:.9rem;text-decoration:underline;text-underline-offset:4px}.iconbutton{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:1.5rem}.skip{position:absolute;left:10px;top:-100px;background:white;padding:16px;z-index:9}.skip:focus{top:10px}main{max-width:1320px;margin:auto;padding:38px 5% 70px;min-height:75vh}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.17em;font-weight:700;margin-bottom:18px}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:0;min-height:365px;border-radius:18px;overflow:hidden;background:var(--ink);color:white;margin-bottom:34px}.intro-copy{padding:36px 38px}.intro-copy h1 em{color:#ff9478;font-weight:400}.intro-copy p{color:#d4c6d7;font-size:1rem;max-width:420px;margin-bottom:22px}.intro-photo{position:relative;min-height:290px}.intro-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:66% 50%}.photo-label{position:absolute;bottom:23px;left:23px;background:#fff;padding:10px 16px;border-radius:6px;color:var(--ink);font-size:.85rem}.importbar{display:flex;gap:9px;background:#fff;padding:7px;border-radius:10px;align-items:center}.importbar input{background:transparent;border:0;min-width:0;flex:1;padding:10px;font-size:.9rem;box-shadow:none}.intro-copy .subnote{font-size:.8rem;margin:12px 0 0;color:#d4c6d7}.searchbar{display:flex;gap:12px;align-items:center;margin-bottom:22px}.searchbox{display:flex;align-items:center;flex:1;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 16px;gap:12px}.searchbox input{border:0;background:transparent;width:100%;padding:15px 0;outline-offset:0}.search-symbol{font-size:1.5rem;color:var(--muted)}input,textarea,select{border:1px solid #ccc1cd;background:#fff;border-radius:7px;padding:12px;color:var(--ink);font-size:1rem;max-width:100%}textarea{resize:vertical;min-height:100px;line-height:1.5}select{cursor:pointer}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.chip{border:1px solid var(--line);background:#fff;border-radius:30px;padding:9px 17px;color:var(--muted);font-size:.9rem}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.sectionheading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 20px}.sectionheading h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-align:left;display:flex;flex-direction:column;min-width:0}.card-main{border:0;background:none;padding:0;text-align:inherit;color:inherit;flex:1;width:100%}.card-image{height:175px;width:100%;object-fit:cover;display:block}.card-art{height:130px;background:#e9e0ec;display:flex;justify-content:space-between;align-items:end;padding:23px;gap:12px}.card-art.own{background:#e8eee9}.card-art strong{font:italic 3.4rem Georgia}.card-art span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.card-content{padding:21px 23px}.card h3{margin:9px 0 13px}.card p{font-size:.9rem;color:var(--muted);margin:0 0 17px}.card-bottom{display:flex;justify-content:space-between;gap:10px;padding-top:15px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.badge{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.empty{padding:55px 25px;border:1px dashed #cfc2d3;border-radius:14px;text-align:center;background:#fff}.empty p{color:var(--muted);max-width:520px;margin:0 auto 22px}.empty .button{margin:4px}.notice{border:1px solid #ecd1a4;background:#fff7e8;color:#694922;border-radius:8px;padding:15px 18px;margin-bottom:20px;font-size:.9rem;line-height:1.6}.notice.error{background:#fff0ee;color:#9e3323;border-color:#edbdb5}.notice a,.notice button{margin-left:8px}.shelf-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.shelf-top h1{margin-bottom:9px}.shelf-top p{margin:0;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:10px}.usage{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--soft);border-radius:10px;margin-bottom:26px;gap:20px}.usage p{margin:5px 0 0;font-size:.875rem;color:var(--muted)}.plans-title{text-align:center;max-width:700px;margin:25px auto 40px}.plans-title p{color:var(--muted)}.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:auto}.plan{border:1px solid var(--line);border-radius:16px;background:#fff;padding:35px}.plan.pro{background:var(--ink);color:#fff;border-color:var(--ink)}.plan h2{margin-top:18px}.price{font:3.2rem Georgia}.price small{font:1rem Arial;color:inherit}.plan ul{list-style:none;padding:0;margin:27px 0}.plan li{padding:10px 0;border-bottom:1px solid #ddd2df44;line-height:1.6;font-size:.95rem}.plan li::before{content:'✓';margin-right:10px;color:#db674d}.plan .button{width:100%}.plan .fineprint{font-size:.8rem;margin:17px 0 0;opacity:.75}.form{display:grid;gap:17px}.form label{display:grid;gap:8px;font-weight:600;font-size:.9rem}.form .hint{font-size:.85rem;color:var(--muted);font-weight:400;line-height:1.5}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .check{display:flex;align-items:start;line-height:1.5;font-weight:400}.form .check input{margin-top:4px}.form-error{color:#a83020;background:#fff0ee;padding:12px;border-radius:6px;line-height:1.5}.form-error:empty{display:none}.form small{line-height:1.6}.form details summary{cursor:pointer;font-size:.9rem}.form details label{margin-top:16px}.form .button{justify-self:start}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:650px;width:calc(100% - 32px);max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #15081c44}dialog::backdrop{background:#21152899;backdrop-filter:blur(4px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialoghead h2{font-size:1.7rem;margin:0}.dialoghead .iconbutton{flex-shrink:0}.recipe-detail .description{color:var(--muted)}.recipe-detail .facts{display:flex;gap:20px;border-block:1px solid var(--line);padding:15px 0;margin:22px 0}.recipe-detail li{line-height:1.65;margin-bottom:12px}.recipe-detail ul{padding-left:20px}.recipe-detail ol{padding-left:25px}.recipe-detail h3{margin-top:25px}.recipe-detail .source{display:block;padding:15px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere;font-size:.9rem;margin:20px 0}.recipe-detail .actions{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.recipe-detail .notes{white-space:pre-wrap;font-size:.9rem}.recipe-detail[dir=rtl] ul,.recipe-detail[dir=rtl] ol{padding-left:0;padding-right:25px}.form textarea[dir=auto]{text-align:start}.loading{padding:35px;color:var(--muted);text-align:center}.job{padding:16px;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.job p{margin:0}.job.error{color:#a83020}.results-note{font-size:.875rem;color:var(--muted);margin-top:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:600px;width:max-content;max-width:calc(100% - 30px);padding:14px 22px;background:var(--ink);color:white;border-radius:9px;box-shadow:0 7px 25px #291b2c33;z-index:10;display:none;font-size:.95rem;line-height:1.5}#toast.visible{display:block}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:30px 3%;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--muted);font-size:.8rem}.small{font-size:1.2rem;color:var(--ink)}.muted{color:var(--muted)}.full{width:100%}.spaced{margin-top:20px}.danger{color:#a83020}.auth-invite{max-width:650px;margin:50px auto}.source-actions{padding:0 23px 20px;display:flex;gap:12px}.source-actions a{font-size:.85rem;text-decoration:underline}.collection-title{overflow-wrap:anywhere}.noresults{grid-column:1/-1}.inline-note{font-size:.85rem;color:var(--muted);line-height:1.6;margin:16px 0}.lock{width:60px;height:60px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin:0 auto 20px;font-size:1.6rem}
@media(min-width:1500px){main{padding-inline:25px}.header{padding-inline:max(5%,calc((100vw - 1270px)/2))}}@media(max-width:900px){.header{flex-wrap:wrap;padding:17px 5%;gap:14px}.header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:4px}.intro{grid-template-columns:1fr 0.75fr}.intro-copy{padding:28px}.importbar{flex-wrap:wrap}.importbar input{flex-basis:100%}.importbar .button{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-top{align-items:start;flex-direction:column}.intro-copy h1{font-size:2.7rem}.header nav{gap:35px}}@media(max-width:600px){main{padding:24px 5% 45px}.header{gap:12px}.brand{font-size:1.35rem}.brandmark{width:34px;height:34px;font-size:1.8rem}.header nav{font-size:.9rem;gap:25px}#account .textbutton{font-size:.8rem}.intro{display:flex;flex-direction:column}.intro-copy{padding:26px}.intro-photo{height:170px;min-height:170px}.intro-copy h1{font-size:2.5rem}.intro-copy p{font-size:.95rem}.importbar{flex-wrap:nowrap}.importbar input{flex-basis:auto;font-size:.8rem}.importbar .button{width:auto;padding:12px;font-size:.8rem}.photo-label{bottom:16px;left:16px}.grid,.plans{grid-template-columns:1fr}.searchbar{flex-wrap:wrap}.searchbox{flex-basis:100%}.searchbar select{width:100%}.card-image{height:200px}.sectionheading{align-items:start}.sectionheading h2{font-size:1.7rem}.usage{align-items:start;flex-direction:column}.form .row{grid-template-columns:1fr}dialog{padding:22px}.plans-title h1{font-size:2.6rem}.plan{padding:28px}footer{flex-wrap:wrap;padding:25px 5%}footer>span{width:100%;order:3}.header .button{font-size:.8rem;padding:9px 12px}.shelf-top h1{font-size:2.5rem}.recipe-detail .facts{flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){.button,.chip{transition:background .15s,filter .15s}.card{transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #291b2c0a}}

.brand-icon{width:48px;height:48px;object-fit:contain;margin-right:6px}.filterrows{display:flex;gap:20px;flex-wrap:wrap;margin:-5px 0 22px}.filterrows label{font-size:.875rem;color:var(--muted);display:flex;gap:10px;align-items:center}.filterrows select{font-size:.875rem;padding:8px;border-color:var(--line)}.ingredient-list{list-style:none;padding:0!important}.ingredient-list li{border-bottom:1px solid var(--line);padding:8px 0}.ingredient-list label{display:flex;gap:12px;align-items:start}.ingredient-list input{margin-top:7px;accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.ingredient-list input:checked+span{text-decoration:line-through;color:var(--muted)}.social-login{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.social-login .button{font-size:.9rem}.divider{text-align:center;color:var(--muted);font-size:.85rem;margin:20px 0}.intro{min-height:280px}.intro-copy{padding:28px 34px}.intro-copy h1{font-size:clamp(2.1rem,3.2vw,3rem);margin-bottom:12px}.intro-copy .eyebrow{margin-bottom:12px}.intro-copy p{margin-bottom:15px}.intro-photo{min-height:260px}.print-shopping .ingredient-list input:checked+span{display:none}
@media(max-width:600px){.intro-photo{display:none}.intro-copy{padding:25px}.filterrows{gap:10px}.filterrows label{flex:1;display:grid}.filterrows select{width:100%}.brand-icon{width:38px;height:38px}.social-login{grid-template-columns:1fr}}
@media print{body{background:white;color:black}.header,main,footer,#toast,.skip{display:none!important}dialog[open]{position:static;display:block;max-width:none;width:100%;height:auto;max-height:none;margin:0;padding:0;border:0;box-shadow:none;overflow:visible}dialog::backdrop{display:none}.dialoghead .iconbutton,.recipe-detail .actions{display:none}.recipe-detail .source{color:black}.recipe-detail li{break-inside:avoid}.print-shopping .instructions,.print-shopping .recipe-notes,.print-shopping .source,.print-shopping .facts,.print-shopping .description,.print-shopping .badge,.print-shopping .inline-note{display:none}.print-shopping .ingredient-list li:has(input:checked){display:none}.ingredient-list input{display:none}.ingredient-list input:checked+span{text-decoration:none;color:black}.dialoghead h2{font-size:24pt}.recipe-detail h3{font-size:18pt}.recipe-detail p,.recipe-detail li{font-size:12pt}}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:30px 0}.stats>div{background:white;border:1px solid var(--line);padding:22px;border-radius:10px;display:grid;gap:8px}.stats strong{font:2.4rem Georgia}.stats span{font-size:.85rem;color:var(--muted)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th,td{padding:17px;border-bottom:1px solid var(--line);line-height:1.65}th{font-weight:600;background:var(--soft)}@media(max-width:850px){.stats{grid-template-columns:repeat(2,1fr)}}
.rating,.rating-summary{color:#a15b00;font-weight:600}.rating-summary{padding:15px;background:#fff7e8;border-radius:8px}.feedback{border-top:1px solid var(--line);margin-top:25px;padding-top:10px}.stars{border:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.stars legend{font-size:.9rem;font-weight:600;margin-bottom:12px}.stars label{display:block}.stars input{position:absolute;opacity:0;width:1px}.stars span{display:block;border:1px solid var(--line);padding:10px;border-radius:6px;cursor:pointer}.stars input:checked+span{background:#fff0cb;border-color:#a15b00}.stars input:focus-visible+span{outline:3px solid #985ca8;outline-offset:3px}.comment,.message{background:white;padding:22px;border:1px solid var(--line);border-radius:10px;margin-top:15px}.comment p,.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0}.message>small{display:block;margin-top:7px}.message.sent{background:var(--soft);margin-left:35px}.messages{max-width:800px}.job pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem}.header nav{gap:20px}.header{flex-wrap:wrap}.header .brand{white-space:nowrap}@media(max-width:900px){.header nav{gap:18px;flex-wrap:wrap}}@media(max-width:600px){.header nav{gap:10px;font-size:.8rem}.header nav a{padding:10px 4px}}@media print{.feedback,.recipe-detail .rating-summary{display:none}}
.topics{display:grid;gap:12px}.topic{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 23px;text-decoration:none!important}.topic:hover{border-color:#cfc2d3}.topic h3{margin:8px 0 6px;font-size:1.3rem}.topic-stats{display:grid;justify-items:end;text-align:right;flex-shrink:0;color:var(--muted);font-size:.85rem}.topic-stats strong{font:1.8rem Georgia;color:var(--ink)}.thread{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;margin-top:18px}.thread h1{margin:12px 0 8px;font-size:clamp(2rem,3vw,2.8rem)}.post-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0}.replies{max-width:860px}.replies .comment p{margin:10px 0}@media(max-width:600px){.topic{flex-direction:column;align-items:start}.topic-stats{justify-items:start;text-align:left;grid-auto-flow:column;gap:6px;align-items:baseline}.thread{padding:22px}}
.legal{max-width:760px;margin:0 auto}.legal h2{font-size:1.5rem;margin:34px 0 10px}.legal li{line-height:1.65;margin-bottom:10px}.legal p{line-height:1.7}.cookie-notice{position:fixed;left:16px;right:16px;bottom:16px;margin:0 auto;max-width:620px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;box-shadow:0 10px 30px #291b2c22;z-index:9;font-size:.9rem}.cookie-notice p{margin:0;line-height:1.5}.cookie-notice a{text-decoration:underline}footer .footer-links{display:flex;gap:18px;flex-wrap:wrap}
.voucher{max-width:860px;margin:28px auto 0;display:grid;gap:10px}.voucher label{font-weight:600}.voucher input{flex:1;min-width:0;text-transform:uppercase}.photos{border-top:1px solid var(--line);margin-top:25px;padding-top:10px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-top:18px}.photo-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-grid figcaption{padding:10px;font-size:.85rem;line-height:1.5;display:grid;gap:4px}@media print{.photos{display:none}}
/* ---- Design 1b "Warm & calm": cream, terracotta, Fraunces + Inter. Overrides the original theme above. ---- */
@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--ink:#2B2118;--muted:#6B5848;--accent:#B4532A;--accent-dark:#9A4521;--paper:#FBF6EE;--line:#E8DCCB;--soft:#F3E9DA;--white:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,.brand,.price,.stats strong,.card-art strong{font-family:Fraunces,Georgia,"Times New Roman",serif;font-weight:400}
h1{letter-spacing:-.02em}
a:hover{text-decoration:underline}
.header{background:var(--paper);border-bottom:0;min-height:0;padding:24px 5%}
.brand{font-size:1.5rem;letter-spacing:-.01em;font-weight:500;gap:0;white-space:nowrap}.brand span{color:var(--accent);font-style:italic;margin-left:.28em}.brand-icon{display:none}
.header nav{gap:28px}.header nav a{color:var(--muted)}.header nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}
.button{border-radius:999px;background:var(--ink)}.button.accent{background:var(--accent)}.button.light{border-color:var(--line)}
.button:hover{filter:none;opacity:.92}
.badge,.eyebrow{color:#8A5A3C}
.card,.empty,.plan,.thread,.topic,.comment,.message,.job,.tablewrap,.stats>div{border-color:var(--line);border-radius:18px}
.card-art{background:var(--soft)}.card-art.own{background:#EFE6D3}
.chip{border-color:var(--line)}.chip.active{background:var(--ink);border-color:var(--ink)}
.usage{background:var(--soft)}
.plan.pro{background:var(--ink)}
input,textarea,select{border-color:#DCCDB9}
dialog{border-color:var(--line);background:#FFFDF9}
footer{border-top:1px solid var(--line);color:var(--muted)}footer .brand.small{font-size:1.1rem}
#toast{background:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent)}
/* Home */
.home-hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:24px 0 80px}
.home-hero .copy{flex:1 1 400px;min-width:0;display:grid;gap:22px}
.home-hero h1{font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1.08;margin:0}.home-hero h1 em{color:var(--accent)}
.home-hero p{margin:0;font-size:1.1rem;line-height:1.7;color:var(--muted);max-width:470px}
.home-hero .small{font-size:.875rem;color:#8A7666}
.home-hero img{flex:1 1 420px;min-width:0;width:100%;height:460px;object-fit:cover;object-position:40% 50%;border-radius:24px}
.pillform{display:flex;flex-wrap:wrap;gap:10px;max-width:520px}.pillform input{flex:1 1 230px;min-width:0;border-radius:999px;padding:15px 20px;border-color:#E2D4C1}
.list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.list-head h2{margin:0;font-size:1.9rem}
.recipe-list{display:grid}.recipe-list a,.recipe-list button{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:22px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);text-align:left;text-decoration:none;font:inherit;width:100%}
.recipe-list .title{font-family:Fraunces,Georgia,serif;font-size:1.35rem}.recipe-list .meta{align-self:center}
.recipe-list a:hover .title,.recipe-list button:hover .title{color:var(--accent)}
.home-swap{background:var(--soft);margin:80px -5% -70px;padding:88px 5%}
.home-swap .inner{max-width:1320px;margin:0 auto;display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.home-swap img{flex:1 1 420px;min-width:0;width:100%;height:360px;object-fit:cover;border-radius:24px}
.home-swap .copy{flex:1 1 360px;display:grid;gap:18px;justify-items:start}.home-swap h2{margin:0;font-size:2.4rem;line-height:1.12}.home-swap p{margin:0;color:var(--muted);line-height:1.7}
/* Community tabs */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px;border-bottom:1px solid var(--line)}
.tabs a{padding:12px 16px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}
/* Public server-rendered pages */
.public main{max-width:1120px}
.page-intro{max-width:760px;padding:24px 0 40px;display:grid;gap:18px;justify-items:start}.page-intro h1{margin:0}.lead{font-size:1.15rem;line-height:1.7;color:var(--muted);margin:0}
.recipe-page{max-width:900px}.recipe-page h1{margin:6px 0 14px}.recipe-page .facts{display:flex;flex-wrap:wrap;gap:20px;color:var(--muted);border-block:1px solid var(--line);padding:14px 0;margin:24px 0}
.video-credit{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:0 0 28px;text-decoration:none;color:var(--ink);line-height:1.5}.video-credit img{border-radius:10px;flex-shrink:0;width:160px;height:90px;object-fit:cover}
.recipe-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:40px}.recipe-columns li{line-height:1.65;margin-bottom:10px}
.cta{background:var(--soft);border-radius:20px;padding:28px;margin:40px 0 20px;display:grid;gap:10px;justify-items:start}.cta h2,.cta p{margin:0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding:20px 0 40px}.steps h2{font-size:1.4rem}.steps p,.faq p{color:var(--muted);line-height:1.7}
.faq{max-width:760px;padding-bottom:40px}.faq h3{font-size:1.2rem;margin:26px 0 6px}
@media(max-width:700px){.recipe-columns{grid-template-columns:1fr}.home-hero img{height:300px}.home-hero{gap:32px;padding-bottom:48px}.video-credit img{width:110px;height:62px}.home-swap{padding:56px 5%}}
.home-hero .tagline{font-family:Fraunces,Georgia,serif;font-size:1.35rem;color:var(--ink);margin:0}.home-hero .tagline em{color:var(--accent)}
.howto{background:var(--soft);border-radius:14px;padding:16px 18px;display:grid;gap:6px}.howto p{margin:0;line-height:1.6}
.page-intro h1 em{color:var(--accent)}
.gift-banner{background:var(--soft);border-radius:14px;padding:14px 16px;margin-bottom:18px;line-height:1.55}
.page-intro.gift h1 em{color:var(--accent)}.page-intro.gift .small{color:var(--muted);font-size:.875rem;margin:0}.gift-photo{width:100%;max-width:760px;height:340px;object-fit:cover;object-position:40% 50%;border-radius:24px;display:block}
.card-image{height:190px;object-fit:cover;background:var(--soft)}.card-art.title{align-items:end;flex-direction:column;justify-content:end;gap:6px;height:190px}.card-art.title strong{font:italic 1.7rem/1.2 Fraunces,Georgia,serif;align-self:start;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-art.title span{align-self:start}
.shopping{max-width:760px}.shop-list{list-style:none;padding:0;margin:20px 0;display:grid}.shop-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:6px 0}.shop-list label{display:flex;gap:14px;align-items:center;flex:1;padding:8px 0;cursor:pointer;font-size:1.05rem;line-height:1.4}.shop-list input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.shop-list small{display:block;color:var(--muted);font-size:.8rem}.shop-list.done label{color:var(--muted);text-decoration:line-through}.shop-done{font-size:1.3rem;margin-top:30px}.shop-list .iconbutton{width:34px;height:34px;font-size:1.2rem;flex-shrink:0}
@media print{.print-list header,.print-list footer,.print-list .no-print,.print-list .shop-done,.print-list .shop-list.done,.print-list #toast,.print-list #cookie-notice{display:none!important}.print-list main{padding:0}.print-list .shop-list input{width:14px;height:14px}}
.about-cook{margin:1.5rem 0;padding:1rem 1.25rem;border-left:3px solid var(--accent,#B4532A);background:rgba(180,83,42,.06);border-radius:0 12px 12px 0}.about-cook h3{margin:0 0 .35rem}.about-cook p{margin:0;white-space:pre-line}
.recipe-hero{margin:0 0 20px;border-radius:12px;overflow:hidden;position:relative}.recipe-hero img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.recipe-hero figcaption{position:absolute;right:10px;bottom:10px;background:#2B2118b3;color:#fff;font-size:.72rem;padding:4px 9px;border-radius:20px}
.recipe-list a,.recipe-list button{align-items:center}.recipe-list .thumb{width:92px;height:62px;object-fit:cover;border-radius:8px;flex-shrink:0}.recipe-list .thumb+.title{flex:1;min-width:160px}
.public .recipe-hero{max-width:900px}
.story{max-width:760px;margin:0 auto}.story-photo{margin:0 0 34px;border-radius:18px;overflow:hidden}.story-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.story h1 em{color:var(--accent);font-style:italic}.story h2{margin-top:36px}.story p{font-size:1.06rem}.story .lead{font-size:1.25rem}.story .cta{margin-top:40px}
