/* Luz da borda do card de login (Binisoft @ 11161f0). */

@property --login-glow-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}

@keyframes login-card-glow {
  to {
    --login-glow-angle: 360deg;
  }
}

.auth-hub[data-login-state] {
  position: relative;
  z-index: 0;
  isolation: isolate;
}

.auth-hub[data-login-state="email"] {
  --login-light-1: #1d4ed8;
  --login-light-2: #38bdf8;
}

.auth-hub[data-login-state="code"] {
  --login-light-1: #eab308;
  --login-light-2: #fde047;
}

.auth-hub[data-login-state="success"] {
  --login-light-1: #16a34a;
  --login-light-2: #4ade80;
}

.auth-hub[data-login-state="email"]:focus-within,
.auth-hub[data-login-state="code"]:focus-within,
.auth-hub[data-login-state="success"] {
  animation: login-card-glow 5s linear infinite;
}

.auth-hub[data-login-state]::before,
.auth-hub[data-login-state]::after {
  content: none;
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(
    from var(--login-glow-angle),
    transparent 0deg,
    transparent 268deg,
    var(--login-light-1) 314deg,
    color-mix(in srgb, var(--login-light-1) 35%, white) 332deg,
    var(--login-light-2) 348deg,
    transparent 360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
}

.auth-hub[data-login-state="email"]:focus-within::before,
.auth-hub[data-login-state="email"]:focus-within::after,
.auth-hub[data-login-state="code"]:focus-within::before,
.auth-hub[data-login-state="code"]:focus-within::after,
.auth-hub[data-login-state="success"]::before,
.auth-hub[data-login-state="success"]::after {
  content: "";
}

.auth-hub[data-login-state]::before {
  z-index: 1;
}

.auth-hub[data-login-state]::after {
  z-index: -1;
  inset: -3px;
  padding: 3px;
  filter: blur(6px);
  opacity: 0.8;
}

@media (prefers-reduced-motion: reduce) {
  .auth-hub[data-login-state="email"]:focus-within,
  .auth-hub[data-login-state="code"]:focus-within,
  .auth-hub[data-login-state="success"] {
    animation: none;
  }

  .auth-hub[data-login-state="email"]:focus-within::before,
  .auth-hub[data-login-state="email"]:focus-within::after,
  .auth-hub[data-login-state="code"]:focus-within::before,
  .auth-hub[data-login-state="code"]:focus-within::after,
  .auth-hub[data-login-state="success"]::before,
  .auth-hub[data-login-state="success"]::after {
    content: none;
  }
}
