@keyframes thumbsUp{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.3) rotate(-10deg)}50%{transform:scale(1.2) rotate(10deg)}75%{transform:scale(1.3) rotate(-5deg)}to{transform:scale(1) rotate(0deg)}}@keyframes thumbsDown{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.3) rotate(10deg)}50%{transform:scale(1.2) rotate(-10deg)}75%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.feedback-button{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.feedback-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:currentColor;opacity:.1;transform:translate(-50%,-50%);transition:width .4s,height .4s}.feedback-button:hover:before{width:100%;height:100%}.feedback-success-positive{animation:thumbsUp .6s ease-out;color:#10b981!important;background-color:#d1fae5!important}.feedback-success-negative{animation:thumbsDown .6s ease-out;color:#ef4444!important;background-color:#fee2e2!important}.feedback-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.3;pointer-events:none;animation:ripple .6s ease-out}.feedback-stats{animation:fadeInScale .3s ease-out}.feedback-stats-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:9999px;font-size:.625rem;font-weight:500;transition:all .2s}.feedback-stats-positive{background-color:#d1fae5;color:#059669}.feedback-stats-negative{background-color:#fee2e2;color:#dc2626}.feedback-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-.25rem);padding:.25rem .5rem;background:rgba(0,0,0,.8);color:white;font-size:.75rem;border-radius:.25rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}.feedback-button:hover .feedback-tooltip{opacity:1;transform:translateX(-50%) translateY(-.5rem)}.feedback-button-group{display:flex;align-items:center;gap:.0625rem;opacity:0;transform:translateY(.25rem);transition:all .2s cubic-bezier(.4,0,.2,1)}.feedback-button-group.has-feedback,.message-hover:hover .feedback-button-group{opacity:1;transform:translateY(0)}.feedback-given{opacity:1!important;transform:translateY(0)!important}.feedback-loading{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@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%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up .4s ease-out}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-soft{animation:pulse-soft 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin-smooth{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-smooth{animation:spin-smooth 1s linear infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}@keyframes wave-loading{0%,40%,to{transform:scaleY(1);opacity:.5}20%{transform:scaleY(1.5);opacity:1}}.wave-loading{animation:wave-loading 1.2s ease-in-out infinite}.wave-loading:first-child{animation-delay:0s}.wave-loading:nth-child(2){animation-delay:.1s}.wave-loading:nth-child(3){animation-delay:.2s}@keyframes card-loading{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-card-loading{animation:card-loading .3s ease-out}@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:bounce-gentle 1.5s ease-in-out infinite}@keyframes progress-loading{0%{width:0}50%{width:60%}to{width:100%}}.animate-progress-loading{animation:progress-loading 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.animate-flash{animation:flash 1s ease-in-out}.loading-container{display:flex;align-items:center;justify-content:center;min-height:120px}.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%)}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.3)}50%{box-shadow:0 0 20px rgba(59,130,246,.6)}}@keyframes typing-dots{0%,20%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}80%,to{transform:scale(1);opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out}.animate-slide-up{animation:slide-up .4s ease-out}.animate-pulse-glow{animation:pulse-glow 2s infinite}.animate-typing-dots{animation:typing-dots 1.4s infinite}.message-bubble{transition:all .2s ease-in-out}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.action-button{transition:all .2s ease-in-out}.action-button:hover{transform:scale(1.05)}.gradient-bg{background:linear-gradient(-45deg,#f8fafc,#e2e8f0,#cbd5e1,#94a3b8);background-size:400% 400%;animation:gradient-shift 15s ease infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.loading-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-indicator{position:relative;overflow:hidden}.status-indicator:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes message-slide-in{0%{opacity:0;transform:translateX(-20px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.animate-message-slide-in{animation:message-slide-in .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes breathing{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}.animate-breathing{animation:breathing 2s ease-in-out infinite}@keyframes typing-dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.typing-dot{animation:typing-dot 1.4s infinite}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}