.line-lab { margin: 0 0 1.5rem; border: 2px solid var(--press-navy); border-radius: 10px; background: var(--press-cream); color: var(--press-navy); max-width: 100%; }
.line-lab summary { min-height: 48px; padding: 12px; cursor: pointer; font-weight: 800; }
.line-lab-body { padding: 0 12px 12px; min-width: 0; }
.line-lab p { margin: 8px 0; font-size: 0.9rem; }
.line-lab-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.line-lab-controls label { display: grid; gap: 4px; font-size: 0.85rem; font-weight: 700; flex: 1 1 100px; }
.line-lab select { min-width: 44px; width: 100%; min-height: 44px; font: inherit; border: 2px solid var(--press-navy); border-radius: 4px; background: var(--press-cream); color: var(--press-navy); }
.line-lab .btn { min-height: 44px; min-width: 44px; white-space: normal; font-size: 0.85rem; padding: 8px; }
.line-lab-trial, .line-lab-preview { display: flex; gap: 3px; max-width: 100%; overflow-x: auto; padding: 5px; border: 1px solid var(--press-navy); border-radius: 4px; }
.line-lab-square { display: grid; place-items: center; flex: 0 0 44px; min-width: 44px; min-height: 44px; padding: 0; border: 2px solid var(--press-navy); border-radius: 4px; font: 800 22px/1 var(--font-label); background: var(--plate-well); color: var(--press-navy); }
button.line-lab-square { cursor: pointer; }
.line-lab-square.is-ink { color: var(--press-cream); background: var(--press-navy); }
.line-lab-preview .line-lab-square { flex-basis: 25px; min-width: 25px; min-height: 30px; font-size: 17px; }
.line-lab-status { padding: 8px; border-left: 4px solid var(--press-red); background: var(--press-gold); }
.line-lab-caption, .line-lab-count, .line-lab-clue { font-weight: 700; }
.line-lab-pager { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.line-lab button:disabled { opacity: 0.5; cursor: default; }
.line-lab :focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.line-lab-preview[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .line-lab .btn { transition: none; transform: none; } }
