@keyframes wave-smooth{0%{transform:translate(-100%) translateZ(0)}to{transform:translate(100%) translateZ(0)}}.skeleton-shimmer,.skeleton-wave{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)!important;animation:wave-smooth 1.5s cubic-bezier(.4,0,.2,1) infinite!important;will-change:transform}.animate-pulse{animation:pulse-soft 1.6s cubic-bezier(.4,0,.6,1) infinite!important}@keyframes pulse-soft{0%,to{opacity:.5}50%{opacity:.8}}.skeleton-pulse{animation:pulse-soft 1.6s cubic-bezier(.4,0,.6,1) infinite}@keyframes card-slide-in{0%{opacity:0;transform:translateY(12px) scale(.98) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.card-animate-in{animation:card-slide-in .3s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}.card-stagger-1{animation-delay:.02s}.card-stagger-2{animation-delay:.04s}.card-stagger-3{animation-delay:.06s}.card-stagger-4{animation-delay:.08s}.card-stagger-5{animation-delay:.1s}.card-stagger-6{animation-delay:.12s}.card-stagger-7{animation-delay:.14s}.card-stagger-8{animation-delay:.16s}@keyframes img-fade-in{0%{opacity:0}to{opacity:1}}.img-animate-in{animation:img-fade-in .2s ease-out forwards}.fade-in{animation:img-fade-in .25s ease-out forwards}.card-smooth{transform:translateZ(0);backface-visibility:hidden}@media(hover:hover)and (pointer:fine){.card-smooth{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;will-change:transform,box-shadow}.card-smooth:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}}.img-container-gpu{will-change:contents;transform:translateZ(0);backface-visibility:hidden;contain:layout style paint}.img-loading{opacity:0;transition:opacity .2s ease-out}.img-loaded{opacity:1}@keyframes lazy-fade-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.lazy-image-loaded{animation:lazy-fade-in .3s ease-out forwards}.product-card-container{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.scroll-optimized{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;will-change:scroll-position}.img-hover-zoom{transition:transform .3s cubic-bezier(.22,1,.36,1)}@media(hover:hover)and (pointer:fine){.img-hover-zoom{will-change:transform}.img-hover-zoom:hover{transform:scale(1.05) translateZ(0)}}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.97) translateZ(0)}.skeleton-container{will-change:transform;transform:translateZ(0);backface-visibility:hidden}@media(hover:hover)and (pointer:fine){.group{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.hover\:shadow-md{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease!important}.hover\:shadow-md:hover{transform:translateY(-2px) translateZ(0)!important}.group-hover\:scale-105{transition:transform .3s cubic-bezier(.22,1,.36,1)!important;will-change:transform}.group:hover .group-hover\:scale-105{transform:scale(1.05) translateZ(0)!important}}.object-cover{will-change:opacity}@media(hover:hover)and (pointer:fine){.transition-all{transition-timing-function:cubic-bezier(.22,1,.36,1)!important;transition-duration:.2s!important}}.overflow-y-auto,.overflow-x-auto{-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(10px) translateZ(0)}to{opacity:1;transform:scale(1) translateY(0) translateZ(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.modal-zoom-in{animation:zoomIn .2s ease-out forwards;will-change:transform,opacity}.modal-fade-in{animation:fadeIn .15s ease-out forwards}.no-tap-highlight{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}.modal-container{will-change:opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}img.emoji{height:1.1em;width:1.1em;margin:0 .06em 0 .08em;vertical-align:-.15em;display:inline-block}.product-detail-modal-content,.product-detail-modal-content *{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.emoji-text-selectable{word-spacing:0!important;letter-spacing:0!important;font-variant-numeric:normal!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:normal!important;text-rendering:optimizeLegibility!important}@keyframes topup-pulse{0%,to{box-shadow:0 4px 14px #10b98173;transform:scale(1)}50%{box-shadow:0 4px 22px #10b981bf;transform:scale(1.03)}}@keyframes fade-in-up{0%{opacity:0;transform:translate(-50%,10px) translateZ(0)}to{opacity:1;transform:translate(-50%) translateZ(0)}}.animate-fade-in-up{animation:fade-in-up .3s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}@keyframes clear-filter-neon-glow{0%,to{box-shadow:0 0 12px #c084fc8c,0 0 26px #d946ef61,inset 0 1px #ffffff1f}50%{box-shadow:0 0 22px #e879f9e6,0 0 44px #a855f773,inset 0 1px #fff3}}.clear-filter-btn--active{animation:clear-filter-neon-glow 2.2s ease-in-out infinite;will-change:box-shadow}@media(prefers-reduced-motion:reduce){.clear-filter-btn--active{animation:none;box-shadow:0 0 16px #c084fc99,0 0 28px #d946ef59,inset 0 1px #ffffff1f}}
