/* Optional listening drawer; Spotify keeps its native player and branding. */
.music-trigger { position:fixed; top:50%; right:0; z-index:16; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:14px; width:48px; padding:18px 10px; border:0; border-left:3px solid var(--accent); background:var(--navy); color:var(--paper); cursor:pointer; }
.music-trigger span { writing-mode:vertical-rl; font:700 18px/1 var(--display); letter-spacing:.04em; text-transform:uppercase; }
.music-trigger:hover { background:#072c54; }
.music-icon { width:24px; height:24px; flex:none; }
.music-trigger .music-play { width:11px; height:13px; }
.music-drawer { position:fixed; inset:0 0 0 auto; width:min(440px,100%); height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:var(--navy); color:var(--paper); overflow-y:auto; overscroll-behavior:contain; }
.music-drawer::backdrop { background:rgba(14,34,64,.4); }
.music-drawer[open] { animation:music-reveal 200ms ease-out; }
.music-drawer-header { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px 16px 40px; background:var(--navy); }
.music-drawer-header .eyebrow { color:#fff; margin:0; }
.music-close { display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:none; color:var(--paper); cursor:pointer; }
.music-close:hover { color:var(--accent); }
.music-content { padding:24px 40px max(40px,env(safe-area-inset-bottom)); }
.music-content .accent-rule { width:32px; height:3px; margin-bottom:24px; }
.music-content h2 { color:var(--paper); font-size:40px; line-height:1; overflow-wrap:anywhere; }
.music-artist { margin-top:12px; color:#fff; font-size:16px; }
.music-player { margin-top:32px; min-height:152px; }
.music-player iframe { display:block; width:100%; height:152px; border:0; border-radius:12px; background:#121212; }
.music-link { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding-block:12px; margin-top:24px; border-top:1px solid #ffffff4d; font-size:13px; text-decoration:none; }
.music-link:hover { color:var(--accent); text-decoration:underline; }
.music-open { overflow:hidden; }
.music-open .section-controls { visibility:hidden; }
.music-drawer :focus-visible,.music-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
@keyframes music-reveal { from { opacity:0; transform:translateX(100%); } to { opacity:1; transform:translateX(0); } }
@media(max-width:620px) {
  .music-trigger { top:auto; right:auto; bottom:max(16px,env(safe-area-inset-bottom)); left:16px; transform:none; flex-direction:row; gap:8px; width:auto; height:44px; padding:8px 12px; border-left-width:2px; }
  .music-trigger span { writing-mode:horizontal-tb; font-size:17px; }
  .music-trigger .music-icon { width:20px; height:20px; }
  .music-drawer-header { padding:16px 16px 12px 24px; }
  .music-content { padding:16px 24px max(32px,env(safe-area-inset-bottom)); }
  .music-content h2 { font-size:34px; }
}
@media(max-width:360px) {
  .music-drawer-header { padding-left:16px; }
  .music-content { padding-inline:16px; }
}
@media(max-height:540px) { .music-drawer-header { padding-block:8px; } .music-content { padding-top:8px; } }
@media(prefers-reduced-motion:reduce) { .music-drawer[open] { animation:none; } }
@media print { .music-trigger,.music-drawer { display:none!important; } }
