/* Motion never gates content visibility or playback. */
@keyframes virazo-enter{from{opacity:.15;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
@keyframes virazo-dialog{from{opacity:0;transform:translate3d(0,16px,0) scale(.985)}to{opacity:1;transform:none}}
@keyframes virazo-backdrop{from{opacity:0}to{opacity:1}}
@keyframes virazo-equalizer{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@media(prefers-reduced-motion:no-preference){
.motion-enter{animation:virazo-enter .48s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--motion-delay,0ms)}
dialog[open]{animation:virazo-dialog .3s cubic-bezier(.2,.7,.2,1)}dialog[open]::backdrop{animation:virazo-backdrop .25s ease-out}
:is(.reference-rate,.reference-story,.studio-track-card,.studio-album-card,.post-card,.card,.finance-highlights>a,.finance-market>header,.quote-table tbody tr,button,.button,.desktop-nav a,.mobile-nav a,.admin-sidebar nav a){transition:transform .2s ease,opacity .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
button:active:not(:disabled),.button:active,.mobile-nav a:active{transform:scale(.97)}
.queue-track.is-playing .queue-equalizer i{animation:virazo-equalizer .8s ease-in-out infinite}.queue-equalizer i:nth-child(2){animation-delay:-.25s}.queue-equalizer i:nth-child(3){animation-delay:-.5s}
details[open]>.player-menu,details[open]>.topics-list,.full-player-extras:not([hidden]),[role=tabpanel]:not([hidden]),.notice,.errors,.toast:not([hidden]){animation:virazo-enter .25s ease-out}
@media(hover:hover){:is(.reference-rate,.studio-track-card,.studio-album-card,.post-card,.finance-highlights>a):hover{transform:translateY(-3px)}.desktop-nav a:hover,.admin-sidebar nav a:hover{transform:translateX(-2px)}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.motion-enter{opacity:1!important;transform:none!important}}
