@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #3b82f6b3}70%{transform:scale(1);box-shadow:0 0 0 10px #3b82f600}to{transform:scale(.95);box-shadow:0 0 #3b82f600}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes slide-up-fade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down-fade{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#fff0,#fff3 20%,#ffffff80 60%,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes typing-dot{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.typing-dot{animation:typing-dot 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes cart-badge-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.cart-badge-animate{animation:cart-badge-pulse .3s ease-in-out}@keyframes checkmark-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.checkmark-path{stroke-dasharray:100;stroke-dashoffset:100;animation:checkmark-draw .5s ease-out forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-pulse-soft{animation:pulse-soft 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.68,-.55,.265,1.55)}.animate-slide-up{animation:slide-up-fade .3s ease-out}.animate-slide-down{animation:slide-down-fade .3s ease-out}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #3b82f680}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-dark{background:linear-gradient(90deg,#2a2a2a 25%,#1a1a1a,#2a2a2a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:after{width:300px;height:300px;animation:ripple .6s ease-out}.app-root.svelte-12qhfyh{min-height:100vh;display:flex;flex-direction:column}
