html{scroll-behavior:smooth}.card{transition:transform .2s ease,box-shadow .2s ease}.progress{transition:value .5s ease}.badge.cursor-pointer:hover{transform:scale(1.05);transition:transform .15s ease}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animated-gradient{background:linear-gradient(-45deg,oklch(var(--p)/.15),oklch(var(--s)/.1),oklch(var(--p)/.05),oklch(var(--s)/.15));background-size:400% 400%;animation:gradient-shift 12s ease infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in-up-delay-1{animation:fadeInUp .6s ease .15s forwards;opacity:0}.animate-fade-in-up-delay-2{animation:fadeInUp .6s ease .3s forwards;opacity:0}.animate-fade-in-up-delay-3{animation:fadeInUp .6s ease .45s forwards;opacity:0}@keyframes pulse-glow{0%,to{box-shadow:0 0 oklch(var(--p)/.4)}50%{box-shadow:0 0 20px 6px oklch(var(--p)/.15)}}.btn-glow{animation:pulse-glow 2.5s ease-in-out infinite}@keyframes count-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.animate-count{animation:count-up .5s ease forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 4s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.shimmer{background:linear-gradient(90deg,transparent 25%,oklch(var(--p)/.1) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 2s infinite}.step-line{position:relative}.step-line:after{content:"";position:absolute;top:50%;right:-50%;width:100%;height:2px;background:oklch(var(--p)/.2)}.step-line:last-child:after{display:none}.page-enter{animation:fadeInUp .4s ease forwards}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-answer.open{max-height:200px}.testimonial-quote:before{content:'"';font-size:3rem;line-height:1;opacity:.15;position:absolute;top:.5rem;left:.5rem}.btn-stripe{background:linear-gradient(135deg,#635bff,#7c3aed);border:none;color:#fff}.btn-stripe:hover{background:linear-gradient(135deg,#7c3aed,#635bff);color:#fff}.font-mono{font-variant-numeric:tabular-nums}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.animate-bounce-down{animation:bounce-down 1.5s ease-in-out infinite}.navbar-sticky{transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}.scroll-mt-20{scroll-margin-top:5rem}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.recipe-expand{animation:expandIn .3s ease forwards;overflow:hidden}.tab-content-enter{animation:fadeInUp .3s ease forwards}.shopping-category{transition:max-height .3s ease}@media print{.no-print{display:none!important}body{background:#fff!important;color:#000!important}}.meal-card-hover{transition:transform .15s ease,box-shadow .15s ease}.meal-card-hover:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}@keyframes swapPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.swap-btn:hover{animation:swapPulse .4s ease}
