.swipe-surface{touch-action:pinch-zoom;user-select:none;-webkit-user-select:none;translate:var(--swipe-x,0) var(--swipe-y,0);transition:translate .34s cubic-bezier(.2,.8,.2,1)}.swipe-surface[data-swipe-axis=vertical]{touch-action:pan-x pinch-zoom}.swipe-surface img{-webkit-user-drag:none}.swipe-surface.is-swiping{transition:none;cursor:grabbing}.swipe-surface:is(.is-swiping,.is-swipe-settling){will-change:translate}.expanded-player.player-motion:not(.video-mode){display:block;will-change:transform,opacity}.expanded-player.player-motion:not(.open){pointer-events:none}@media (min-width:960px){.expanded-player.music-mode.player-motion{display:grid}}@media (hover:hover){.swipe-surface{cursor:grab}}@media (prefers-reduced-motion:reduce){.swipe-surface{translate:none;transition:none}}.player-art-transition{position:relative;width:100%;isolation:isolate}.player-art-transition>.artwork{width:100%}.track-art-outgoing{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none}.track-art-outgoing .artwork{width:100%;height:100%}.player-art-transition[data-transition=blending] .track-art-outgoing{animation:track-art-out var(--track-fade,.45s) ease-in-out both}.track-text-enter{animation:track-text-in .4s ease-out both}@keyframes track-art-out{0%{opacity:1}to{opacity:0}}@keyframes track-text-in{0%{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}.dj-mix-notice{display:flex;align-items:center;grid-gap:10px;gap:10px;margin:8px 0;font-size:12px;color:var(--muted)}[data-device=tv][data-legacy-flex-gap=true] .dj-mix-notice>*+*{margin-left:10px}.dj-mix-notice strong{color:var(--text);flex-shrink:0}.dj-mix-notice>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dj-mix-line{position:relative;flex:0 0 44px;height:3px;background:var(--border);border-radius:3px;overflow:hidden}.dj-mix-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#7865ec;transform-origin:left;animation:dj-mix-progress var(--mix-duration,8s) linear both}@keyframes dj-mix-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html[data-device=tv] .track-text-enter{animation-name:track-text-tv}@keyframes track-text-tv{0%{opacity:.3}to{opacity:1}}@media (prefers-reduced-motion:reduce){.dj-mix-line:after,.player-art-transition .track-art-outgoing,.track-text-enter{animation:none!important}.player-art-transition .track-art-outgoing{display:none}}