.animate-fade-in{opacity:0;animation:.8s forwards fadeIn}.animate-fade-in.delay-1{animation-delay:.15s}.animate-fade-in.delay-2{animation-delay:.3s}.animate-fade-in.delay-3{animation-delay:.45s}.animate-fade-in.delay-4{animation-delay:.6s}.animate-fade-in.delay-5{animation-delay:.75s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.animate-slide-up{opacity:0;transform:translateY(30px);animation:.8s cubic-bezier(.16,1,.3,1) forwards slideUp}.animate-slide-up.delay-1{animation-delay:.15s}.animate-slide-up.delay-2{animation-delay:.3s}.animate-slide-up.delay-3{animation-delay:.45s}.animate-slide-up.delay-4{animation-delay:.6s}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{opacity:0;transform:translateY(-30px);animation:.8s cubic-bezier(.16,1,.3,1) forwards slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.animate-slide-left{opacity:0;transform:translateX(50px);animation:.8s cubic-bezier(.16,1,.3,1) forwards slideLeft}@keyframes slideLeft{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.animate-slide-right{opacity:0;transform:translateX(-50px);animation:.8s cubic-bezier(.16,1,.3,1) forwards slideRight}@keyframes slideRight{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.animate-scale-in{opacity:0;transform:scale(.8);animation:.6s cubic-bezier(.16,1,.3,1) forwards scaleIn}@keyframes scaleIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{opacity:0;transform:scale(.3);animation:.8s cubic-bezier(.68,-.55,.265,1.55) forwards bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}100%{opacity:1;transform:scale(1)}}.animate-rotate-in{opacity:0;transform:rotate(-10deg) scale(.9);animation:.7s cubic-bezier(.16,1,.3,1) forwards rotateIn}@keyframes rotateIn{from{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-60px);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1)}.reveal-left.revealed{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(60px);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1)}.reveal-right.revealed{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.85);transition:opacity .8s cubic-bezier(.16, 1, .3, 1),transform .8s cubic-bezier(.16, 1, .3, 1)}.reveal-scale.revealed{opacity:1;transform:scale(1)}.stagger-children .reveal:first-child{transition-delay:50ms}.stagger-children .reveal:nth-child(2){transition-delay:0.1s}.stagger-children .reveal:nth-child(3){transition-delay:0.15s}.stagger-children .reveal:nth-child(4){transition-delay:0.2s}.stagger-children .reveal:nth-child(5){transition-delay:0.25s}.stagger-children .reveal:nth-child(6){transition-delay:0.3s}.stagger-children .reveal:nth-child(7){transition-delay:0.35s}.stagger-children .reveal:nth-child(8){transition-delay:0.4s}.stagger-children .reveal:nth-child(9){transition-delay:0.45s}.stagger-children .reveal:nth-child(10){transition-delay:0.5s}.stagger-children .reveal:nth-child(11){transition-delay:0.55s}.stagger-children .reveal:nth-child(12){transition-delay:0.6s}.animate-pulse{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.animate-glow{animation:2s ease-in-out infinite alternate glowPulse}@keyframes glowPulse{from{box-shadow:0 0 5px rgba(124,58,237,.2)}to{box-shadow:0 0 25px rgba(124,58,237,.6)}}.animate-float{animation:3s ease-in-out infinite float}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}.animate-shake{animation:.5s ease-in-out shake}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-wiggle{animation:1s ease-in-out wiggle}@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(5deg)}50%{transform:rotate(-5deg)}75%{transform:rotate(3deg)}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);pointer-events:none}.ripple-effect.ripple-active::after{animation:.6s ease-out ripple}@keyframes ripple{to{transform:scale(4);opacity:0}}.animate-gradient{background-size:200% 200%;animation:4s infinite gradientShift}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.animate-typing{overflow:hidden;white-space:nowrap;border-right:3px solid var(--accent);animation:3.5s steps(40) 1s forwards typing,.75s step-end infinite blink;width:0}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}.skeleton{position:relative;overflow:hidden;background:var(--bg-tertiary);border-radius:var(--radius-md)}.skeleton::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);animation:2s infinite shimmer}@keyframes shimmer{100%{left:100%}}.skeleton-card{border-radius:var(--radius-lg);overflow:hidden}.skeleton-poster{width:100%;aspect-ratio:3/4;background:var(--bg-tertiary)}.skeleton-text{height:16px;margin:12px 16px;border-radius:4px;background:var(--bg-tertiary)}.skeleton-text.short{width:60%}.hover-glow{position:relative}.hover-glow::before{content:'';position:absolute;inset:-2px;background:var(--gradient-primary);border-radius:inherit;z-index:-1;opacity:0;filter:blur(12px);transition:opacity .4s}.hover-glow:hover::before{opacity:.5}.hover-underline{position:relative}.hover-underline::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:right;transition:transform .3s}.hover-underline:hover::after{transform:scaleX(1);transform-origin:left}.neon-text{text-shadow:0 0 7px var(--accent),0 0 10px var(--accent),0 0 21px var(--accent),0 0 42px var(--accent-dark);animation:3s infinite alternate neonFlicker}@keyframes neonFlicker{0%,100%,18%,22%,25%,53%,57%{text-shadow:0 0 7px var(--accent),0 0 10px var(--accent),0 0 21px var(--accent),0 0 42px var(--accent-dark)}20%,24%,55%{text-shadow:none}}.morph-blob{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:8s ease-in-out infinite morphBlob}@keyframes morphBlob{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 30% 60% 50%/40% 70% 40% 60%}}.confetti{position:fixed;top:-10px;z-index:9999;pointer-events:none}.confetti-piece{position:absolute;width:10px;height:10px;animation:linear forwards confettiFall}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}.page-transition{position:fixed;inset:0;background:var(--bg-primary);z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity .4s}.page-transition.fade-out{opacity:0;pointer-events:none}.page-transition .loader{display:flex;gap:8px}.page-transition .loader-dot{width:12px;height:12px;background:var(--accent);border-radius:50%;animation:.6s ease-in-out infinite loaderBounce}.page-transition .loader-dot:nth-child(2){animation-delay:.15s}.page-transition .loader-dot:nth-child(3){animation-delay:.3s}@keyframes loaderBounce{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-15px);opacity:1}}.spotlight{position:relative;overflow:hidden}.spotlight::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(124,58,237,.08) 0,transparent 50%);pointer-events:none;transition:background .3s}.count-up{display:inline-block}.tilt-card{transform-style:preserve-3d;transition:transform .3s}.tilt-card:hover{transform:perspective(1000px) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg))}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{transition:stroke-dashoffset 1s cubic-bezier(.4, 0, .2, 1);stroke-linecap:round}.magnetic-btn{transition:transform .3s cubic-bezier(.16, 1, .3, 1)}.parallax-layer{will-change:transform;transition:transform .1s linear}.grid-item-enter{opacity:0;transform:translateY(20px) scale(.95);animation:.5s cubic-bezier(.16,1,.3,1) forwards gridItemEnter}@keyframes gridItemEnter{to{opacity:1;transform:translateY(0) scale(1)}}.grid-item-enter:first-child{animation-delay:20ms}.grid-item-enter:nth-child(2){animation-delay:60ms}.grid-item-enter:nth-child(3){animation-delay:.1s}.grid-item-enter:nth-child(4){animation-delay:.14s}.grid-item-enter:nth-child(5){animation-delay:.18s}.grid-item-enter:nth-child(6){animation-delay:.22s}.grid-item-enter:nth-child(7){animation-delay:.26s}.grid-item-enter:nth-child(8){animation-delay:.3s}.grid-item-enter:nth-child(9){animation-delay:.34s}.grid-item-enter:nth-child(10){animation-delay:.38s}.grid-item-enter:nth-child(11){animation-delay:.42s}.grid-item-enter:nth-child(12){animation-delay:.46s}.grid-item-enter:nth-child(13){animation-delay:.5s}.grid-item-enter:nth-child(14){animation-delay:.54s}.grid-item-enter:nth-child(15){animation-delay:.58s}.grid-item-enter:nth-child(16){animation-delay:.62s}.grid-item-enter:nth-child(17){animation-delay:.66s}.grid-item-enter:nth-child(18){animation-delay:.7s}.grid-item-enter:nth-child(19){animation-delay:.74s}.grid-item-enter:nth-child(20){animation-delay:.78s}.bell-ring{animation:1s bellRing;transform-origin:top center}@keyframes bellRing{0%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}80%{transform:rotate(-1deg)}}.slide-in-top{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideInTop}@keyframes slideInTop{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.slide-in-bottom{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideInBottom}@keyframes slideInBottom{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-heartbeat{animation:1.5s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,28%,70%{transform:scale(1)}14%{transform:scale(1.15)}42%{transform:scale(1.1)}}.animate-flip{animation:.6s forwards flipIn;backface-visibility:visible}@keyframes flipIn{from{opacity:0;transform:perspective(400px) rotateY(90deg)}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(5deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}.animate-rubber{animation:.8s rubberBand}@keyframes rubberBand{0%,100%{transform:scale(1,1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none}}