/* Sun'Hit only. Preserve the approved palette and compact player. */
body.vibe-site .sunhit-player-vote { display:none; }
body.vibe-site .sunhit-empty-state { padding:36px 24px;text-align:center;border-radius:22px;background:var(--vibe-surface,#f7f7fa);margin:24px 0; }
body.vibe-site .sunhit-empty-state h2 { font-size:22px; }
html[data-vibe-mode="dark"] body.vibe-site .dropdown-menu,
html[data-theme="dark"] body.vibe-site .dropdown-menu {background:#20212a!important;color:#f6f4f8!important;border-color:#ffffff18!important;box-shadow:0 12px 30px #0005;}
html[data-vibe-mode="dark"] body.vibe-site .dropdown-menu .dropdown-item,
html[data-theme="dark"] body.vibe-site .dropdown-menu .dropdown-item {color:#f6f4f8!important;background:transparent!important;}
html[data-vibe-mode="dark"] body.vibe-site .dropdown-item:hover,
html[data-theme="dark"] body.vibe-site .dropdown-item:hover {background:#ffffff12!important;}
html[data-vibe-mode="dark"] .sunhit-empty-state {background:#20212a;color:#f6f4f8;}
body.vibe-site #votes .songs-list[hidden] {display:none!important;}
body.vibe-site .vibe-player-history-panel .vibe-player-history-list {max-height:min(420px,65dvh);overflow:auto;}
@media(max-width:991.98px){
 body.vibe-site .home-now-playing .sunhit-live-actions {gap:8px;flex-wrap:wrap;}
 body.vibe-site .sunhit-live-program {min-width:0;}
}
@media(max-width:767.98px),(orientation:landscape) and (max-height:500px) and (pointer:coarse){
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-actions {grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .sunhit-player-vote {display:flex!important;order:0;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-history-toggle {order:1;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-library-toggle {order:2;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-share {order:3;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-collapse {order:4;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded :is(.vibe-player-volume,.vibe-player-favorite) {display:none!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-actions>.vibe-player-icon {min-width:0!important;width:100%!important;padding-inline:2px!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-icon::after {font-size:10px!important;white-space:nowrap;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-popover {max-height:calc(100dvh - 150px);overflow:auto;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .sunhit-player-vote:disabled {opacity:.45;}
 body.vibe-site [data-sunhit-vote]:not(.sunhit-player-vote) {display:none!important;}
 body.vibe-site :is(#played,#votes) .songs-list {display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding:14px 12px!important;}
 body.vibe-site :is(#played,#votes) .songs-list .time-wpr {width:auto!important;min-width:0!important;text-align:left!important;padding:0!important;}
 body.vibe-site :is(#played,#votes) .songs-list .time {font-size:12px!important;white-space:nowrap;}
 body.vibe-site :is(#played,#votes) .songs-list .details-wpr {width:100%!important;display:flex!important;align-items:center;gap:10px!important;min-width:0;}
 body.vibe-site :is(#played,#votes) .songs-list .img-wpr {width:48px!important;height:48px!important;flex:0 0 48px!important;margin:0!important;}
 body.vibe-site :is(#played,#votes) .songs-list .details {min-width:0!important;flex:1!important;width:auto!important;margin:0!important;}
 body.vibe-site :is(#played,#votes) .songs-list :is(.title,.artist) {white-space:normal!important;overflow-wrap:anywhere;line-height:1.35!important;}
 body.vibe-site :is(#played,#votes) .songs-list .actions {position:static!important;width:auto!important;flex:0 0 auto!important;margin:0!important;}
 body.vibe-site :is(#played,#votes) .sunhit-song-vote {min-width:52px!important;font-size:12px!important;flex-direction:column;gap:3px!important;}
 body.vibe-site #main :is(#played,#votes) .songs-list .details-wpr {padding:12px!important;height:auto!important;min-height:80px!important;}
 body.vibe-site #main :is(#played,#votes) .songs-list .img-wpr {width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important;}
 body.vibe-site #main :is(#played,#votes) .songs-list .img {width:44px!important;height:44px!important;}
 body.vibe-site #main :is(#played,#votes) .songs-list :is(.title,.artist) {display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important;line-clamp:none!important;text-overflow:clip!important;font-size:13px!important;}
}
@media(orientation:landscape) and (max-height:500px){
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-artwork-wrap {left:7%!important;top:76px!important;width:min(190px,calc(100dvh - 170px))!important;height:min(190px,calc(100dvh - 170px))!important;transform:none!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-copy {left:44%!important;right:24px!important;top:85px!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:none!important;gap:5px!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-live {font-size:10px!important;margin:0!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-title {font-size:16px!important;line-height:1.25!important;-webkit-line-clamp:1;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-artist {font-size:19px!important;line-height:1.25!important;-webkit-line-clamp:2;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-play {left:71%!important;top:calc(100dvh - 119px)!important;bottom:auto!important;width:50px!important;height:50px!important;min-height:50px!important;transform:translate(-50%,-50%)!important;}
 body.vibe-site #vibe-floating-player.is-mobile-expanded .vibe-player-actions {height:72px!important;}
}
@media(prefers-reduced-motion:reduce){body.vibe-site .sunhit-empty-state {animation:none;}}
