:root {
  --lw-premium-cyan: #5de7ff;
  --lw-premium-blue: #1678ff;
  --lw-premium-green: #39e59a;
  --lw-premium-red: #ff5e72;
}

.login-card {
  position: relative !important;
  isolation: isolate;
}

.login-card .login-copy,
.login-card .login-form,
.login-card .version-text,
.login-card .logo-frame {
  transition: opacity 220ms ease, transform 240ms ease, filter 240ms ease, box-shadow 320ms ease;
}

.login-card.lw-premium-processing .login-copy,
.login-card.lw-premium-processing .login-form,
.login-card.lw-premium-processing .version-text {
  opacity: .08;
  transform: translate3d(0, 5px, 0) scale(.985);
  filter: blur(1px);
  pointer-events: none;
}

.login-card.lw-premium-processing .logo-frame {
  box-shadow: inset 0 0 24px rgba(93, 231, 255, .16), 0 0 28px rgba(38, 183, 255, .20) !important;
}

.login-card[aria-busy="true"] .toggle-password {
  pointer-events: none !important;
  opacity: .45 !important;
}

.lw-login-premium-stage {
  --lw-radius: clamp(46px, 10vw, 60px);
  --lw-launch-y: 64px;
  position: absolute;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  color: #edfaff;
  background: radial-gradient(circle at 50% 58%, rgba(21, 145, 224, .18), transparent 34%);
  transition: opacity 180ms ease, visibility 0s linear 180ms;
}

.lw-login-premium-stage.is-visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 180ms ease;
}

.lw-premium-visual {
  position: absolute;
  left: 50%;
  top: 56%;
  width: 164px;
  height: 164px;
  transform: translate3d(-50%, -50%, 0);
  transform-style: preserve-3d;
}

.lw-premium-aura,
.lw-premium-core,
.lw-auth-particle {
  position: absolute;
  left: 50%;
  top: 50%;
}

.lw-premium-aura {
  width: 134px;
  height: 134px;
  margin: -67px 0 0 -67px;
  border-radius: 50%;
  border: 1px solid rgba(93, 231, 255, .14);
  background: radial-gradient(circle, rgba(93, 231, 255, .11), rgba(19, 107, 201, .035) 46%, transparent 68%);
  box-shadow: inset 0 0 28px rgba(93, 231, 255, .08), 0 0 38px rgba(18, 134, 231, .10);
  opacity: 0;
  transform: scale(.72);
  transition: opacity 280ms ease, transform 380ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

[data-state="transition"] .lw-premium-aura,
[data-state="verifying"] .lw-premium-aura {
  opacity: 1;
  transform: scale(1);
}

[data-state="verifying"] .lw-premium-aura {
  animation: lwPremiumAuraPulse 1.5s ease-in-out infinite;
}

.lw-premium-core {
  width: 28px;
  height: 28px;
  margin: -14px 0 0 -14px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--lw-premium-green);
  background: radial-gradient(circle at 36% 32%, #c9f8ff 0 9%, var(--lw-premium-cyan) 19%, #1478d4 54%, #062850 100%);
  box-shadow: 0 0 0 1px rgba(204, 249, 255, .7), 0 0 16px rgba(93, 231, 255, .78), 0 0 38px rgba(23, 126, 255, .34);
  opacity: 0;
  transform: scale(.52);
  transition: opacity 250ms ease, transform 380ms cubic-bezier(.2,.8,.2,1), background 320ms ease, box-shadow 320ms ease;
}

.lw-premium-core-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #effdff;
  box-shadow: 0 0 10px #fff;
  transition: opacity 180ms ease;
}

[data-state="transition"] .lw-premium-core,
[data-state="verifying"] .lw-premium-core {
  opacity: 1;
  transform: scale(1);
}

[data-state="verifying"] .lw-premium-core {
  animation: lwPremiumCorePulse 1.12s ease-in-out infinite;
}

.lw-premium-check {
  position: absolute;
  inset: -10px;
  width: 48px;
  height: 48px;
  opacity: 0;
  transform: scale(.72);
}

.lw-premium-check path {
  stroke-dasharray: 42;
  stroke-dashoffset: 42;
}

.lw-auth-particle {
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  opacity: 0;
  transform: translate3d(var(--start-x), var(--lw-launch-y), 0) scale(.68);
  will-change: transform, opacity;
}

.lw-auth-particle i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 28%, #fff 0 12%, #9cf3ff 21%, #33c7ff 54%, #1369d8 100%);
  box-shadow: 0 0 8px rgba(156, 243, 255, .96), 0 0 18px rgba(40, 178, 255, .62);
}

[data-state="transition"] .lw-auth-particle {
  animation: lwPremiumConverge 430ms cubic-bezier(.42,0,.2,1) forwards;
}

[data-state="verifying"] .lw-auth-particle {
  opacity: 1;
  animation: lwPremiumOrbit 1.04s linear infinite;
}

[data-state="verifying"] .lw-auth-particle i {
  animation: lwPremiumDepth 1.04s ease-in-out infinite;
  animation-delay: var(--depth-delay);
}

[data-state="success"] .lw-premium-aura {
  opacity: 1;
  transform: scale(.72);
  border-color: rgba(57, 229, 154, .42);
  box-shadow: inset 0 0 25px rgba(57, 229, 154, .18), 0 0 42px rgba(57, 229, 154, .26);
}

