/* B7 reply-slot land hotfix.
   Keep inbound Zero replies to one layout shift: the row may grow when text
   lands, but layout dimensions must not animate after typing hands off. */
.zero-reply-slot-row,
.zero-reply-slot-row > .zero-chat-message,
.zero-reply-slot-row .zero-chat-bubble,
.zero-reply-slot-row .zero-message-avatar {
  transition-property: opacity, transform, color, background-color, border-color, box-shadow !important;
}

.zero-reply-slot-row {
  contain:layout style !important;
  overflow-anchor:none !important;
}

.zero-reply-slot-row.has-reply > .zero-chat-message.from-zero.is-fresh-arrival {
  animation:none !important;
}

.zero-reply-slot-row.has-reply > .zero-chat-message.from-zero.is-fresh-arrival > .zero-message-avatar {
  animation:none !important;
  opacity:1 !important;
  transform:none !important;
  will-change:auto !important;
}

.zero-reply-slot-row.has-reply > .zero-chat-message.from-zero.is-fresh-arrival > .zero-chat-bubble {
  animation:zeroB7ReplySlotBubbleLandV1 .16s cubic-bezier(.2,.82,.22,1) both !important;
  will-change:opacity,transform !important;
}

@keyframes zeroB7ReplySlotBubbleLandV1 {
  0% {
    opacity:0;
    transform:scale(.985);
  }

  72% {
    opacity:1;
    transform:scale(.998);
  }

  100% {
    opacity:1;
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce) {
  .zero-reply-slot-row.has-reply > .zero-chat-message.from-zero.is-fresh-arrival > .zero-chat-bubble {
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}
