@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-10px,0)}70%{transform:translate3d(0,-5px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes wiggle{0%,7%{transform:rotate(0)}15%{transform:rotate(-15deg)}20%{transform:rotate(10deg)}25%{transform:rotate(-10deg)}30%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}40%,to{transform:rotate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:no-preference){.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in-right{animation:slideInFromRight .4s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-bounce{animation:bounce 1s ease-in-out}.animate-wiggle{animation:wiggle 1s ease-in-out}.animate-pulse-fun{animation:pulse 4s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-rainbow{animation:rainbow 6s linear infinite}.animate-stagger-1{animation-delay:.1s;animation-fill-mode:both}.animate-stagger-2{animation-delay:.2s;animation-fill-mode:both}.animate-stagger-3{animation-delay:.3s;animation-fill-mode:both}.fun-hover:hover{animation:wiggle .5s ease-in-out;transform-origin:center}.fun-click:active{animation:bounce .6s ease-in-out}.gallery-card{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease-out,filter .3s ease-out}.gallery-card:hover{transform:translateY(-8px) rotate(1deg);filter:brightness(1.05);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.grocery-item{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.grocery-item:hover{transform:translateX(8px) scale(1.02);background:linear-gradient(90deg,rgba(255,182,193,.1),rgba(173,216,230,.1))}.button-animate{transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.button-animate:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.button-animate:active{animation:bounce .3s ease-in-out}.chip-animate{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.chip-animate:hover{transform:scale(1.1) rotate(2deg);background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1);color:white}.recipe-card{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.recipe-card:hover{transform:translateY(-12px) scale(1.02);filter:brightness(1.1) saturate(1.2)}.color-accent-1{background:linear-gradient(135deg,#667eea,#764ba2)}.color-accent-2{background:linear-gradient(135deg,#f093fb,#f5576c)}.color-accent-3{background:linear-gradient(135deg,#4facfe,#00f2fe)}.color-accent-4{background:linear-gradient(135deg,#43e97b,#38f9d7)}.color-accent-5{background:linear-gradient(135deg,#fa709a,#fee140)}}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-scale-in,.animate-slide-in-right{animation:none;transition:opacity .15s ease-out}.button-animate,.chip-animate,.gallery-card,.grocery-item{transition:opacity .15s ease-out}.button-animate:hover,.chip-animate:hover,.gallery-card:hover,.grocery-item:hover{transform:none}}