/* Semantic surfaces and controls shared by music editors. */
.music-panel { border: 1px solid var(--fx-blue-veil); border-radius: 24px; padding: var(--music-panel-padding, 20px); box-shadow: var(--fx-shadow-subtle); color: var(--neutral-900); }
.music-panel--settings { background: var(--blue-600); }
.music-panel--workspace { background: var(--green-300); }
.music-panel--performance { background: var(--gold-300); }
.music-tools, .music-transport { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.music-tools { position: relative; }
.music-tools .music-tool, .music-transport .music-tool { width: 48px; height: 48px; min-height: 48px; padding: 9px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid #ffffff55; background: var(--blue-300); color: var(--neutral-900); cursor: pointer; }
.music-tools .btn-icon, .music-transport .btn-icon { display: flex; width: 28px; height: 28px; align-items: center; justify-content: center; font-size: 23px; font-weight: 800; }
.music-tools svg, .music-transport svg { width: 100%; height: 100%; }
.music-tools button[aria-pressed="true"], .music-tools button[aria-expanded="true"] { background: var(--gold-400); color: var(--neutral-900); box-shadow: inset 0 0 0 2px var(--gold-900); }
.music-tools button:disabled, .music-tool:disabled { opacity: .45; cursor: default; }
.music-tools button:focus-visible, .music-transport button:focus-visible { outline: 3px solid var(--mist-050); outline-offset: 2px; }
.music-tool-options { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px; background: var(--neutral-700); border-radius: 8px; color: var(--mist-050); }
.music-tool-options[hidden] { display: none; }
.music-tool-options label { display: flex; align-items: center; gap: 8px; }
.music-tool-options select, .music-tool-options button { font: inherit; min-height: 40px; padding: 6px 10px; border: 1px solid var(--mist-400); border-radius: 6px; background: var(--blue-300); color: var(--neutral-900); }
.music-transport .music-tool[data-transport="record"] { background: var(--gold-500); }
.music-transport .music-tool[data-transport="play"] { background: var(--teal-300); }
.music-transport .music-tool[data-transport="stop"] { background: var(--red-200); }
.music-editor .piano-roll__note.is-selected { outline: 2px solid var(--gold-400); outline-offset: 1px; background: var(--gold-300); color: var(--neutral-900); }
.music-editor .piano-roll__grid { touch-action: none; user-select: none; }
.music-editor .is-mode-erase .piano-roll__note { cursor: crosshair; }
.music-editor .is-mode-resize .piano-roll__note { cursor: ew-resize; }
.music-editor .is-mode-select .piano-roll__note { cursor: grab; }
.music-editor .is-mode-draw { cursor: crosshair; }
.music-editor .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.music-editor .piano-roll__header { flex-wrap: wrap; gap: 12px; }
.music-editor .piano-roll__header > .piano-roll__hint { flex-basis: 100%; margin: 0; }

.music-editor .piano-roll__header > .recording-controls { flex: 1 1 520px; }
.music-editor .piano-roll__header > .music-tools { flex: 1 1 450px; }
