@keyframes auth-mesh-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes auth-orb-drift-1{0%,to{opacity:.7;transform:translate(0)scale(1)}33%{opacity:.9;transform:translate(40px,-30px)scale(1.08)}66%{opacity:.6;transform:translate(-30px,20px)scale(.95)}}@keyframes auth-orb-drift-2{0%,to{opacity:.5;transform:translate(0)scale(1)}33%{opacity:.7;transform:translate(-35px,25px)scale(.93)}66%{opacity:.4;transform:translate(25px,-35px)scale(1.06)}}@keyframes auth-orb-drift-3{0%,to{opacity:.4;transform:translate(0)scale(1)}50%{opacity:.6;transform:translate(20px,-15px)scale(1.04)}}.auth-orb-1{animation:18s ease-in-out infinite auth-orb-drift-1}.auth-orb-2{animation:22s ease-in-out infinite auth-orb-drift-2}.auth-orb-3{animation:26s ease-in-out infinite auth-orb-drift-3}.auth-dot-grid{background-image:radial-gradient(circle,#ffffff0a 1px,#0000 1px);background-size:32px 32px}.auth-input-underline{position:relative}.auth-input-underline:after{content:"";background:linear-gradient(90deg,#0000,#0891b2cc,#0000);width:0;height:1.5px;transition:width .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:50%}.auth-input-underline.focused:after{width:100%;left:0}@media (prefers-reduced-motion:reduce){.auth-orb-1,.auth-orb-2,.auth-orb-3{animation:none}.auth-input-underline:after{transition:none}}@media (max-width:768px){.auth-orb-1{width:600px!important;height:600px!important}.auth-orb-2{width:500px!important;height:500px!important}.auth-orb-3{width:400px!important;height:400px!important}.auth-dot-grid{background-size:48px 48px}}.auth-glass-card{transition:box-shadow .4s,border-color .4s}.auth-glass-card:hover{box-shadow:0 0 0 1px #ffffff0f,0 24px 64px #0000008c,0 8px 24px #00000059,0 0 120px #0891b20d}@keyframes auth-btn-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.auth-submit-btn:hover .auth-shimmer{animation:1.5s ease-in-out infinite auth-btn-shimmer}.auth-brand-panel{background:linear-gradient(135deg,#0891b214 0%,#06080df2 40%,#06080dfa 100%)}@keyframes auth-shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-3px)}30%,70%{transform:translate(3px)}}.auth-shake{animation:.4s ease-in-out auth-shake}
