.swipe-card{backface-visibility:hidden;perspective:1000px;will-change:transform,opacity;-webkit-font-smoothing:subpixel-antialiased;transform:translateZ(0)}.swipe-container{transform-style:preserve-3d;contain:layout style paint;isolation:isolate}@keyframes cardEnter{0%{opacity:0;filter:blur(2px)brightness(.95);transform:scale(.94)translateY(12px)translateZ(0)}60%{filter:blur()brightness()}to{opacity:1;filter:blur()brightness();transform:scale(1)translateY(0)translateZ(0)}}@keyframes cardEnterFast{0%{opacity:0;filter:brightness(.96);transform:scale(.97)translateZ(0)}to{opacity:1;filter:brightness();transform:scale(1)translateZ(0)}}.card-enter{animation:.28s cubic-bezier(.16,1,.3,1) forwards cardEnter}.card-enter-fast{animation:.18s cubic-bezier(.16,1,.3,1) forwards cardEnterFast}@keyframes cardExitRight{0%{opacity:1;filter:brightness();transform:translate(0)rotate(0)translateZ(0)}to{opacity:0;filter:brightness(1.1);transform:translate(125%)rotate(15deg)translateZ(0)}}@keyframes cardExitLeft{0%{opacity:1;filter:brightness();transform:translate(0)rotate(0)translateZ(0)}to{opacity:0;filter:brightness(.9);transform:translate(-125%)rotate(-15deg)translateZ(0)}}@keyframes cardExitUp{0%{opacity:1;filter:brightness();transform:translateY(0)scale(1)translateZ(0)}to{opacity:0;filter:brightness(1.15);transform:translateY(-35%)scale(.92)translateZ(0)}}.card-exit-right{pointer-events:none;animation:.22s cubic-bezier(.4,.6,.2,1) forwards cardExitRight}.card-exit-left{pointer-events:none;animation:.22s cubic-bezier(.4,.6,.2,1) forwards cardExitLeft}.card-exit-up{pointer-events:none;animation:.18s cubic-bezier(.4,.6,.2,1) forwards cardExitUp}.card-dragging{filter:drop-shadow(0 30px 60px #0009)drop-shadow(0 0 33px #8b5cf61f)brightness(1.02);cursor:grabbing!important;transition:none!important}.card-idle{cursor:grab;filter:drop-shadow(0 24px 48px #00000073)drop-shadow(0 0 30px #8b5cf60f);transition:transform .12s cubic-bezier(.16,1,.3,1),filter .2s cubic-bezier(.13,1,.3,1)}.swipe-card:active{cursor:grabbing}@keyframes springBack{0%{}40%{transform:translate(0)translateY(0)rotate(0)scale(1.02)translateZ(0)}70%{transform:translate(0)translateY(0)rotate(0)scale(.99)translateZ(0)}to{transform:translate(0)translateY(0)rotate(0)scale(1)translateZ(0)}}.card-spring-back{filter:drop-shadow(0 24px 48px #00000073)drop-shadow(0 0 30px #8b5cf60f);animation:.35s cubic-bezier(.34,1.4,.64,1) forwards springBack}@keyframes overlayPulseIn{0%{opacity:0;filter:blur(4px);transform:scale(.5)rotate(-12deg)}50%{opacity:1;filter:blur();transform:scale(1.08)rotate(-10deg)}75%{opacity:1;transform:scale(.96)rotate(-11deg)}to{opacity:1;transform:scale(1)rotate(-12deg)}}@keyframes overlayGlow{0%{opacity:0;filter:blur(12px)}50%{opacity:.5;filter:blur(8px)}to{opacity:.4;filter:blur(10px)}}.like-overlay,.pass-overlay{animation:.25s cubic-bezier(.34,1.4,.64,1) forwards overlayPulseIn}.like-overlay:after,.pass-overlay:after{content:"";border-radius:inherit;opacity:0;z-index:-1;animation:.3s ease-out forwards overlayGlow;position:absolute;inset:-6px}.like-overlay:after{background:radial-gradient(circle,#10b98199 0%,#10b98133 50%,#0000 100%)}.pass-overlay:after{background:radial-gradient(circle,#ef444499 0%,#ef444433 50%,#0000 100%)}@keyframes doubleTapHeart{0%{opacity:0;filter:blur(4px);transform:scale(0)rotate(-12deg)translateZ(0)}10%{opacity:1;filter:blur();transform:scale(1.5)rotate(0)translateZ(0)}22%{opacity:1;transform:scale(.8)rotate(4deg)translateZ(0)}34%{opacity:1;transform:scale(1.2)rotate(-3deg)translateZ(0)}46%{opacity:1;transform:scale(.92)rotate(2deg)translateZ(0)}58%{opacity:1;transform:scale(1.05)rotate(-1deg)translateZ(0)}70%{opacity:.95;transform:scale(1)rotate(0)translateZ(0)}85%{opacity:.5;transform:scale(1.15)rotate(0)translateZ(0)}to{opacity:0;filter:blur(6px);transform:scale(1.4)rotate(0)translateZ(0)}}@keyframes heartGlowPremium{0%{filter:drop-shadow(0 0 #ec489900);box-shadow:0 0 #ec489900}40%{filter:drop-shadow(0 0 20px #ec489999);box-shadow:0 0 50px 25px #ec489966}to{filter:drop-shadow(0 0 #ec489900);box-shadow:0 0 60px 30px #ec489900}}.double-tap-heart{pointer-events:none;animation:.85s cubic-bezier(.16,1,.3,1) forwards doubleTapHeart}.double-tap-heart>div{animation:.85s cubic-bezier(.16,1,.3,1) forwards heartGlowPremium}@keyframes imageFadeIn{0%{opacity:0;filter:blur(8px)brightness(.9)}to{opacity:1;filter:blur()brightness()}}.image-loading{opacity:0}.image-loaded{animation:.3s cubic-bezier(.16,1,.3,1) forwards imageFadeIn}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{background:linear-gradient(100deg,#8b5cf600 0%,#8b5cf614 45%,#ec48991f 55%,#8b5cf600 100%) 0 0/200% 100%;animation:1.8s cubic-bezier(.4,0,.6,1) infinite shimmer}@keyframes progressPulse{0%,to{opacity:1;filter:brightness()}50%{opacity:.75;filter:brightness(1.1)}}.progress-loading{animation:1.5s ease-in-out infinite progressPulse}.btn-swipe{will-change:transform;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1),filter .15s cubic-bezier(.16,1,.3,1);transform:translateZ(0)}.btn-swipe:active{filter:brightness(1.05);transform:scale(.94)translateZ(0)}.btn-swipe:hover:not(:active){transform:scale(1.03)translateY(-1px)translateZ(0);box-shadow:0 12px 32px #0000004d,0 0 24px #8b5cf626}.btn-like:hover:not(:active){box-shadow:0 12px 32px #0000004d,0 0 28px #10b98133}.btn-pass:hover:not(:active){box-shadow:0 12px 32px #0000004d,0 0 28px #ef444433}.btn-super:hover:not(:active){box-shadow:0 12px 32px #0000004d,0 0 32px #ec489940}@keyframes badgePop{0%{opacity:0;filter:blur(2px);transform:scale(0)translateZ(0)}40%{opacity:1;filter:blur();transform:scale(1.25)translateZ(0)}70%{transform:scale(.9)translateZ(0)}to{opacity:1;transform:scale(1)translateZ(0)}}@keyframes badgeGlow{0%{box-shadow:0 0 #8b5cf600}50%{box-shadow:0 0 20px 8px #8b5cf64d}to{box-shadow:0 0 12px 4px #8b5cf626}}.badge-enter{animation:.35s cubic-bezier(.34,1.4,.64,1) forwards badgePop,.4s ease-out forwards badgeGlow}@keyframes modalSlideUp{0%{opacity:0;filter:blur(4px);transform:translateY(100%)scale(.95)translateZ(0)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)translateZ(0)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0)scale(1)translateZ(0)}to{opacity:0;transform:translateY(100%)scale(.98)translateZ(0)}}@keyframes backdropFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.modal-enter{animation:.35s cubic-bezier(.16,1,.3,1) forwards modalSlideUp}.modal-exit{animation:.25s cubic-bezier(.4,.6,.2,1) forwards modalSlideDown}.modal-backdrop-enter{animation:.3s ease-out forwards backdropFadeIn}@keyframes directionPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.direction-indicator{transition:opacity .15s ease-out;animation:1s ease-in-out infinite directionPulse}.card-stack-bottom{opacity:.7;filter:blur(1px)brightness(.85);transition:all .3s cubic-bezier(.16,1,.3,1);transform:translateZ(0)scale(.96)translateY(8px)}.card-stack-top{opacity:1;filter:none;transition:all .3s cubic-bezier(.16,1,.3,1);transform:translateZ(0)scale(1)}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}.ripple-effect{animation:.6s cubic-bezier(.16,1,.3,1) forwards ripple}@keyframes iconPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.icon-pop{animation:.3s cubic-bezier(.34,1.4,.64,1) iconPop}@media (prefers-reduced-motion:reduce){.swipe-card,.card-enter,.card-enter-fast,.card-exit-right,.card-exit-left,.card-exit-up,.card-spring-back,.double-tap-heart,.image-loaded,.skeleton-shimmer,.btn-swipe,.badge-enter,.modal-enter,.modal-exit,.direction-indicator,.ripple-effect,.icon-pop{transition:opacity .15s!important;animation:none!important}.card-dragging,.card-idle{filter:none!important}}.promote-layer{will-change:transform;transform:translateZ(0)}.contain-paint{contain:paint}.isolate{isolation:isolate}.composite-layer{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.gpu-accelerated{transform:translate(0,0)}
