/* Header music controls. All presentation and assets remain self-hosted. */
.music-control{display:inline-flex;position:relative;flex:0 0 auto;align-items:center}
.header-actions .music-toggle{display:inline-flex;position:relative;width:36px;height:36px;flex:0 0 36px}
.music-toggle>svg{width:19px;height:19px}
.music-toggle[aria-expanded=true]{color:var(--gold-light);border-color:#d8bc8050;background:var(--gold-bg)}
.music-playing-dot{display:none;position:absolute;right:4px;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.music-toggle[data-playing=true] .music-playing-dot{display:block}
.music-popover[hidden]{display:none!important}
.music-popover{position:fixed;z-index:70;top:75px;right:clamp(12px,3vw,42px);width:min(348px,calc(100vw - 24px));max-height:calc(100vh - 98px);max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #d8bc8038;border-radius:12px;padding:23px;background:linear-gradient(145deg,#142032,#0c1726);box-shadow:0 22px 70px #0009;color:var(--ink);text-align:left}
.music-popover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.music-eyebrow{font-size:8px;letter-spacing:.18em;font-weight:600;color:var(--gold);line-height:1.5;margin:0 0 8px}
.music-popover h2{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.08;letter-spacing:-.02em;margin:0}
.music-close{display:inline-flex;justify-content:center;align-items:center;background:transparent;color:var(--muted);width:30px;height:30px;flex:0 0 30px;border:1px solid transparent;border-radius:6px;margin:-5px -6px 0 0}
.music-close:hover{color:var(--ink);border-color:var(--line)}
.music-close svg{width:17px;height:17px}
.music-status{font-size:10px;color:var(--gold-light);font-weight:500;line-height:1.6;margin:22px 0 7px}
.music-description{font-size:11px;line-height:1.85;color:var(--muted);overflow-wrap:anywhere;margin:0 0 21px}
.music-track-field label,.music-volume-field label{font-size:10px;font-weight:500;color:#c3cddd;margin:0 0 8px}
.music-track-field select{font-size:11px;min-height:42px;padding:10px 30px 10px 12px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.music-track-field select:disabled{opacity:.65}
.music-playback-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:14px 0 22px}
.music-play,.music-mute{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:500;min-height:40px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 10px}
.music-play{background:var(--gold);border-color:var(--gold);color:#17202b}
.music-play:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold-light)}
.music-mute:hover:not(:disabled){background:#d8bc800b;border-color:#d8bc8050}
.music-mute[aria-pressed=true]{color:var(--gold-light);border-color:#d8bc8050}
.music-play svg,.music-mute svg{width:16px;height:16px}
.music-volume-field>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.music-volume-field label{margin:0}
.music-volume-field output{font-size:10px;color:var(--gold-light);font-variant-numeric:tabular-nums}
.music-volume-field input[type=range]{display:block;width:100%;min-width:0;min-height:32px;height:32px;padding:0;margin:4px 0 2px;border:0;background:transparent;cursor:pointer;accent-color:var(--gold)}
.music-volume-field input[type=range]:disabled{cursor:not-allowed;opacity:.5}
.music-volume-help{font-size:10px;line-height:1.75;color:var(--muted);margin:0}
.music-source-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:21px;padding-top:16px;font-size:11px;line-height:1.6;color:var(--gold-light)}
.music-source-link:hover{color:var(--ink)}
.music-source-link svg{width:14px;height:14px}
@media(max-width:760px){.music-popover{top:70px;right:12px;padding:21px;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px)}.header-actions .music-toggle{display:inline-flex;width:36px;height:36px;flex-basis:36px}}
@media(max-width:360px){.music-popover{padding:19px}.music-popover h2{font-size:27px}}
