@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#1e2020;--paper:#f5f1e9;--cream:#fdfbf6;--tomato:#e64b32;--yellow:#edb940;--line:#d9d3c8;--muted:#77736d}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Manrope,sans-serif}body:before{content:"";pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E");position:fixed;inset:0}main{max-width:1500px;margin:auto;padding:28px 38px 18px}header{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--tomato);color:var(--cream);border-radius:50%;place-items:center;width:40px;height:40px;font-size:28px;display:grid}.brand p,.eyebrow,.section-label,.header-note,footer{letter-spacing:.1em;margin:0;font-family:DM Mono,monospace;font-size:10px}.brand h1{margin:-3px 0 0;font:28px DM Serif Display}.brand em{color:var(--tomato)}.header-note{text-align:right;color:var(--muted);line-height:1.5}.header-note b{color:var(--ink);font-weight:500}.hero{justify-content:space-between;align-items:end;margin:70px 0 38px;display:flex}.hero h2{letter-spacing:-.04em;margin:9px 0 0;font:clamp(48px,6vw,88px)/.87 DM Serif Display}.hero h2 i{color:var(--tomato)}.hero-copy{color:#595752;width:260px;margin:0 5% 4px 0;font-size:13px;line-height:1.6}.layout{grid-template-columns:215px minmax(450px,1fr) 310px;align-items:start;gap:16px;display:grid}.panel,.results{background:var(--cream);border:1px solid var(--line)}.recipes{min-height:520px;padding:18px 13px}.section-label{color:var(--muted);justify-content:space-between;align-items:center;padding:0 5px;display:flex}.circle-btn{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;width:23px;height:23px;font-size:20px;line-height:16px}.recipe-list{margin-top:15px}.recipe{text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:28px 1fr 14px;align-items:center;width:100%;padding:12px 7px;font:600 12px Manrope;display:grid}.recipe:hover{background:#f2eee6}.recipe.selected{border-left-color:var(--tomato);background:#f1ece2}.recipe-index{color:var(--muted);font:10px DM Mono}.delete{color:var(--muted);opacity:0;font-size:18px}.recipe:hover .delete{opacity:1}.storage-note{color:var(--muted);margin:260px 5px 0;font-size:10px;position:relative}.icon{color:var(--tomato);margin-right:4px}.workspace{gap:16px;display:grid}.editor{padding:25px 28px 22px}.panel-head{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.recipe-title{max-width:340px;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0000;padding:0;font:32px DM Serif Display}.recipe-title:focus{border-bottom-color:var(--tomato);outline:0}.percent-total{text-align:right}.percent-total small{color:var(--muted);margin-bottom:4px;font:9px DM Mono;display:block}.percent-total b{color:var(--tomato);font:28px DM Serif Display}.ingredient-head,.ingredient-row{grid-template-columns:minmax(100px,1fr) 100px 100px 25px;align-items:center;gap:10px;display:grid}.ingredient-head{color:var(--muted);padding:0 0 8px 2px;font:9px DM Mono}.ingredient-row{border-top:1px solid #e7e1d6;padding:7px 2px}.ingredient-row input{background:0 0;border:0;width:100%;padding:7px;font:500 13px Manrope}.ingredient-row input:focus{outline:1px solid #cfc6b8}.percentage{background:#f3eee5;border-radius:3px;align-items:center;display:flex}.percentage span{color:var(--muted);margin-right:8px;font:11px DM Mono}.flour-toggle{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;padding:6px 5px;font:10px DM Mono}.flour-toggle.active{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.remove{color:#908b83;cursor:pointer;background:0 0;border:0;font-size:21px}.add-ingredient{color:var(--tomato);cursor:pointer;background:0 0;border:0;padding:16px 2px 0;font:600 12px Manrope}.add-ingredient span{font-size:18px}.specs{padding:20px 28px}.unit{color:var(--tomato)}.spec-grid{grid-template-columns:1fr 1fr 1.25fr;gap:26px;margin-top:20px;display:grid}.number-field>span,.factor-field>label{color:var(--muted);margin-bottom:7px;font:10px DM Mono;display:block}.number-field>div,.factor-input{border-bottom:1px solid var(--ink);align-items:center;display:flex}.number-field input,.factor-input input{width:100%;color:var(--ink);background:0 0;border:0;min-width:0;padding:2px 0;font:28px DM Serif Display}.number-field input:focus,.factor-input input:focus{outline:0}.number-field b,.factor-input span{white-space:nowrap;color:var(--muted);font:400 10px DM Mono}.factor-field label button{color:var(--tomato);cursor:pointer;background:0 0;border:0;padding:0;font:10px DM Mono;text-decoration:underline}.factor-field small{color:var(--muted);margin-top:7px;font-size:9px;display:block}.results{background:var(--ink);color:var(--cream);min-height:520px;box-shadow:8px 8px 0 var(--yellow);padding:25px 23px}.results .eyebrow{color:#aaa69e}.results h3{margin:12px 0 28px;font:34px/.93 DM Serif Display}.results h3 i{color:var(--yellow)}.ball{border-top:1px solid #555;padding-top:14px}.ball>span,.total-dough span,.result-table>div:first-child{letter-spacing:.08em;color:#aaa69e;font:9px DM Mono}.ball strong{margin:8px 0 4px;font:50px/.95 DM Serif Display;display:block}.ball strong small{color:var(--yellow);margin-left:3px;font:15px DM Mono}.ball p{color:#aaa69e;margin:0;font-size:10px}.total-dough{border-top:1px solid #555;border-bottom:1px solid #555;justify-content:space-between;align-items:center;margin:22px 0 18px;padding:12px 0;display:flex}.total-dough b{color:var(--yellow);font:20px DM Serif Display}.result-table>div{justify-content:space-between;padding:7px 0;font-size:11px;display:flex}.result-table>div:not(:first-child){border-bottom:1px solid #3c3f3e}.result-table b{font:500 11px DM Mono}.result-table small{color:var(--yellow);margin-left:3px;font:8px DM Mono}.flour-note{color:#aaa69e;margin-top:18px;font-size:10px;line-height:1.6}.flour-note b{color:var(--cream)}.error{border-left:2px solid var(--tomato);background:#332c27;padding:15px;font-size:12px;line-height:1.5}.error p{color:#d3ccc1;margin-bottom:0}footer{color:var(--muted);text-align:center;margin-top:40px}@media (width<=1000px){.layout{grid-template-columns:180px 1fr}.results{grid-column:2}.storage-note{margin-top:100px}}@media (width<=680px){main{padding:20px}.hero{margin:45px 0 25px;display:block}.hero-copy{margin-top:20px}.layout{flex-direction:column;display:flex}.recipes,.workspace,.results{width:100%;min-height:auto}.recipe-list{display:flex;overflow:auto}.recipe{min-width:150px}.storage-note{display:none}.spec-grid{grid-template-columns:1fr}.ingredient-head{display:none}.ingredient-row{grid-template-columns:1fr 78px 84px 20px}.header-note{display:none}.editor{padding:20px}.recipe-title{width:210px;font-size:27px}}.flour-switch{cursor:pointer;justify-content:flex-start;align-items:center;display:flex}.flour-switch input{opacity:0;pointer-events:none;position:absolute}.flour-switch span{background:#d2cbc0;border-radius:20px;width:30px;height:17px;transition:all .18s;display:block;position:relative}.flour-switch span:after{content:"";background:var(--cream);border-radius:50%;width:11px;height:11px;transition:all .18s;position:absolute;top:3px;left:3px}.flour-switch input:checked+span{background:var(--tomato)}.flour-switch input:checked+span:after{transform:translate(13px)}.flour-switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.layout{align-items:stretch}.recipes{flex-direction:column;min-height:0;display:flex}.workspace{grid-template-rows:1fr auto;align-self:stretch}.results{min-height:0}.storage-note{margin-top:auto}.circle-btn{place-items:center;padding:0;line-height:1;display:grid}.circle-btn span{display:block;transform:translateY(-1px)}.spec-heading{color:var(--ink);margin:0;font:18px DM Serif Display,serif}.spec-grid{margin-top:17px}.dough-amount-field>div{justify-content:space-between;gap:10px}.dough-value{align-items:center;min-width:0;display:flex}.dough-amount-field input{appearance:textfield;flex:0 58px;width:58px}.dough-amount-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dough-amount-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dough-preset,.dough-amount-field select{border:0;border-left:1px solid var(--line);width:72px;color:var(--ink);cursor:pointer;background:0 0;margin-left:auto;font:10px DM Mono,monospace}.flour-total{justify-content:space-between;align-items:center;column-gap:24px;margin:8px 0 18px;display:flex}.flour-total b{margin-left:auto}.ingredient-head,.ingredient-row{grid-template-columns:minmax(100px,1fr) 100px 100px 62px}.ingredient-actions{align-items:center;gap:1px;display:flex}.ingredient-actions button{width:18px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.ingredient-actions button:hover:not(:disabled){color:var(--tomato)}.ingredient-actions button:disabled{cursor:default;opacity:.25}.ingredient-actions .remove{margin-left:2px;font-size:21px}.method{border-top:1px solid var(--ink);grid-template-columns:215px 1fr;gap:16px;margin-top:42px;padding:28px 0 12px;display:grid}.method-intro h3{margin:9px 0 0;font:34px/.9 DM Serif Display,serif}.method-intro i{color:var(--tomato)}.method-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none;display:grid}.method-steps li{border-top:1px solid var(--line);grid-template-columns:28px 1fr;gap:9px;min-height:74px;padding:13px 0;display:grid}.method-steps li:nth-child(-n+2){border-top:0;padding-top:0}.method-steps span{color:var(--tomato);font:10px DM Mono,monospace}.method-steps p{color:#494741;margin:0;font-size:12px;line-height:1.6}.method-steps b{color:var(--ink);font-weight:700}.method-notes{color:var(--muted);grid-column:2;margin:7px 0 0;padding:0;font-size:10px;line-height:1.7;list-style:none}.method-notes li{border:0;min-height:0;padding:0;display:list-item}.method-notes li:before{content:"— ";color:var(--tomato)}@media (width<=1000px){.workspace{grid-template-rows:none;align-self:auto}}@media (width<=680px){main{padding:18px 16px 28px}header{align-items:flex-start}.brand-mark{width:35px;height:35px;font-size:25px}.brand h1{font-size:25px}.brand p{font-size:8px}.hero{margin:42px 0 24px}.hero h2{font-size:clamp(52px,16vw,68px)}.layout{gap:12px}.recipes{padding:14px 12px 12px}.recipe-list{scroll-snap-type:x proximity;gap:7px;margin:12px 0 10px;padding-bottom:3px}.recipe{scroll-snap-align:start;border:1px solid var(--line);border-left:2px solid #0000;min-width:170px;min-height:54px;padding:10px 8px}.recipe.selected{border-color:var(--tomato)}.delete{opacity:1}.storage-note{margin:5px 5px 0;display:block}.editor{padding:21px 16px 18px}.panel-head{margin-bottom:20px}.recipe-title{width:100%;max-width:none;font-size:29px}.ingredient-head{grid-template-columns:minmax(0,1fr) 72px 38px 56px;gap:6px;padding-left:3px;display:grid}.ingredient-head span:nth-child(3){font-size:8px}.ingredient-row{grid-template-columns:minmax(0,1fr) 72px 38px 56px;gap:6px;min-height:47px}.ingredient-row input{padding:6px 3px}.percentage span{margin-right:5px}.flour-switch{justify-content:center}.remove{padding:0}.specs{padding:20px 16px}.spec-heading{font-size:24px}.spec-grid{gap:14px;margin-top:19px}.number-field{grid-template-columns:1fr minmax(128px,42%);align-items:end;column-gap:16px;display:grid}.number-field>span{margin:0 0 9px;font-size:10px}.number-field>div{min-width:0}.number-field input{font-size:31px}.dough-amount-field{grid-template-columns:1fr 145px}.dough-amount-field input{flex-basis:47px;width:47px}.dough-amount-field select{width:61px;font-size:9px}.results{box-shadow:5px 5px 0 var(--yellow);padding:23px 18px}.results h3{margin:0 0 25px;font-size:37px}.ball strong{font-size:55px}.result-table>div{padding:9px 0}.method{margin-top:32px;padding-top:22px;display:block}.method-intro{justify-content:space-between;align-items:baseline;margin-bottom:20px;display:flex}.method-intro h3{text-align:right;margin:0;font-size:30px}.method-steps{grid-template-columns:1fr;gap:0}.method-steps li,.method-steps li:nth-child(-n+2){border-top:1px solid var(--line);min-height:0;padding:13px 0}.method-steps li:first-child{border-top:0;padding-top:0}.method-notes{grid-column:auto}}@media (width<=480px){main{padding:16px 12px 24px}.brand{gap:9px}.brand-mark{width:32px;height:32px;font-size:22px}.brand h1{font-size:23px}.hero{margin:35px 0 20px}.hero h2{font-size:clamp(46px,16vw,60px)}.recipes{padding:13px 10px 11px}.recipe{min-width:148px}.editor{padding:18px 12px 16px}.recipe-title{font-size:27px}.ingredient-head{display:none}.ingredient-row{grid-template-columns:minmax(0,1fr) 74px 36px;grid-template-areas:"name percentage flour""actions actions actions";gap:2px 7px;padding:8px 2px 7px}.ingredient-row>input{grid-area:name}.ingredient-row .percentage{grid-area:percentage}.ingredient-row .flour-switch{grid-area:flour;justify-content:center}.ingredient-actions{grid-area:actions;justify-content:flex-end;min-height:21px}.ingredient-actions button{width:28px;min-height:26px}.ingredient-actions .remove{font-size:23px}.flour-switch span{width:27px}.specs{padding:18px 12px}.number-field,.dough-amount-field{grid-template-columns:1fr 126px;column-gap:10px}.number-field input{font-size:28px}.number-field b{font-size:9px}.results{padding:20px 14px}.results h3{font-size:34px}.ball strong{font-size:49px}.result-table>div{gap:8px;font-size:10px}.result-table b{white-space:nowrap}.method{margin-top:27px}.method-intro h3{font-size:28px}}
