@import"tailwindcss";@theme inline{ --color-background: hsl(224 71% 4%); --color-foreground: hsl(213 31% 91%); --color-card: hsl(224 71% 6%); --color-card-foreground: hsl(213 31% 91%); --color-popover: hsl(224 71% 6%); --color-popover-foreground: hsl(213 31% 91%); --color-primary: hsl(267 84% 60%); --color-primary-foreground: hsl(0 0% 100%); --color-secondary: hsl(215 28% 17%); --color-secondary-foreground: hsl(213 31% 91%); --color-muted: hsl(215 28% 17%); --color-muted-foreground: hsl(215 20% 65%); --color-accent: hsl(267 84% 60%); --color-accent-foreground: hsl(0 0% 100%); --color-destructive: hsl(0 62% 45%); --color-destructive-foreground: hsl(0 0% 100%); --color-border: hsl(215 28% 17%); --color-input: hsl(215 28% 17%); --color-ring: hsl(267 84% 60%); --radius: .75rem; --color-sidebar-background: hsl(224 71% 3%); --color-sidebar-foreground: hsl(215 20% 65%); --color-sidebar-primary: hsl(267 84% 60%); --color-sidebar-primary-foreground: hsl(0 0% 100%); --color-sidebar-accent: hsl(215 28% 12%); --color-sidebar-accent-foreground: hsl(213 31% 91%); --color-sidebar-border: hsl(215 28% 17%); --color-sidebar-ring: hsl(267 84% 60%); --color-primary-foreground: hsl(var(--sidebar-primary-foreground)); --color-accent-foreground: hsl(var(--sidebar-accent-foreground)); }.dark{--color-background: hsl(224 71% 4%);--color-foreground: hsl(213 31% 91%);--color-card: hsl(224 71% 6%);--color-card-foreground: hsl(213 31% 91%);--color-popover: hsl(224 71% 6%);--color-popover-foreground: hsl(213 31% 91%);--color-primary: hsl(267 84% 60%);--color-primary-foreground: hsl(0 0% 100%);--color-secondary: hsl(215 28% 17%);--color-secondary-foreground: hsl(213 31% 91%);--color-muted: hsl(215 28% 17%);--color-muted-foreground: hsl(215 20% 65%);--color-accent: hsl(267 84% 60%);--color-accent-foreground: hsl(0 0% 100%);--color-destructive: hsl(0 62% 45%);--color-destructive-foreground: hsl(0 0% 100%);--color-border: hsl(215 28% 17%);--color-input: hsl(215 28% 17%);--color-ring: hsl(267 84% 60%);--color-sidebar-background: hsl(224 71% 3%);--color-sidebar-foreground: hsl(215 20% 65%);--color-sidebar-primary: hsl(267 84% 60%);--color-sidebar-primary-foreground: hsl(0 0% 100%);--color-sidebar-accent: hsl(215 28% 12%);--color-sidebar-accent-foreground: hsl(213 31% 91%);--color-sidebar-border: hsl(215 28% 17%);--color-sidebar-ring: hsl(267 84% 60%)}@utility glass-card{@apply backdrop-blur-xl bg-card/80 border border-white/10 shadow-2xl;}@utility status-pending{@apply bg-yellow-500/20 text-yellow-400 border-yellow-500/30;}@utility status-approved{@apply bg-emerald-500/20 text-emerald-400 border-emerald-500/30;}@utility status-rejected{@apply bg-red-500/20 text-red-400 border-red-500/30;}@utility gradient-text{@apply bg-gradient-to-r from-primary via-purple-400 to-pink-400 bg-clip-text text-transparent;}@utility glow-primary{box-shadow: 0 0 30px -5px hsl(var(--primary) / .3);}@utility glow-green{box-shadow: 0 0 30px -5px rgba(34,197,94,.3);}@utility glow-yellow{box-shadow: 0 0 30px -5px rgba(234,179,8,.3);}*{@apply border-border;}body{@apply bg-background text-foreground antialiased;font-family:Inter,sans-serif}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px -5px hsl(var(--primary) / .3)}50%{box-shadow:0 0 40px -5px hsl(var(--primary) / .5)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.animate-shimmer{animation:shimmer 2s infinite linear;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%}.animate-float{animation:float 3s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes scale-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-scale-in{animation:scale-in .5s ease-out}@keyframes slide-in{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 5px hsl(var(--primary) / .2)}50%{box-shadow:0 0 20px hsl(var(--primary) / .5),0 0 30px hsl(var(--primary) / .3)}}.animate-slide-in{animation:slide-in .3s ease-out}.animate-bounce-in{animation:bounce-in .6s ease-out}.animate-shake{animation:shake .5s ease-in-out}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes scan-line{0%{transform:translateY(-100%);opacity:0}50%{opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-scan-line{animation:scan-line 2s ease-in-out infinite}.animate-rotate-slow{animation:rotate-slow 20s linear infinite}.animate-fade-in{animation:fade-in .4s ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--primary) / .3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary) / .5)}::selection{background:hsl(var(--primary) / .3);color:hsl(var(--foreground))}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.1)}}@keyframes float-diagonal{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(10px,-10px) rotate(5deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translate(-10px,-10px) rotate(-5deg)}}@keyframes particle-float{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}.animate-ripple{animation:ripple .6s ease-out}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-heartbeat{animation:heartbeat 2s ease-in-out infinite}.animate-float-diagonal{animation:float-diagonal 6s ease-in-out infinite}.glow-xl{box-shadow:0 0 50px -10px hsl(var(--primary) / .5),0 0 100px -20px hsl(var(--primary) / .3)}.glow-2xl{box-shadow:0 0 80px -10px hsl(var(--primary) / .6),0 0 150px -30px hsl(var(--primary) / .4)}.glass-card-strong{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);@apply bg-white/10 border border-white/20 shadow-2xl;}.particle{position:absolute;width:4px;height:4px;background:hsl(var(--primary));border-radius:50%;animation:particle-float 15s linear infinite}.animated-grid{background-image:linear-gradient(rgba(139,92,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.05) 1px,transparent 1px);background-size:50px 50px;animation:float 20s ease-in-out infinite}.status-pulse{position:relative}.status-pulse:before{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background:inherit}.smooth-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.smooth-hover:hover{transform:translateY(-2px);box-shadow:0 10px 40px -10px hsl(var(--primary) / .5)}.gradient-text-animated{background:linear-gradient(90deg,hsl(var(--primary)),#b643ef,#ef43b6,hsl(var(--primary)));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 4s ease infinite}.btn-shine{position:relative;overflow:hidden}.btn-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-shine:hover:before{left:100%}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 #8b5cf666}50%{transform:scale(1.05);box-shadow:0 0 0 10px #8b5cf600}}.animate-badge-pulse{animation:badge-pulse 2s ease-in-out infinite}.status-dot{position:relative}.status-dot:after{content:"";position:absolute;inset:-4px;border-radius:inherit;background:inherit;opacity:.3;animation:pulse 2s ease-in-out infinite}@keyframes reveal-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes email-fly{0%{transform:translate(-100%) rotate(-10deg);opacity:0}50%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(100vw) rotate(10deg);opacity:0}}@keyframes confetti-fall{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes success-explosion{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes email-loading{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes progress-bar{0%{width:0%}to{width:100%}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade-in-up-delayed{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes level-celebrate{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.2) rotate(0)}75%{transform:scale(1.1) rotate(5deg)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-email-fly{animation:email-fly 3s ease-in-out}.animate-confetti{animation:confetti-fall 4s ease-in-out}.animate-success-explosion{animation:success-explosion .6s ease-out}.animate-email-loading{animation:email-loading .5s ease-in-out}.animate-progress-bar{animation:progress-bar 2s ease-in-out}.animate-slide-in-right{animation:slide-in-right .5s ease-out}.animate-fade-in-up-delayed{animation:fade-in-up-delayed .6s ease-out}.animate-level-celebrate{animation:level-celebrate 1s ease-in-out}.animate-pulse-glow{animation:glow-pulse 2s ease-in-out infinite}@keyframes rocket-launch{0%{transform:translateY(100px) scale(.5);opacity:0}20%{opacity:1}50%{transform:translateY(-20px) scale(1.1)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes star-burst{0%{transform:scale(0) rotate(0);opacity:0}50%{opacity:1}to{transform:scale(1.5) rotate(180deg);opacity:0}}@keyframes production-glow{0%,to{box-shadow:0 0 20px #22c55e4d}50%{box-shadow:0 0 40px #22c55e99,0 0 60px #22c55e66}}@keyframes checkmark-circle{0%{stroke-dashoffset:100;opacity:0}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:1}}.animate-rocket-launch{animation:rocket-launch 1s ease-out}.animate-star-burst{animation:star-burst 1s ease-out}.animate-production-glow{animation:production-glow 2s ease-in-out infinite}@keyframes fill-bar{0%{width:0%}to{width:100%}}@keyframes count-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.animate-fill-bar{animation:fill-bar .5s ease-out}.animate-count-up{animation:count-up .3s ease-out}@keyframes infinite-email{0%{transform:translate(-50px);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(50px);opacity:0}}.animate-infinite-email{animation:infinite-email 2s ease-in-out infinite}@keyframes success-pulse{0%,to{transform:scale(1);box-shadow:0 0 #22c55eb3}50%{transform:scale(1.05);box-shadow:0 0 20px 10px #22c55e00}}.animate-success-pulse{animation:success-pulse 2s ease-in-out infinite}@keyframes unlimited-shine{0%{background-position:-200% center}to{background-position:200% center}}.animate-unlimited-shine{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:unlimited-shine 2s linear infinite}.animate-reveal-up{animation:reveal-up .6s ease-out forwards}.stagger-children>*{animation-delay:calc(var(--stagger-index, 0) * .1s)}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.animate-checkmark{stroke-dasharray:100;stroke-dashoffset:100;animation:checkmark .6s ease-out forwards}@keyframes spotlight{0%{background-position:-50% -50%}to{background-position:150% 150%}}.spotlight{background:radial-gradient(circle at center,rgba(139,92,246,.1) 0%,transparent 50%);background-size:200% 200%;animation:spotlight 4s ease infinite}.glow-text{text-shadow:0 0 10px hsl(var(--primary) / .5),0 0 20px hsl(var(--primary) / .3),0 0 30px hsl(var(--primary) / .2)}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.animate-morph{animation:morph 8s ease-in-out infinite}@keyframes wave{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}75%{transform:translateY(5px)}}.animate-wave{animation:wave 2s ease-in-out infinite}@keyframes loading-dots{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.loading-dots span{animation:loading-dots 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.magnetic{transition:transform .3s cubic-bezier(.4,0,.2,1)}.magnetic:hover{transform:scale(1.05)}@keyframes progress-fill{0%{width:0%}}.animate-progress{animation:progress-fill 1s ease-out forwards}@keyframes card-tilt{0%,to{transform:perspective(1000px) rotateX(0) rotateY(0)}25%{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg)}75%{transform:perspective(1000px) rotateX(-2deg) rotateY(2deg)}}.animate-card-tilt{animation:card-tilt 6s ease-in-out infinite}@keyframes text-scramble{0%,to{opacity:1}50%{opacity:.8}}@keyframes count-up{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:count-up .5s ease-out forwards}@keyframes play-button-pulse{0%,to{transform:scale(1);box-shadow:0 0 #fff6}50%{transform:scale(1.05);box-shadow:0 0 20px #fff3,0 0 40px #ffffff1a}}.animate-play-button-pulse{animation:play-button-pulse 2s ease-in-out infinite}@keyframes progress-glow{0%,to{box-shadow:0 0 5px hsl(var(--primary) / .5)}50%{box-shadow:0 0 15px hsl(var(--primary) / .8),0 0 25px hsl(var(--primary) / .5)}}.animate-progress-glow{animation:progress-glow 2s ease-in-out infinite}.video-card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.video-card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #8b5cf64d}@keyframes thumbnail-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.thumbnail-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);background-size:200% 100%;animation:thumbnail-shimmer 3s ease-in-out infinite}@keyframes float-around{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(5deg)}75%{transform:translateY(10px) rotate(-5deg)}}.animate-float-around{animation:float-around 4s ease-in-out infinite}@keyframes step-active{0%{transform:scale(1);box-shadow:0 0 0 0 currentColor}50%{transform:scale(1.1);box-shadow:0 0 0 10px transparent}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.animate-step-active{animation:step-active 2s ease-in-out infinite}@keyframes modal-entrance{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-modal-entrance{animation:modal-entrance .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes gradient-border{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient-border{background:linear-gradient(90deg,hsl(var(--primary)),#b643ef,#ef43b6,hsl(var(--primary)));background-size:300% 100%;animation:gradient-border 4s ease infinite}@keyframes check-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animate-check-pop{animation:check-pop .5s cubic-bezier(.68,-.55,.265,1.55) forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}@keyframes control-button-hover{0%{transform:scale(1);background:transparent}to{transform:scale(1.15);background:#ffffff1a}}.control-button-hover:hover{animation:control-button-hover .2s ease-out forwards}@keyframes progress-bar-glow{0%,to{box-shadow:0 0 10px hsl(var(--primary) / .5),0 0 20px hsl(var(--primary) / .3)}50%{box-shadow:0 0 20px hsl(var(--primary) / .8),0 0 40px hsl(var(--primary) / .5),0 0 60px hsl(var(--primary) / .3)}}.animate-progress-bar-glow{animation:progress-bar-glow 2s ease-in-out infinite}@keyframes step-indicator-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.animate-step-pop{animation:step-indicator-pop .5s ease-out}@keyframes volume-slider-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.volume-slider-shimmer{background:linear-gradient(90deg,#ffffff1a,#ffffff4d,#ffffff1a);background-size:200% 100%;animation:volume-slider-shimmer 2s linear infinite}@keyframes fullscreen-transition{0%{transform:scale(1);border-radius:1rem}to{transform:scale(1.02);border-radius:0}}.animate-fullscreen-enter{animation:fullscreen-transition .3s ease-out forwards}@keyframes speed-option-appear{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.speed-option-appear{animation:speed-option-appear .2s ease-out forwards}.video-overlay{opacity:0;transition:opacity .3s ease}.video-overlay:focus{opacity:1}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.animate-live-pulse{animation:live-pulse 1.5s ease-in-out infinite}.video-content-transition{transition:all .5s cubic-bezier(.4,0,.2,1)}.keyboard-shortcut{@apply px-2 py-1 rounded bg-white/10 text-white/70 text-xs font-mono border border-white/20;}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.button-press:active{animation:button-press .2s ease-out}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#fff3}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;margin-top:-5px;box-shadow:0 2px 4px #0003;transition:transform .2s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:#fff3}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:transform .2s ease}input[type=range]::-moz-range-thumb:hover{transform:scale(1.2)}.video-controls-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes play-button-entrance{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.1) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.animate-play-button-entrance{animation:play-button-entrance .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes thumbnail-zoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.thumbnail-zoom:hover{animation:thumbnail-zoom .3s ease-out forwards}@keyframes video-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-video-loading{animation:video-loading 1s linear infinite}@keyframes modal-fade-in{0%{opacity:0;backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(8px)}}.animate-modal-fade-in{animation:modal-fade-in .3s ease-out forwards}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}@media (orientation: landscape) and (max-height: 600px){.video-modal-container{max-height:100vh!important}.video-player-controls,.video-header{padding:8px!important}}@media (max-width: 768px){.video-controls-touch{min-height:44px;min-width:44px}.video-progress-touch{height:8px!important}.video-progress-thumb-touch{width:16px!important;height:16px!important}}.video-scrollable{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@keyframes feature-glow{0%,to{box-shadow:0 0 20px #8b5cf61a}50%{box-shadow:0 0 40px #8b5cf633}}.feature-card-hover:hover{animation:feature-glow 2s ease-in-out infinite}@keyframes trust-badge-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.trust-badge-animated{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:trust-badge-shimmer 3s linear infinite}@keyframes faq-card-hover{0%,to{transform:translateY(0);box-shadow:0 0 #8b5cf600}50%{transform:translateY(-2px);box-shadow:0 10px 30px #8b5cf61a}}.faq-card-hover:hover{animation:faq-card-hover 2s ease-in-out infinite}@keyframes support-card-pulse{0%,to{transform:scale(1);box-shadow:0 0 #8b5cf600}50%{transform:scale(1.05);box-shadow:0 20px 40px #8b5cf626}}.support-card-pulse:hover{animation:support-card-pulse 2s ease-in-out infinite}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-stagger-1{animation:stagger-fade-in .5s ease-out .1s forwards;opacity:0}.animate-stagger-2{animation:stagger-fade-in .5s ease-out .2s forwards;opacity:0}.animate-stagger-3{animation:stagger-fade-in .5s ease-out .3s forwards;opacity:0}.animate-stagger-4{animation:stagger-fade-in .5s ease-out .4s forwards;opacity:0}@keyframes stats-counter{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-stats-pop{animation:stats-counter .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes continuous-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float-continuous{animation:continuous-float 3s ease-in-out infinite}@keyframes shine-effect{0%{left:-100%}to{left:100%}}.feature-shine{position:relative;overflow:hidden}.feature-shine:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shine-effect 3s ease-in-out infinite}@keyframes icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.icon-bounce:hover{animation:icon-bounce .5s ease-in-out}@keyframes rotating-border{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotating-border:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from 0deg,transparent,hsl(var(--primary)),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rotating-border 4s linear infinite}@keyframes glitch-subtle{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.glitch-hover:hover{animation:glitch-subtle .3s ease-in-out}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.pulse-ring:before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid hsl(var(--primary));animation:pulse-ring 2s ease-out infinite}@keyframes text-gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(200px) rotate(720deg);opacity:0}}@keyframes success-checkmark{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg);opacity:1}}.animate-success-checkmark{animation:success-checkmark .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes fab-pulse{0%,to{box-shadow:0 0 #8b5cf6b3}50%{box-shadow:0 0 0 15px #8b5cf600}}.animate-fab-pulse{animation:fab-pulse 2s ease-in-out infinite}@keyframes command-palette-appear{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-command-palette{animation:command-palette-appear .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes command-item-hover{0%{background:transparent;transform:translate(0)}to{background:#ffffff0d;transform:translate(4px)}}.command-item:hover{animation:command-item-hover .2s ease-out forwards}@keyframes welcome-slide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.animate-welcome-slide{animation:welcome-slide .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes kbd-glow{0%,to{border-color:#ffffff1a;box-shadow:0 0 #8b5cf600}50%{border-color:#8b5cf680;box-shadow:0 0 10px #8b5cf64d}}.kbd-badge{animation:kbd-glow 2s ease-in-out infinite}@keyframes quick-action-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.quick-action-card:hover{animation:quick-action-bounce .5s ease-in-out}@keyframes ripple-effect{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-button:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0}.ripple-button:active:after{animation:ripple-effect .6s ease-out;@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-stagger-fade-in{animation:stagger-fade-in .4s ease-out forwards}@keyframes notification-pulse{0%,to{transform:scale(1);box-shadow:0 0 #ef4444b3}50%{transform:scale(1.1);box-shadow:0 0 0 8px #ef444400}}.notification-badge{animation:notification-pulse 2s ease-in-out infinite}@keyframes panel-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-panel-slide{animation:panel-slide-in .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes bar-grow{0%{height:0%;opacity:0}to{opacity:1}}.animate-bar-grow{animation:bar-grow .6s ease-out forwards}@keyframes count-up{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.animate-count-up{animation:count-up .5s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes shine-effect{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}.shine-effect{position:relative;overflow:hidden}.shine-effect:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%) skew(-15deg);animation:shine-effect 2s infinite}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-shimmer{background-size:200% auto;animation:shimmer 4s linear infinite}@keyframes certificate-reveal{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-certificate-reveal{animation:certificate-reveal .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes seal-pulse{0%,to{transform:scale(1);box-shadow:0 0 #e9456066}50%{transform:scale(1.05);box-shadow:0 0 0 10px #e9456000}}.animate-seal-pulse{animation:seal-pulse 2s ease-in-out infinite}@keyframes gold-shine{0%{background-position:-200% center}to{background-position:200% center}}.animate-gold-shine{background:linear-gradient(90deg,gold,#fff,gold);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:gold-shine 3s linear infinite}@keyframes badge-glow{0%,to{box-shadow:0 0 10px #22c55e4d}50%{box-shadow:0 0 20px #22c55e99,0 0 30px #22c55e4d}}.animate-badge-glow{animation:badge-glow 2s ease-in-out infinite}@keyframes download-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.download-hover:hover{animation:download-bounce .5s ease-in-out}@keyframes sparkle-float{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-50px) rotate(180deg);opacity:0}}.sparkle-float{animation:sparkle-float 1s ease-out forwards}@keyframes border-glow{0%,to{border-color:#eab30880}50%{border-color:#eab308}}.animate-border-glow{animation:border-glow 2s ease-in-out infinite}@keyframes text-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-text-reveal{animation:text-reveal .5s ease-out forwards}@keyframes stamp-in{0%{transform:scale(2) rotate(-15deg);opacity:0}50%{transform:scale(.9) rotate(-5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.animate-stamp-in{animation:stamp-in .4s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes ribbon-flow{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-ribbon{animation:ribbon-flow 2s ease-in-out infinite}top:0;left:0;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%) skew(-15deg);animation:shine-effect 2s ease-in-out infinite}@keyframes note-float{0%,100% {transform: translateY(0) rotate(0deg); @keyframes count-up {from {opacity: 0; transform: scale(.5);} to {opacity: 1; transform: scale(1);}} .animate-count-up {animation: count-up .3s cubic-bezier(.16,1,.3,1) forwards;} @keyframes progress-fill {from {stroke-dashoffset: 100%;} to {stroke-dashoffset: 0;}} .animate-progress-fill {animation: progress-fill 1.5s ease-out forwards;} @keyframes card-lift {0% {transform: translateY(0);} 100% {transform: translateY(-8px);}} .hover-lift:hover {animation: card-lift .3s ease-out forwards;} @keyframes pulse-glow-live {0%,100% {box-shadow: 0 0 10px rgba(34,197,94,.4);} 50% {box-shadow: 0 0 20px rgba(34,197,94,.8),0 0 30px rgba(34,197,94,.4);}} .animate-pulse-glow-live {animation: pulse-glow-live 2s ease-in-out infinite;} @keyframes trend-bounce {0%,100% {transform: translateY(0);} 50% {transform: translateY(-4px);}} .animate-trend-bounce {animation: trend-bounce 2s ease-in-out infinite;} @keyframes number-shimmer {0% {background-position: -200% center;} 100% {background-position: 200% center;}} .animate-number-shimmer {background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.5) 50%,#fff 100%); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; animation: number-shimmer 2s linear infinite;} @keyframes grid-entrance {from {opacity: 0; transform: scale(.9) translateY(20px);} to {opacity: 1; transform: scale(1) translateY(0);}} .animate-grid-entrance {animation: grid-entrance .5s cubic-bezier(.16,1,.3,1) forwards;} @keyframes ring-progress {from {stroke-dasharray: 0,100;} to {stroke-dasharray: var(--progress, 75),100;}} .animate-ring-progress {animation: ring-progress 1.5s ease-out forwards;} @keyframes live-ping {0% {transform: scale(1); opacity: 1;} 75%,100% {transform: scale(2); opacity: 0;}} .animate-live-ping {animation: live-ping 1s cubic-bezier(0,0,.2,1) infinite;} @keyframes card-shimmer {0% {background-position: -200% center;} 100% {background-position: 200% center;}} .animate-card-shimmer {background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%); background-size: 200% auto; animation: card-shimmer 3s linear infinite;} @keyframes level-up-glow {0% {box-shadow: 0 0 0 0 rgba(251,191,36,0);} 50% {box-shadow: 0 0 40px 10px rgba(251,191,36,.5);} 100% {box-shadow: 0 0 0 0 rgba(251,191,36,0);}} .animate-level-up-glow {animation: level-up-glow 1s ease-out;} @keyframes xp-fill {from {width: 0%;} to {width: var(--xp-width);}} .animate-xp-fill {animation: xp-fill 1s ease-out forwards;} @keyframes quest-bounce {0%,100% {transform: translateY(0);} 50% {transform: translateY(-5px);}} .animate-quest-bounce:hover {animation: quest-bounce .5s ease-in-out;} @keyframes reward-shine {0% {transform: translateX(-100%) rotate(45deg);} 100% {transform: translateX(200%) rotate(45deg);}} .animate-reward-shine {position: relative; overflow: hidden;} .animate-reward-shine::after {content: ""; position: absolute; top: -50%; left: -50%; width: 50%; height: 200%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transform: rotate(45deg); animation: reward-shine 2s infinite;} @keyframes star-spin {from {transform: rotate(0deg) scale(1);} 50% {transform: rotate(180deg) scale(1.2);} to {transform: rotate(360deg) scale(1);}} .animate-star-spin {animation: star-spin 3s ease-in-out infinite;} @keyframes trophy-bounce {0%,100% {transform: translateY(0) rotate(0deg);} 25% {transform: translateY(-10px) rotate(-5deg);} 75% {transform: translateY(-10px) rotate(5deg);}} .animate-trophy-bounce {animation: trophy-bounce 2s ease-in-out infinite;} @keyframes streak-flame {0%,100% {transform: scaleY(1); opacity: 1;} 50% {transform: scaleY(1.2); opacity: .8;}} .animate-streak-flame {animation: streak-flame .5s ease-in-out infinite; transform-origin: bottom;} @keyframes badge-pop {0% {transform: scale(0);} 50% {transform: scale(1.2);} 100% {transform: scale(1);}} .animate-badge-pop {animation: badge-pop .3s ease-out forwards;} @keyframes progress-slide {from {width: 0;} to {width: var(--progress-width);}} .animate-progress-slide {animation: progress-slide 1s ease-out forwards;} @keyframes confetti-burst {0% {transform: translateY(0) rotate(0deg); opacity: 1;} 100% {transform: translateY(100px) rotate(720deg); opacity: 0;}} .animate-confetti-burst {animation: confetti-burst 1s ease-out forwards;} @keyframes crown-float {0%,100% {transform: translateY(0) rotate(0deg);} 25% {transform: translateY(-5px) rotate(-3deg);} 75% {transform: translateY(-5px) rotate(3deg);}} .animate-crown-float {animation: crown-float 3s ease-in-out infinite;} @keyframes xp-popup {0% {opacity: 0; transform: translateY(20px) scale(.5);} 50% {opacity: 1; transform: translateY(-10px) scale(1.2);} 100% {opacity: 0; transform: translateY(-30px) scale(1);}} .animate-xp-popup {animation: xp-popup 1.5s ease-out forwards;} @keyframes achievement-unlock {0% {transform: scale(0) rotate(-180deg); opacity: 0;} 50% {transform: scale(1.2) rotate(10deg); opacity: 1;} 100% {transform: scale(1) rotate(0deg); opacity: 1;}} .animate-achievement-unlock {animation: achievement-unlock .8s cubic-bezier(.68,-.55,.265,1.55) forwards;} @keyframes level-celebrate {0% {transform: scale(1);} 25% {transform: scale(1.3);} 50% {transform: scale(1);} 75% {transform: scale(1.2);} 100% {transform: scale(1);}} .animate-level-celebrate {animation: level-celebrate 1s ease-in-out;} @keyframes quest-complete-glow {0%,100% {box-shadow: 0 0 20px rgba(34,197,94,.3);} 50% {box-shadow: 0 0 40px rgba(34,197,94,.8),0 0 60px rgba(34,197,94,.4);}} .animate-quest-complete-glow {animation: quest-complete-glow 2s ease-in-out infinite;} @keyframes daily-reward-pulse {0%,100% {transform: scale(1); box-shadow: 0 0 0 0 rgba(251,191,36,.7);} 50% {transform: scale(1.05); box-shadow: 0 0 20px 5px rgba(251,191,36,.3);}} .animate-daily-reward-pulse {animation: daily-reward-pulse 2s ease-in-out infinite;} @keyframes shake {0%,100% {transform: translateX(0);} 10%,30%,50%,70%,90% {transform: translateX(-5px);} 20%,40%,60%,80% {transform: translateX(5px);}} .animate-shake {animation: shake .5s ease-in-out;} @keyframes bounce-in {0% {transform: scale(0); opacity: 0;} 50% {transform: scale(1.2);} 100% {transform: scale(1); opacity: 1;}} .animate-bounce-in {animation: bounce-in .6s cubic-bezier(.68,-.55,.265,1.55) forwards;} @keyframes rubber-band {0% {transform: scale(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);} 100% {transform: scale(1);}} .animate-rubber-band {animation: rubber-band 1s ease-in-out;} @keyframes swing {20% {transform: rotate(15deg);} 40% {transform: rotate(-10deg);} 60% {transform: rotate(5deg);} 80% {transform: rotate(-5deg);} 100% {transform: rotate(0deg);}} .animate-swing {animation: swing 1s ease-in-out; transform-origin: top center;} @keyframes jello {0%,11.1%,100% {transform: none;} 22.2% {transform: skewX(-12.5deg) skewY(-12.5deg);} 33.3% {transform: skewX(6.25deg) skewY(6.25deg);} 44.4% {transform: skewX(-3.125deg) skewY(-3.125deg);} 55.5% {transform: skewX(1.5625deg) skewY(1.5625deg);} 66.6% {transform: skewX(-.78125deg) skewY(-.78125deg);} 77.7% {transform: skewX(.390625deg) skewY(.390625deg);} 88.8% {transform: skewX(-.1953125deg) skewY(-.1953125deg);}} .animate-jello {animation: jello 1s both;} @keyframes heartbeat {0%,100% {transform: scale(1);} 14% {transform: scale(1.3);} 28% {transform: scale(1);} 42% {transform: scale(1.3);} 70% {transform: scale(1);}} .animate-heartbeat {animation: heartbeat 1.5s ease-in-out infinite;} @keyframes flip {0% {transform: perspective(400px) rotateY(0); animation-timing-function: ease-out;} 40% {transform: perspective(400px) translateZ(150px) rotateY(170deg); animation-timing-function: ease-out;} 50% {transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); animation-timing-function: ease-in;} 80% {transform: perspective(400px) rotateY(360deg) scale(.95); animation-timing-function: ease-in;} 100% {transform: perspective(400px) rotateY(360deg) scale(1); animation-timing-function: ease-in;}} .animate-flip {animation: flip 1s ease-in-out; backface-visibility: visible;} @keyframes zoom-in {from {opacity: 0; transform: scale(.5);} to {opacity: 1; transform: scale(1);}} .animate-zoom-in {animation: zoom-in .5s ease-out forwards;} @keyframes fade-in-up {from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}} .animate-fade-in-up {animation: fade-in-up .5s ease-out forwards;} @keyframes fade-in-down {from {opacity: 0; transform: translateY(-20px);} to {opacity: 1; transform: translateY(0);}} .animate-fade-in-down {animation: fade-in-down .5s ease-out forwards;} @keyframes slide-in-left {from {opacity: 0; transform: translateX(-30px);} to {opacity: 1; transform: translateX(0);}} .animate-slide-in-left {animation: slide-in-left .5s ease-out forwards;} @keyframes slide-in-right {from {opacity: 0; transform: translateX(30px);} to {opacity: 1; transform: translateX(0);}} .animate-slide-in-right {animation: slide-in-right .5s ease-out forwards;} @keyframes rotate-in {from {opacity: 0; transform: rotate(-200deg);} to {opacity: 1; transform: rotate(0);}} .animate-rotate-in {animation: rotate-in .5s ease-out forwards;} @keyframes light-speed-in {from {opacity: 0; transform: translateX(100%) skewX(-30deg);} to {opacity: 1; transform: translateX(0) skewX(0);}} .animate-light-speed-in {animation: light-speed-in .6s ease-out forwards;} @keyframes roll-in {from {opacity: 0; transform: translateX(-100%) rotate(-120deg);} to {opacity: 1; transform: translateX(0) rotate(0);}} .animate-roll-in {animation: roll-in .8s ease-out forwards;} background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%); background-size: 200% auto; animation: card-shimmer 3s linear infinite;} @keyframes bar-fill {from {width: 0%;} to {width: var(--bar-width, 75%);}} .animate-bar-fill {animation: bar-fill 1s ease-out forwards;} @keyframes icon-float {0%,100% {transform: translateY(0) rotate(0deg);} 50% {transform: translateY(-8px) rotate(5deg);}} .animate-icon-float {animation: icon-float 3s ease-in-out infinite;} @keyframes stats-pulse {0% {transform: scale(1);} 50% {transform: scale(1.05);} 100% {transform: scale(1);}} .animate-stats-pulse {animation: stats-pulse .5s ease-in-out;} @keyframes stat-glow {0%,100% {box-shadow: 0 0 20px rgba(139,92,246,.1);} 50% {box-shadow: 0 0 40px rgba(139,92,246,.3);}} .animate-stat-glow {animation: stat-glow 2s ease-in-out infinite;} @keyframes music-visualizer {0%,100% {height: 8px;} 50% {height: 24px;}} .animate-music-visualizer {animation: music-visualizer .5s ease-in-out infinite;} @keyframes wave {0% {transform: scaleY(.5);} 50% {transform: scaleY(1);} 100% {transform: scaleY(.5);}} .animate-wave {animation: wave 1s ease-in-out infinite;} @keyframes music-bar {0%,100% {height: 4px;} 50% {height: 20px;}} .music-bar-1 {animation: music-bar .8s ease-in-out infinite 0s;} .music-bar-2 {animation: music-bar .8s ease-in-out infinite .2s;} .music-bar-3 {animation: music-bar .8s ease-in-out infinite .4s;} .music-bar-4 {animation: music-bar .8s ease-in-out infinite .6s;} .music-bar-5 {animation: music-bar .8s ease-in-out infinite .8s;} @keyframes note-float {0%,100% {transform: translateY(0) rotate(0deg);} 50% {transform: translateY(-5px) rotate(1deg);}} .note-float:hover {animation: note-float .5s ease-in-out;} @keyframes toggle-switch {from {transform: translateX(0);} to {transform: translateX(20px);}} .toggle-active {animation: toggle-switch .2s ease-out forwards;} @keyframes ripple-expand {from {transform: scale(0); opacity: 1;} to {transform: scale(2); opacity: 0;}} .ripple-click {animation: ripple-expand .4s ease-out forwards;} @keyframes icon-bounce {0%,100% {transform: translateY(0);} 50% {transform: translateY(-8px);}} .icon-bounce:hover {animation: icon-bounce .4s ease-in-out;} @keyframes card-lift {from {transform: translateY(0); box-shadow: 0 0 0 rgba(0,0,0,0);} to {transform: translateY(-4px); box-shadow: 0 12px 24px rgba(139,92,246,.15);}} .card-lift:hover {animation: card-lift .3s ease-out forwards;} @keyframes progress-fill {from {width: 0%;} to {width: var(--progress, 100%);}} .animate-progress {animation: progress-fill 1s ease-out forwards;} @keyframes fade-scale-in {from {opacity: 0; transform: scale(.9);} to {opacity: 1; transform: scale(1);}} .animate-fade-scale {animation: fade-scale-in .3s ease-out forwards;} @keyframes slide-from-right {from {opacity: 0; transform: translateX(30px);} to {opacity: 1; transform: translateX(0);}} .animate-slide-right {animation: slide-from-right .3s ease-out forwards;} @keyframes blink-notification {0%,100% {opacity: 1;} 50% {opacity: .5;}} .blink-notify {animation: blink-notification 1s ease-in-out infinite;} @keyframes pop-in {0% {opacity: 0; transform: scale(.8);} 50% {transform: scale(1.05);} 100% {opacity: 1; transform: scale(1);}} .animate-pop-in {animation: pop-in .4s cubic-bezier(.68,-.55,.265,1.55) forwards;} @keyframes wiggle {0%,100% {transform: rotate(0deg);} 25% {transform: rotate(-5deg);} 75% {transform: rotate(5deg);}} .wiggle-hover:hover {animation: wiggle .3s ease-in-out;} @keyframes skeleton-shimmer {0% {background-position: -200% 0;} 100% {background-position: 200% 0;}} .skeleton-loading {background: linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.05) 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite;} @keyframes progress-ring {0% {stroke-dashoffset: 283;} 100% {stroke-dashoffset: 0;}} .animate-progress-ring {animation: progress-ring 1s ease-out forwards;} @keyframes tooltip-fade {0% {opacity: 0; transform: translateY(4px);} 100% {opacity: 1; transform: translateY(0);}} .tooltip-animate {animation: tooltip-fade .2s ease-out forwards;} @keyframes notification-slide {0% {transform: translateX(100%); opacity: 0;} 100% {transform: translateX(0); opacity: 1;}} .animate-notification-slide {animation: notification-slide .3s cubic-bezier(.16,1,.3,1) forwards;} @keyframes search-highlight {0% {background-color: transparent;} 50% {background-color: rgba(139,92,246,.3);} 100% {background-color: rgba(139,92,246,.1);}} .search-highlight {animation: search-highlight .5s ease-out forwards;} @keyframes magnet-pull {0% {@keyframes scale-in {0% {opacity: 0; transform: scale(.8);} 100% {opacity: 1; transform: scale(1);}} .animate-scale-in {animation: scale-in .5s cubic-bezier(.68,-.55,.265,1.55) forwards;} @keyframes spin-slow {from {transform: rotate(0deg);} to {transform: rotate(360deg);}} .animate-spin-slow {animation: spin-slow 8s linear infinite;} @keyframes bounce-in {0% {opacity: 0; transform: scale(.3);} 50% {@keyframes slide-in-right {from {opacity: 0; transform: translateX(100%);} to {opacity: 1; transform: translateX(0);}} .animate-slide-in-right {animation: slide-in-right .5s ease-out forwards;} @keyframes shake {0%,100% {transform: translateX(0);} 10%,30%,50%,70%,90% {transform: translateX(-5px);} 20%,40%,60%,80% {transform: translateX(5px);}} .animate-shake {animation: shake .5s ease-in-out;} @keyframes email-fly {0% {transform: translateX(0) scale(1); opacity: 1;} 50% {transform: translateX(100px) scale(.8); opacity: .5;} 100% {transform: translateX(200px) scale(.5); opacity: 0;}} .animate-email-fly {animation: email-fly .6s ease-out forwards;} @keyframes success-pulse {0%,100% {transform: scale(1); box-shadow: 0 0 0 0 rgba(34,197,94,.7);} 50% {transform: scale(1.05); box-shadow: 0 0 0 10px rgba(34,197,94,0);}} .animate-success-pulse {animation: success-pulse 1s ease-in-out;} opacity: 1; transform: scale(1.05);} 70% {transform: scale(.9);} 100% {transform: scale(1);}} .animate-bounce-in {animation: bounce-in .6s cubic-bezier(.68,-.55,.265,1.55) forwards;} @keyframes fade-in-up-delayed {from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}} .animate-fade-in-up-delayed {animation: fade-in-up-delayed .5s ease-out forwards;} transform: translate(0,0);} 100% {transform: translate(var(--mouse-x, 0),var(--mouse-y, 0));}} .magnet-button {transition: transform .2s cubic-bezier(.25,.46,.45,.94);} @keyframes page-transition-in {0% {opacity: 0; transform: translateY(20px);} 100% {opacity: 1; transform: translateY(0);}} .animate-page-in {animation: page-transition-in .4s ease-out forwards;} @keyframes list-item-appear {0% {opacity: 0; transform: translateX(-20px);} 100% {opacity: 1; transform: translateX(0);}} .list-item-stagger:nth-child(1) {animation: list-item-appear .3s ease-out .05s forwards; opacity: 0;} .list-item-stagger:nth-child(2) {animation: list-item-appear .3s ease-out .1s forwards; opacity: 0;} .list-item-stagger:nth-child(3) {animation: list-item-appear .3s ease-out .15s forwards; opacity: 0;} .list-item-stagger:nth-child(4) {animation: list-item-appear .3s ease-out .2s forwards; opacity: 0;} .list-item-stagger:nth-child(5) {animation: list-item-appear .3s ease-out .25s forwards; opacity: 0;} .list-item-stagger:nth-child(6) {animation: list-item-appear .3s ease-out .3s forwards; opacity: 0;} @keyframes spotlight {0%,100% {opacity: 0;} 50% {opacity: 1;}} .spotlight-effect::before {content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(139,92,246,.15),transparent 50%); opacity: 0; transition: opacity .3s; pointer-events: none;} .spotlight-effect:hover::before {opacity: 1;} @keyframes wave {0%,100% {transform: scaleY(1);} 50% {transform: scaleY(2);}} .wave-loading span {animation: wave 1s ease-in-out infinite;} .wave-loading span:nth-child(2) {animation-delay: .1s;} .wave-loading span:nth-child(3) {animation-delay: .2s;} .wave-loading span:nth-child(4) {animation-delay: .3s;} .wave-loading span:nth-child(5) {animation-delay: .4s;} @keyframes elastic-bounce {0% {transform: scale(1);} 30% {transform: scale(1.25);} 40% {transform: scale(.75);} 50% {transform: scale(1.15);} 65% {transform: scale(.95);} 75% {transform: scale(1.05);} 100% {transform: scale(1);}} .animate-elastic {animation: elastic-bounce .6s cubic-bezier(.68,-.55,.265,1.55);} @keyframes typewriter {from {width: 0;} to {width: 100%;}} @keyframes blink-cursor {0%,100% {border-color: transparent;} 50% {border-color: hsl(var(--primary));}} .typewriter-effect {overflow: hidden; white-space: nowrap; border-right: 2px solid hsl(var(--primary)); animation: typewriter 3s steps(40) forwards,blink-cursor .75s step-end infinite;} @keyframes particle-explode {0% {transform: translate(0,0) scale(1); opacity: 1;} 100% {transform: translate(var(--tx),var(--ty)) scale(0); opacity: 0;}} .particle {animation: particle-explode .8s ease-out forwards;} @keyframes shake {0%,100% {transform: translateX(0);} 10%,30%,50%,70%,90% {transform: translateX(-5px);} 20%,40%,60%,80% {transform: translateX(5px);}} .animate-shake {animation: shake .5s ease-in-out;} @keyframes heartbeat {0%,100% {transform: scale(1);} 14% {transform: scale(1.3);} 28% {transform: scale(1);} 42% {transform: scale(1.3);} 70% {transform: scale(1);}} .animate-heartbeat {animation: heartbeat 1.5s ease-in-out infinite;} @keyframes glow-pulse {0%,100% {filter: brightness(1) drop-shadow(0 0 0 rgba(139,92,246,0));} 50% {filter: brightness(1.2) drop-shadow(0 0 20px rgba(139,92,246,.5));}} .animate-glow-pulse {animation: glow-pulse 2s ease-in-out infinite;} @keyframes flip-card {0% {transform: rotateY(0deg);} 100% {transform: rotateY(180deg);}} .flip-card {perspective: 1000px;} .flip-card-inner {transition: transform .6s; transform-style: preserve-3d;} .flip-card:hover .flip-card-inner {transform: rotateY(180deg);} @keyframes morph {0%,100% {border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;} 50% {border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;}} .animate-morph {animation: morph 8s ease-in-out infinite;} @keyframes gradient-flow {0% {background-position: 0% 50%;} 50% {background-position: 100% 50%;} 100% {background-position: 0% 50%;}} .animate-gradient-flow {background: linear-gradient(90deg,#8b5cf6,#a855f7,#ec4899,#8b5cf6); background-size: 300% 300%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: gradient-flow 4s ease infinite;} @keyframes floating {0%,100% {transform: translateY(0px);} 50% {transform: translateY(-20px);}} .animate-floating {animation: floating 3s ease-in-out infinite;} @keyframes rotate-in-place {0% {transform: rotate(0deg);} 100% {transform: rotate(360deg);}} .animate-rotate-slow {animation: rotate-in-place 8s linear infinite;} 100% {background-position: 0% 50%;}}.animated-gradient-text{background:linear-gradient(90deg,hsl(var(--primary)),#c6f,hsl(var(--primary)));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:text-gradient-shift 3s ease-in-out infinite}@keyframes scale-on-scroll{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-scroll{animation:scale-on-scroll .6s ease-out forwards}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.wiggle-hover:hover{animation:wiggle .5s ease-in-out}@keyframes morphing-bg{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.morphing-bg{animation:morphing-bg 8s ease-in-out infinite}.video-no-bounce{overscroll-behavior:none;touch-action:pan-y pinch-zoom}.video-fullscreen-mobile{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;z-index:9999!important}@supports (padding: max(0px)){.video-mobile-safe-top{padding-top:max(8px,env(safe-area-inset-top))}.video-mobile-safe-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.animate-voice-pulse{animation:voice-pulse 2s ease-in-out infinite}@media (max-width: 640px){.video-icon-mobile{width:4rem!important;height:4rem!important}.video-title-mobile{font-size:1.25rem!important}.video-desc-mobile{font-size:.875rem!important}}@keyframes email-btn-pulse{0%,to{transform:scale(1);box-shadow:0 0 #3b82f666}50%{transform:scale(1.05);box-shadow:0 0 0 10px #3b82f600}}.animate-email-pulse:hover{animation:email-btn-pulse 1.5s ease-in-out infinite}@keyframes email-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-email-spin{animation:email-spin 1s linear infinite}@keyframes email-success{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.animate-email-success{animation:email-success .5s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes email-fly-away{0%{transform:translate(0) translateY(0) scale(1);opacity:1}50%{transform:translate(50px) translateY(-10px) scale(.9);opacity:.6}to{transform:translate(100px) translateY(-20px) scale(.5);opacity:0}}.animate-email-fly{animation:email-fly-away .8s ease-out forwards}@keyframes email-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100px) rotate(360deg);opacity:0}}.animate-email-confetti{animation:email-confetti 1s ease-out forwards}@keyframes bulk-progress{0%{width:0%}to{width:100%}}.animate-bulk-progress{animation:bulk-progress 2s ease-out forwards}@keyframes success-banner{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-success-banner{animation:success-banner .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes btn-loading{0%{background-position:0% 50%}to{background-position:100% 50%}}.btn-loading-shimmer{background:linear-gradient(90deg,#3b82f680,#3b82f6,#3b82f680);background-size:200% 200%;animation:btn-loading 2s linear infinite}@keyframes email-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.email-icon-bounce:hover{animation:email-icon-bounce .6s ease-in-out}@keyframes toast-slide{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-toast-slide{animation:toast-slide .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes email-glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 15px #3b82f699,0 0 25px #3b82f64d}}.animate-email-glow{animation:email-glow 2s ease-in-out infinite}@keyframes email-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(3);opacity:0}}.email-button-click:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,rgba(59,130,246,.4) 0%,transparent 70%);transform:scale(0);opacity:0}.email-button-click:active:after{animation:email-ripple .6s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
