/* Line Balancing Calculator - page-specific styles. Global .ops- system loads from the theme. */

.lb-chart-wrap { position: relative; height: 300px; margin-top: 22px; }
#chartCanvas { max-width: 100% !important; }

.lb-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }

.lb-breakdown { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--ops-divider); }
.lb-breakdown .ops-result-label { margin-bottom: 10px; }
.lb-breakdown dd { font-family: var(--ops-mono); font-size: 13px; }

.lb-adv { margin: 4px 0 2px; border-top: 1px solid var(--ops-divider); padding-top: 16px; }
.lb-adv > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px;
  font: 600 11px/1 var(--ops-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ops-text-dim); margin-bottom: 16px; }
.lb-adv > summary::-webkit-details-marker { display: none; }
.lb-adv > summary::after { content: "+"; color: var(--ops-accent); font-family: var(--ops-mono); font-size: 15px; }
.lb-adv[open] > summary::after { content: "\2212"; }

.lb-hint { font-size: 12px; line-height: 1.5; color: var(--ops-text-faint); margin: -8px 0 16px; }

@media (max-width: 560px) {
  .lb-row2 { grid-template-columns: 1fr; }
  .lb-chart-wrap { height: 340px; }
}
