@keyframes float{0%, 100%{transform:translateY(0px) translateX(0px);}50%{transform:translateY(-30px) translateX(30px);}}@keyframes floatCard{0%, 100%{transform:translateY(0px);}50%{transform:translateY(-20px);}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-50px);}to{opacity:1;transform:translateX(0);}}@keyframes slideInRight{from{opacity:0;transform:translateX(50px);}to{opacity:1;transform:translateX(0);}}@keyframes pulse{0%, 100%{transform:scale(1);}50%{transform:scale(1.05);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}@keyframes rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes bounce{0%, 20%, 50%, 80%, 100%{transform:translateY(0);}40%{transform:translateY(-10px);}60%{transform:translateY(-5px);}}@keyframes shake{0%, 100%{transform:translateX(0);}10%, 30%, 50%, 70%, 90%{transform:translateX(-5px);}20%, 40%, 60%, 80%{transform:translateX(5px);}}@keyframes shimmer{0%{background-position:-1000px 0;}100%{background-position:1000px 0;}}.animate__animated{animation-fill-mode:both;animation-duration:1s;}.animate__faster{animation-duration:0.5s;}.animate__slower{animation-duration:2s;}.animate__fadeInUp{animation-name:fadeInUp;}.animate__fadeIn{animation-name:fadeIn;}.animate__slideInLeft{animation-name:slideInLeft;}.animate__slideInRight{animation-name:slideInRight;}.animate__pulse{animation-name:pulse;animation-duration:2s;animation-iteration-count:infinite;}.animate__scaleIn{animation-name:scaleIn;}.animate__bounce{animation-name:bounce;animation-duration:1.5s;}.animate__shake{animation-name:shake;animation-duration:0.5s;}.animate__rotate{animation-name:rotate;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear;}.transition-all{transition:all 0.3s ease;}.transition-transform{transition:transform 0.3s ease;}.transition-opacity{transition:opacity 0.3s ease;}.transition-colors{transition:background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;}.skeleton{background:linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;}.skeleton-text{height:1rem;margin-bottom:0.5rem;border-radius:4px;}.skeleton-title{height:2rem;margin-bottom:1rem;border-radius:8px;width:60%;}.skeleton-box{height:200px;border-radius:12px;}.spinner{width:40px;height:40px;border:4px solid rgba(102, 126, 234, 0.2);border-top-color:#667eea;border-radius:50%;animation:rotate 1s linear infinite;}.spinner-sm{width:20px;height:20px;border-width:2px;}.spinner-lg{width:60px;height:60px;border-width:6px;}.hover-lift{transition:transform 0.3s ease, box-shadow 0.3s ease;}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0, 0, 0, 0.15);}.hover-scale{transition:transform 0.3s ease;}.hover-scale:hover{transform:scale(1.05);}.hover-glow{transition:box-shadow 0.3s ease;}.hover-glow:hover{box-shadow:0 0 20px rgba(102, 126, 234, 0.5);}.hover-brighten{transition:filter 0.3s ease;}.hover-brighten:hover{filter:brightness(1.1);}.will-animate{will-change:transform, opacity;}.no-layout-shift{backface-visibility:hidden;transform:translateZ(0);}.gpu-accelerate{transform:translateZ(0);-webkit-backface-visibility:hidden;-webkit-perspective:1000;}@media (prefers-reduced-motion:reduce){*, *::before, *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}.floating-card, .hero-shapes .shape{animation:none !important;}}.delay-100{animation-delay:0.1s;}.delay-200{animation-delay:0.2s;}.delay-300{animation-delay:0.3s;}.delay-400{animation-delay:0.4s;}.delay-500{animation-delay:0.5s;}.delay-600{animation-delay:0.6s;}.delay-800{animation-delay:0.8s;}.delay-1000{animation-delay:1s;}