[data-state="success"] .lw-premium-core {
  opacity: 1;
  transform: scale(1.42);
  background: radial-gradient(circle at 36% 30%, #ddfff1, #39e59a 34%, #0e9762 72%, #064b34 100%);
  box-shadow: 0 0 0 1px rgba(211, 255, 237, .82), 0 0 22px rgba(57, 229, 154, .88), 0 0 52px rgba(22, 190, 121, .38);
}

[data-state="success"] .lw-premium-core-dot {
  opacity: 0;
}

[data-state="success"] .lw-premium-check {
  opacity: 1;
  transform: scale(.72);
  animation: lwPremiumCheckPop 470ms cubic-bezier(.22,.9,.2,1) 180ms forwards;
}

[data-state="success"] .lw-premium-check path {
  animation: lwPremiumCheckDraw 410ms ease 210ms forwards;
}

[data-state="error"] .lw-premium-aura {
  opacity: 1;
  transform: scale(.9);
  border-color: rgba(255, 94, 114, .46);
  box-shadow: inset 0 0 22px rgba(255, 94, 114, .13), 0 0 35px rgba(255, 75, 101, .20);
}

[data-state="error"] .lw-premium-core {
  opacity: 1;
  transform: scale(.72);
  background: radial-gradient(circle, #ffd6dc, var(--lw-premium-red) 42%, #8d1830 100%);
  box-shadow: 0 0 18px rgba(255, 94, 114, .72);
}

[data-state="error"] .lw-auth-particle i {
  background: radial-gradient(circle at 34% 28%, #fff, #ff9aaa 28%, #ff5e72 68%, #9b1833);
  box-shadow: 0 0 10px rgba(255, 94, 114, .86), 0 0 18px rgba(255, 60, 91, .36);
}

.lw-premium-status {
  position: absolute;
  left: 24px;
  right: 24px;
  top: calc(56% + 98px);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  text-align: center;
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  transition: opacity 220ms ease, transform 260ms ease;
}

[data-state="verifying"] .lw-premium-status,
[data-state="success"] .lw-premium-status,
[data-state="error"] .lw-premium-status {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.lw-premium-title {
  color: #ecfbff;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 1.8px;
}

.lw-premium-subtitle {
  color: rgba(214, 238, 250, .78);
  font-size: 12px;
  font-weight: 650;
}

[data-state="success"] .lw-premium-title { color: #aaf7d2; }
[data-state="error"] .lw-premium-title { color: #ffb3bf; }

.lw-login-premium-stage.is-shaking .lw-premium-visual,
.lw-login-premium-stage.is-shaking .lw-premium-status {
  animation: lwPremiumShake 360ms ease both;
}

@keyframes lwPremiumConverge {
  0% {
    opacity: 0;
    transform: translate3d(var(--start-x), var(--lw-launch-y), 0) scale(.68);
  }
  24% { opacity: 1; }
  100% {
    opacity: 1;
    transform: rotate(var(--angle)) translateY(calc(var(--lw-radius) * -1)) scale(1);
  }
}

@keyframes lwPremiumOrbit {
  from { transform: rotate(var(--angle)) translateY(calc(var(--lw-radius) * -1)); }
  to { transform: rotate(calc(var(--angle) + 360deg)) translateY(calc(var(--lw-radius) * -1)); }
}

@keyframes lwPremiumDepth {
  0%, 100% { opacity: .62; transform: scale(.78); filter: brightness(.78); }
  50% { opacity: 1; transform: scale(1.08); filter: brightness(1.18); }
}

@keyframes lwPremiumAuraPulse {
  0%, 100% { transform: scale(.96); opacity: .68; }
  50% { transform: scale(1.04); opacity: 1; }
}

@keyframes lwPremiumCorePulse {
  0%, 100% { transform: scale(.94); }
  50% { transform: scale(1.06); }
}

@keyframes lwPremiumCheckDraw { to { stroke-dashoffset: 0; } }

@keyframes lwPremiumCheckPop {
  0% { transform: scale(.68); }
  70% { transform: scale(.84); }
  100% { transform: scale(.78); }
}

@keyframes lwPremiumShake {
  0%, 100% { transform: translate3d(-50%, -50%, 0); }
  25% { transform: translate3d(calc(-50% - 5px), -50%, 0); }
  55% { transform: translate3d(calc(-50% + 5px), -50%, 0); }
  78% { transform: translate3d(calc(-50% - 2px), -50%, 0); }
}

@media (max-width: 768px) {
  .lw-login-premium-stage { --lw-radius: clamp(44px, 13vw, 53px); }
  .lw-premium-visual { top: 54%; width: 142px; height: 142px; }
  .lw-premium-status { top: calc(54% + 84px); }
  .lw-premium-title { font-size: 12px; letter-spacing: 1.35px; }
  .lw-premium-subtitle { font-size: 11px; }
}

@media (max-width: 390px), (max-height: 720px) {
  .lw-login-premium-stage { --lw-radius: 44px; }
  .lw-premium-visual { top: 53%; transform: translate3d(-50%, -50%, 0) scale(.9); }
  .lw-premium-status { top: calc(53% + 72px); }
}

@media (prefers-reduced-motion: reduce) {
  .lw-login-premium-stage *,
  .login-card .login-copy,
  .login-card .login-form,
  .login-card .version-text,
  .login-card .logo-frame {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 120ms !important;
  }
  [data-state="verifying"] .lw-auth-particle {
    animation: none !important;
    opacity: .9;
    transform: rotate(var(--angle)) translateY(calc(var(--lw-radius) * -1));
  }
}
