.am-container { --artist-border: #cbd5e1; --artist-panel: #f5f7fb; --artist-ink: #172b4d; }
.am-container .am-header { justify-content: space-between; align-items: center; }
.am-container .am-header h1 { flex-basis: 100%; }
.am-container .am-stats { flex-wrap: wrap; line-height: 1.7; }
.am-container .am-tabs { display: flex; gap: 4px; overflow-x: auto; padding-top: 4px; }
.am-container .am-tab { flex: 1; min-width: max-content; padding: 12px 16px; }
.am-container .am-library-tools { display: grid; grid-template-columns: minmax(150px, 2fr) minmax(110px, 1fr) minmax(100px, 1fr) auto; gap: 10px; align-items: end; padding: 16px; background: var(--artist-panel); border: 1px solid var(--artist-border); }
.am-library-tools label, .artist-library-tools label { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 12px; font-weight: 700; }
.am-library-tools input, .am-library-tools select { width: 100%; box-sizing: border-box; min-width: 0; padding: 9px; border: 1px solid var(--artist-border); background: #fff; color: var(--artist-ink); border-radius: 3px; }
.am-container #am-library-count { font-size: 12px; padding: 6px 2px; color: #53627a; }
.am-container #am-library-empty { padding: 24px; text-align: center; }
.am-container .am-track-item { flex-wrap: wrap; gap: 8px; border-radius: 3px; }
.am-container .am-ti-title { overflow-wrap: anywhere; }
.am-container .am-ti-info { min-width: 120px; }
.am-container .am-ti-actions { flex-wrap: wrap; align-items: center; }
.am-container .am-move, .am-container .am-preview { border: 1px solid var(--artist-border); background: var(--artist-panel); color: var(--artist-ink); border-radius: 3px; min-height: 32px; min-width: 32px; cursor: pointer; padding: 4px 8px; font: inherit; font-size: 12px; }
.am-container button:disabled { opacity: .5; cursor: wait; }
.am-container .am-move:disabled { cursor: default; }
.am-container .am-preview-audio { display: block; width: 100%; margin: 0 0 14px; }
.am-container .am-track-row:target { outline: 2px solid #3b82f6; outline-offset: 3px; scroll-margin-top: 20px; }
.am-container .am-local-preview { display: block; width: 100px; max-height: 100px; object-fit: contain; margin: 8px 0; background: var(--artist-panel); }
.am-container .am-upload-feedback { padding: 12px; margin: 10px 0; background: var(--artist-panel); border: 1px solid var(--artist-border); overflow-wrap: anywhere; }
.am-container #am-upload-progress { display: block; width: 100%; height: 18px; margin: 10px 0 16px; accent-color: #245bb0; }
.am-container [hidden], .am-container #am-upload-progress[hidden], .artist-player [hidden] { display: none; }
.am-container .am-edit-form input, .am-container .am-edit-form select, .am-container .am-edit-form textarea { min-width: 0; max-width: 100%; }
.am-container .am-file-drop:focus-within { outline: 2px solid #245bb0; outline-offset: 2px; }
.am-container .sortable-ghost { opacity: .4; }
.am-container .am-track-list[aria-busy="true"] .am-ti-handle { cursor: wait; }
.am-container :is(button, input, select, textarea, a):focus-visible { outline: 2px solid #3579df; outline-offset: 3px; }

.ab-container .ab-header { text-align: left; }
.ab-container .ab-header h1 { font-size: 25px; }
.ab-directory-actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 20px; font-size: 13px; font-weight: 700; }
.ab-container .ab-search { min-width: 0; flex-basis: 220px; }
.ab-container .ab-search input { min-width: 0; width: 100%; }
.ab-container .ab-sort select { max-width: 100%; }
.ab-container .ab-card { display: flex; flex-direction: column; }
.ab-card-profile { display: block; flex: 1; color: inherit; text-decoration: none; min-width: 0; }
.ab-container .ab-card-name, .ab-container .ab-card-genre { overflow-wrap: anywhere; }
.ab-container .ab-card-stats { gap: 10px; flex-wrap: wrap; }
.ab-card-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 16px; border-top: 1px solid #e5e7eb; font-size: 12px; }
.ab-card-actions .ab-listen { display: inline-flex; padding: 6px 16px; color: #fff; background: #003399; text-decoration: none; font-weight: 700; }
.ab-results-summary { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 12px 0; font-size: 12px; color: #5c6a7d; }
.ab-container .ab-pagination { flex-wrap: wrap; }

.artist-library-tools { display: grid; grid-template-columns: minmax(100px, 2fr) minmax(80px, 1fr); gap: 10px; padding: 12px; border-bottom: 1px solid #aaa6; }
.artist-library-tools input[type="search"], .artist-library-tools select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; padding: 7px; font: inherit; font-size: 12px; border: 1px solid #aaa; border-radius: 2px; }
.artist-library-tools .ap-volume-label { grid-column: 1 / -1; flex-direction: row; align-items: center; font-weight: 400; }
.artist-library-tools #ap-volume { width: 110px; max-width: 70%; accent-color: currentColor; }
.artist-library-count { margin: 0; padding: 6px 12px; font-size: 11px; opacity: .8; }
.artist-player-status { padding: 8px 12px; margin: 0; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.artist-player-status:empty { display: none; }
.artist-player .atr-play { display: inline-flex; justify-content: center; align-items: center; min-width: 30px; min-height: 30px; background: transparent; border: 0; color: inherit; padding: 3px; font: inherit; cursor: pointer; }
.artist-player .atr-duration { font-size: 11px; white-space: nowrap; opacity: .8; }
.artist-player .atr-explicit { font-size: 9px; font-weight: 700; border: 1px solid currentColor; padding: 0 3px; }
.artist-player .atr-actions { flex-wrap: wrap; gap: 8px; }
.artist-player .artist-album-play { margin-top: 8px; background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 2px; font: inherit; font-size: 11px; cursor: pointer; padding: 6px 10px; }
.artist-player #ap-progress { cursor: pointer; touch-action: manipulation; min-height: 12px; }
.artist-player #ap-progress:focus-visible { outline: 2px solid #3579df; outline-offset: -2px; }
.artist-player .artist-track-row { min-width: 0; }
.artist-player .atr-title { min-width: 0; overflow-wrap: anywhere; }
.artist-player .atr-title a { white-space: normal; }
.artist-lyrics-dialog { box-sizing: border-box; width: min(560px, calc(100vw - 32px)); max-height: 80dvh; padding: 22px; border: 1px solid #65748a; border-radius: 4px; color: #172b4d; background: #fff; box-shadow: 0 12px 48px #0006; }
.artist-lyrics-dialog::backdrop { background: #000a; }
.artist-lyrics-dialog h2 { margin: 0 0 18px; padding-right: 76px; font-size: 20px; overflow-wrap: anywhere; }
.artist-lyrics-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.7; margin: 0; }
.artist-lyrics-close { position: absolute; right: 12px; top: 12px; padding: 6px 8px; border: 1px solid #aaa; border-radius: 2px; font: inherit; font-size: 12px; color: inherit; background: transparent; cursor: pointer; }
body.theme-dark .am-container { --artist-border: #42516a; --artist-panel: #182235; --artist-ink: #e2e8f0; }
body.theme-dark .am-library-tools input, body.theme-dark .am-library-tools select { background: #111827; color: #e2e8f0; }
body.theme-dark .am-container #am-library-count, body.theme-dark .ab-results-summary { color: #aab8ce; }
body.theme-dark .ab-card-actions { border-color: #374151; }
body.theme-dark .artist-library-tools input[type="search"], body.theme-dark .artist-library-tools select { color: #e2e8f0; background: #111827; border-color: #526074; }
body.theme-dark .artist-lyrics-dialog { background: #182235; color: #e2e8f0; border-color: #526074; }
@media (max-width: 600px) {
    .am-container .am-library-tools { grid-template-columns: 1fr 1fr; padding: 10px; }
    .am-library-tools label:first-child { grid-column: 1 / -1; }
    .am-container .am-track-item .am-ti-plays { margin-left: auto; }
    .am-container .am-track-item .am-ti-actions { width: 100%; justify-content: flex-end; }
    .am-container .am-track-item .am-ti-title { white-space: normal; }
    .am-container .am-header .am-stats { gap: 12px; }
    .am-container .am-tab { padding: 10px 8px; font-size: 12px; }
    .ab-container .ab-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
    .ab-container .ab-search { flex-basis: 100%; }
    .artist-player .artist-track-row { flex-wrap: wrap; gap: 5px; }
    .artist-player .atr-title { flex-basis: 45%; }
    .artist-player .atr-plays { font-size: 10px; }
    .artist-player .atr-actions { margin-left: auto; }
    .artist-player .mmp-control-container { flex-wrap: wrap; }
    .artist-player .mmp-meta-container { min-width: 0; flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .am-container .am-track-item, .ab-container .ab-card { transition: none; }
}
