@keyframes shimmer{0%{transform:translateX(-100%) skewX(-12deg)}to{transform:translateX(200%) skewX(-12deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(6,182,212,.3)}50%{box-shadow:0 0 40px rgba(6,182,212,.6)}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes slide-in-right{0%{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-left{0%{transform:translateX(-100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes card-flip{0%{transform:rotateY(0deg)}50%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes bounce-in{0%{transform:scale(.3) rotate(-10deg);opacity:0}50%{transform:scale(1.05) rotate(2deg)}70%{transform:scale(.9) rotate(-1deg)}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes progress-fill{0%{width:0}to{width:var(--progress-width)}}.animate-shimmer{animation:shimmer 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-pulse-ring{animation:pulse-ring 1.5s cubic-bezier(.215,.61,.355,1) infinite}.animate-slide-in-right{animation:slide-in-right .5s ease-out}.animate-slide-in-left{animation:slide-in-left .5s ease-out}.animate-card-flip{animation:card-flip .6s ease-in-out}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-bounce-in{animation:bounce-in .6s cubic-bezier(.68,-.55,.265,1.55)}.animate-progress-fill{animation:progress-fill .8s ease-out}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}.glass-morphism{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.glass-morphism-dark{background:rgba(0,0,0,.2);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.05)}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:linear-gradient(45deg,#06b6d4,#3b82f6);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:linear-gradient(45deg,#0891b2,#2563eb)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.3)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(6,182,212,.4)}.skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563 50%,#374151 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.focus-ring{outline:none;box-shadow:0 0 0 3px rgba(6,182,212,.5)}@media (max-width:768px){.animate-float{animation-duration:2s}.hover-lift:hover{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.animate-float,.animate-glow,.animate-gradient-shift,.animate-pulse-ring,.animate-shimmer{animation:none}.hover-lift{transition:none}}