:root{color-scheme:light;--ink:#20302b;--muted:#718079;--paper:#f5f3eb;--card:#fffefa;--line:#e8e8dc;--green:#2f5c48;--lime:#d2ef73;--orange:#db7449;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,'DM Sans',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}.topbar{height:70px;max-width:1160px;margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e5db}.brand{text-decoration:none;color:var(--ink);font:800 15px var(--display);letter-spacing:-.5px;display:flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;width:27px;height:27px;background:var(--green);color:var(--lime);border-radius:8px;font:800 18px var(--serif);transform:rotate(-4deg)}.top-note{font:12px var(--mono);color:#81887e;letter-spacing:.01em}.layout{max-width:1160px;padding:69px 36px 26px;margin:0 auto;display:grid;grid-template-columns:minmax(245px,.72fr) minmax(510px,1.42fr);gap:29px 46px;align-items:start}.intro{padding:20px 0 0 4px;position:sticky;top:30px}.eyebrow,.step-label,.summary-label,.section-rule,.unit-picker>span,.round-picker>span,.page-footer>span{font:500 10px var(--mono);letter-spacing:.105em;color:#869087}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--green)}.eyebrow-dot,.local-badge span{width:7px;height:7px;border-radius:50%;background:#92bd55;display:inline-block}.intro h1{font:500 clamp(40px,4.5vw,59px)/1.04 var(--serif);letter-spacing:-2.6px;margin:28px 0 19px;color:#25362f}.intro h1 em{font-weight:400;color:#7b9374}.intro-copy{color:#717c74;line-height:1.7;max-width:300px;font-size:14px;margin:0}.intro-foot{border-top:1px solid #e2e2d7;margin-top:33px;padding-top:17px;display:flex;align-items:center;gap:9px;font:11px var(--mono);color:#717d72}.mini-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e5ebd6;color:var(--green);font-size:15px}.calculator-card,.result-card{border-radius:14px;box-shadow:0 12px 36px #3840320d}.calculator-card{background:var(--card);padding:28px 32px 26px;border:1px solid #eeede4}.card-head,.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.step-label{margin:0;color:#91968c}.step-label span{color:#b3b8a7}.card-head h2,.result-head h2{margin:8px 0 0;font:600 22px var(--display);letter-spacing:-.75px}.unit-picker,.round-picker{display:grid;gap:7px}.unit-picker select,.round-picker select{appearance:none;border:0;background:transparent;color:#31453a;font:500 11px var(--mono);padding:0 16px 0 0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='m1 1 3.5 3.5L8 1' fill='none' stroke='%235d7063' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.mode-switch{margin-top:25px;background:#f1f2ea;padding:4px;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.mode-button{display:flex;align-items:center;text-align:left;gap:10px;border:1px solid transparent;background:transparent;border-radius:7px;padding:10px 11px;color:#66736a;cursor:pointer;font:600 12px var(--sans);transition:background .15s,border .15s}.mode-button.active{background:#fffefa;border-color:#e4e7dc;box-shadow:0 2px 6px #27392a0a;color:#294333}.mode-number{font:11px var(--mono);width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#e7ebdd;color:#56735a;flex:none}.mode-button small{display:block;font:10px var(--sans);color:#899187;margin-top:3px}.batch-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.batch-fields[hidden],[hidden]{display:none!important}.field{display:grid;gap:8px;min-width:0}.field>span:first-child{font-size:11px;font-weight:600;color:#546258}.field small{font-size:10px;font-weight:400;color:#929b91}.input-wrap{height:43px;border:1px solid #e2e5db;border-radius:7px;background:white;display:flex;align-items:center;min-width:0;transition:border-color .15s,box-shadow .15s}.input-wrap:focus-within{border-color:#789374;box-shadow:0 0 0 3px #dce8d466}.input-wrap input,.input-wrap select{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;padding:0 12px;color:#25382d;font:500 14px var(--mono);font-variant-numeric:tabular-nums}.input-wrap select{appearance:none;cursor:pointer;font:500 12px var(--sans);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 9 6'%3E%3Cpath d='m1 1 3.5 3.5L8 1' fill='none' stroke='%235d7063' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:27px}.unit-suffix{flex:none;padding:0 11px 0 3px;color:#8b958b;font:10px var(--mono)}.select-wrap{width:100%}.section-rule{margin:25px 0 15px;padding-top:19px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.section-rule span:last-child{font:10px var(--sans);letter-spacing:0;color:#929b91}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 13px}.formula-grid .field:nth-child(3)>span:first-child{display:flex;flex-direction:column;gap:2px}.optional-row{margin-top:15px;display:flex;align-items:center;gap:9px}.check-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;font-weight:600;color:#536158}.check-label input{position:absolute;opacity:0;width:1px;height:1px}.check-box{width:16px;height:16px;border:1px solid #ccd3c8;border-radius:4px;background:white;position:relative}.check-label input:checked+.check-box{background:var(--green);border-color:var(--green)}.check-label input:checked+.check-box:after{content:'✓';position:absolute;color:white;font-size:11px;left:3px;top:0}.check-label input:focus-visible+.check-box{outline:3px solid #bed2a4}.oil-input{width:81px}.oil-input .input-wrap{height:34px}.optional-note{font:10px var(--mono);color:#9aa197}.form-bottom{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.round-picker{gap:6px}.round-picker select{font-size:10px}.reset-button{border:0;background:none;padding:4px 0;color:#778278;font:11px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.error-message{margin:13px 0 0;color:#a64636;font-size:12px;line-height:1.45}.result-card{background:var(--green);color:#fffefa;padding:28px 31px 22px;position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;width:235px;height:235px;border:1px solid #ffffff0c;border-radius:50%;right:-104px;top:96px;box-shadow:0 0 0 23px #ffffff08,0 0 0 47px #ffffff05}.result-head{position:relative}.step-label.light{color:#bacabb}.result-head h2{color:#fffefa}.result-stamp{width:39px;height:39px;border:1px solid #ffffff45;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--lime);font:10px/1.15 var(--mono);transform:rotate(10deg)}.batch-summary{margin:25px 0 20px;padding:16px 17px 14px;border-radius:9px;background:#ffffff0d;border:1px solid #ffffff18;position:relative}.summary-label{font-size:9px;color:#bac8ba}.batch-summary strong{display:block;margin-top:3px;font:600 32px/1.15 var(--display);letter-spacing:-1px;font-variant-numeric:tabular-nums}.batch-summary strong small{font:500 14px var(--mono);letter-spacing:0;color:#cfdbcf}.summary-detail{margin-top:7px;color:#c1cec1;font:10px var(--mono)}.summary-detail span{color:var(--lime);padding:0 4px}.recipe-table-wrap{position:relative}.recipe-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.recipe-table th{text-align:left;padding:0 0 10px;color:#aab9ab;font:9px var(--mono);letter-spacing:.1em}.recipe-table th:nth-child(2),.recipe-table td:nth-child(2){text-align:center}.recipe-table th:last-child,.recipe-table td:last-child{text-align:right}.recipe-table td{border-top:1px solid #ffffff1b;padding:10px 0;font-size:12px;color:#f2f4e9}.recipe-table td:first-child{font-weight:500}.recipe-table td:nth-child(2){font:10px var(--mono);color:#c4d1bf}.recipe-table td:last-child{font:12px var(--mono);font-weight:500}.ingredient-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d2ef73;margin-right:9px;vertical-align:1px}.dot-1{background:#83b1c2}.dot-2{background:#e3b873}.dot-3{background:#e6956a}.dot-4{background:#c3a7d1}.recipe-table tfoot td{border-top:1px solid #ffffff37;padding:11px 0 0;color:#c8d5c9;font:10px var(--mono)}.recipe-table tfoot td:last-child{color:var(--lime);font-size:11px}.rounding-note{position:relative;color:#aebeb0;font-size:10px;margin:10px 0 0}.result-actions{position:relative;margin-top:19px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.copy-button{height:35px;border:0;border-radius:6px;padding:0 13px;background:var(--lime);color:#2b4434;font:600 11px var(--sans);cursor:pointer;transition:transform .12s,background .12s}.copy-button:hover{background:#ddf795;transform:translateY(-1px)}.copy-button span{font-size:14px;margin-right:6px}.copy-status{color:#d4e2d2;font:10px var(--mono)}.local-badge{margin-left:auto;color:#bdcdbd;font:9px var(--mono);display:flex;gap:6px;align-items:center}.local-badge span{width:6px;height:6px}.math-note{position:relative;margin-top:19px;padding-top:15px;border-top:1px solid #ffffff20;display:flex;gap:11px;align-items:flex-start}.math-icon{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#ffffff14;color:var(--lime);font-size:14px}.math-note p{margin:0;color:#c0cec1;font-size:10px;line-height:1.55}.math-note strong{color:#f4f5eb;font-size:10px}.page-footer{grid-column:1/-1;padding:19px 4px 0;border-top:1px solid #e3e2d8;display:flex;justify-content:space-between;gap:25px;align-items:center}.page-footer>span{font-size:9px;white-space:nowrap}.footer-dot{color:#9bb56b;padding:0 4px}.page-footer p{margin:0;text-align:right;color:#8a9289;font-size:10px;line-height:1.4}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:860px){.layout{grid-template-columns:minmax(190px,.7fr) minmax(440px,1.3fr);gap:24px;padding:45px 24px 24px}.calculator-card{padding:25px 24px}.intro h1{font-size:48px}.result-card{padding:25px 24px}}
@media(max-width:690px){.topbar{height:60px;padding:0 19px}.top-note{font-size:9px}.layout{display:flex;flex-direction:column;padding:31px 16px 18px;gap:20px;max-width:520px}.intro{position:static;padding:0 3px 3px}.intro h1{font-size:42px;letter-spacing:-1.8px;margin:17px 0 10px}.intro-copy{font-size:12px;max-width:390px;line-height:1.55}.intro-foot{display:none}.calculator-card,.result-card{width:100%;border-radius:12px}.calculator-card{padding:21px 18px 20px}.card-head h2,.result-head h2{font-size:20px}.unit-picker>span{font-size:8px}.unit-picker select{font-size:10px}.mode-switch{margin-top:19px}.mode-button{padding:9px 7px;gap:7px;font-size:11px}.mode-button small{font-size:9px}.mode-number{width:21px;height:21px;font-size:10px}.batch-fields{margin-top:16px;gap:10px}.field>span:first-child{font-size:10px}.input-wrap{height:41px}.formula-grid{gap:12px 10px}.section-rule{margin-top:21px}.result-card{padding:23px 19px 19px}.batch-summary{margin:21px 0 17px;padding:14px}.batch-summary strong{font-size:29px}.page-footer{padding:14px 3px 0;display:block}.page-footer p{text-align:left;margin-top:7px;font-size:9px}}
@media(max-width:370px){.mode-button{gap:5px;padding:8px 5px}.mode-button small{font-size:8px}.card-head h2{font-size:18px}.unit-picker select{font-size:9px}.formula-grid{grid-template-columns:1fr 1fr}.recipe-table td{font-size:11px}.recipe-table td:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:691px){.layout>.result-card{grid-column:2}}
.dough-illustration{display:block;max-width:100%;height:auto;margin:30px auto 0;transform:rotate(-3deg)}
.header-pickers{display:flex;align-items:end;gap:10px}.unit-picker select{max-width:150px}
.ingredient-details{border-top:1px solid #e4e6dc;border-bottom:1px solid #e4e6dc;margin-top:15px;padding:0 10px}.ingredient-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:13px;font-weight:650}.ingredient-details summary span{font-size:10px;color:#718079;font-weight:400;text-align:right}.ingredient-details[open] summary{border-bottom:1px solid #e8e8dc}.ingredient-details .formula-grid{padding:12px 0 3px}.ingredient-details>p{font-size:11px;line-height:1.6;color:#5d6c60;margin:4px 0 13px}.addition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.source-note{border:1px solid #d7dfd1;border-radius:8px;padding:12px 14px;margin:15px 0 0;background:#344d3c;font-size:11px;line-height:1.65;color:#e3eadf}.source-note a,.preset-credit a{color:#e0edaa;text-underline-offset:2px}.source-note strong{color:white}.preset-credit{font-size:11px!important;line-height:1.5!important;border-top:1px solid var(--line);padding-top:10px;margin-top:auto!important}.preset-credit a{color:#315d45;font-weight:600}.preset-card .preset-tip{flex:initial}.preset-card h3{font-size:21px}.preset-card dl div{line-height:1.8}.preset-card button{margin-top:12px}
.finishing-panel{border-top:1px solid #60776a;padding:10px 0 5px}.finishing-panel>p{font:10px var(--mono);letter-spacing:.06em;color:#e2e8d7}.finishing-panel>p span{letter-spacing:0;color:#c7d2c6}.finishing-panel ul{padding-left:18px;color:white;font-size:12px;line-height:1.8}.preset-note-link{color:#315d45}
@media(max-width:690px){.header-pickers{display:grid;grid-template-columns:1fr 1fr;width:100%;align-items:stretch}.unit-picker select{max-width:none;width:100%}.ingredient-details summary{align-items:flex-start;padding:14px 0}.ingredient-details summary span{max-width:45%}.addition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-note{font-size:11px}}
.starter-section{grid-column:2;padding:10px 0}.starter-section h2{font:500 30px var(--serif);letter-spacing:-.7px;margin:10px 0}.starter-note{font-size:12px;line-height:1.6;color:#526458;margin:0 0 20px}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preset-card{display:flex;flex-direction:column;background:var(--card);border:1px solid #d6dcce;border-radius:12px;padding:18px 16px}.preset-tag{font:10px var(--mono);color:#4b654c}.preset-card h3{font:500 23px var(--serif);letter-spacing:-.5px;margin:10px 0}.preset-card p{font-size:12px;line-height:1.55;color:#526458;margin:0 0 14px}.preset-card dl{margin:0 0 14px;border-top:1px solid var(--line);padding-top:10px}.preset-card dl div{display:flex;justify-content:space-between;gap:5px;font-size:11px;line-height:1.9}.preset-card dd{margin:0;font-family:var(--mono)}.preset-card .preset-tip{font-size:11px;color:#526458;flex:1}.preset-card button{min-height:44px;border:1px solid #365b42;border-radius:6px;background:#e5edda;color:#263f2f;cursor:pointer;font:600 11px var(--sans);padding:9px 6px}.preset-card button:hover{background:#d2e2bd}.preset-status{font-size:12px;line-height:1.5;color:#36543c;min-height:18px}.guidance{border-top:1px solid #cdd5c7;border-bottom:1px solid #cdd5c7;padding:0 12px}.guidance summary{cursor:pointer;min-height:48px;padding:15px 0;font-size:13px;font-weight:600}.guidance ol{padding-left:20px}.guidance li,.guidance p{font-size:12px;line-height:1.7;color:#445c4c;margin-bottom:12px}.guidance li{padding-left:3px}.guidance strong{color:#263f2f}
.top-note,.intro-copy,.intro-foot,.eyebrow,.step-label,.unit-picker>span,.round-picker>span,.section-rule,.section-rule span:last-child,.field small,.unit-suffix,.optional-note,.reset-button,.page-footer>span,.page-footer p{color:#526458}.field>span:first-child{color:#3f5547}.mode-button small{color:#526458}.unit-picker select,.round-picker select{min-height:44px;font-size:12px}.unit-picker>span,.round-picker>span{font-size:10px}.reset-button{min-width:44px;min-height:44px}.copy-button{min-height:44px}.copy-button:disabled{opacity:.5;cursor:default}.check-label{min-height:44px}.local-badge{font-size:10px;color:#d5e1d3}.rounding-note{color:#d5e1d3;line-height:1.6}.recipe-table th{color:#d5e1d3}.summary-label{color:#d5e1d3}.input-wrap input:focus-visible,.input-wrap select:focus-visible{outline:2px solid #536e3f;outline-offset:-2px}button:focus-visible,summary:focus-visible,a:focus-visible,.unit-picker select:focus-visible,.round-picker select:focus-visible{outline:3px solid #7c963b;outline-offset:3px}
@media(min-width:691px) and (max-width:900px){.layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:22px}.card-head{flex-wrap:wrap}}
@media(max-width:1000px){.preset-grid{grid-template-columns:1fr}.preset-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.preset-card .preset-tip{margin-bottom:14px}}
@media(max-width:690px){.dough-illustration{width:240px;margin:14px auto 0}.starter-section{width:100%}.starter-section h2{font-size:29px}.preset-card{padding:20px}.preset-card button{font-size:12px}.top-note{font-size:9px}.unit-picker select{font-size:11px}.result-card{min-width:0}.recipe-table td{font-size:12px}.recipe-table td:last-child{font-size:11px}.optional-row{flex-wrap:wrap}}
