/* Only music-specific controls; shared layout, player and export live in editor.css. */
body:is([data-page="music"], [data-page="merge"]) .cut-timeline { height: calc(6.25rem + var(--editor-audio-height) + .5rem); }
body:is([data-page="music"], [data-page="merge"]) .cut-filmstrip { bottom: auto; height: 3.75rem; }
body:is([data-page="music"], [data-page="merge"]) .cut-overlays { display: none; }
body:is([data-page="music"], [data-page="merge"]) .cut-handle { top: 6rem; bottom: .25rem; }
.music-lane { position: absolute; top: 6rem; height: var(--editor-audio-height); left: 0; right: 0; border-radius: .25rem; background: var(--color-line); }
.music-add { width: 100%; height: 100%; border: 1px dashed var(--color-primary); border-radius: .25rem; color: var(--color-primary); background: var(--editor-track-bg); font-size: .8125rem; }
.music-region { position: absolute; height: 100%; border: 2px solid var(--color-primary); border-radius: .25rem; background: var(--editor-track-bg); cursor: grab; touch-action: none; overflow: hidden; }
.music-region:active { cursor: grabbing; }
.music-preparing { position: absolute; inset: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-inline: .5rem; border: 1px solid var(--color-line); background: var(--color-surface); font-size: .75rem; }
.music-preparing > span { min-width: 0; }
.music-preparing button { flex-shrink: 0; min-height: 2.75rem; font-size: .75rem; }
.music-region canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.music-region > span { position: absolute; top: .125rem; left: .25rem; max-width: calc(100% - .5rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .625rem; background: var(--editor-track-bg); color: var(--color-text); pointer-events: none; }
.music-settings h2 { font-size: 1rem; }
.music-filename { margin-block: .75rem; overflow-wrap: anywhere; font-size: .875rem; }
.music-file-label { min-height: 2.75rem; width: 100%; font-size: .875rem; }
.music-position { margin-block: 1.25rem .75rem; }
.music-volume { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1rem; font-size: .8125rem; }
.music-volume output { font-variant-numeric: tabular-nums; }
.music-settings input[type="range"] { width: 100%; min-height: 2.75rem; margin: 0; accent-color: var(--color-primary); }
.music-hint { margin-top: .5rem; font-size: .75rem; color: var(--color-muted); }
.music-settings progress { width: 100%; height: .375rem; accent-color: var(--color-primary); }
.music-excerpt { width: min(calc(100% - 1.5rem), 42rem); }
.music-excerpt .auth-header h2 { font-size: 1.125rem; }
.music-excerpt .sheet-body { padding-top: .5rem; }
.music-excerpt input[type="range"] { width: 100%; min-height: 2.75rem; margin: .25rem 0; accent-color: var(--color-primary); }
.music-source-overview, .music-source-detail { position: relative; height: 3rem; margin-top: .75rem; background: var(--editor-track-bg); border: 1px solid var(--color-line); border-radius: .375rem; touch-action: none; }
.music-source-overview { cursor: pointer; }
.music-source-overview canvas, .music-source-detail canvas { display: block; width: 100%; height: 100%; border-radius: inherit; pointer-events: none; }
#music-source-window { position: absolute; top: 0; bottom: 0; min-width: 3px; border: 2px solid var(--color-text); pointer-events: none; }
.music-source-ruler { display: flex; justify-content: space-between; font-size: .6875rem; color: var(--color-muted); font-variant-numeric: tabular-nums; }
.music-source-detail { height: 6rem; margin: .25rem 1.375rem 1rem; }
.music-excerpt-region { position: absolute; top: 0; bottom: 0; border: 2px solid var(--color-primary); background: color-mix(in srgb, var(--color-primary) 12%, transparent); cursor: grab; touch-action: none; }
.music-excerpt-region:active { cursor: grabbing; }
.music-source-detail .cut-handle { top: 0; bottom: 0; height: 100%; }
.music-excerpt-fields { margin-top: .5rem; }
#music-excerpt-play { width: 100%; min-height: 2.75rem; margin-top: .75rem; }
#music-audition-cursor { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--color-text); pointer-events: none; }
#music-excerpt-message:empty { display: none; }
@media (min-width: 600px) and (max-width: 899px) and (max-height: 500px) and (orientation: landscape) {
  body:is([data-page="music"], [data-page="merge"]) .cut-timeline { height: 6.25rem; }
  body:is([data-page="music"], [data-page="merge"]) .cut-filmstrip { height: 1.5rem; }
  body:is([data-page="music"], [data-page="merge"]) .music-lane { top: 3.5rem; height: 2.75rem; }
  body:is([data-page="music"], [data-page="merge"]) .cut-handle { top: 3.5rem; }
}
