@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#f7f4ec;--ink:#283b30;--muted:#6e766c;--line:#d9dbce;--accent:#b35a37}*{box-sizing:border-box}html{min-width:393px;scroll-behavior:smooth}body{margin:0;min-width:393px;min-height:852px;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}header{max-width:1280px;margin:auto;padding:30px 55px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}a{color:inherit}.brand{text-decoration:none;font-size:21px;font-weight:700;letter-spacing:2px}.brand span{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:7px}.header-note{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.header-link{text-decoration:none;font-weight:600}.header-link span{margin-left:24px}main{max-width:1170px;margin:auto}.eyebrow{font-size:9px;letter-spacing:2px;margin-top:24px}.eyebrow span{margin:0 15px;color:var(--accent)}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:45px 0 48px}.kicker{font-size:10px;font-weight:600;letter-spacing:1.7px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:100px;line-height:.98;letter-spacing:-5px;margin:25px 0;position:relative}h1 em{color:var(--accent);font-weight:500}.spark{font-family:Georgia;font-size:70px;position:absolute;left:305px;bottom:2px;font-weight:400;color:var(--accent)}.intro{line-height:1.85;color:var(--muted)}.jump{display:inline-block;margin-top:18px;font-size:12px;text-underline-offset:7px}.jump span{margin-left:30px}.illustration{height:330px;position:relative}.circle{position:absolute;border-radius:50%;background:#e9e6d8;width:310px;height:310px;left:80px;top:0}.loaf{position:absolute;width:290px;height:145px;left:100px;top:105px;border-radius:60% 45% 30% 30%;transform:rotate(-15deg);background:linear-gradient(175deg,#dca758 5%,#ad612c 48%,#783a21 95%);box-shadow:inset 0 -15px 0 #9d5027,12px 20px 18px #655d3530;border:3px solid #9d602e;overflow:hidden}.loaf:after{content:'';position:absolute;inset:12px;background:radial-gradient(ellipse,#5c321c 1px,transparent 2px) 0 0/25px 18px;opacity:.35}.score{position:absolute;width:25px;height:90px;background:#e5bd7b;border-radius:80%;top:5px;transform:rotate(25deg);box-shadow:4px 0 6px #6c351f}.s1{left:75px}.s2{left:140px}.s3{left:205px}.slice{position:absolute;left:310px;top:190px;width:100px;height:110px;border:9px solid #a16130;border-radius:55% 55% 15% 15%;background:radial-gradient(ellipse,#9c6339 1px,transparent 3px) 4px 2px/17px 15px,#e8c28a;transform:rotate(18deg);box-shadow:7px 8px 0 #bc8145}.handwritten{position:absolute;left:25px;bottom:18px;transform:rotate(-10deg);font:italic 21px Georgia;color:var(--muted)}.seal{position:absolute;right:10px;top:6px;border:1px solid #9da88c;border-radius:50%;height:95px;width:95px;text-align:center;padding-top:18px;font-size:8px;letter-spacing:1px;transform:rotate(12deg)}.seal b{font-size:23px;font-weight:400}.crumb{position:absolute;background:#b27a3d;width:6px;height:6px;top:294px;left:275px;transform:rotate(20deg)}.c2{left:290px;top:310px;width:4px;height:4px}.story{border-block:1px solid var(--line);padding:22px 0;display:flex;align-items:center;gap:35px}.story>span:first-child{font-size:9px;letter-spacing:1.4px;min-width:178px}.story p{margin:0;font-size:12px;line-height:1.8;max-width:720px;color:var(--muted)}.story-star{font-size:35px;margin-left:auto;color:var(--accent)}.workspace{display:grid;grid-template-columns:300px 1fr;gap:65px;padding:52px 0 70px;scroll-margin-top:25px}h2{font-size:34px;letter-spacing:-.9px;margin:13px 0}.muted{color:var(--muted);font-size:12px;line-height:1.8}form{margin-top:27px}form label{display:block;font-size:11px;font-weight:600;margin:21px 0 10px}select,.stepper{width:100%;border:1px solid #c7cdbf;background:transparent;border-radius:3px;color:var(--ink)}select{height:48px;padding:0 12px;font:inherit;font-size:12px}.stepper{display:flex;height:47px}.stepper button{border:0;background:transparent;width:45px;font-size:22px;color:var(--ink);cursor:pointer}.stepper input{width:calc(100% - 90px);text-align:center;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.hint{font-size:11px;color:var(--muted);min-height:16px}.submit{width:100%;margin-top:12px;background:var(--ink);color:white;border:0;padding:17px 15px;text-align:left;font:inherit;font-size:12px;cursor:pointer}.submit span{float:right}button:disabled{opacity:.5;cursor:wait}.note{display:flex;gap:13px;margin-top:27px;background:#eeeee2;padding:15px}.note>span{font-size:24px}.note p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.note strong{display:block;color:var(--ink);font-weight:500}.recipe-top{display:flex;align-items:center;justify-content:space-between}.print{border:0;background:none;color:var(--muted);font:inherit;font-size:10px;cursor:pointer}.sample{font-size:9px;letter-spacing:1px;color:#985735;background:#eee4d5;padding:7px 10px;margin-top:19px;display:inline-block}article h2{font-size:36px;margin:9px 0 12px}.description{color:var(--muted);font-size:12px;line-height:1.8;max-width:540px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:#eeeee4;padding:18px 20px;gap:18px;margin:25px 0 30px}.stats small{font-size:8px;letter-spacing:1.2px;display:block;margin-bottom:8px;color:var(--muted)}.stats strong{font-size:14px;font-weight:500}.ingredient-heading{display:flex;align-items:center;justify-content:space-between}h3{font-size:24px;margin:0}.ingredient-heading>span{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.ingredients{list-style:none;margin:12px 0 24px;padding:0}.ingredients li{border-bottom:1px solid var(--line)}.ingredients label{display:flex;align-items:center;padding:15px 0;gap:13px;font-size:12px;cursor:pointer}.ingredients input{accent-color:var(--ink);width:15px;height:15px;margin:0}.ingredients strong{margin-left:auto;font-size:12px;font-weight:500;text-align:right}.ingredients input:checked+span{text-decoration:line-through;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:0 0 17px}summary{cursor:pointer;font:22px 'Playfair Display',Georgia,serif}summary span{float:right}details ol{padding-left:22px;font-size:12px;line-height:1.9;color:var(--muted)}details li{padding:6px}.recipe-bottom{font-size:10px;color:var(--muted);margin-top:22px}.recipe-bottom span{float:right;color:var(--accent)}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:9px;letter-spacing:1.4px}footer p{font:italic 14px Georgia;letter-spacing:0}#error{font-size:12px;color:#a13925}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:1250px){main{margin:0 40px}}@media(max-width:800px){header{padding:24px}.header-note{display:none}main{margin:0 24px}.hero{grid-template-columns:1fr 1fr;gap:0}h1{font-size:76px}.spark{left:235px;font-size:48px}.illustration{transform:scale(.78);transform-origin:center;width:400px;margin-left:-30px}.story{gap:18px}.story>span:first-child{min-width:105px;max-width:105px;line-height:1.8}.workspace{grid-template-columns:230px 1fr;gap:30px}.stats{padding:14px 12px;gap:10px}.stats strong{font-size:12px}}@media(max-width:620px){.brand{font-size:17px}.header-link{font-size:12px}.eyebrow{font-size:7px;letter-spacing:1.1px}.eyebrow span{margin:0 5px}.hero{grid-template-columns:1fr;padding:30px 0 20px}.hero .kicker{font-size:8px}h1{font-size:90px}.spark{left:280px}.intro{font-size:12px}.illustration{height:290px;width:360px;margin:5px auto -20px;transform:scale(.85);transform-origin:top left}.seal{right:-14px}.story{padding:17px 0;gap:15px}.story p{font-size:10px}.story-star{display:none}.workspace{grid-template-columns:1fr;gap:38px;padding-top:30px}aside .muted br{display:none}form{margin-top:20px}.note{margin-top:20px}article h2{font-size:31px}.stats{padding:17px 12px}.stats strong{font-size:13px}.stats small{font-size:7px}footer{flex-wrap:wrap;gap:12px}footer>span:last-child{display:none}}@media print{body{min-width:0;min-height:0;background:white}header,.eyebrow,.hero,.story,aside,footer,.print,.recipe-top,.recipe-bottom{display:none}main{margin:0}.workspace{display:block;padding:0}details{display:block}details::details-content{content-visibility:visible}article{break-inside:avoid}.ingredients label{padding:10px 0}}

