/* State choreography is owned by conversation-ui.js, not nested keyframes. */
body.has-state-motion #laneLive :is(.billboard-copy,.billboard-message,.is-side,.live-controls,.conversation-focus,#liveTranscript) {
  animation:none !important;
}
body.has-state-motion #liveAura {
  transition:filter 620ms cubic-bezier(.22,1,.36,1),opacity 480ms ease-out;
}
/* Keep one stable caption slot through connecting, listening and speaking. */
body.has-state-motion #laneLive .is-side :is(#livePanel,#liveTranscript) { margin-block:0; }
@media(prefers-reduced-motion:reduce) {
  body.has-state-motion #liveAura { transition:none; }
}

body.has-state-motion.reduces-state-motion #liveAura { transition:none; }
