[data-interactive="belt-geometry"] { min-width: 0; font-size: 16px; overflow-wrap: anywhere; }
[data-interactive="belt-geometry"] * { box-sizing: border-box; }
[data-interactive="belt-geometry"] .bg-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: .75rem; margin-bottom: .75rem; }
[data-interactive="belt-geometry"] label { display: grid; gap: .3rem; font-size: 16px; }
[data-interactive="belt-geometry"] :is(input, select, button) { min-width: 0; max-width: 100%; min-height: 44px; font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--rule); padding: .4rem; }
[data-interactive="belt-geometry"] :is(input, select, button):focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
[data-interactive="belt-geometry"] input:disabled { opacity: .7; }
[data-interactive="belt-geometry"] .bg-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
[data-interactive="belt-geometry"] svg { display: block; width: 100%; max-width: 30rem; height: auto; margin: auto; color: var(--accent); }
[data-interactive="belt-geometry"] svg text { fill: var(--ink); font: 18px sans-serif; }
[data-interactive="belt-geometry"] .bg-wrap { stroke: var(--ink); stroke-dasharray: 3 2; }
[data-interactive="belt-geometry"] :is(p, caption, th, td) { font-size: 16px; }
[data-interactive="belt-geometry"] table { width: 100%; table-layout: fixed; }
[data-interactive="belt-geometry"] th { width: 68%; text-align: left; }
[data-interactive="belt-geometry"] :is(th, td) { padding: .35rem; white-space: normal; }
[data-interactive="belt-geometry"] .bg-warning { border-left: 3px solid var(--accent); padding: .5rem; }
@media (max-width: 48rem) { [data-interactive="belt-geometry"] .bg-grid { grid-template-columns: minmax(0, 1fr); } }
@media screen { [data-interactive="belt-geometry"][data-bg-ready] > .bg-static { display: none; } }
@media print {
  [data-interactive="belt-geometry"] .bg-lab { display: none !important; }
  [data-interactive="belt-geometry"] > .bg-static { display: block !important; }
  [data-interactive="belt-geometry"] :is(table, svg) { break-inside: avoid; }
}
