/* One persistent soundtrack control. The expanded tray opens only on request. */
body:has(#site-music.is-enhanced){padding-bottom:96px}
#site-music{width:min(360px,calc(100% - 32px));margin:20px auto;color:#edf3f6}
#site-music.is-enhanced{position:fixed;z-index:25;right:24px;bottom:20px;width:292px;max-width:calc(100% - 32px);margin:0}
#site-music button{display:grid;place-items:center;flex:none;border:0;color:inherit;background:transparent;cursor:pointer;transition:background-color 140ms,color 140ms,box-shadow 140ms,transform 140ms}
#site-music button:hover{background:#303942;color:#fff}
#site-music button:active{transform:scale(.94)}
#site-music :is(button,input,a):focus-visible{outline:2px solid #d4e7f4;outline-offset:4px}
#site-music svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.site-music-controls{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;height:70px;padding:10px;background:#141a20;border:1px solid #65748270;border-radius:12px;box-shadow:0 10px 34px #0008,inset 0 1px #e2f0ff0b}
.site-music-controls[hidden],.music-panel[hidden]{display:none}
#site-music .music-play{width:48px;height:48px;border-radius:50%;background:#d4e0e9;color:#111820;box-shadow:0 2px 12px #0005}
#site-music .music-play:hover{background:#f1f8fc;box-shadow:0 0 0 4px #d4e0e913,0 2px 12px #0005}
.music-play svg{fill:currentColor!important;stroke:none!important;width:18px!important;height:18px!important}
#site-music .music-expand{display:flex;justify-content:space-between;gap:10px;min-width:0;width:100%;height:48px;padding:0 8px;border-radius:6px;text-align:left}
.music-summary{display:grid;grid-template-rows:18px 22px;min-width:0;flex:1}
.music-summary strong{font:500 13px/22px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-kicker{display:flex;align-items:center;gap:10px;color:#9eafbd;font:500 10px/18px var(--display);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.music-expand>svg{width:16px!important;transition:transform 240ms cubic-bezier(.2,.8,.2,1)}
#site-music[data-expanded=true] .music-expand>svg{transform:rotate(180deg)}
.music-panel{position:absolute;right:0;bottom:82px;width:360px;max-width:calc(100vw - 32px);padding:16px 20px 14px;background:linear-gradient(145deg,#202831,#11171d 72%);border:1px solid #65748285;border-radius:12px;box-shadow:0 18px 56px #0009,inset 0 1px #e2f0ff10;transform-origin:bottom right}
.music-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;height:32px}
#site-music .music-minimize{width:36px;height:36px;margin-right:-8px;border-radius:6px}
.site-music-track{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:center;height:80px;margin:10px 0 16px;border-bottom:1px solid #65748240;padding-bottom:16px}
.music-orbit{display:grid;place-items:center;width:52px;height:52px;background:#0a1016;border:1px solid #65748265;border-radius:8px;color:#b8cddd}
.music-orbit svg{width:42px!important;height:42px!important;stroke-width:1!important}
.site-music-track>div{min-width:0;display:grid;grid-template-rows:26px 24px}
.site-music-track strong{display:block;font:500 18px/26px var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-credit{display:block;font:12px/24px var(--body);color:#aab9c5}
.music-volume-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;height:24px;font:12px/24px var(--body);color:#aab9c5}
.music-volume-heading output{width:5ch;text-align:right;color:#e2edf6;font-family:var(--display);font-variant-numeric:tabular-nums}
.music-volume{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;height:48px}
#site-music [data-music-mute]{width:40px;height:40px;margin-left:-6px;border-radius:6px}
[data-music-mute] svg{fill:currentColor!important;stroke:none!important}
#site-music-volume{-webkit-appearance:none;appearance:none;display:block;width:100%;min-width:0;height:44px;margin:0;background:transparent;cursor:pointer;--volume:35%;touch-action:pan-y}
#site-music-volume::-webkit-slider-runnable-track{height:5px;border-radius:4px;background:linear-gradient(to right,#bbd1e2 0 var(--volume),#3b4650 var(--volume) 100%)}
#site-music-volume::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-5.5px;background:#e8f2f9;border:3px solid #91adbf;border-radius:50%;box-shadow:0 2px 6px #0008;transition:box-shadow 140ms,background-color 140ms}
#site-music-volume:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #c6e0f018,0 2px 6px #0008}
#site-music-volume:active::-webkit-slider-thumb{background:#fff;box-shadow:0 0 0 7px #c6e0f022}
#site-music-volume::-moz-range-track{height:5px;border-radius:4px;background:#3b4650}
#site-music-volume::-moz-range-progress{height:5px;border-radius:4px;background:#bbd1e2}
#site-music-volume::-moz-range-thumb{width:12px;height:12px;background:#e8f2f9;border:3px solid #91adbf;border-radius:50%;box-shadow:0 2px 6px #0008}
.site-music-status{height:32px;overflow:auto;margin:4px 0 0;color:#ffc3b0;font:12px/16px var(--body);scrollbar-gutter:stable}
.music-signal{display:flex;align-items:center;gap:2px;height:12px;width:13px}
.music-signal i{display:block;width:2px;height:3px;background:#c2d9e9;border-radius:1px}
#site-music[data-playing=true] .music-signal i{animation:music-level 850ms ease-in-out infinite alternate}
#site-music[data-playing=true] .music-signal i:nth-child(2){animation-delay:-300ms}
#site-music[data-playing=true] .music-signal i:nth-child(3){animation-delay:-550ms}
#site-music.music-suspended .music-signal i{animation-play-state:paused}
@keyframes music-level{from{height:3px}to{height:11px}}
#site-music audio{width:100%;color-scheme:dark}
#site-music audio:not([controls]){display:none}
@media(max-width:540px){#site-music.is-enhanced{right:16px;bottom:14px;width:272px}.music-panel{padding-inline:16px;width:calc(100vw - 32px)}}
@media(max-height:560px){.music-panel{max-height:calc(100dvh - 115px);overflow:auto}}
@media(prefers-reduced-motion:reduce){#site-music button:active{transform:none}.music-signal i{animation:none!important}#site-music[data-playing=true] .music-signal i{height:8px}}
