{"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 ToolsPage() {\n  const d = {\"h1\":\"Reader-run tools\",\"intro\":\"Boccalone's tools are written worksheets and record methods that run on your own inputs: a formula and bake record, a symptom table, a pizzeria visit record, and source checks for equipment and ingredients. No result on these pages comes from a Boccalone test.\",\"primaryCtas\":[{\"label\":\"Formula worksheet\",\"href\":\"/formulas\"},{\"label\":\"Troubleshooting by symptom\",\"href\":\"/troubleshooting\"}],\"inShort\":\"Use the formula worksheet to scale and record a dough, the troubleshooting table to diagnose a bake, the pizzeria worksheet to record a visit fairly, and the equipment and ingredient pages to check a specification before you buy.\",\"sections\":[{\"heading\":\"Formula and bake record\",\"paragraphs\":[\"Write a formula in baker's percentages next to the gram weights, scale it to your ball count, and record the conditions that change the result: finished dough temperature, every fermentation stage with its temperature, the bake surface and its preheat, and the outcome.\"],\"bullets\":[{\"text\":\"Formula worksheet, with a worked scaling example\",\"href\":\"/formulas\"},{\"text\":\"How to log a bake so you can repeat it\",\"href\":\"/blog/how-to-log-a-bake\"}]},{\"heading\":\"Symptom table\",\"paragraphs\":[\"Start from the defect you can see. Each row lists the causes worth testing and the page that explains the variable behind them. Change one variable per bake.\"],\"bullets\":[{\"text\":\"Troubleshooting hub\",\"href\":\"/troubleshooting\"},{\"text\":\"Pizza troubleshooting by symptom\",\"href\":\"/blog/pizza-troubleshooting-by-symptom\"}]},{\"heading\":\"Pizzeria visit record\",\"paragraphs\":[\"Record what you ordered, when, and what the base and crumb showed, judged against the style the place is making, with your own preference kept in a separate field.\"],\"bullets\":[{\"text\":\"Pizzeria evaluation worksheet\",\"href\":\"/pizzerias\"},{\"text\":\"How to judge a pizzeria in one slice\",\"href\":\"/blog/how-to-judge-a-pizzeria-in-one-slice\"}]},{\"heading\":\"Equipment and ingredient source checks\",\"paragraphs\":[\"Before buying, record the manufacturer's published specification, the model or product it applies to, and the date you read it. Where no technical data is published, note that too; the absence is worth knowing before you pay a premium.\"],\"bullets\":[{\"text\":\"Ovens and equipment\",\"href\":\"/equipment\"},{\"text\":\"How to buy pizza ingredients on spec\",\"href\":\"/blog/buy-pizza-ingredients-on-spec\"},{\"text\":\"What a pizza oven costs to run\",\"href\":\"/blog/what-a-pizza-oven-costs-to-run\"}]},{\"heading\":\"What these tools do not do\",\"paragraphs\":[\"They do not predict that a formula will work in your kitchen, rank products, or give food-safety or installation clearance. For safe internal temperatures, use the current USDA FSIS chart or your national authority. For oven installation, gas, and ventilation, follow the manufacturer's manual and your local authority.\"]}],\"related\":[{\"label\":\"Dough and fermentation\",\"href\":\"/dough\"},{\"label\":\"How we test\",\"href\":\"/how-we-test\"},{\"label\":\"Sources\",\"href\":\"/sources\"},{\"label\":\"Start here\",\"href\":\"/start-here\"}],\"faqs\":[{\"q\":\"Do the worksheets store what I write?\",\"a\":\"No. They are written methods on a page. You keep your records wherever you like: a notebook, a spreadsheet, or a notes app.\"},{\"q\":\"Is there a dough calculator?\",\"a\":\"The formula worksheet gives the scaling arithmetic step by step with a worked example, which is all a dough calculator does. Writing the working down also lets you check it.\"}],\"closingCtaHeading\":\"Record your next bake\",\"closingCtaText\":\"A bake you recorded is one you can compare, repeat, and diagnose. Start with the formula worksheet.\",\"closingCtas\":[{\"label\":\"Formula worksheet\",\"href\":\"/formulas\"},{\"label\":\"How to log a bake\",\"href\":\"/blog/how-to-log-a-bake\"}]};\n  const btn = (kind) => ({\n    display: \"inline-block\",\n    padding: kind === \"primary\" ? \"11px 18px\" : \"9px 16px\",\n    margin: \"6px 10px 6px 0\",\n    borderRadius: 8,\n    textDecoration: \"none\",\n    fontWeight: 700,\n    fontSize: 15,\n    background: kind === \"primary\" ? \"#9c2f22\" : \"transparent\",\n    color: kind === \"primary\" ? \"#ffffff\" : \"#9c2f22\",\n    border: \"2px solid #9c2f22\",\n  });\n  return (\n    _react2.default.createElement('div', { className: \"bcpage reading-boccalone-tools reading-article\"  , 'aria-labelledby': \"bc-title\", 'data-reading-page': \"tools\",}, _react2.default.createElement('style', null, `.reading-boccalone-tools{box-sizing:border-box!important;background:#f2eadb!important;color:#582c24!important;font-family:system-ui,-apple-system,Segoe UI,sans-serif!important;line-height:1.75!important;width:100%!important;max-width:1100px!important;margin:0 auto!important;padding:0 clamp(20px,5vw,64px) 64px!important;overflow-wrap:anywhere} .reading-boccalone-tools *{box-sizing:border-box} .reading-boccalone-tools .reading-mast{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #582c2430;padding:24px 0;margin-bottom:36px} .reading-boccalone-tools .reading-brand{font-size:18px;font-weight:700;letter-spacing:-.035em;text-decoration:none!important} .reading-boccalone-tools .reading-nav{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;font-size:13px} .reading-boccalone-tools .reading-nav a{display:inline-flex;align-items:center;min-height:44px} .reading-boccalone-tools .reading-kicker{color:#582c24!important;font-size:11px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px!important} .reading-boccalone-tools h1{font:400 clamp(36px,5.2vw,58px)/1.09 Georgia,Times New Roman,serif!important;letter-spacing:-.045em!important;margin:0 0 24px!important;max-width:22ch;text-wrap:balance} .reading-boccalone-tools h2{font:400 clamp(25px,3vw,34px)/1.2 Georgia,Times New Roman,serif!important;letter-spacing:-.025em!important;margin:42px 0 18px!important;color:#582c24!important;text-wrap:balance} .reading-boccalone-tools h3{font-size:18px!important;line-height:1.4!important;margin:22px 0 9px!important;color:#582c24!important} .reading-boccalone-tools p,.reading-boccalone-tools li{font-size:16px;line-height:1.8;max-width:76ch;color:#582c24} .reading-boccalone-tools p{margin-top:0;margin-bottom:18px} .reading-boccalone-tools h1+p{font-size:19px!important;line-height:1.7!important;max-width:64ch;color:#582c24!important} .reading-boccalone-tools section{max-width:100%!important;padding-left:0!important;padding-right:0!important} .reading-boccalone-tools section+section{margin-top:32px} .reading-boccalone-tools a{color:#582c24;text-underline-offset:4px;text-decoration-thickness:1px} .reading-boccalone-tools a:hover{text-decoration:underline} .reading-boccalone-tools :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #bb542f;outline-offset:4px} .reading-boccalone-tools :is(button,select,input:not([type=checkbox]):not([type=radio]),summary){min-height:44px;font:inherit} .reading-boccalone-tools :is(input,select,textarea){max-width:100%;color:#202820;background:#fff;border:1px solid #7a827a;border-radius:5px;padding:9px 11px} .reading-boccalone-tools :is(input[type=checkbox],input[type=radio]){min-width:20px;min-height:20px;vertical-align:middle} .reading-boccalone-tools label{display:inline-block;line-height:1.7} .reading-boccalone-tools ul,.reading-boccalone-tools ol{padding-left:24px} .reading-boccalone-tools li{margin-bottom:10px} .reading-boccalone-tools blockquote{border-left:3px solid #bb542f;background:#e6d9c4;margin:24px 0;padding:18px 24px} .reading-boccalone-tools pre{max-width:100%;overflow-x:auto;background:#e6d9c4;padding:18px;border:1px solid #582c2430;font-size:14px} .reading-boccalone-tools code{font-size:.9em} .reading-boccalone-tools .reading-table{max-width:100%;overflow-x:auto;margin:24px 0;border:1px solid #582c2430;border-radius:5px} .reading-boccalone-tools table{width:100%!important;max-width:none!important;border-collapse:collapse!important;margin:0!important;font-size:14px!important;min-width:560px} .reading-boccalone-tools th,.reading-boccalone-tools td{padding:14px 16px!important;text-align:left;vertical-align:top;border-bottom:1px solid #582c2425!important;line-height:1.65!important;color:#582c24!important;background:#f2eadb!important} .reading-boccalone-tools th{background:#e6d9c4!important;font-weight:650!important} .reading-boccalone-tools details{padding:16px 0!important;border-bottom:1px solid #582c2430!important;background:transparent!important} .reading-boccalone-tools summary{cursor:pointer;font-weight:600;color:#582c24;padding:10px 0} .reading-boccalone-tools img,.reading-boccalone-tools svg{max-width:100%;height:auto} .reading-boccalone-tools .reading-footer{border-top:1px solid #582c2430;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:13px} .reading-boccalone-tools.reading-policy{max-width:950px!important} .reading-boccalone-tools.reading-policy h2{padding-top:24px;border-top:1px solid #582c2425} .reading-boccalone-tools.reading-reference h3{padding-top:18px;border-top:1px solid #582c2425} .reading-boccalone-tools.reading-worksheet h1{max-width:24ch} .reading-boccalone-tools.reading-worksheet :is(button,input,select,textarea){font-size:16px} @media(max-width:680px){.reading-boccalone-tools{padding:0 20px 40px!important} .reading-boccalone-tools .reading-mast{display:block;padding:20px 0;margin-bottom:28px} .reading-boccalone-tools .reading-nav{margin-top:8px;gap:4px 18px} .reading-boccalone-tools h1{font-size:37px!important} .reading-boccalone-tools h2{font-size:27px!important;margin-top:34px!important} .reading-boccalone-tools p,.reading-boccalone-tools li{font-size:16px!important} .reading-boccalone-tools h1+p{font-size:18px!important} .reading-boccalone-tools [class*=\"grid\"],.reading-boccalone-tools [class*=\"Grid\"],.reading-boccalone-tools [class*=\"cta-row\"]{grid-template-columns:1fr!important;flex-wrap:wrap!important} .reading-boccalone-tools .reading-footer{display:block} .reading-boccalone-tools .reading-footer a{display:inline-flex;min-height:44px;align-items:center} .reading-boccalone-tools .reading-table{margin-left:0;margin-right:0}}`), _react2.default.createElement('p', { className: \"reading-kicker\",}, \"Reading\")\n      , _react2.default.createElement('style', null, `\n        .reading-boccalone-tools .bcpage{max-width:880px;margin:0 auto;padding:28px 20px 64px;color:#231d1b;\n          font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n          line-height:1.62;font-size:17px}\n        .reading-boccalone-tools .bcpage h1{font-size:2rem;line-height:1.2;margin:0 0 12px}\n        .reading-boccalone-tools .bcpage h2{font-size:1.35rem;line-height:1.3;margin:36px 0 10px}\n        .reading-boccalone-tools .bcpage h3{font-size:1.08rem;line-height:1.35;margin:22px 0 6px}\n        .reading-boccalone-tools .bcpage p{margin:0 0 14px}\n        .reading-boccalone-tools .bcpage ul{margin:0 0 16px;padding-left:22px}\n        .reading-boccalone-tools .bcpage li{margin:0 0 8px}\n        .reading-boccalone-tools .bcpage a{color:#8a2a1e}\n        .reading-boccalone-tools .bc-intro{font-size:1.16rem;color:#4a3d39}\n        .reading-boccalone-tools .bc-callout{background:#fbf3ef;border-left:4px solid #9c2f22;padding:12px 16px;border-radius:6px;margin:6px 0 16px;font-size:0.98rem}\n        .reading-boccalone-tools .bc-warn{background:#fdf6e8;border-left:4px solid #a8730f;padding:12px 16px;border-radius:6px;margin:6px 0 16px;font-size:0.98rem}\n        .reading-boccalone-tools .bcpage details{border:1px solid #ece0da;border-radius:8px;padding:10px 14px;margin:0 0 10px;background:#fdfaf8}\n        .reading-boccalone-tools .bcpage summary{cursor:pointer;font-weight:600}\n        .reading-boccalone-tools .bcpage details p{margin:10px 0 2px}\n        .reading-boccalone-tools .bc-ctarow{margin:16px 0 10px}\n        .reading-boccalone-tools .bc-table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:0.95rem;display:block;overflow-x:auto}\n        .reading-boccalone-tools .bc-table th,.reading-boccalone-tools .bc-table td{border:1px solid #e8dcd6;padding:8px 10px;text-align:left;vertical-align:top}\n        .reading-boccalone-tools .bc-table th{background:#fbf3ef;font-weight:700}\n        @media (max-width:560px){.reading-boccalone-tools .bcpage{font-size:16px;padding:22px 16px 56px}.reading-boccalone-tools .bcpage h1{font-size:1.6rem}}\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 = ToolsPage;"}