@keyframes cardHover{0%{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.02)}}@keyframes selectedPulse{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}@keyframes tagBlink{0%,50%{opacity:1}51%,to{opacity:.7}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes spinEnhanced{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes numberBounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes iconSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.modal-enter{animation:modalSlideIn .4s cubic-bezier(.34,1.56,.64,1)}.backdrop-enter{animation:backdropFadeIn .3s ease-out}.card-hover:hover{animation:cardHover .3s ease-out forwards}.selected-pulse{animation:selectedPulse 2s infinite}.tag-blink{animation:tagBlink 1.5s infinite}.gradient-animated{background-size:200% 200%;animation:gradientShift 3s ease infinite}.spin-enhanced{animation:spinEnhanced 1s linear infinite}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:before{width:300px;height:300px}.number-bounce{animation:numberBounce 1s ease-in-out}.icon-spin{animation:iconSpin 2s linear infinite}@media (prefers-color-scheme:light){.selected-pulse{animation:selectedPulseLightMode 2s infinite}@keyframes selectedPulseLightMode{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.3)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}}@media (prefers-color-scheme:dark){.selected-pulse{animation:selectedPulse 2s infinite}@keyframes selectedPulse{0%,to{box-shadow:0 0 0 0 rgba(96,165,250,.4)}50%{box-shadow:0 0 0 8px rgba(96,165,250,0)}}}@keyframes switchSlideLight{0%{transform:translateX(0);box-shadow:0 2px 8px rgba(0,0,0,.15)}to{transform:translateX(100%);box-shadow:0 4px 12px rgba(0,0,0,.2)}}@keyframes switchSlideDark{0%{transform:translateX(0);box-shadow:0 2px 8px rgba(0,0,0,.3)}to{transform:translateX(100%);box-shadow:0 4px 12px rgba(0,0,0,.4)}}@media (max-width:768px){.modal-enter{animation:modalSlideIn .3s ease-out}.card-hover:hover{animation:none;transform:scale(1.01)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0!important;display:none!important;opacity:0!important;pointer-events:none!important;position:absolute!important;right:-9999px!important;width:0!important;height:0!important}input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0!important;display:none!important;opacity:0!important;pointer-events:none!important;position:absolute!important;right:-9999px!important;width:0!important;height:0!important}.quantity-input{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important}.animated-pay-btn{position:relative;overflow:hidden;cursor:pointer;border:none;transition-duration:.3s;box-shadow:5px 5px 10px rgba(0,0,0,.103)}.animated-pay-btn:before{width:100%;height:100%;position:absolute;content:"";background-color:white;border-radius:50%;left:-100%;top:0;transition-duration:.3s;mix-blend-mode:difference}.animated-pay-btn:hover:before{transition-duration:.3s;transform:translate(100%,-50%);border-radius:0}.animated-pay-btn:active{transform:translate(5px,5px);transition-duration:.3s}