/* IAM 登录页暗色热修补 v3：
 * 1) 背景纯黑
 * 2) 左侧弥散动效平滑循环
 * 3) 兰管家字体恢复圆润
 * 4) LANST 2.0 提升可见度
 */

@font-face {
  font-family: 'LanGuanJiaBrandCnRoundV3';
  src: url('/fonts/future-round-medium-brand-subset.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  unicode-range: U+5170, U+7BA1, U+5BB6, U+0030, U+0032, U+002E, U+0020;
  font-display: swap;
}

html.dark body,
html[data-theme='dark'] body {
  background: #000 !important;
}

.login-page.theme-dark {
  --bg-page: #000 !important;
  --login-bg-gradient: linear-gradient(180deg, #000 0%, #000 100%) !important;
  --login-bg-overlay1: transparent !important;
  --login-bg-overlay2: transparent !important;
  --login-bg-overlay3: transparent !important;
  --login-glow1: transparent !important;
  --login-glow2: transparent !important;
  --login-glow3: transparent !important;
  --login-card-bg: rgba(20, 20, 20, 0.88) !important;
}

.login-page.theme-dark,
.login-page.theme-dark::before,
.login-page.theme-dark::after {
  background: #000 !important;
  animation: none !important;
}

.login-page.theme-dark::before,
.login-page.theme-dark::after {
  display: none !important;
  opacity: 0 !important;
}

.login-page.theme-dark .shader-gradient-bg-enhanced,
.login-page.theme-dark .shader-gradient-bg-enhanced.light,
.login-page.theme-dark .shader-gradient-bg-enhanced.dark,
html.lanst-browser-chromium .login-page.theme-dark .shader-gradient-bg-enhanced {
  background: #000 !important;
  animation: none !important;
}

.login-page.theme-dark .shader-gradient-bg-enhanced::before,
.login-page.theme-dark .shader-gradient-bg-enhanced::after,
html.lanst-browser-chromium .login-page.theme-dark .shader-gradient-bg-enhanced::before,
html.lanst-browser-chromium .login-page.theme-dark .shader-gradient-bg-enhanced::after,
.login-page.theme-dark .gradient-orbs-layer,
.login-page.theme-dark .canvas-layer {
  display: none !important;
}

.login-page.theme-dark .login-image,
html.lanst-browser-chromium .login-page.theme-dark .login-image {
  background: #000 !important;
  animation: none !important;
  position: relative;
  overflow: hidden;
}

.login-page.theme-dark .login-image::before,
html.lanst-browser-chromium .login-page.theme-dark .login-image::before {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: 1;
  pointer-events: none;
  display: block !important;
  background:
    radial-gradient(46% 42% at 24% 30%, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0.08) 48%, transparent 74%),
    radial-gradient(44% 40% at 74% 72%, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.05) 46%, transparent 76%);
  filter: blur(34px);
  opacity: 0.62;
  mix-blend-mode: screen;
  animation: lanstDarkPureFlowA 18s linear infinite !important;
  will-change: transform, opacity;
}

.login-page.theme-dark .login-image::after,
html.lanst-browser-chromium .login-page.theme-dark .login-image::after {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 2;
  pointer-events: none;
  display: block !important;
  background:
    radial-gradient(40% 36% at 72% 26%, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.06) 44%, transparent 74%),
    radial-gradient(38% 34% at 30% 76%, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 44%, transparent 74%);
  filter: blur(40px);
  opacity: 0.52;
  mix-blend-mode: screen;
  animation: lanstDarkPureFlowB 22s linear infinite !important;
  will-change: transform, opacity;
}

.login-page.theme-dark .orb-container,
.login-page.theme-dark .orb,
.login-page.theme-dark .orb-container::before,
.login-page.theme-dark .orb-container::after {
  display: none !important;
}

.login-page.theme-dark .brand-label {
  display: block !important;
  opacity: 1 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
}

.login-page.theme-dark .brand-title {
  font-family: 'LanGuanJiaBrandCnRoundV3', 'MiSans', 'PingFang SC', 'Microsoft YaHei', sans-serif !important;
  font-weight: 560 !important;
  color: #fff !important;
}

.login-page .brand-label,
.login-page .brand-title,
.login-page .brand-tagline,
.login-page .brand-logo {
  text-shadow: none !important;
}

@keyframes lanstDarkPureFlowA {
  0% {
    transform: translate3d(-10%, -7%, 0) scale(1.02);
    opacity: 0.58;
  }
  25% {
    transform: translate3d(4%, -2%, 0) scale(1.08);
    opacity: 0.68;
  }
  50% {
    transform: translate3d(10%, 6%, 0) scale(1.03);
    opacity: 0.60;
  }
  75% {
    transform: translate3d(-2%, 10%, 0) scale(1.07);
    opacity: 0.66;
  }
  100% {
    transform: translate3d(-10%, -7%, 0) scale(1.02);
    opacity: 0.58;
  }
}

@keyframes lanstDarkPureFlowB {
  0% {
    transform: translate3d(8%, 8%, 0) scale(1.00);
    opacity: 0.48;
  }
  25% {
    transform: translate3d(-4%, 2%, 0) scale(1.06);
    opacity: 0.56;
  }
  50% {
    transform: translate3d(-10%, -6%, 0) scale(1.02);
    opacity: 0.50;
  }
  75% {
    transform: translate3d(2%, -10%, 0) scale(1.05);
    opacity: 0.56;
  }
  100% {
    transform: translate3d(8%, 8%, 0) scale(1.00);
    opacity: 0.48;
  }
}
