/* Persistent music controls share the site's midnight-blue glass palette. */
.header-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
.site-header .menu-toggle{display:none}
.music-toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-width:68px;min-height:44px;padding:10px 0;color:#a8c9eb;transition:color .25s}
.music-toggle .mono{font-size:7px}
.music-toggle:hover,.music-toggle[aria-expanded="true"],.music-toggle.is-playing{color:#e0f2ff}
.music-bars{display:flex;align-items:center;justify-content:center;gap:3px;width:25px;height:22px}
.music-bars i{display:block;width:2px;height:7px;border-radius:2px;background:currentColor;transform-origin:center}
.music-bars i:nth-child(2),.music-bars i:nth-child(4){height:14px}
.music-bars i:nth-child(3){height:21px}
.music-toggle.is-playing .music-bars i{animation:omni-equalizer .9s ease-in-out infinite alternate}
.music-toggle.is-playing .music-bars i:nth-child(2){animation-delay:-.4s}
.music-toggle.is-playing .music-bars i:nth-child(3){animation-delay:-.7s}
.music-toggle.is-playing .music-bars i:nth-child(4){animation-delay:-.2s}
.music-toggle.is-playing .music-bars i:nth-child(5){animation-delay:-.6s}
.music-player{position:fixed;z-index:60;top:110px;right:var(--pad);width:336px;min-height:430px;max-width:calc(100vw - 2 * var(--pad));max-height:calc(100dvh - 130px);overflow:auto;padding:28px 22px 20px;border:1px solid #a5d7ff38;border-radius:16px;background:linear-gradient(145deg,#1c3552ec,#0a172cf5 70%);box-shadow:0 20px 70px #0007,inset 0 1px #d5ebff12;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);color:var(--ink);transform-origin:top right}
.music-close{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#91b4d6}
.music-player{display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#8cbae755 transparent}
.music-player>*:not(.music-review){flex-shrink:0}
.music-close:hover{background:#afd6ff12;color:#e0f2ff}
.music-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.music-track{display:flex;align-items:center;gap:17px}
.music-cover{display:block;width:78px;height:78px;object-fit:cover;border-radius:10px;border:1px solid #c6e4ff2b;box-shadow:0 7px 22px #0004}
.music-track h2{font-size:21px;letter-spacing:-.04em;font-weight:500;margin-bottom:7px}
.music-artist{font-size:7px;line-height:1.8;color:#91aecf;letter-spacing:.08em}
.music-track-tag{display:block;margin-top:8px;font-size:8px;color:#aecbe5}
.music-seek-wrap{margin-top:21px}
.music-range{display:block;appearance:none;-webkit-appearance:none;width:100%;height:24px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;--progress:0%;touch-action:pan-y}
.music-range::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(to right,#b3dcff var(--progress),#a3c5ea25 var(--progress))}
.music-range::-moz-range-track{height:3px;border-radius:3px;background:#a3c5ea25}
.music-range::-moz-range-progress{height:3px;border-radius:3px;background:#b3dcff}
.music-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border-radius:50%;background:#d5edff;box-shadow:0 0 10px #8ecbff66}
.music-range::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#d5edff}
.music-range:focus-visible{outline:1px solid var(--ice);outline-offset:4px;border-radius:4px}
.music-range:disabled{cursor:wait;opacity:.5}
.music-time{display:flex;justify-content:space-between;font-size:9px;color:#8dabc9;font-variant-numeric:tabular-nums}
.music-controls{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:15px}
.music-transport{display:flex;align-items:center;justify-content:center;gap:3px;flex-shrink:0}
.music-step{display:grid;place-items:center;width:25px;height:44px;border-radius:8px;color:#91b4d6}
.music-step svg{width:16px;height:16px;fill:currentColor}
.music-step:hover{color:#e0f2ff;background:#afd6ff12}
.music-play{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border:1px solid #bedfff69;border-radius:50%;background:linear-gradient(135deg,#88b9eb38,#476c9b24);color:#d6ecff;transition:background .2s,box-shadow .2s}
.music-play:hover{background:#b0d8ff38;box-shadow:0 0 24px #6ba8e21c}
.music-play svg{width:21px;height:21px;fill:currentColor}
.music-volume{display:flex;align-items:center;gap:4px;width:84px}
.music-mute{display:grid;place-items:center;min-width:28px;min-height:44px;color:#9cbddd;border-radius:8px}
.music-mute:hover{color:#e0f2ff;background:#afd6ff0c}
.music-mute svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.music-mute[aria-pressed="true"] .music-sound-waves{display:none}
.music-mute .music-mute-cross{display:none}
.music-mute[aria-pressed="true"] .music-mute-cross{display:block}
.music-mode{display:flex;align-items:center;gap:4px;min-height:44px;padding:0 2px;font-size:9px;color:#99bbdc;border-radius:8px;white-space:nowrap}
.music-mode:hover{color:#e0f2ff;background:#afd6ff12}
.music-mode [data-music-mode-icon]{font-size:19px;line-height:1}
.music-status{min-height:16px;margin-top:13px;font-size:9px;line-height:1.8;color:#8caaca}
.music-status.is-error{color:#f4c3ac}
.music-review{margin-top:22px;padding-top:20px;border-top:1px solid #a5d7ff24}
.music-review{display:flex;flex-direction:column;min-height:0;flex:1}
.music-review h3{font-size:11px;font-weight:400;letter-spacing:.12em;color:#9bb9d8}
.music-review-copy{flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8cbae755 transparent;margin:14px 0 18px;padding-right:4px;font-size:12px;line-height:1.9;color:#c0d5eb;white-space:pre-line;overflow-wrap:anywhere}
.music-review h3,.music-review-footer{flex-shrink:0}
.music-review-copy strong{font-weight:500;color:#daeaff}
.music-queue-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-top:18px;padding:10px 12px;border:1px solid #a5d7ff26;border-radius:9px;background:#91baff09;color:#abc8e4;font-size:11px;text-align:left}
.music-queue-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.music-queue-toggle:hover,.music-queue-toggle[aria-expanded=true]{border-color:#b2d9ff66;background:#86b9ef19;color:#d5ebff}
.music-queue-count{margin-left:auto;font-size:10px;font-variant-numeric:tabular-nums;color:#789bbf}
.music-queue-shade{position:absolute;inset:0;z-index:2;border-radius:inherit;background:#030b1d88}
.music-queue{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:flex;flex-direction:column;max-height:calc(100% - 20px);padding:16px 10px 10px;border:1px solid #a5d7ff50;border-radius:13px;background:linear-gradient(150deg,#1d3552,#0d1d32 80%);box-shadow:0 -12px 45px #02091766}
.music-queue-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px 12px 7px;flex-shrink:0}
.music-queue-head h3{font-size:14px;font-weight:500;color:#d4e7fa}
.music-queue-head [data-music-queue-summary]{display:block;margin-top:5px;font-size:10px;color:#87a6c7}
.music-queue-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:9px;font-size:24px;color:#a1c3e3}
.music-queue-close:hover{background:#afd6ff12;color:#e0f2ff}
.music-playlist{display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8cbae755 transparent}
.music-playlist button{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0;min-height:64px;padding:9px 8px;border:1px solid transparent;border-radius:9px;text-align:left;color:#a5bed8;background:#09182b44;font-size:12px;line-height:1.6}
.music-playlist button img{width:40px;height:40px;flex-shrink:0;object-fit:cover;border:1px solid #a5d7ff26;border-radius:6px}
.music-queue-index{width:18px;flex-shrink:0;color:#7799bd;font-size:10px;font-variant-numeric:tabular-nums}
.music-queue-copy{min-width:0;flex:1}
.music-queue-copy>span,.music-playlist button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-playlist button small{font-size:9px;color:#789aba}
.music-queue-current{flex-shrink:0;font-size:9px;color:#c0e2ff}
.music-playlist button[aria-pressed=false] .music-queue-current{visibility:hidden}
.music-playlist button[aria-pressed=true]{border-color:#b2d9ff55;background:#86b9ef1c;color:#e0efff}
.music-playlist button:hover{border-color:#b2d9ff66}
.music-playlist button:focus-visible,.music-step:focus-visible,.music-queue-toggle:focus-visible,.music-queue-close:focus-visible{outline:2px solid var(--ice);outline-offset:-2px}
.music-review-footer{display:flex;align-items:center;gap:12px;min-height:44px}
.music-like{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #a5d7ff38;border-radius:22px;color:#aacbe8;background:#8cbfff09;font-size:11px;white-space:nowrap;transition:background .2s,color .2s}
.music-like svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.music-like:hover:enabled{background:#a7d3ff20;color:#e0f2ff}
.music-like[aria-pressed="true"]{background:#9bceff20;color:#d1eaff;border-color:#add6ff66;cursor:default}
.music-like[aria-pressed="true"] svg{fill:#9bceff33}
.music-like:disabled:not([aria-pressed="true"]){opacity:.55;cursor:wait}
.music-like-count{padding-left:8px;border-left:1px solid #a5d7ff30;font-variant-numeric:tabular-nums}
.music-like-feedback{font-size:10px;line-height:1.6;color:#8eaccb}
.music-mode:focus-visible,.music-like:focus-visible,.music-close:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
@keyframes omni-equalizer{from{transform:scaleY(.4)}to{transform:scaleY(1)}}
@media(max-width:1100px) and (min-width:761px){.site-header .header-actions{margin-left:-10px}.music-toggle{min-width:58px;gap:8px}}
@media(max-width:760px){.header-actions{gap:15px;margin-left:auto}.site-header .menu-toggle{display:flex;justify-content:center;min-width:44px}.music-toggle{width:44px;min-width:44px;padding:8px}.music-toggle>.mono{display:none}.music-bars{gap:3px}.menu-toggle>.mono{display:none}.music-player{top:88px;right:var(--pad);width:336px;max-height:calc(100dvh - 108px);padding:28px 20px 20px}.music-artist{font-size:7px}}
@media(max-width:360px){.header-actions{gap:7px}.site-header{gap:8px}.music-track{gap:13px}.music-cover{width:66px;height:66px}.music-track h2{font-size:20px}.music-volume{width:99px}.music-controls{display:grid;grid-template-columns:1fr 1fr;gap:4px}.music-transport{grid-column:1/-1;grid-row:1;gap:20px}.music-mode{grid-column:1;grid-row:2}.music-volume{grid-column:2;grid-row:2;justify-self:end}.music-review-copy{max-height:clamp(100px,calc(100dvh - 550px),260px)}}
@media(prefers-reduced-motion:reduce){.music-toggle.is-playing .music-bars i{animation:none}.music-toggle,.music-play{transition:none}}
@media(max-height:560px){.music-player{min-height:0}.music-review-copy{min-height:48px}}
