[data-interactive="resin-batch"] { min-width: 0; margin-block: 1rem; }
[data-interactive="resin-batch"] * { box-sizing: border-box; }
.rb-lab { font: .96rem/1.5 var(--f-display); }
.rb-lab [hidden] { display: none !important; }
.rb-predict { border: 1px solid var(--rule); padding: .8rem; min-width: 0; }
.rb-predict legend { font-weight: 750; }
.rb-predict label { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.rb-history > summary, .rb-advanced > summary { cursor: pointer; min-height: 44px; padding: .6rem; font-weight: 650; }
.rb-history[data-complete] { border: 1px solid var(--rule); color: var(--ink-soft); font-size: .9rem; margin-block: .7rem; }
.rb-history[data-complete] .rb-predict { border: 0; }
.rb-history[data-complete] > summary { font-weight: 500; }
.rb-advanced { border: 1px solid var(--rule); padding: .25rem; margin-block: 1rem; }
.rb-advanced[open] { padding-bottom: .6rem; }
.rb-advanced .rb-controls { padding: .5rem; }
.rb-explore-heading { scroll-margin-block-start: 5rem; }
.rb-lab :is(button,input,select) { font: inherit; color: var(--ink); accent-color: var(--accent); }
.rb-lab :is(button,input[type="number"],select) { min-height: 44px; border: 1px solid var(--rule); border-radius: var(--radius-xs); background: var(--surface); padding: .45rem .6rem; }
.rb-lab button { cursor: pointer; }
.rb-lab button:disabled { opacity: .55; cursor: default; }
.rb-lab :is(input,select,button,summary,.rb-explore-heading):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.rb-presets { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: 1rem; }
.rb-presets > span { flex-basis: 100%; font-weight: 700; }
.rb-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.rb-controls.rb-primary { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: .8rem; }
.rb-controls label { display: block; min-width: 0; font-weight: 650; }
.rb-controls :is(input,select) { display: block; width: 100%; min-width: 0; margin-top: .3rem; }
.rb-basis-note, .rb-spec-compare { padding: .7rem; border-left: 3px solid var(--accent); background: var(--surface); }
.rb-error { font-weight: 700; }
.rb-error:empty { display: none; }
.rb-comparisons, .rb-components { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-block: .8rem; }
.rb-comparisons article, .rb-components article { border: 1px solid var(--rule); padding: .7rem; min-width: 0; background: var(--paper); }
.rb-comparisons article[data-selected="true"] { box-shadow: inset 0 3px var(--accent); }
.rb-lab :is(h3,h4) { margin-block: .2rem .5rem; }
.rb-lab h3 { font-size: 1.05rem; }
.rb-lab h4 { font-size: 1rem; }
.rb-balance { min-height: 4.5em; }
.rb-balance span { display: inline-block; }
.rb-a { font-weight: 750; }
.rb-b { font-weight: 750; text-decoration: underline; text-decoration-style: dashed; text-underline-offset: .2em; }
.rb-bar { height: 2.3rem; display: flex; width: 100%; background: var(--surface); border: 1px solid var(--rule); }
.rb-bar-a { background: var(--ink); }
.rb-bar-b { background: repeating-linear-gradient(135deg,var(--ink) 0 2px,var(--paper) 2px 7px); }
.rb-components p, .rb-balance, .rb-scale strong { overflow-wrap: anywhere; }
.rb-scale { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding-left: 1.3rem; }
.rb-scale li { padding: .4rem; border-top: 2px solid var(--rule); }
.rb-static .unit-table { width: 100%; }
@media (max-width: 50rem) { .rb-controls { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 36rem) {
  .rb-controls,.rb-controls.rb-primary,.rb-comparisons,.rb-components,.rb-scale { grid-template-columns: minmax(0,1fr); }
  .rb-presets button { width: 100%; }
  .rb-balance { min-height: 0; }
  .rb-comparisons article[data-selected="true"] { order: -1; }
}
@media screen { [data-interactive="resin-batch"][data-rb-ready] > .rb-static { display: none; } }
@media print {
  [data-interactive="resin-batch"] .rb-lab { display: none !important; }
  [data-interactive="resin-batch"] > .rb-static { display: block !important; }
  .rb-static .unit-table { min-width: 0; font-size: .9rem; }
}
