@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes messageSlideInFromRight{0%{opacity:0;transform:translateX(20px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes messageSlideInFromLeft{0%{opacity:0;transform:translateX(-20px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@keyframes scrollToBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-bubble{transition:all .2s cubic-bezier(.4,0,.2,1)}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.message-own{animation:messageSlideInFromRight .3s cubic-bezier(.25,.46,.45,.94)}.message-other{animation:messageSlideInFromLeft .3s cubic-bezier(.25,.46,.45,.94)}.message-new{animation:messageSlideIn .4s cubic-bezier(.25,.46,.45,.94)}.typing-dot{animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}.chat-container{transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-input{transition:all .2s cubic-bezier(.4,0,.2,1)}.chat-input:focus-within{transform:translateY(-1px);box-shadow:0 4px 20px rgba(59,130,246,.15)}.message-actions{opacity:0;transform:translateY(5px);transition:all .2s cubic-bezier(.4,0,.2,1)}.message-bubble:hover .message-actions{opacity:1;transform:translateY(0)}.scroll-to-bottom{animation:scrollToBottom .3s cubic-bezier(.25,.46,.45,.94);transition:all .2s cubic-bezier(.4,0,.2,1)}.scroll-to-bottom:hover{transform:scale(1.1)}.date-separator{animation:messageSlideIn .3s cubic-bezier(.25,.46,.45,.94)}.read-receipt{transition:all .2s cubic-bezier(.4,0,.2,1)}.read-receipt.read{color:#3b82f6;transform:scale(1.1)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@media (max-width:768px){.message-bubble{transition:none}.message-other,.message-own{animation-duration:.2s}}@media (prefers-reduced-motion:reduce){.date-separator,.message-new,.message-other,.message-own,.scroll-to-bottom{animation:none}.chat-input,.message-actions,.message-bubble,.read-receipt{transition:none}.typing-dot{animation:none}}@media (prefers-contrast:high){.message-bubble{border:2px solid}.message-actions{background:Canvas;border:1px solid ButtonText}}.message-bubble:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.chat-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.chat-messages{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.chat-messages{scroll-behavior:auto}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:rgba(156,163,175,.5);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(156,163,175,.8)}.dark .chat-messages::-webkit-scrollbar-thumb{background:rgba(75,85,99,.5)}.dark .chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(75,85,99,.8)}