/* Shared motion timing. Bass effects keep their immediate audio response. */
:root {
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --motion-spring:cubic-bezier(.2,.85,.25,1.15);
}
.motion-managed { animation:none !important; }
[data-motion-state="closing"] { pointer-events:none; }
:is(.icon-btn,.fab,.play-btn,.btn,.chip,.top-me,.lg-btn) {
  transition:transform 420ms var(--motion-spring),color 260ms var(--motion-ease),background-color 260ms var(--motion-ease),box-shadow 320ms var(--motion-ease);
}
:is(.icon-btn,.fab,.play-btn,.btn,.chip,.top-me,.lg-btn):active {
  transform:scale(.94);transition-duration:100ms;
}
.nav a,.seg button,.row,.queue-row,.menu button {
  transition:background-color 280ms var(--motion-ease),color 280ms var(--motion-ease);
}
.card,.card.lg {
  transition:transform 440ms var(--motion-spring),background-color 280ms var(--motion-ease);
}
.card:hover { transform:translateY(-3px); }
.card:active { transform:translateY(0) scale(.985);transition-duration:110ms; }
.card .fab { transition:opacity 320ms var(--motion-ease),transform 440ms var(--motion-spring),background-color 260ms var(--motion-ease); }
.search,.fld input,.fld textarea,.field {
  transition:border-color 280ms var(--motion-ease),background-color 280ms var(--motion-ease),box-shadow 280ms var(--motion-ease);
}
.lg-shine,.av-over { transition:opacity 340ms var(--motion-ease); }
.switch i { transition:background-color 320ms var(--motion-ease); }
.switch i::after { transition:transform 420ms var(--motion-spring),background-color 260ms var(--motion-ease); }
.seg i { transition:transform 450ms var(--motion-spring); }
.eq-knob { transition:transform 280ms var(--motion-spring); }
.np-cover { transition:width 580ms var(--motion-ease); }
.np-cover-img,#npVideo { transition:opacity 520ms var(--motion-ease); }
.ly-line .w { transition:transform 420ms var(--motion-spring); }
.menu { transform-origin:top left;animation:surfaceIn 360ms var(--motion-ease); }
.toast { animation:surfaceIn 420ms var(--motion-spring); }
.auth-card { animation:surfaceIn 560ms var(--motion-ease); }
@keyframes surfaceIn { from { opacity:0;transform:translateY(14px) scale(.97); } }
.main,.queue-list { scroll-behavior:smooth; }
.auth-glow i:nth-child(1) { background:#444; }
.auth-glow i:nth-child(2) { background:#292929; }
.auth-glow i:nth-child(3) { background:#191919; }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important; }
}
