@keyframes login-float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-12px) rotate(2deg)}66%{transform:translateY(-6px) rotate(-1deg)}}@keyframes login-float-reverse{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(8px) rotate(-2deg)}66%{transform:translateY(14px) rotate(1deg)}}@keyframes login-float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.login-animate-float{animation:login-float 6s ease-in-out infinite}.login-animate-float-reverse{animation:login-float-reverse 7s ease-in-out infinite}.login-animate-float-slow{animation:login-float-slow 8s ease-in-out infinite}@keyframes login-pulse-line{0%,to{opacity:.08}50%{opacity:.3}}.login-animate-pulse-line{animation:login-pulse-line 3s ease-in-out infinite}@keyframes login-stagger-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-stagger-1{animation:login-stagger-in .5s ease-out .3s both}.login-stagger-2{animation:login-stagger-in .5s ease-out .6s both}.login-stagger-3{animation:login-stagger-in .5s ease-out .9s both}@keyframes login-glow{0%,to{text-shadow:0 0 20px rgba(25,145,235,.3)}50%{text-shadow:0 0 40px rgba(25,145,235,.6)}}.login-animate-glow{animation:login-glow 4s ease-in-out infinite}@keyframes login-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.login-shimmer-badge{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);background-size:200% 100%;animation:login-shimmer 4s ease-in-out infinite}.login-dot-grid{background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:24px 24px}@keyframes login-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-fade-up{animation:login-fade-up .6s ease-out both}.login-fade-up-delay-1{animation-delay:.1s}.login-fade-up-delay-2{animation-delay:.2s}.login-fade-up-delay-3{animation-delay:.3s}.login-fade-up-delay-4{animation-delay:.4s}@keyframes login-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.login-shake{animation:login-shake .5s ease-in-out}@keyframes login-spin{to{transform:rotate(360deg)}}.login-spinner{animation:login-spin .7s linear infinite;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;width:18px;height:18px}
