@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200px 100%;animation:1.5s infinite skeleton-loading}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s ease-out fade-in}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.4s ease-out fade-in-up}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-soft{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-soft}@keyframes spin-smooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-smooth{animation:1s linear infinite spin-smooth}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:3s linear infinite spin-slow}@keyframes wave-loading{0%,40%,to{opacity:.5;transform:scaleY(1)}20%{opacity:1;transform:scaleY(1.5)}}.wave-loading{animation:1.2s ease-in-out infinite wave-loading}.wave-loading:first-child{animation-delay:0s}.wave-loading:nth-child(2){animation-delay:.1s}.wave-loading:nth-child(3){animation-delay:.2s}@keyframes typing-dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.typing-dot{animation:1.4s infinite typing-dot}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes card-loading{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-card-loading{animation:.3s ease-out card-loading}@keyframes bounce-gentle{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-8px)}70%{transform:translateY(-4px)}90%{transform:translateY(-2px)}}.animate-bounce-gentle{animation:1.5s ease-in-out infinite bounce-gentle}@keyframes message-slide-in{0%{opacity:0;transform:translate(-20px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}.animate-message-slide-in{animation:.3s cubic-bezier(.175,.885,.32,1.275) message-slide-in}@keyframes progress-loading{0%{width:0%}50%{width:60%}to{width:100%}}.animate-progress-loading{animation:2s ease-in-out infinite progress-loading}@keyframes breathing{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.animate-breathing{animation:2s ease-in-out infinite breathing}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-shake{animation:.5s ease-in-out shake}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.animate-flash{animation:1s ease-in-out flash}.loading-container{justify-content:center;align-items:center;min-height:120px;display:flex}.loading-content{text-align:center;padding:1rem}@media (max-width:768px){.loading-container{min-height:80px}.skeleton-loading{background-size:150px 100%}}@media (prefers-color-scheme:dark){.skeleton-loading{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%)}}
