#swp-radio-add { position:static; min-height:44px; min-width:44px; }
#swp-controls:has(#swp-radio-add) { grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-template-areas:"shuffle back next" "pause add ."; }
#swp-controls:has(#swp-radio-add) #swp-shuffle { grid-area:shuffle; }
#swp-controls:has(#swp-radio-add) #swp-back { grid-area:back; }
#swp-controls:has(#swp-radio-add) #swp-next { grid-area:next; }
#swp-controls:has(#swp-radio-add) #swp-stop { grid-area:pause; }
#swp-controls:has(#swp-radio-add) #swp-radio-add { grid-area:add; }
#swp-radio-list[hidden] { display:none; }
#swp-radio-list ul { margin:0; padding-inline-start:1.2em; }
#swp-radio-list button { position:static; float:none; font:inherit; max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
#swp-lyrics { white-space:pre-wrap; overflow-wrap:anywhere; }
#swp-cover[hidden] { display:none !important; }
#swp-radio-list button { color:var(--sw-text,#fff); background:var(--sw-panel,rgba(255,255,255,.15)); border:1px solid var(--sw-border,rgba(255,255,255,.28)); border-radius:8px; padding:8px 12px; cursor:pointer; }
#swp-controls #swp-radio-add,
#swp-controls #swp-radio-add:hover,
#swp-controls #swp-radio-add:active {
  background:transparent; border:0; box-shadow:none; color:#fff;
  min-width:44px; min-height:44px; font-size:2rem; line-height:1;
}
#swp-controls #swp-radio-add:focus-visible { outline:2px solid #fff; outline-offset:2px; }
#swp-controls #swp-radio-add:disabled { opacity:.4; cursor:not-allowed; }

