.spinner-spin{animation:spinner-rotate 1s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner-indicator{stroke:currentColor;animation:spinner-dash 1.5s ease-in-out infinite}@keyframes spinner-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:100,200;stroke-dashoffset:-15}to{stroke-dasharray:100,200;stroke-dashoffset:-125}}.rotating-svg{position:absolute;transform-origin:center center;transition:all .5s cubic-bezier(.4,0,.2,1);z-index:1}.paused{width:24px;height:24px;top:1rem;right:1rem;animation:none}.playing{width:80px;height:80px;top:-20px;right:-20px;animation:rotate-animation 2s linear infinite}@keyframes spin-reverse{0%{transform:rotate(1turn)}to{transform:rotate(0deg)}}@keyframes rotate-animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.reel-wrapper{transition:transform .3s ease;display:flex;align-items:center;justify-content:center}.reel-wrapper-preview{opacity:.7}.reel-wrapper-preview-hover{opacity:1}.reel{transition:transform .3s ease,filter .3s ease;animation:spin 2s linear infinite;animation-play-state:paused}.reel-preview{transform:translateX(50%);transition:transform .2s ease}.reel-playing{animation-play-state:running}.reel-loading{animation:spin-reverse .5s linear infinite;animation-play-state:running}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.track-container{position:relative;overflow:hidden}.track-loader-overlay{content:"";position:absolute;top:0;left:0;height:100%;width:0;background-color:rgba(0,0,0,.15);pointer-events:none;animation:fill-and-fade var(--loader-duration,2s) ease-out forwards;z-index:2}@keyframes fill-and-fade{0%{width:0;opacity:1}90%{width:100%;opacity:1}to{width:100%;opacity:0}}.track-title{font-size:18px;transition:font-size .3s ease}.track-title-large{font-size:24px}.loading-pulse{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0);opacity:0;pointer-events:none;transition:background .3s ease,opacity .3s ease;display:flex;align-items:flex-end;justify-content:center;z-index:12}.drawer-backdrop.open{background:rgba(0,0,0,.8);opacity:1;pointer-events:all}.drawer-container{background:var(--colors-black);border-radius:16px 16px 0 0;border-top:1px solid #dcdcdc;width:100%;max-height:100vh;overflow:auto;transform:translateY(100%);transition:transform .3s ease}.drawer-backdrop.open .drawer-container{transform:translateY(0)}