/* Selection and results are separate screens, with URL-backed batch choices. */
body:not(.recipe-view) .recipe-display{display:none}
body:not(.recipe-view) .workspace{display:block;max-width:510px;margin:auto}
body:not(.recipe-view) aside{width:100%}
.recipe-view .hero,.recipe-view .story,.recipe-view .eyebrow,.recipe-view .workspace aside{display:none}
.recipe-view .workspace{display:block;max-width:780px;margin:auto;min-height:650px}
#back-to-selector{display:inline-block;margin-bottom:30px;font-size:12px;text-underline-offset:5px}
@media print{#back-to-selector{display:none}.recipe-view .workspace{min-height:0;max-width:none}}

.add-recipe{width:100%;padding:13px;border:1px dashed #a5af9b;background:transparent;color:var(--ink);font:inherit;font-size:12px;cursor:pointer;margin:8px 0 12px}.extra-row{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.row-title{display:flex;justify-content:space-between;font-size:12px}.remove{border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}.order-summary{list-style:none;padding:0;margin:24px 0 30px}.order-summary li{padding:15px 0;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.order-summary li>span{margin-left:auto}.order-summary small{width:100%;color:var(--muted);font-size:10px}

/* Keep recipe and batch controls together, including at the minimum phone width. */
.selection-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;column-gap:14px;align-items:start}
.selection-row>label{grid-row:1;margin:0 0 10px}
.selection-row>label:first-of-type{grid-column:1}
.selection-row>label:nth-of-type(2){grid-column:2}
.selection-row>select{grid-column:1;grid-row:2;min-width:0}
.selection-row>.stepper{grid-column:2;grid-row:2;height:48px}
.selection-row .stepper button{width:32px;flex-shrink:0}
.selection-row .stepper input{width:calc(100% - 64px);min-width:0}
.selection-row>.hint{grid-column:1;grid-row:3;margin:10px 0 0}
.selection-row>.remove{grid-column:2;grid-row:3;justify-self:end;margin-top:10px;padding:0;font-size:11px}
.extra-row{margin-top:18px;padding-top:18px}
@media(max-width:620px){.selection-row{grid-template-columns:minmax(0,1fr) 120px;column-gap:10px}.selection-row>select{padding-left:8px;padding-right:4px;font-size:11px}}

/* A minimal selector; recipe styling appears on the results screen. */
.selector-title{font-family:'DM Sans',sans-serif;font-size:28px;font-weight:600;line-height:1.25;letter-spacing:-.7px;margin:0 0 10px}
body:not(.recipe-view) .workspace{padding-top:48px;min-height:670px}
body:not(.recipe-view) .submit{border-radius:3px;text-align:center}
body:not(.recipe-view) footer{font-size:9px}
.ingredients-jump{margin:2px 0 15px;font-size:12px}
#ingredients{scroll-margin-top:24px}
.recipe-view article h2{font-size:42px;margin-top:12px}
@media(max-width:620px){body:not(.recipe-view) .workspace{padding-top:32px}.selector-title{font-size:25px}.recipe-view article h2{font-size:34px}}

.source-link{font-size:12px;line-height:1.7;margin:18px 0}.source-link a{text-underline-offset:3px}.source-link span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.method-note,.method-guidance{font-size:11px;line-height:1.8;color:var(--muted)}.method-note{background:#eeeee4;padding:12px 14px}

.recipe-method-link{font-size:11px;text-underline-offset:3px}#method{scroll-margin-top:24px}
