.song-search-form { position: relative; z-index: 2; min-width: 0; }
.song-search-results {
  position: absolute; z-index: 90; top: calc(100% + .45rem); left: 0; right: 0;
  max-height: min(25rem, 58dvh); overflow-y: auto; overscroll-behavior: contain;
  padding: .4rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem;
  background: #181720; color: #eeeaf2; box-shadow: 0 18px 48px rgba(0,0,0,.35);
  text-align: left;
}
.song-search-results[hidden], .song-search-results.hidden { display: none !important; }
.song-search-result { display: flex; align-items: center; gap: .75rem; min-height: 58px; padding: .6rem .7rem; border-radius: .7rem; color: inherit; text-decoration: none; }
.song-search-result:hover, .song-search-result.is-active, .song-search-result:focus-visible { background: rgba(240,186,219,.11); outline: 1px solid rgba(240,186,219,.3); }
.song-search-cover { position: relative; display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: .55rem; overflow: hidden; background: #302a3e; color: #dfc6e9; }
.song-search-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.song-search-cover img[hidden] { display: none; }
.song-search-copy { display: grid; gap: .2rem; min-width: 0; flex: 1; }
.song-search-copy strong, .song-search-copy > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.song-search-copy strong { color: inherit; font-size: .95rem; font-weight: 600; }
.song-search-copy > span, .song-search-state { color: #aba3b5; font-size: .78rem; }
.song-search-state { flex: 0 0 auto; }
.song-search-message { display: flex; gap: .6rem; align-items: center; min-height: 58px; padding: .8rem; color: #c4bacd; font-size: .9rem; }
.song-search-message.is-loading::before { content: ''; width: 1rem; height: 1rem; flex: 0 0 1rem; border: 2px solid rgba(240,186,219,.2); border-top-color: #f0badb; border-radius: 50%; animation: song-search-spin .75s linear infinite; }
@keyframes song-search-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .song-search-message.is-loading::before { animation: none; } }
body.theme-light .song-search-results { background: #fffafc; color: #312633; border-color: #ded1df; box-shadow: 0 18px 48px rgba(61,35,65,.15); }
body.theme-light .song-search-result:hover, body.theme-light .song-search-result.is-active { background: #f3e8f0; outline-color: #dfc1d7; }
body.theme-light .song-search-copy > span, body.theme-light .song-search-state, body.theme-light .song-search-message { color: #78697e; }
body.theme-light .song-search-cover { background: #eee1ef; color: #8a6b94; }
@media (max-width: 480px) { .song-search-results { padding: .3rem; } .song-search-result { gap: .55rem; padding: .55rem; } .song-search-state { display: none; } }
