.orchestra-controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; }
.orchestra-controls .field { min-width: 0; }
.orchestra-controls select { width: 100%; min-height: 44px; }
.orchestra-strings { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.orchestra-strings legend { margin-bottom: .5rem; }
.orchestra-strings label { min-height: 44px; }
.orchestra-board-scroll { overflow-x: auto; max-width: 100%; }
.orchestra-board { width: 100%; border-collapse: separate; border-spacing: .35rem; }
.orchestra-board caption { text-align: left; font-weight: 600; padding: .5rem; }
.orchestra-board th { text-align: center; font-size: .85rem; font-weight: 500; }
.orchestra-board th[scope="row"] { text-align: left; min-width: 5.5rem; }
.orchestra-dot { width: 100%; min-width: 44px; min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; }
.orchestra-dot span { font-size: .8rem; }
.orchestra-dot:disabled { opacity: 1; cursor: default; }
.orchestra-dot.chosen { outline: 2px solid currentColor; outline-offset: -3px; }
.orchestra-dot.wanted { border: 3px solid currentColor; }
.orchestra-body { min-width: 0; }
.orchestra-body > svg { max-width: 100%; }
.orchestra-body .bowing-music { max-width: 100%; overflow-x: auto; }
.orchestra-body [role="status"]:empty { display: none; }
@media print {
  .orchestra-study .orchestra-dot { display: flex !important; color: #000; background: #fff; }
  .orchestra-study .orchestra-board-scroll { overflow: visible; }
}
