@keyframes fadeInMagical{0%{opacity:0;transform:translateY(10px) scale(.95);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes glowPulse{0%{box-shadow:0 0 5px rgba(147,51,234,.2),0 0 10px rgba(147,51,234,.2),0 0 15px rgba(147,51,234,.2)}50%{box-shadow:0 0 10px rgba(147,51,234,.3),0 0 20px rgba(147,51,234,.3),0 0 30px rgba(147,51,234,.3)}to{box-shadow:0 0 5px rgba(147,51,234,.2),0 0 10px rgba(147,51,234,.2),0 0 15px rgba(147,51,234,.2)}}@keyframes magicalSparkle{0%,to{background-position:0 0}50%{background-position:100% 100%}}@keyframes floatingMagical{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes magicalTyping{0%{width:0}to{width:100%}}.magical-appear{animation:fadeInMagical .5s ease-out forwards}.magical-glow{animation:glowPulse 2s infinite}.magical-sparkle{background:linear-gradient(45deg,rgba(147,51,234,.1),rgba(147,51,234,.2) 25%,rgba(147,51,234,.3) 50%,rgba(147,51,234,.2) 75%,rgba(147,51,234,.1));background-size:200% 200%;animation:magicalSparkle 3s linear infinite}.magical-float{animation:floatingMagical 3s ease-in-out infinite}.magical-typing{overflow:hidden;white-space:nowrap;border-right:2px solid rgba(147,51,234,.7);animation:magicalTyping 3s steps(40),blink-caret .75s step-end infinite}.magical-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.magical-transform{transition:transform .3s cubic-bezier(.4,0,.2,1)}.magical-transform:hover{transform:translateY(-2px) scale(1.02)}.message-bubble{position:relative;transition:all .3s ease}.message-bubble:before{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,rgba(147,51,234,.3),rgba(147,51,234,.1));border-radius:inherit;z-index:-1;opacity:0;transition:opacity .3s ease}.message-bubble:hover:before{opacity:1}.mode-indicator{position:relative;overflow:hidden}.mode-indicator:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(147,51,234,.1),rgba(147,51,234,.2));opacity:0;transition:opacity .3s ease}.mode-indicator:hover:after{opacity:1}.magical-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(147,51,234,.3) rgba(147,51,234,.1)}.magical-scrollbar::-webkit-scrollbar{width:6px}.magical-scrollbar::-webkit-scrollbar-track{background:rgba(147,51,234,.1);border-radius:3px}.magical-scrollbar::-webkit-scrollbar-thumb{background:rgba(147,51,234,.3);border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.magical-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(147,51,234,.5)}