@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(20px) rotate(-5deg)}}@keyframes gentlePulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:.9}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-reverse{animation:floatReverse 8s ease-in-out infinite}.animate-gentle-pulse{animation:gentlePulse 4s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradientShift 8s ease infinite}.decorative-blob{filter:blur(40px);opacity:.6}.glass-morphism{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}@media (prefers-color-scheme:dark){.glass-morphism{background:rgba(30,41,59,.8);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.text-shimmer{background:linear-gradient(90deg,var(--text-primary) 25%,var(--primary) 50%,var(--text-primary) 75%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite}