.gb12-tool [hidden] { display: none !important; }
.gb12-tool, .gb12-tool * { box-sizing: border-box; }
.gb12-tool { max-width: 100%; min-width: 0; overflow-x: clip; }
.gb12-tool .calc-card { display: grid; gap: 1.15rem; max-width: 100%; min-width: 0; }
.gb12-reference-note { background: rgba(61, 91, 176, .08); border-left: 4px solid #4968c7; border-radius: .25rem; margin: 0; padding: .85rem 1rem; }
.gb12-section { border: 1px solid var(--border-color, #d7dce5); border-radius: .65rem; margin: 0; min-width: 0; padding: 1rem; }
.gb12-section legend { font-weight: 700; padding: 0 .4rem; }
.gb12-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.gb12-field { display: flex; flex-direction: column; min-width: 0; }
.gb12-field label { align-items: flex-end; display: flex; line-height: 1.3; min-height: 2.6em; }
.gb12-field small { color: var(--muted-color, #536277); margin-top: .35rem; }
.gb12-field .calc-input, .gb12-field .calc-select { min-width: 0; width: 100%; }
.gb12-value-unit { align-items: stretch; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) minmax(8rem, .65fr); min-width: 0; }
.gb12-value-unit > .calc-input:only-child { grid-column: 1 / -1; }
.gb12-formula-preview { align-items: center; background: rgba(61, 91, 176, .06); border-radius: .5rem; display: grid; justify-items: center; min-height: 3.25rem; overflow-x: auto; padding: .7rem 1rem; text-align: center; }
.gb12-formula-preview math { font-size: 1.08em; margin: 0; padding: .25rem; }
.gb12-result { min-width: 0; scroll-margin-top: 1rem; }
.gb12-result dl { display: grid; grid-template-columns: minmax(9rem, 1fr) minmax(0, 2.2fr); margin: 0; min-width: 0; }
.gb12-result dt, .gb12-result dd { align-items: center; border-bottom: 1px solid var(--border-color, #d7dce5); display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin: 0; min-height: 3.75rem; padding: 1rem; text-align: center; }
.gb12-result dt { font-weight: 700; }
.gb12-result dd { min-width: 0; overflow-x: auto; }
.gb12-result dd > math { font-size: 1.12em; margin: 0; padding: .35rem; }
.gb12-result-details { display: grid; gap: .65rem; width: min(100%, 42rem); }
.gb12-result-line { align-items: baseline; background: rgba(61, 91, 176, .055); border-radius: .4rem; display: flex; flex-wrap: wrap; gap: .5rem 1rem; justify-content: space-between; padding: .65rem .8rem; text-align: left; }
.gb12-result-formula { max-width: 100%; overflow-x: auto; width: 100%; }
.gb12-result-formula math { line-height: 1.8; margin: auto; padding: .5rem .3rem; }
.gb12-result-note { background: rgba(199, 139, 28, .1); border-left: 4px solid #c78b1c; margin: 1rem 0 0; padding: .75rem 1rem; }
.gb12-visual { border-top: 1px solid var(--border-color, #d7dce5); margin-top: 1rem; padding-top: 1rem; }
.gb12-chart { margin: 0 auto; max-width: 46rem; width: 100%; }
.gb12-chart svg { background: rgba(61, 91, 176, .025); border: 1px solid var(--border-color, #d7dce5); border-radius: .55rem; color: var(--text-color, currentColor); display: block; height: auto; width: 100%; }
.gb12-axis { stroke: currentColor; stroke-width: 1.6; }
.gb12-line { fill: none; stroke: #4267c8; stroke-width: 4; }
.gb12-point { fill: #fff; stroke: #4267c8; stroke-width: 4; }
.gb12-point-result { fill: #e64f64; stroke: #9f2436; }
.gb12-bar { fill: #4968c7; }
.gb12-bar-1 { fill: #e36a45; }
.gb12-bar-2 { fill: #3b9b7a; }
.gb12-bar-3 { fill: #a25cc4; }
.gb12-chart text { fill: currentColor; font-family: inherit; font-size: 13px; }
.gb12-chart figcaption { padding: .7rem .5rem 0; text-align: center; }
.gb12-table-wrap { max-width: 100%; overflow-x: auto; }
.gb12-table-wrap table { border-collapse: collapse; margin: 0 auto; min-width: 20rem; width: 100%; }
.gb12-table-wrap th, .gb12-table-wrap td { border: 1px solid var(--border-color, #d7dce5); padding: .55rem .7rem; text-align: center; vertical-align: middle; }
.gb12-tool form[data-general-batch-12="anova"] .gb12-table-wrap table { table-layout: fixed; }
.gb12-tool form[data-general-batch-12="anova"] .gb12-table-wrap th,
.gb12-tool form[data-general-batch-12="anova"] .gb12-table-wrap td { text-align: center !important; vertical-align: middle; }
.gb12-measurement-guide { background: #fff; border: 1px solid var(--border-color, #d7dce5); border-radius: .65rem; margin: 0; overflow: hidden; padding: clamp(.4rem, 1.5vw, .85rem); }
.gb12-measurement-guide img { aspect-ratio: 1441 / 1079; display: block; height: auto; margin: 0 auto; max-width: 60rem; object-fit: contain; width: 100%; }
.gb12-measurement-guide figcaption { color: #344258; font-size: .94rem; line-height: 1.5; margin: .75rem auto .15rem; max-width: 52rem; padding-inline: .5rem; text-align: center; }
.gb12-bertrand-guides { display: grid; gap: 1rem; margin-top: .25rem; min-width: 0; }
.gb12-bertrand-guide { background: #fff; border: 1px solid var(--border-color, #d7dce5); border-radius: .65rem; margin: 0; min-width: 0; overflow: hidden; padding: 0 0 .75rem; }
.gb12-bertrand-guide img { aspect-ratio: auto; display: block; height: auto; margin: 0 auto; max-width: 60rem; object-fit: contain; width: 100%; }
.gb12-bertrand-image { margin: 0 auto; max-width: 60rem; position: relative; }
.gb12-bertrand-box-marker { border: clamp(3px, .45vw, 7px) solid #1f57c3; border-radius: clamp(.35rem, 1.2vw, 1rem); bottom: 10%; box-shadow: 0 0 0 clamp(2px, .25vw, 4px) rgba(255,255,255,.9), 0 0 1.15rem rgba(31,87,195,.72); opacity: 0; pointer-events: none; position: absolute; top: 22%; transition: left .2s ease, opacity .2s ease; width: 30%; }
[data-selected-box="1"] .gb12-bertrand-box-marker { left: 3%; opacity: 1; }
[data-selected-box="2"] .gb12-bertrand-box-marker { left: 35.5%; opacity: 1; }
[data-selected-box="3"] .gb12-bertrand-box-marker { left: 68%; opacity: 1; }
.gb12-bertrand-guide figcaption { color: #344258; font-size: .94rem; line-height: 1.5; margin: .75rem auto 0; max-width: 52rem; padding-inline: 1rem; text-align: center; }

@media (max-width: 40rem) {
  .gb12-measurement-guide { padding: .25rem; }
  .gb12-measurement-guide figcaption { font-size: .86rem; margin-top: .55rem; }
  .gb12-bertrand-guides { gap: .75rem; }
  .gb12-bertrand-guide { padding-bottom: .55rem; }
  .gb12-bertrand-guide figcaption { font-size: .86rem; margin-top: .55rem; padding-inline: .65rem; }
}
.gb12-tool .calc-actions { margin-top: 0; }
@media (max-width: 720px) {
  .gb12-grid, .gb12-result dl { grid-template-columns: 1fr; }
  .gb12-field label { min-height: 0; }
  .gb12-result dt { border-bottom: 0; justify-content: flex-start; padding-bottom: .3rem; }
  .gb12-result dd { padding-inline: .4rem; padding-top: .3rem; }
  .gb12-result-line { align-items: flex-start; flex-direction: column; }
  .gb12-result-formula math { font-size: clamp(.82rem, 3.8vw, 1rem); }
}
@media (max-width: 520px) { .gb12-value-unit { grid-template-columns: 1fr; } .gb12-chart text { font-size: 15px; } }
