.montage-music-actions { display: flex; gap: 16px; margin-top: 8px; }
.montage-music-actions button { border: 0; padding: 0; background: none; color: #d8c589; font: inherit; font-size: 12px; cursor: pointer; }
#montage-open-music { width: 100%; text-align: left; cursor: pointer; }
#montage-music-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#montage-library-dialog { box-sizing: border-box; width: min(760px, calc(100vw - 32px)); max-height: min(820px, calc(100dvh - 48px)); padding: 24px; margin: auto; border: 1px solid #534b38; border-radius: 16px; color: #f4f0e8; background: #111216; box-shadow: 0 20px 70px #0009; }
#montage-library-dialog::backdrop { background: #000b; }
#montage-library-dialog [hidden] { display: none !important; }
#montage-library-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
#montage-library-dialog h2 { margin: 0 0 6px; font-size: 22px; color: #f4f0e8; }
#montage-library-dialog p { color: #bdb6aa; font-size: 13px; margin: 0; }
#montage-library-search { display: grid; grid-template-columns: 126px 1fr auto; gap: 10px; }
#montage-library-query { min-width: 0; }
#montage-library-status, #montage-library-note { padding: 12px 0; }
#montage-library-results { display: grid; gap: 8px; }
.montage-music-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid #292a32; border-radius: 9px; background: #18191e; }
.montage-music-row strong { display: block; font-size: 14px; color: #f4f0e8; overflow-wrap: anywhere; }
.montage-music-row small { display: block; margin-top: 5px; color: #bdb6aa; font-size: 12px; }
#montage-library-dialog .btn { flex-shrink: 0; white-space: nowrap; }
#montage-library-more { margin: 14px auto; }
#montage-library-audio { display: block; position: sticky; bottom: 0; width: 100%; margin-top: 18px; border-radius: 24px; }
#montage-library-dialog button:focus-visible, #montage-library-dialog input:focus-visible, #montage-library-dialog select:focus-visible { outline: 2px solid #e6bd4c; outline-offset: 3px; }
@media (max-width: 520px) {
  #montage-library-dialog { padding: 16px; }
  #montage-library-search { grid-template-columns: 1fr auto; }
  #montage-library-source { grid-column: 1 / -1; }
  .montage-music-row { grid-template-columns: minmax(0, 1fr) auto; }
  .montage-music-row > div { grid-column: 1 / -1; }
}
