.floating-animation{animation:float 3s ease-in-out infinite;}@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-10px);}}.code-highlight{background:linear-gradient(45deg,#ffd700,#ffed4e);animation:glow 2s ease-in-out infinite alternate;}@keyframes glow{from{box-shadow:0 0 20px rgba(255,215,0,0.5);}to{box-shadow:0 0 30px rgba(255,215,0,0.8);}}.success-code{background:linear-gradient(45deg,#10b981,#34d399);animation:pulse-green 2s ease-in-out infinite alternate;}@keyframes pulse-green{from{box-shadow:0 0 20px rgba(16,185,129,0.5);}to{box-shadow:0 0 30px rgba(16,185,129,0.8);}}.pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.5;}}.bounce{animation:bounce 1s infinite;}@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1);}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1);}}.fade-in{animation:fadeIn 0.5s ease-in;}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}.slide-in-top{animation:slideInTop 0.5s ease-out;}@keyframes slideInTop{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}.slide-in-bottom{animation:slideInBottom 0.5s ease-out;}@keyframes slideInBottom{from{transform:translateY(100%);opacity:0;}to{transform:translateY(0);opacity:1;}}.scale-in{animation:scaleIn 0.3s ease-out;}@keyframes scaleIn{from{transform:scale(0.8);opacity:0;}to{transform:scale(1);opacity:1;}}.shake{animation:shake 0.5s;}@keyframes shake{0%,100%{transform:translateX(0);}10%,30%,50%,70%,90%{transform:translateX(-5px);}20%,40%,60%,80%{transform:translateX(5px);}}.spin{animation:spin 1s linear infinite;}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}.wiggle{animation:wiggle 1s ease-in-out infinite;}@keyframes wiggle{0%,100%{transform:rotate(-3deg);}50%{transform:rotate(3deg);}}.success-checkmark{animation:checkmark 0.5s ease-in-out;}@keyframes checkmark{0%{transform:scale(0) rotate(45deg);}50%{transform:scale(1.2) rotate(45deg);}100%{transform:scale(1) rotate(45deg);}}.gradient-shift{background:linear-gradient(270deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:800% 800%;animation:gradientShift 15s ease infinite;}@keyframes gradientShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}.ripple{position:relative;overflow:hidden;}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.5);transform:translate(-50%,-50%);animation:ripple 0.6s ease-out;}@keyframes ripple{to{width:300px;height:300px;opacity:0;}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite;}@keyframes heartbeat{0%,100%{transform:scale(1);}10%,30%{transform:scale(0.9);}20%,40%{transform:scale(1.1);}}.fade-out{animation:fadeOut 0.5s ease-out forwards;}@keyframes fadeOut{from{opacity:1;}to{opacity:0;}}.zoom-in{animation:zoomIn 0.3s ease-out;}@keyframes zoomIn{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}.rotate-in{animation:rotateIn 0.5s ease-out;}@keyframes rotateIn{from{transform:rotate(-180deg) scale(0);opacity:0;}to{transform:rotate(0) scale(1);opacity:1;}}.slide-fade-in{animation:slideFadeIn 0.5s ease-out;}@keyframes slideFadeIn{from{transform:translateX(-30px);opacity:0;}to{transform:translateX(0);opacity:1;}}.blink{animation:blink 1s step-start infinite;}@keyframes blink{50%{opacity:0;}}.progress-fill{animation:progressFill 2s ease-out forwards;}@keyframes progressFill{from{width:0%;}to{width:100%;}}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg);}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}