@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message-new{animation:messageSlideIn .2s cubic-bezier(.4,0,.2,1)}.smooth-transition{transition:all .2s ease-in-out}@keyframes messageHighlight{0%{background-color:#25d3661a}to{background-color:transparent}}.message-sent-highlight{animation:messageHighlight 1s ease-out}@keyframes pulseNotification{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.notification-pulse{animation:pulseNotification .6s ease-in-out}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.fade-out{animation:fadeOut .2s ease-in-out forwards}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:1000px 100%;animation:shimmer 2s infinite}.messages-container{scroll-behavior:smooth}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.typing-indicator span{display:inline-block;width:8px;height:8px;margin:0 2px;background-color:currentColor;border-radius:50%;animation:typingDot 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.unread-badge{transition:all .2s cubic-bezier(.4,0,.2,1)}.unread-badge:not(:empty){transform:scale(1)}.unread-badge:empty{transform:scale(0)}.view-transition{transition:opacity .15s ease-in-out,transform .15s ease-in-out}.view-transition-enter{opacity:0;transform:translateY(10px)}.view-transition-enter-active,.view-transition-exit{opacity:1;transform:translateY(0)}.view-transition-exit-active{opacity:0;transform:translateY(-10px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}
