#music-player { margin: auto; width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); padding: 26px; border: 1px solid #ff313170; border-radius: 22px; background: #101012; color: #f3f1ee; box-shadow: 0 20px 100px #000b; overflow-y: auto; }
#music-player::backdrop { background: #000c; backdrop-filter: blur(10px); }
#music-player header { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
#music-player h2 { font: 40px/1.1 'Bebas Neue', sans-serif; margin-top: 8px; }
#music-player .music-eyebrow { color: #ff4a4a; font-size: 10px; letter-spacing: .22em; }
#music-player [data-music-close] { width: 38px; height: 38px; border: 1px solid #494047; border-radius: 50%; font-size: 26px; background: #21181b; }
.music-caption { margin: 16px 0; color: #a5a3ab; font-size: 13px; line-height: 1.6; }
#music-player [data-music-now] { font-size: 14px; margin: 16px 0; }
#music-player audio { width: 100%; }
#music-player iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 12px; }
#music-player [data-music-youtube] { display: inline-block; color: #ff7b7b; font-size: 12px; margin: 12px 0; }
#music-player [data-music-error] { color: #ff9999; font-size: 12px; margin: 12px 0; }
.music-playlist { display: grid; gap: 8px; margin-top: 20px; }
.music-playlist button { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px; border: 1px solid #303038; border-radius: 10px; background: #18181d; text-align: left; }
.music-playlist button > span:nth-child(2) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.music-playlist strong { display: block; font-size: 13px; }
.music-playlist small { display: block; color: #aaa5af; margin-top: 4px; font-size: 11px; }
.music-track-number { font-family: 'Bebas Neue', sans-serif; font-size: 22px; color: #ff5555; }
.music-playlist button[aria-pressed=true], .music-playlist button:hover { border-color: #ff3131; background: #27181d; }
#music-player button:focus-visible, #music-player a:focus-visible { outline: 2px solid #ff7777; outline-offset: 3px; }
.music-empty { color: #aaa5af; text-align: center; padding: 24px; font-size: 13px; }
.music-mobile-button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; }
.music-mobile-button svg { width: 20px; height: 20px; }
.music-mobile-button span { font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
#music-player [hidden] { display: none !important; }
@media (max-width: 767px) { [data-mobile-nav] .mobile-nav-link { min-width: 0; padding-left: 5px; padding-right: 5px; } }
