.animate{opacity:0;animation:fadeInUp .8s ease-out forwards}.animate_top{animation-delay:calc(var(--i, 0) * .1s)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hover-float{transition:transform .3s ease}.hover-float:hover{transform:translateY(-5px)}.hover-glow{transition:all .3s ease}.hover-glow:hover{filter:drop-shadow(0 0 20px rgba(59,130,246,.5))}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes pulse-slow{0%,to{opacity:.1}50%{opacity:.3}}.float-animation{animation:float 6s ease-in-out infinite}.pulse-slow{animation:pulse-slow 4s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-text{background:linear-gradient(45deg,#3b82f6,#8b5cf6,#ef4444,#3b82f6);background-size:300% 300%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 3s ease infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin-slow{animation:spin-slow 3s linear infinite}@keyframes scale-up{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-up{animation:scale-up .5s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.slide-in-left{animation:slideInLeft .8s ease-out forwards}.slide-in-right{animation:slideInRight .8s ease-out forwards}@keyframes bounce-gentle{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.bounce-gentle{animation:bounce-gentle 2s infinite}@keyframes progress-fill{0%{width:0}to{width:100%}}.progress-animate{animation:progress-fill 1.5s ease-out forwards}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:currentColor}}.typing-animation{overflow:hidden;border-right:3px solid;white-space:nowrap;animation:typing 3s steps(40),blink-caret .75s step-end infinite}.transition-all-300{transition:all .3s ease}.transition-transform-300{transition:transform .3s ease}.transition-colors-300{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.interactive-card{transition:all .3s ease}.interactive-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}@media (prefers-reduced-motion:reduce){.animate,.animate_top,.bounce-gentle,.float-animation,.gradient-text,.progress-animate,.pulse-slow,.scale-up,.slide-in-left,.slide-in-right,.spin-slow,.typing-animation{animation:none!important;opacity:1!important;transform:none!important}}@media (prefers-color-scheme:dark){.animate{color:inherit}}