.fade-in{animation:fadeIn .5s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp .5s ease-out forwards}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-down{animation:slideDown .5s ease-out forwards}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.scale-in{animation:scaleIn .4s ease-out forwards}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));background-size:200% 100%}.dark .shimmer,.shimmer{animation:shimmer 1.5s infinite}.dark .shimmer{background:linear-gradient(90deg,rgba(30,30,30,0),rgba(60,60,60,.2) 50%,rgba(30,30,30,0));background-size:200% 100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn-hover-effect{transition:transform .2s,box-shadow .2s}.btn-hover-effect:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-hover-effect:active{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,.1)}.card-hover{transition:transform .3s,box-shadow .3s}.card-hover:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.gold-glitter{position:relative;overflow:hidden}.gold-glitter:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(255,215,0,.1) 0,rgba(255,215,0,0) 70%);animation:glitterRotate 12s linear infinite;pointer-events:none}@keyframes glitterRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[dir=rtl] .slide-in-right{animation:slideInLeft .5s forwards}[dir=ltr] .slide-in-right{animation:slideInRight .5s forwards}@keyframes slideInRight{0%{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}.page-enter{opacity:0;transform:scale(.98)}.page-enter-active{opacity:1;transform:scale(1);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s}.loading-spinner{border-radius:50%;border:3px solid rgba(0,0,0,.1);border-top-color:#daa520;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.coin-flip{animation:flip 1.5s ease-in-out;transform-style:preserve-3d}@keyframes flip{0%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}to{transform:rotateY(1turn)}}