{"compiledCode":"\"use strict\";Object.defineProperty(exports, \"__esModule\", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _react = require('react'); var _react2 = _interopRequireDefault(_react);\n\n function DoughPage() {\n  const d = {\"h1\": \"Pizza dough and fermentation\", \"intro\": \"Four variables govern almost every pizza dough outcome: hydration, dough temperature, fermentation time and temperature together, and bake conditions. Most recipes give you one or two of them. This is the section that gives you all four.\", \"primaryCtas\": [{\"label\": \"Baker's percentages for pizza\", \"href\": \"/blog/bakers-percentages-for-pizza\"}, {\"label\": \"Choosing a fermentation schedule\", \"href\": \"/blog/how-to-choose-a-fermentation-schedule\"}, {\"label\": \"Formula worksheet\", \"href\": \"/formulas\"}], \"inShort\": \"The dough section covers baker's percentages, hydration, desired dough temperature, fermentation as a two-variable problem, cold retard, preferments, and yeast. Every figure cites a source, and where no reliable figure exists the page says so. This is the technical spine the rest of the site refers back to.\", \"whoFor\": [\"Bakers who can follow a recipe but cannot yet diagnose why one worked and another did not\", \"Anyone whose results move week to week for no reason they can identify\", \"Cooks scaling a formula up for more people, or down for two\"], \"whenToUse\": [\"Before you change anything — so you change one variable rather than three\", \"When a recipe gives a proofing time with no temperature and you need to translate it\", \"When you are deciding between a same-day dough and a three-day one\"], \"sections\": [{\"heading\": \"The four variables\", \"paragraphs\": [\"Read these in order. Each one is independent, and the ability to separate them is what turns guessing into diagnosis.\"], \"table\": {\"head\": [\"Variable\", \"What it controls\", \"What it will not fix\"], \"rows\": [[\"Hydration\", \"Handling, oven spring, crumb openness\", \"A bake that is too cool underneath\"], [\"Dough temperature\", \"How fast fermentation actually runs\", \"A flour that is too weak for your schedule\"], [\"Time and temperature together\", \"Flavour development and structure\", \"Poor shaping or an over-loaded pizza\"], [\"Bake conditions\", \"Colour, char, and whether the base sets\", \"An under-fermented dough\"]]}, \"bullets\": [{\"text\": \"The four numbers that decide your pizza crust\", \"href\": \"/blog/four-numbers-that-decide-your-pizza-crust\"}, {\"text\": \"Pizza dough hydration explained\", \"href\": \"/blog/pizza-dough-hydration-explained\"}, {\"text\": \"Desired dough temperature\", \"href\": \"/blog/desired-dough-temperature\"}, {\"text\": \"Fermentation is time and temperature, not just time\", \"href\": \"/blog/fermentation-is-time-and-temperature\"}]}, {\"heading\": \"Reading and writing formulas\", \"paragraphs\": [\"Serious formulas are written in baker's percentages, where flour is always 100% and everything else is expressed relative to it. It looks like jargon and it is actually the opposite: it is the notation that makes two formulas comparable and any formula scalable.\", \"Once you can read it, the arithmetic takes a minute on a phone — and writing the percentages alongside the grams keeps the notation in front of you rather than hiding it behind a result.\"], \"bullets\": [{\"text\": \"Baker's percentages for pizza: how to read, write, and scale any formula\", \"href\": \"/blog/bakers-percentages-for-pizza\"}, {\"text\": \"Salt, oil, and sugar: what each one changes\", \"href\": \"/blog/salt-oil-sugar-in-pizza-dough\"}, {\"text\": \"The formula worksheet\", \"href\": \"/formulas\"}]}, {\"heading\": \"Choosing and running a schedule\", \"paragraphs\": [\"Start from your constraints — when you want to eat, how much fridge space you have, and how strong your flour is — rather than from what sounds most serious. Longer is not automatically better, and there is a point past which a given flour will not hold.\", \"Whatever schedule you run, write the temperature next to every step. A time without a temperature is not an instruction.\"], \"bullets\": [{\"text\": \"How to choose a pizza dough fermentation schedule\", \"href\": \"/blog/how-to-choose-a-fermentation-schedule\"}, {\"text\": \"Cold retard: what 24, 48, and 72 hours actually change\", \"href\": \"/blog/cold-retard-24-48-72-hours\"}, {\"text\": \"Poolish, biga, and direct dough\", \"href\": \"/blog/poolish-biga-direct-dough\"}, {\"text\": \"Sourdough starter vs commercial yeast for pizza\", \"href\": \"/blog/sourdough-starter-vs-commercial-yeast\"}, {\"text\": \"Converting between fresh, active dry, and instant yeast\", \"href\": \"/blog/converting-fresh-active-dry-instant-yeast\"}]}, {\"heading\": \"When it goes wrong\", \"paragraphs\": [\"Dough problems are diagnosable if you can name the variable. These are the most common.\"], \"bullets\": [{\"text\": \"Why the same recipe gives different results every week\", \"href\": \"/blog/same-recipe-different-results\"}, {\"text\": \"Over-proofed dough: how to tell, and whether it can be saved\", \"href\": \"/blog/over-proofed-pizza-dough\"}, {\"text\": \"Why your dough won't stretch\", \"href\": \"/blog/why-pizza-dough-wont-stretch\"}, {\"text\": \"Full troubleshooting hub\", \"href\": \"/troubleshooting\"}]}, {\"heading\": \"The flour constraint\", \"paragraphs\": [\"Two things in this section are capped by your flour rather than by your technique: how much water it will carry, and how long a fermentation it will survive.\", \"That is why the ingredients section sits next to this one. Matching flour strength to schedule length is the single most useful buying decision in pizza.\"], \"bullets\": [{\"text\": \"Pizza flour explained: protein, W value, and why \\\"00\\\" isn't a grade\", \"href\": \"/blog/pizza-flour-protein-w-value-00\"}, {\"text\": \"All ingredient guides\", \"href\": \"/ingredients\"}]}], \"related\": [{\"label\": \"Formula worksheet\", \"href\": \"/formulas\"}, {\"label\": \"Troubleshooting\", \"href\": \"/troubleshooting\"}, {\"label\": \"Technique\", \"href\": \"/technique\"}, {\"label\": \"Ingredients\", \"href\": \"/ingredients\"}, {\"label\": \"Glossary\", \"href\": \"/glossary\"}, {\"label\": \"How we test\", \"href\": \"/how-we-test\"}], \"faqs\": [{\"q\": \"What hydration should I use?\", \"a\": \"The one your flour and your bake can carry, which is why we treat it as a range per style rather than a single number. Start in the middle band for your style, get it consistent, then move one direction and see what changes.\"}, {\"q\": \"Why does dough temperature matter more than room temperature?\", \"a\": \"Because fermentation responds to the temperature of the dough, and mixing adds heat that varies with your method and equipment. Two bakers in the same kitchen can finish mixing at meaningfully different dough temperatures and get different results from an identical recipe.\"}, {\"q\": \"Is a longer ferment always better?\", \"a\": \"No. There is a point where the returns flatten and a further point where structure degrades, and where those points sit depends mostly on flour strength and refrigeration temperature. Longer schedules also amplify small errors.\"}, {\"q\": \"Do I need a preferment?\", \"a\": \"No. Direct dough makes excellent pizza. Preferments solve specific problems — scheduling flexibility, flavour development within a shorter total time — and if you do not have those problems, they are just extra steps.\"}, {\"q\": \"Can I use bread flour instead of 00?\", \"a\": \"Often yes, and the question is better asked as strength rather than type. \\\"00\\\" describes milling fineness, not strength, so a bread flour can be the closer match to what a formula actually needs.\"}, {\"q\": \"How do I scale a formula for more pizzas?\", \"a\": \"Multiply ball weight by ball count to get total dough weight, divide that by the sum of the percentages written as a decimal to get the flour weight, then apply each percentage to the flour. Write the working down so you can check it.\"}, {\"q\": \"Why do your pages keep telling me to write things down?\", \"a\": \"Because every question that starts “why was it different this time” is unanswerable without a record. Several variables move between bakes, and memory does not hold them reliably.\"}], \"closingCtaHeading\": \"Put a number on it\", \"closingCtaText\": \"Baker's percentages let you scale any formula to your ball count and hydration with a phone calculator. A schedule is worked backwards from when you want to eat, with a temperature written against every stage.\", \"closingCtas\": [{\"label\": \"Baker's percentages for pizza\", \"href\": \"/blog/bakers-percentages-for-pizza\"}, {\"label\": \"Choosing a fermentation schedule\", \"href\": \"/blog/how-to-choose-a-fermentation-schedule\"}]};\n  const btn = (kind) => ({\n    display: \"inline-block\",\n    padding: kind === \"primary\" ? \"11px 18px\" : \"9px 16px\",\n    margin: \"6px 10px 6px 0\",\n    borderRadius: 0,\n    textDecoration: \"none\",\n    fontWeight: 700,\n    fontSize: 15,\n    background: kind === \"primary\" ? \"var(--c1fflz6z-runtime-action-bg)\" : \"transparent\",\n    color: kind === \"primary\" ? \"var(--c1fflz6z-runtime-action-fg)\" : \"var(--c1fflz6z-runtime-accent)\",\n    border: \"1px solid var(--c1fflz6z-runtime-action-bg)\",\n  });\n  return (\n    _react2.default.createElement('div', { className: \"bcpage reading-boccalone-dough reading-article\"  , 'aria-labelledby': \"bc-title\", 'data-reading-page': \"dough\",}, _react2.default.createElement('style', null, `\n.reading-boccalone-dough{box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;padding:64px clamp(20px,5vw,64px) 80px;color:var(--c1fflz6z-runtime-text);background:var(--c1fflz6z-runtime-bg);font-family:var(--c1fflz6z-font-body);font-size:17px;line-height:1.75;overflow-wrap:anywhere}\n.reading-boccalone-dough *{box-sizing:border-box} .reading-boccalone-dough :is(h1,h2,h3){font-family:var(--c1fflz6z-font-heading);font-weight:400;color:var(--c1fflz6z-runtime-text);text-wrap:balance}\n.reading-boccalone-dough h1{font-size:clamp(42px,5.5vw,72px);line-height:1.08;letter-spacing:-.015em;margin:0 0 26px;max-width:24ch}\n.reading-boccalone-dough h2{font-size:clamp(28px,3.5vw,38px);line-height:1.18;margin:48px 0 18px} .reading-boccalone-dough h3{font-size:25px;line-height:1.25;margin:28px 0 12px}\n.reading-boccalone-dough :is(p,ul,ol){margin-top:0;margin-bottom:20px} .reading-boccalone-dough li{margin-bottom:8px} .reading-boccalone-dough :is(ul,ol){padding-left:24px} .reading-boccalone-dough p{max-width:74ch}\n.reading-boccalone-dough .reading-kicker{font-family:var(--c1fflz6z-font-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--c1fflz6z-runtime-accent);margin:0 0 16px}\n.reading-boccalone-dough :is(.bc-intro,h1+p){font-size:20px;line-height:1.65;margin-bottom:30px} .reading-boccalone-dough a{color:var(--c1fflz6z-runtime-accent);text-underline-offset:4px} .reading-boccalone-dough a:hover{text-decoration-thickness:2px}\n.reading-boccalone-dough :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--c1fflz6z-runtime-accent);outline-offset:4px}\n.reading-boccalone-dough :is(.bc-callout,.bc-warn,.gf-note){background:var(--c1fflz6z-runtime-panel);border-left:3px solid var(--c1fflz6z-runtime-action-bg);padding:18px 22px;margin:24px 0;font-size:16px}\n.reading-boccalone-dough :is(.gf-card,.gf-rule,.gf-step){border-top:1px solid var(--c1fflz6z-runtime-border);padding:22px 0;margin:0} .reading-boccalone-dough :is(.gf-card,.gf-rule) h3{margin-top:0} .reading-boccalone-dough .gf-rule strong{display:block;margin-bottom:8px}\n.reading-boccalone-dough .gf-cta{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px;margin:0 12px 12px 0;border:1px solid var(--c1fflz6z-runtime-action-bg);border-radius:4px;background:var(--c1fflz6z-runtime-action-bg);color:var(--c1fflz6z-runtime-action-fg);text-decoration:none;font-weight:600}\n.reading-boccalone-dough .gf-cta.secondary{background:transparent;color:var(--c1fflz6z-runtime-accent)} .reading-boccalone-dough .bc-ctarow{margin:24px 0;display:flex;flex-wrap:wrap;gap:10px} .reading-boccalone-dough .bc-ctarow a{margin:0;min-height:48px;display:inline-flex;align-items:center}\n.reading-boccalone-dough :is(.reading-table,.gf-scroll){max-width:100%;overflow-x:auto;margin:24px 0;overscroll-behavior-x:contain} .reading-boccalone-dough table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;margin:0} .reading-boccalone-dough :is(th,td){padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--c1fflz6z-runtime-border);color:var(--c1fflz6z-runtime-text)} .reading-boccalone-dough th{background:var(--c1fflz6z-runtime-panel);font-weight:700} .reading-boccalone-dough .bc-table{display:table}\n.reading-boccalone-dough details{padding:18px 0;border-bottom:1px solid var(--c1fflz6z-runtime-border)} .reading-boccalone-dough summary{cursor:pointer;font-weight:600;min-height:44px;padding:8px 0} .reading-boccalone-dough details p{margin:12px 0 0}\n.reading-boccalone-dough :is(input,select,textarea,button){font:inherit;color:var(--c1fflz6z-runtime-text);max-width:100%;min-height:44px} .reading-boccalone-dough :is(input,select,textarea){background:var(--c1fflz6z-runtime-bg);border:1px solid var(--c1fflz6z-runtime-border);padding:10px 12px} .reading-boccalone-dough :is(img,svg){max-width:100%;height:auto}\n.reading-boccalone-dough .reading-footer{border-top:1px solid var(--c1fflz6z-runtime-border);margin-top:56px;padding-top:24px;font-size:14px} .reading-boccalone-dough .reading-footer a{display:inline-flex;min-height:44px;align-items:center}\n@media(max-width:600px){.reading-boccalone-dough{padding:36px 20px 56px;font-size:16px} .reading-boccalone-dough h1{font-size:44px} .reading-boccalone-dough h2{font-size:29px;margin-top:36px} .reading-boccalone-dough h3{font-size:24px} .reading-boccalone-dough :is(.bc-intro,h1+p){font-size:18px} .reading-boccalone-dough :is(th,td){padding:10px;font-size:14px}}\n`), _react2.default.createElement('p', { className: \"reading-kicker\",}, \"Reading\")\n\n\n      , _react2.default.createElement('h1', { id: \"bc-title\",}, d.h1)\n      , _react2.default.createElement('p', { className: \"bc-intro\",}, d.intro)\n      , d.primaryCtas && d.primaryCtas.length ? (\n        _react2.default.createElement('div', { className: \"bc-ctarow\",}\n          , d.primaryCtas.map((c, i) => (\n            _react2.default.createElement('a', { key: i, href: c.href, style: btn(i === 0 ? \"primary\" : \"ghost\"),}, c.label)\n          ))\n        )\n      ) : null\n\n      , d.notice ? _react2.default.createElement('p', { className: \"bc-warn\",}, d.notice) : null\n\n      , d.inShort ? (\n        _react2.default.createElement('section', { 'aria-label': \"In short\" ,}\n          , _react2.default.createElement('h2', null, \"In short\" )\n          , _react2.default.createElement('p', null, d.inShort)\n        )\n      ) : null\n\n      , d.whoFor && d.whoFor.length ? (\n        _react2.default.createElement('section', { 'aria-label': \"Who this is for\"   ,}\n          , _react2.default.createElement('h2', null, \"Who this is for\"   )\n          , _react2.default.createElement('ul', null, d.whoFor.map((x, i) => _react2.default.createElement('li', { key: i,}, x)))\n        )\n      ) : null\n\n      , d.whenToUse && d.whenToUse.length ? (\n        _react2.default.createElement('section', { 'aria-label': \"When to use this\"   ,}\n          , _react2.default.createElement('h2', null, \"When to use this\"   )\n          , _react2.default.createElement('ul', null, d.whenToUse.map((x, i) => _react2.default.createElement('li', { key: i,}, x)))\n        )\n      ) : null\n\n      , d.sections.map((s, i) => (\n        _react2.default.createElement('section', { key: i, 'aria-label': s.heading,}\n          , _react2.default.createElement('h2', null, s.heading)\n          , (s.paragraphs || []).map((pp, j) => _react2.default.createElement('p', { key: j,}, pp))\n          , s.table ? (\n            _react2.default.createElement('div', { className: \"reading-table\", tabIndex: 0, role: \"region\", 'aria-label': \"Scrollable reference table\"  ,}, _react2.default.createElement('table', { className: \"bc-table\",}\n              , _react2.default.createElement('thead', null, _react2.default.createElement('tr', null, s.table.head.map((h, j) => _react2.default.createElement('th', { key: j,}, h))))\n              , _react2.default.createElement('tbody', null\n                , s.table.rows.map((r, j) => (\n                  _react2.default.createElement('tr', { key: j,}, r.map((c, k) => _react2.default.createElement('td', { key: k,}, c)))\n                ))\n              )\n            ))\n          ) : null\n          , (s.bullets || []).length ? (\n            _react2.default.createElement('ul', null\n              , s.bullets.map((b, j) => (\n                _react2.default.createElement('li', { key: j,}, b.href ? _react2.default.createElement('a', { href: b.href,}, b.text) : b.text)\n              ))\n            )\n          ) : null\n          , s.note ? _react2.default.createElement('p', { className: \"bc-callout\",}, s.note) : null\n          , s.warn ? _react2.default.createElement('p', { className: \"bc-warn\",}, s.warn) : null\n        )\n      ))\n\n      , d.related && d.related.length ? (\n        _react2.default.createElement('section', { 'aria-label': \"Related pages\" ,}\n          , _react2.default.createElement('h2', null, \"Where to go next\"   )\n          , _react2.default.createElement('ul', null, d.related.map((r, i) => _react2.default.createElement('li', { key: i,}, _react2.default.createElement('a', { href: r.href,}, r.label))))\n        )\n      ) : null\n\n      , d.faqs && d.faqs.length ? (\n        _react2.default.createElement('section', { 'aria-label': \"Frequently asked questions\"  ,}\n          , _react2.default.createElement('h2', null, \"Frequently asked questions\"  )\n          , d.faqs.map((f, i) => (\n            _react2.default.createElement('details', { key: i,}\n              , _react2.default.createElement('summary', null, f.q)\n              , _react2.default.createElement('p', null, f.a)\n            )\n          ))\n        )\n      ) : null\n\n      , d.closingCtaHeading ? (\n        _react2.default.createElement('section', { 'aria-label': \"Next step\" ,}\n          , _react2.default.createElement('h2', null, d.closingCtaHeading)\n          , _react2.default.createElement('p', null, d.closingCtaText)\n          , _react2.default.createElement('div', { className: \"bc-ctarow\",}\n            , (d.closingCtas || []).map((c, i) => (\n              _react2.default.createElement('a', { key: i, href: c.href, style: btn(i === 0 ? \"primary\" : \"ghost\"),}, c.label)\n            ))\n          )\n        )\n      ) : null\n    , _react2.default.createElement('aside', { className: \"reading-footer\",}, _react2.default.createElement('a', { href: \"/\",}, \"Back to Boccalone\"  )))\n  );\n} exports.default = DoughPage;"}