.bread-calculator { max-width: 960px; }
.bread-calculator .post_content { width: 100%; min-width: 0; }
.bread-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.bread-calculator label { display: block; font-weight: 600; }
.bread-calculator input { box-sizing: border-box; width: 100%; min-width: 0; padding: .65rem; border: 1px solid var(--text); border-radius: .35rem; background: var(--post-bg); color: var(--text); font: inherit; }
.bread-settings input { display: block; margin-top: .5rem; }
.bread-calculator :is(input,button,summary):focus-visible { outline: 3px solid var(--theme); outline-offset: 3px; }
.bread-calculator input[aria-invalid="true"] { border: 2px solid #ce654a; }
#dough-help, .bread-help { font-size: .9rem; }
#bread-error { font-weight: 600; }
#bread-error:empty { display: none; }
.bread-table-wrap { overflow-x: auto; }
.bread-calculator .bread-table { display: table; width: 100%; table-layout: fixed; margin: 1.5rem 0; }
.bread-table caption { text-align: left; font-weight: 600; padding: .7rem 0; }
.bread-table th, .bread-table td { padding: .65rem .4rem; vertical-align: middle; }
.bread-table th:first-child { width: 40%; text-align: left; }
.bread-table th:nth-child(2), .bread-table th:nth-child(3) { width: 25%; }
.bread-table th:last-child { width: 10%; }
.bread-table td { text-align: right; font-variant-numeric: tabular-nums; }
.bread-table input[type="number"] { text-align: right; }
.bread-table tfoot { font-weight: 700; }
.bread-calculator button { cursor: pointer; border: 1px solid var(--text); border-radius: .35rem; padding: .65rem .85rem; background: var(--choice-bg); color: var(--text); font: inherit; }
.bread-table button { padding: .35rem .6rem; }
.bread-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.bread-help { margin-top: 2rem; }
.bread-help summary { cursor: pointer; font-weight: 600; }
.bread-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) {
  .bread-settings { grid-template-columns: 1fr; gap: 1rem; }
  .bread-table { font-size: .85rem; }
  .bread-calculator .bread-table input { padding: .5rem .25rem; }
}
