/* Artwork sets the atmosphere of the current song; the archive keeps its own desk. */
.song-backdrop{position:fixed;inset:0;z-index:-1;background:var(--song-bg,#101114);opacity:0;pointer-events:none;transition:opacity .45s ease,background-color .45s ease;overflow:hidden}
.song-backdrop-layer{position:absolute;inset:-35px;background-size:cover;opacity:0;filter:blur(19px);transform:scale(1.04);transition:opacity .65s ease}
.song-backdrop-layer.visible{opacity:.38}
.song-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0009,#0006 50%,#000b),radial-gradient(ellipse at var(--song-glow-x,50%) var(--song-glow-y,40%),transparent,#0008);backdrop-filter:blur(12px)}
body.song-theme{background-color:var(--song-bg);background-image:none;color:var(--song-text);--ink:var(--song-text);--lime:var(--song-accent)}
.song-theme .song-backdrop{opacity:1}.song-theme:before{background:none}.song-theme .background-grid{opacity:.2;z-index:0;pointer-events:none}
.song-theme .topbar,.song-theme .site-footer{border-color:var(--song-edge);color:var(--song-text)}
.song-theme .site-status{color:var(--song-muted)}.song-theme .site-status i{background:var(--song-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--song-accent) 18%,transparent)}
.song-theme .archive-launch{color:var(--song-text);background:linear-gradient(var(--song-panel),var(--song-surface));border-color:var(--song-edge);box-shadow:inset 0 1px #fff4,0 2px #0009}
.song-theme .music-window{background:var(--song-surface);color:var(--song-text);border-color:var(--song-edge);box-shadow:0 0 0 1px #fff3,0 16px 70px #0007;transition:background-color .45s ease,border-color .45s ease}
.song-theme .music-window>.window-bar{background:linear-gradient(color-mix(in srgb,var(--song-panel) 75%,white),var(--song-panel) 48%,var(--song-surface) 50%,var(--song-panel));color:var(--song-text);border-color:var(--song-edge);text-shadow:0 1px #0009}
.song-theme .window-bar b{background:linear-gradient(var(--song-panel),var(--song-surface));color:var(--song-text);border-color:var(--song-edge)}
.song-theme .music-header,.song-theme .music-footer,.song-theme .wheel-help{color:var(--song-muted)}
.song-theme .select-title h1{background:linear-gradient(var(--song-accent-soft),var(--song-accent));border-color:var(--song-ink);box-shadow:4px 4px var(--song-edge);color:var(--song-ink);text-shadow:1px 1px #fff5}
.song-theme .select-title h1 span{color:var(--song-ink)}
.song-theme .player-badge b{color:var(--song-panel);-webkit-text-stroke:1px var(--song-muted);text-shadow:2px 2px #0009}
.song-theme .record-column{background:var(--song-bg);border-color:var(--song-edge);color:var(--song-text);box-shadow:inset 0 0 35px #0009;transition:background-color .45s,border-color .45s}
.song-theme .record-column:before{content:'';position:absolute;inset:-8px;z-index:-2;background-image:var(--song-cover);background-size:cover;background-position:var(--song-art-position);filter:var(--song-art-filter);opacity:.62;transition:opacity .45s}
.song-theme .record-column:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(var(--song-angle),#000a,#0004 50%,#000b),radial-gradient(ellipse at var(--song-glow-x) var(--song-glow-y),color-mix(in srgb,var(--song-accent) 18%,transparent),transparent 70%)}
.song-theme .artist-ident p{color:var(--song-muted)}
.song-theme .record{border-color:color-mix(in srgb,var(--song-accent) 35%,#e0e0df);background:var(--song-panel);box-shadow:0 0 0 1px var(--song-edge),4px 6px #0006,0 13px 35px #0008}
.song-theme .record:after{border-color:#eee8}.song-theme .record-hole{border-color:var(--song-muted);background:var(--song-ink);box-shadow:0 0 0 1px #fff8,0 0 0 18px #eee3}
.record-stage{--disc-size:231px}
.record-stage .record{width:var(--disc-size);height:var(--disc-size)}
.record-stage .record-halo{width:calc(var(--disc-size) + 12px);height:calc(var(--disc-size) + 12px);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fff1,0 0 0 3px #fff3;pointer-events:none}
.song-theme .record-halo{border-color:color-mix(in srgb,var(--song-accent) 45%,transparent);box-shadow:0 0 0 2px #fff1,0 0 0 3px #fff3}
@media(max-width:1000px){.record-stage{--disc-size:213px}}
@media(max-width:760px){.record-stage{--disc-size:200px}}
.song-theme .record-spark{color:var(--song-accent-soft);text-shadow:2px 2px #000b}
.record-sticker{cursor:pointer;text-align:left;touch-action:manipulation;transition:transform .22s,box-shadow .22s,background-color .4s}
.record-sticker:hover{transform:rotate(5deg) translateY(-3px);filter:none}.record-sticker:active{transform:rotate(5deg) scale(.96)}
.record-sticker:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.song-theme .record-sticker{background:var(--song-accent);color:var(--song-ink);border-color:var(--song-ink);box-shadow:3px 3px var(--song-edge)}
.record-sticker[aria-pressed=true]{box-shadow:0 0 22px var(--song-accent),3px 3px var(--song-edge)}
.record-sticker small{display:block;font:700 6px/1.2 var(--mono);letter-spacing:.25px;margin-top:6px;max-width:78px}
.bass-status{margin:12px 30px 0;font:7px/1.6 var(--mono);color:var(--song-muted,#55737b);min-height:12px}
.song-theme .wheel-label{border-color:var(--song-edge)}
.song-theme .track-wheel:before{background:linear-gradient(var(--song-surface),transparent)}.song-theme .track-wheel:after{background:linear-gradient(transparent,var(--song-surface))}
.song-theme .wheel-track{background:linear-gradient(color-mix(in srgb,var(--song-panel) 80%,white),var(--song-panel) 48%,var(--song-surface) 50%,var(--song-panel));color:var(--song-text);border-color:var(--song-edge);box-shadow:0 3px #0006,inset 0 1px #fff4}
.song-theme .wheel-track strong{ text-shadow:1px 2px #0007}
.song-theme .wheel-track.selected{background:linear-gradient(var(--song-accent-soft),var(--song-accent) 49%,color-mix(in srgb,var(--song-accent) 90%,black) 50%,var(--song-accent));color:var(--song-ink);border-color:var(--song-accent);box-shadow:0 0 16px color-mix(in srgb,var(--song-accent) 25%,transparent),0 4px var(--song-edge),inset 0 1px #fff8}
.song-theme .wheel-track.selected strong{text-shadow:1px 1px #fff5}.song-theme .wheel-track.selected:before{color:var(--song-ink)}
.song-theme .wheel-arrow{background:linear-gradient(var(--song-panel),var(--song-surface));border-color:var(--song-edge);color:var(--song-text);box-shadow:inset 0 1px #fff5,0 2px #0008}
.song-theme .game-player{background:linear-gradient(120deg,var(--song-panel),var(--song-surface));border-color:var(--song-edge);box-shadow:3px 3px #0005}
.song-theme .player-heading{background:linear-gradient(var(--song-panel),var(--song-bg));color:var(--song-text);text-shadow:1px 1px #0008}
.song-theme .player-metadata b{background:var(--song-bg);color:var(--song-text);border-color:var(--song-edge)}
.song-theme .transport button{background:linear-gradient(var(--song-panel),var(--song-surface));border-color:var(--song-edge);color:var(--song-text);box-shadow:inset 1px 1px #fff4,1px 2px #0008}
.song-theme .transport button:nth-child(2){background:linear-gradient(var(--song-accent-soft),var(--song-accent));color:var(--song-ink)}
.song-theme #seek{accent-color:var(--song-accent)}
.song-theme .youtube-panel{background:var(--song-panel);border-color:var(--song-edge);box-shadow:inset 0 1px #fff2}
.song-theme .youtube-source-copy .micro,.song-theme .youtube-source-copy p:not(.micro){color:var(--song-muted)}
.song-theme .music-footer button{border-color:var(--song-edge)}
.song-theme dialog{--ink:#224452;--lime:#d6f848;color:#224452}
@media(max-width:760px){.bass-status{margin:12px 18px 0;font-size:6px}.song-backdrop-layer{background-size:auto 110%;opacity:0}.song-backdrop-layer.visible{opacity:.28}}
@media(prefers-reduced-motion:reduce){.song-backdrop,.song-backdrop-layer,.song-theme .music-window,.song-theme .record-column,.record-sticker{transition:none!important}}
