@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iMessageSlideIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iMessageSlideInUser{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes iMessageSlideInAssistant{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes warmGlow{0%,to{box-shadow:0 0 20px rgba(228,178,0,.1)}50%{box-shadow:0 0 30px rgba(228,178,0,.3)}}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes logoSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes logoBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 5px rgba(228,178,0,.3))}50%{filter:drop-shadow(0 0 15px rgba(228,178,0,.6))}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUpDelay{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUpDelay2{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUpDelay3{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes underlineExpand{0%{width:0}to{width:100%}}@keyframes messageBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes successPulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(34,197,94,0)}}@keyframes errorShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes celebrationBounce{0%,20%,50%,80%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-20px) scale(1.1)}60%{transform:translateY(-10px) scale(1.05)}}@keyframes progressFill{0%{width:0}to{width:var(--progress-width)}}@keyframes typingDots{0%,20%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}80%,to{transform:scale(1);opacity:1}}.message-enter{animation:messageSlideIn .4s ease-out}.imessage-slide-in{animation:iMessageSlideIn .5s cubic-bezier(.25,.46,.45,.94)}.imessage-slide-in-user{animation:iMessageSlideInUser .5s cubic-bezier(.25,.46,.45,.94)}.imessage-slide-in-assistant{animation:iMessageSlideInAssistant .5s cubic-bezier(.25,.46,.45,.94)}.page-slide-in{animation:pageSlideIn .6s ease-out}.gentle-bounce{animation:gentleBounce 2s ease-in-out infinite}.warm-glow{animation:warmGlow 2s ease-in-out infinite}.logo-pulse{animation:logoPulse 2s ease-in-out infinite}.logo-spin{animation:logoSpin 3s linear infinite}.logo-bounce{animation:logoBounce .8s ease-in-out}.logo-glow{animation:logoGlow 2s ease-in-out infinite}.shimmer{animation:shimmer 2s ease-in-out infinite}.skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out infinite}.success-pulse{animation:successPulse .6s ease-in-out}.error-shake{animation:errorShake .5s ease-in-out}.message-bounce{animation:messageBounce .6s ease-in-out}.card-hover{transition:all .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.button-press{transition:all .1s ease}.button-press:active{transform:scale(.98)}.icon-hover{transition:all .2s ease}.icon-hover:hover{transform:scale(1.1);color:#E4B200}.link-underline{position:relative;transition:all .2s ease}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#E4B200;transition:width .3s ease}.link-underline:hover:after{width:100%}.tab-hover{transition:all .2s ease;position:relative}.tab-hover:hover{background-color:rgba(228,178,0,.1);transform:translateY(-1px)}.tab-hover.active{background-color:rgba(228,178,0,.2);border-color:#E4B200}.form-field{transition:all .2s ease}.form-field:focus{transform:scale(1.01);box-shadow:0 0 0 3px rgba(228,178,0,.1)}.success-state{animation:successPulse .6s ease-in-out}.error-state{animation:errorShake .5s ease-in-out}.loading-state{animation:skeletonPulse 1.5s ease-in-out infinite}.interactive{transition:all .2s ease}.interactive:hover{transform:translateY(-1px)}.interactive:active{transform:translateY(0)}.message-success{animation:successPulse .6s ease-in-out}.message-error{animation:errorShake .5s ease-in-out}.celebration-bounce{animation:celebrationBounce .8s ease-in-out}.progress-fill{animation:progressFill .8s ease-out}.typing-dot{animation:typingDots 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.send-button{transition:all .2s ease;transform:scale(1)}.send-button:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.15)}.send-button:active{transform:scale(.95)}.message-input{transition:all .3s ease;border:2px solid transparent}.message-input:focus{border-color:#E4B200;box-shadow:0 0 0 3px rgba(228,178,0,.1);transform:scale(1.02)}@media (prefers-reduced-motion:reduce){.celebration-bounce,.message-bounce,.message-enter,.message-error,.message-success,.progress-fill,.typing-dot{animation:none}.message-input,.send-button{transition:none}}.animate-fade-in-up{animation:fadeInUp 1.5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:0s;opacity:0}.animate-fade-in-up-delay{animation:fadeInUpDelay 1.5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.8s;opacity:0}.animate-fade-in-up-delay-2{animation:fadeInUpDelay2 1.5s cubic-bezier(.16,1,.3,1) forwards;animation-delay:1.8s;opacity:0}.animate-fade-in-up-delay-3{animation:fadeInUpDelay3 1.8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:3s;opacity:0}