#swp-demand-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 12px; }
#swp-demand-actions button { position:static; min-height:44px; flex:1 1 100px; padding:10px 16px; border:1px solid #fff; border-radius:8px; color:#fff; background:#742044; font:inherit; font-weight:600; cursor:pointer; }
#swp-demand-actions button:disabled { opacity:.55; cursor:wait; }
#swp-demand-actions button:focus-visible,#swp-current-song button:focus-visible { outline:3px solid #5422aa; outline-offset:3px; }
.swp-demand-status { flex-basis:100%; font-size:.9rem; }
.swp-demand-status:empty { display:none; }
#swp-results .swp-demand-song-title { display:block; width:100%; text-align:left; font:inherit; color:inherit; background:transparent; border:0; border-radius:0; padding:4px 0; min-height:44px; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
#swp-results .swp-demand-song-title:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
#swp-current-song { box-sizing:border-box; width:100%; min-width:0; display:grid; grid-template-columns:minmax(140px,220px) minmax(0,1fr); gap:24px; align-items:start; margin:22px 0; color:#27222b; }
#swp-current-song[hidden],#swp-current-song [hidden],#swp-lyrics-panel[hidden] { display:none!important; }
#swp-current-song .swp-current-art { min-width:0; }
#swp-current-song #swp-cover { display:block; width:100%; max-width:220px; height:auto; max-height:none; aspect-ratio:1; object-fit:contain; margin:0; border-radius:10px; }
#swp-current-song .swp-current-words { min-width:0; padding:16px 20px; background:rgba(255,255,255,.9); border-radius:10px; }
#swp-current-song #swp-lyrics { color:#27222b!important; background:transparent!important; font-size:1rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; max-height:18em; overflow:hidden; padding:0; margin:0; }
#swp-current-song .swp-lyrics-expanded #swp-lyrics { max-height:none; }
#swp-current-song .swp-lyrics-more { min-height:44px; margin-top:8px; padding:8px 12px; font:inherit; color:#742044; background:transparent; border:1px solid currentColor; border-radius:6px; cursor:pointer; }
#swp-current-song.swp-words-only { grid-template-columns:minmax(0,1fr); }
#swp-current-song.swp-art-only { grid-template-columns:minmax(140px,220px); }
@media(max-width:639px){ #swp-current-song { grid-template-columns:minmax(0,1fr); gap:14px; } #swp-current-song #swp-cover { max-width:220px; margin-inline:auto; } #swp-current-song.swp-art-only { grid-template-columns:1fr; } }

#swp-list-panel:has(#swp-playlist-panel:not(.swp-hidden) #swp-playlist.swp-list-empty){height:auto!important;min-height:0!important;}
#swp-playlist-panel:not(.swp-hidden):has(#swp-playlist.swp-list-empty),#swp-playlist-panel:not(.swp-hidden) #swp-playlist.swp-list-empty{height:auto!important;min-height:0!important;flex:0 1 auto;}
#swp-playlist.swp-list-empty p,#swp-add-status{margin:8px 0;padding:8px 12px;}
#swp-add-status[hidden]{display:none;}

#swp-add-status{box-sizing:border-box!important;display:block;max-width:100%!important;width:100%!important;min-width:0!important;font-size:clamp(11px,2.8vw,13px)!important;line-height:1.4!important;font-weight:400!important;white-space:normal!important;overflow-wrap:anywhere!important;margin:4px 0!important;padding:0 8px!important;min-height:0!important;}
#swp-add-status[hidden]{display:none!important;}

#swp-nowplaying-text{display:block!important;text-align:center!important;width:100%;box-sizing:border-box;}
#swp-inline-art{display:flex;justify-content:center;width:100%;margin:8px 0;}
#swp-inline-art[hidden],#swp-player #swp-current-song[hidden]{display:none!important;}
#swp-inline-art #swp-cover{position:static!important;float:none!important;display:block;max-width:min(100%,240px)!important;width:auto!important;height:auto!important;max-height:240px!important;object-fit:contain;margin:0 auto!important;}
#swp-player #swp-current-song{display:block!important;width:100%;min-width:0;box-sizing:border-box;margin:10px 0;}
#swp-current-song .swp-current-words{box-sizing:border-box;min-width:0;width:100%;}
#swp-current-song #swp-lyrics{height:auto!important;max-height:12rem!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;scroll-behavior:auto!important;}
#swp-current-song .swp-lyrics-note{display:block;font-size:12px;line-height:1.4;margin-top:4px;}
#swp-current-song .swp-lyrics-follow{font-size:13px;max-width:100%;white-space:normal;}

#swp-player > #swp-list-panel{flex:0 0 auto;align-self:stretch;max-width:100%;min-height:0!important;box-sizing:border-box;}
#swp-player > #swp-list-panel:has(#swp-ondemand-panel:not(.swp-hidden)),#swp-player > #swp-list-panel:has(#swp-playlist-panel:not(.swp-hidden) #swp-playlist:not(.swp-list-empty)){height:min(50vh,24rem)!important;min-height:0!important;}
#swp-player > #swp-list-panel #swp-results,#swp-player > #swp-list-panel #swp-playlist{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;}

/* Neutral second list; existing palette and feedback typography retained. */
#swp-controls:has(#swp-radio-minus){grid-template-areas:"shuffle back next" "pause add minus";}
#swp-controls #swp-radio-minus{grid-area:minus;position:static;min-width:44px;min-height:44px;background:transparent;border:0;box-shadow:none;color:#fff;font-size:2rem;line-height:1;}
#swp-controls #swp-radio-minus:disabled{opacity:.4;cursor:not-allowed;}
#swp-controls #swp-radio-minus:focus-visible{outline:2px solid #fff;outline-offset:2px;}
#swp-minus-list-panel{box-sizing:border-box;width:100%;min-width:0;max-height:min(50vh,24rem);overflow-y:auto;overscroll-behavior:contain;}
#swp-minus-list-panel.swp-hidden{display:none!important;}
#swp-minus-list-panel h3,#swp-minus-list-panel p{font:inherit;margin:8px 0;}
.swp-minus-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;}
.swp-minus-row span{flex:1 1 140px;min-width:0;overflow-wrap:anywhere;}
.swp-minus-row button{position:static;font:inherit;white-space:normal;min-height:44px;}
#swp-player>#swp-list-panel:has(#swp-minus-list-panel:not(.swp-hidden)){display:flex;height:auto!important;min-height:0!important;}
