:root{color-scheme:light;--paper:#f6f6f2;--white:#fff;--ink:#202621;--muted:#636960;--red:#ad3027;--red-dark:#86221c;--line:#dadcd5;--soft:#eeefe8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}input,select{min-width:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}button{transition:background-color .15s,color .15s}a{color:var(--red);text-underline-offset:3px}p,h1,h2{margin:0}.masthead{background:var(--ink);color:white;border-bottom:4px solid var(--red)}.header-inner{max-width:1192px;margin:auto;min-height:94px;padding:17px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:16px}.brand-name{font-size:2.05rem;line-height:1;font-weight:900;letter-spacing:-.07em}.brand-small{max-width:100px;font-size:.78rem;line-height:1.3;letter-spacing:.1em;border-left:1px solid #777e76;padding-left:15px}.brand-location{text-align:right;font-size:.75rem;letter-spacing:.12em;color:#f0f0e7}.brand-location span{display:block;font-family:var(--serif);font-size:1rem;font-style:italic;letter-spacing:0;color:#bdc3b8;margin-top:3px}main{max-width:1192px;margin:auto;padding:34px 36px 48px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:700;color:var(--red);margin-bottom:6px}h1{font-family:var(--serif);font-size:clamp(2rem,4.3vw,3.35rem);font-weight:500;line-height:1.1;letter-spacing:-.045em}h1 span{color:var(--red)}.intro{color:var(--muted);font-size:1rem;margin-top:10px}.free-label{font-size:.75rem;letter-spacing:.09em;white-space:nowrap;border:1px solid var(--line);padding:8px 12px;border-radius:3px}.workbench{display:grid;grid-template-columns:1.07fr 1fr;gap:30px;align-items:start}form{background:var(--white);border:1px solid var(--line);border-radius:8px}.form-section{padding:25px 27px}.form-section+.form-section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}h2{font-size:1.13rem;line-height:1.3;font-weight:700}.section-heading h2{display:flex;align-items:center;gap:10px}.step{font-family:var(--serif);font-size:.95rem;font-style:italic;color:var(--red);background:#f9eeeb;width:29px;height:29px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.text-button{border:0;padding:7px 0 7px 8px;font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px;background:none}.text-button:hover{color:var(--red)}label{display:block;font-size:.875rem;font-weight:700;margin-bottom:7px}.field{min-width:0}select{width:100%;padding:12px 36px 12px 12px;border:1px solid #c5cbc2;border-radius:5px;color:var(--ink);background:var(--white);height:49px;font-size:1rem}.hint{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:7px}.style-field{margin-bottom:21px}.batch-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.number-wrap{position:relative;display:flex;align-items:center;min-width:0}.number-wrap input{width:100%;border:1px solid #c5cbc2;border-radius:5px;background:white;color:var(--ink);height:49px;padding:10px 32px 10px 12px;font-size:1.075rem;font-weight:500}.number-wrap span{position:absolute;right:13px;font-size:.875rem;color:var(--muted);pointer-events:none}.stepper{display:grid;grid-template-columns:41px minmax(0,1fr) 41px;border:1px solid #c5cbc2;border-radius:5px;height:49px;overflow:hidden}.stepper button{border:0;background:#f6f7f3;color:var(--ink);font-size:1.35rem;line-height:1}.stepper button:hover{background:#e9ece3}.stepper input{width:100%;background:white;border:0;border-radius:0;text-align:center;color:var(--ink);font-size:1.075rem}.stepper button:focus-visible,.stepper input:focus-visible{outline-offset:-4px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sizing-hint{margin-top:9px}.section-meta{font-size:.75rem;color:var(--muted);white-space:nowrap;letter-spacing:.06em}.hydration-panel{background:#f3f4ee;border-radius:5px;padding:17px 17px 12px;margin-bottom:21px}.hydration-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.hydration-heading label{font-size:1rem;margin-bottom:2px}.hydration-heading p{font-size:.8125rem;color:var(--muted)}.hydration-number{width:87px;flex-shrink:0}.hydration-number input{border-color:#c7cec0;background:white;color:var(--ink);font-weight:700;font-size:1.25rem}input[type=range]{width:100%;height:27px;accent-color:var(--red);margin:15px 0 0;cursor:pointer}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.percentage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.yeast-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;margin-top:19px}.yeast-note{margin-top:12px}.preset-note{font-size:.8125rem;color:var(--muted);margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.field-error{font-size:.8125rem;line-height:1.35;color:#a72520;margin-top:4px}.field-error:empty{display:none}[aria-invalid=true]{border-color:#b52822!important;background:#fff6f5!important}.recipe-panel{border-radius:8px;overflow:hidden;box-shadow:0 3px 18px #20262109;border:1px solid var(--line);background:white;position:sticky;top:22px}.recipe-photo{height:134px;background:#272b27}.recipe-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}.recipe-card{padding:24px 26px 15px}.recipe-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.recipe-top .eyebrow{font-size:.75rem}.recipe-top h2{font-family:var(--serif);font-size:1.85rem;font-weight:500;letter-spacing:-.025em}.recipe-stamp{font-family:var(--serif);font-size:2.35rem;font-style:italic;font-weight:bold;color:var(--red);line-height:1}.recipe-style{font-size:.875rem;color:var(--muted);margin-top:5px}.batch-result{margin-top:19px;border-top:1px dashed #bec5b9;border-bottom:1px dashed #bec5b9;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0}.small-label{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-bottom:0}.batch-result strong{font-size:1.8rem;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}.batch-result p{font-size:.875rem;color:var(--muted);text-align:right;max-width:130px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;margin-bottom:10px}.table-toolbar>span{font-size:.8125rem;color:var(--muted)}.unit-switch{display:flex;padding:3px;border-radius:4px;background:var(--soft);flex-shrink:0}.unit-switch button{font-size:.75rem;border:0;padding:6px 8px;color:var(--muted);background:transparent;border-radius:3px}.unit-switch button[aria-pressed=true]{background:white;color:var(--ink);box-shadow:0 1px 3px #20262115}.unit-switch button:hover{color:var(--red)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{font-size:.75rem;font-weight:400;color:var(--muted);padding:7px 0 9px;border-bottom:1px solid var(--line);text-align:left}th:nth-child(2),td:nth-child(2){text-align:right;width:22%}th:last-child,td:last-child{text-align:right;width:31%}td{padding:10px 0;font-size:.9375rem;border-bottom:1px solid #e9ebe4}td:first-child{font-weight:500}td:nth-child(2){font-size:.8125rem;color:var(--muted)}td:last-child{font-weight:700}td .weight-unit{font-size:.75rem;font-weight:400;color:var(--muted)}tr.unused td{color:var(--muted)}.rounding-note{font-size:.75rem;color:var(--muted);line-height:1.5;margin-top:11px}.recipe-warning{font-size:.8125rem;padding:10px 12px;background:#fff0d6;color:#704514;border-radius:4px;margin-top:12px}.recipe-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;margin-top:20px}.recipe-actions button{border-radius:5px;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;min-height:46px}.primary-button{background:var(--red);color:white;border:1px solid var(--red)}.primary-button:hover{background:var(--red-dark)}.secondary-button{background:white;color:var(--ink);border:1px solid #c5cbc2}.secondary-button:hover{background:var(--soft)}.recipe-actions svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.action-status{font-size:.8125rem;color:var(--red);min-height:20px;text-align:center;margin-top:6px}.empty-result{padding:38px 0;color:var(--red);font-size:1rem}.help-section{margin-top:26px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{font-weight:500;font-size:.9375rem;padding:18px 4px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}summary::after{content:'+';font-size:1.5rem;color:var(--red);font-weight:400;line-height:1}details[open] summary::after{content:'−'}summary::-webkit-details-marker{display:none}.detail-content{padding:0 4px 20px;max-width:850px;color:var(--muted);font-size:.9375rem}.detail-content p+p{margin-top:10px}.source-link{font-size:.8125rem}footer{max-width:1120px;margin:0 auto;padding:20px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:2px solid var(--ink)}footer>span{font-size:.75rem;letter-spacing:.055em;font-weight:700}footer p{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:.9375rem}.footer-place{color:var(--muted);font-size:.75rem}.mobile-summary{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:16px;background:white;z-index:100;padding:12px}.skip-link:focus{top:12px}[hidden]{display:none!important}textarea{width:100%;border:1px solid var(--line);padding:12px;font-size:.875rem}#copy-fallback{margin-top:12px}.noscript-message{padding:20px;color:var(--red);border:1px solid var(--red)}
@media(min-width:1300px){main{padding-top:40px}.page-heading{margin-bottom:32px}.workbench{gap:38px}.form-section{padding:27px 29px}.recipe-card{padding-left:29px;padding-right:29px}}
@media(max-width:850px){.header-inner{padding-left:24px;padding-right:24px}main{padding:28px 24px 36px}.workbench{gap:20px;grid-template-columns:1fr 1fr}.form-section{padding:22px 20px}.recipe-card{padding:22px 20px 15px}.recipe-top h2{font-size:1.65rem}.section-heading{gap:6px}.section-heading h2{font-size:1rem}.section-meta{font-size:.75rem}.batch-grid{gap:12px}.stepper{grid-template-columns:32px minmax(0,1fr) 32px}.table-toolbar>span{max-width:115px}.batch-result{gap:9px}.batch-result strong{font-size:1.5rem}.recipe-actions{grid-template-columns:1fr}.footer-place{display:none}footer{margin:0 24px}.hydration-panel{padding:14px 12px}.hydration-heading p{font-size:.75rem}.hydration-number{width:80px}}
@media(max-width:680px){.header-inner{min-height:72px;padding:15px 20px}.brand-name{font-size:1.75rem}.brand-small{font-size:.75rem;max-width:89px;letter-spacing:.07em;padding-left:12px}.wordmark{gap:12px}.brand-location{font-size:.75rem;letter-spacing:.06em;max-width:87px}.brand-location span{display:none}main{padding:22px 16px 28px}.page-heading{margin-bottom:18px;gap:8px;align-items:flex-start}.eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:7px}h1{font-size:2.2rem;line-height:1.05;max-width:350px}.intro{font-size:.875rem;margin-top:8px}.free-label{display:none}.workbench{display:flex;flex-direction:column;gap:22px}form,.recipe-panel{width:100%}.form-section{padding:20px}.form-section+.form-section{padding-top:22px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:1.0625rem}.section-meta{font-size:.75rem}.batch-grid{gap:16px}.stepper{grid-template-columns:44px minmax(0,1fr) 44px}.style-field{margin-bottom:17px}.recipe-panel{position:static}.recipe-photo{height:130px}.recipe-card{padding:23px 22px 16px}.recipe-top h2{font-size:1.85rem}.recipe-actions{grid-template-columns:1.15fr 1fr}.mobile-summary{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--ink);color:#ccd1c6;border-radius:6px;padding:12px 8px;margin-bottom:20px;font-size:.75rem}.mobile-summary span{padding:0 11px;border-right:1px solid #495047}.mobile-summary span:last-child{border:0}.mobile-summary strong{display:block;color:white;font-size:1rem;font-weight:500;margin-top:2px;font-variant-numeric:tabular-nums}.hydration-heading p{font-size:.8125rem}.hydration-panel{padding:15px}.hydration-number{width:90px}.table-toolbar>span{max-width:none}.batch-result strong{font-size:1.85rem}.batch-result p{max-width:160px}.help-section{margin-top:25px}.detail-content{font-size:.9375rem}footer{margin:0 16px;flex-direction:column;gap:6px;padding:20px 10px 26px}.footer-place{display:block;margin-top:2px}.hint,.preset-note{font-size:.8125rem}.yeast-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.yeast-grid select{font-size:.9375rem;padding-left:10px}.stepper input{font-size:1rem}}
@media(max-width:360px){.form-section{padding:18px 16px}.percentage-grid{gap:10px}.recipe-card{padding:20px 16px 14px}h1{font-size:2rem}.brand-location{display:none}.hydration-heading p{max-width:160px}.recipe-actions button{font-size:.8125rem}.mobile-summary strong{font-size:.9375rem}.recipe-stamp{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{@page{margin:15mm}body{background:white;color:black;font-size:11pt}.masthead{background:white;color:black;border-bottom:2px solid black}.header-inner{padding:0 0 15px;min-height:0}.brand-location{color:black}.brand-location span{color:black}main{padding:20px 0 0;max-width:none}.page-heading{margin-bottom:20px}.page-heading h1{font-size:28pt}.intro{display:none}.free-label,.mobile-summary,form,.recipe-photo,.recipe-actions,.action-status,.help-section,.unit-switch,.skip-link,.recipe-stamp,#copy-fallback,footer{display:none!important}.workbench{display:block}.recipe-panel{position:static;border:0;box-shadow:none;border-radius:0}.recipe-card{padding:0}.recipe-top .eyebrow{display:none}.recipe-top h2{font-size:22pt}.recipe-style{font-size:12pt}.batch-result{padding:12px 0;margin-top:12px}.batch-result strong{font-size:22pt}.table-toolbar{margin-top:18px}td{padding:10px 0;font-size:12pt}th{font-size:10pt}.rounding-note{font-size:9pt}body::after{content:'Greg’s Pizza & Bagel Joint · Style presets are starting points. Use a proven fermentation schedule and adjust yeast for your time and temperature.';display:block;margin-top:22px;font-size:9pt;color:#555}}
