@keyframes floating{0%,to{transform:translateY(-10px)}50%{transform:translateY(10px)}}.floating{animation:floating 3s ease-in-out infinite;will-change:transform}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rotate{animation:rotate 20s linear infinite;will-change:transform}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.pulse{animation:pulse 2s ease-in-out infinite;will-change:transform,opacity}@keyframes shooting-star-1{0%{transform:translateX(0) translateY(0);opacity:0}10%{opacity:.9}90%{opacity:.9}to{transform:translateX(550px) translateY(180px);opacity:0}}@keyframes shooting-star-2{0%{transform:translateX(0) translateY(90px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateX(-450px) translateY(0);opacity:0}}@keyframes shooting-star-3{0%{transform:translateX(0) translateY(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateX(420px) translateY(280px);opacity:0}}.shooting-star-1{animation:shooting-star-1 3.2s linear infinite;animation-delay:0s;will-change:transform,opacity}.shooting-star-2{animation:shooting-star-2 2.8s linear infinite;animation-delay:4s;will-change:transform,opacity}.shooting-star-3{animation:shooting-star-3 2.5s linear infinite;animation-delay:8s;will-change:transform,opacity}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:.2}}.cursor{animation:cursor-blink .8s ease-in-out infinite;will-change:opacity}@keyframes scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes scroll-dot{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}.scroll-indicator{animation:scroll-bounce 2s ease-in-out infinite;will-change:transform}.scroll-dot{animation:scroll-dot 2s ease-in-out infinite;will-change:transform}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(251,191,36,0)}50%{transform:scale(1.05);box-shadow:0 0 0 8px rgba(251,191,36,.1)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(15deg)}75%{transform:rotate(-15deg)}}@keyframes gentle-wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.pulse-badge{animation:pulse-badge 2s ease-in-out infinite;will-change:transform,box-shadow}.wiggle{animation:wiggle 2s ease-in-out infinite;will-change:transform}.gentle-wiggle{animation:gentle-wiggle 2s ease-in-out infinite;will-change:transform}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.gradient-text{background-size:200% 200%;animation:gradient-shift 3s ease-in-out infinite;will-change:background-position}.button-hover{transition:transform .2s ease-in-out;will-change:transform}.button-hover:hover{transform:scale(1.05)}.button-hover-subtle{transition:transform .2s ease-in-out;will-change:transform}.button-hover-subtle:hover{transform:scale(1.02)}.button-hover-subtle:active{transform:scale(.98)}.card-hover{transition:transform .2s ease-out;will-change:transform}.card-hover:hover{transform:scale(1.02) rotate(1deg)}@media (prefers-reduced-motion:reduce){.cursor,.floating,.gentle-wiggle,.gradient-text,.pulse,.pulse-badge,.rotate,.scroll-dot,.scroll-indicator,.shooting-star-1,.shooting-star-2,.shooting-star-3,.wiggle{animation:none}.button-hover,.card-hover{transition:none}}.floating,.gentle-wiggle,.pulse,.pulse-badge,.rotate,.scroll-dot,.scroll-indicator,.shooting-star-1,.shooting-star-2,.shooting-star-3,.wiggle{transform:translateZ(0);backface-visibility:hidden}