
:root{ --vlxe:cubic-bezier(.16,1,.3,1); }
#page-account{ position:relative; }
#page-account::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.07), transparent 42%),
    radial-gradient(circle at 82% 80%, rgba(255,255,255,.05), transparent 40%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.015) 0 1px, transparent 1px 52px);
  animation:vlxAuthGlow 9s ease-in-out infinite;
}
@keyframes vlxAuthGlow{ 0%,100%{opacity:.72; transform:translateY(0);} 50%{opacity:1; transform:translateY(-6px);} }
#page-account > *{ position:relative; z-index:1; }
.client-auth-panel, .login-card.social-login-card{
  animation:vlxAuthRise .55s var(--vlxe) both;
  box-shadow:0 30px 80px rgba(0,0,0,.55);
  transition:box-shadow .3s var(--vlxe), border-color .3s var(--vlxe);
}
.client-auth-panel:hover{ box-shadow:0 36px 96px rgba(0,0,0,.62); }
@keyframes vlxAuthRise{ from{opacity:0; transform:translateY(20px) scale(.985);} to{opacity:1; transform:none;} }
.login-header.social-login-header{ position:relative; padding-top:0; }
.login-header.social-login-header::before{ display:none !important; }
@keyframes vlxLogoPulse{ 0%,100%{box-shadow:0 0 16px rgba(255,255,255,.14);} 50%{box-shadow:0 0 32px rgba(255,255,255,.36);} }
.social-auth-btn{ transition:transform .18s var(--vlxe), box-shadow .18s var(--vlxe), border-color .18s var(--vlxe), background .2s var(--vlxe); }
.social-auth-btn:hover{ transform:translateY(-2px); }
.social-auth-btn.google:hover{ box-shadow:0 10px 26px rgba(255,255,255,.12); }
.social-auth-btn.discord:hover{ box-shadow:0 10px 26px rgba(88,101,242,.30); border-color:rgba(88,101,242,.5); }
.social-auth-btn .social-icon img{ transition:transform .25s var(--vlxe); }
.social-auth-btn:hover .social-icon img{ transform:scale(1.14); }
.social-auth-grid .social-auth-btn{ animation:vlxAuthItem .5s var(--vlxe) both; }
.social-auth-grid .social-auth-btn:nth-child(2){ animation-delay:.08s; }
@keyframes vlxAuthItem{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
.login-divider b{ letter-spacing:.14em; }
.login-input{ transition:border-color .2s var(--vlxe), box-shadow .2s var(--vlxe), background .2s var(--vlxe); }
.login-input:focus{ box-shadow:0 0 0 3px rgba(255,255,255,.14); outline:none; }
.login-code-input{ text-align:center; letter-spacing:.5em; font-weight:800; font-feature-settings:"tnum"; }
.login-btn{ animation:vlxAuthItem .5s var(--vlxe) both; animation-delay:.12s; }
.login-step{ animation:vlxAuthItem .4s var(--vlxe) both; }
.login-error:not(.hidden){ animation:vlxAuthItem .3s var(--vlxe) both; }
.client-locale-panel{ animation:vlxAuthRise .6s var(--vlxe) both; }
@media (prefers-reduced-motion: reduce){ #page-account *, #page-account::before{ animation:none !important; } }
