/* 工具页共用：用户中心同款漂浮光斑，三页同一套色 */

.uc-ambient-bg {
  --ambient-0: #020304;
  --ambient-1: #0a1014;
  --ambient-2: #121a20;
  --orb-a: rgba(196, 118, 42, 0.5);
  --orb-a-mid: rgba(150, 78, 18, 0.2);
  --orb-b: rgba(28, 164, 168, 0.4);
  --orb-b-mid: rgba(16, 96, 112, 0.16);
  --orb-c: rgba(232, 196, 118, 0.24);
  --orb-c-mid: rgba(56, 140, 180, 0.1);
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background: linear-gradient(160deg, var(--ambient-0) 0%, var(--ambient-1) 48%, var(--ambient-2) 100%);
}

.uc-ambient-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.3;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
  z-index: 1;
}

.uc-bg-orb {
  position: absolute;
  width: min(72vmax, 920px);
  height: min(72vmax, 920px);
  border-radius: 50%;
  filter: blur(72px);
  will-change: left, top, opacity;
  transition:
    left 5.5s cubic-bezier(0.4, 0, 0.2, 1),
    top 5.5s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 4s ease;
  mix-blend-mode: screen;
}

.uc-bg-orb--a {
  background: radial-gradient(circle, var(--orb-a) 0%, var(--orb-a-mid) 42%, transparent 68%);
  opacity: 0.7;
}

.uc-bg-orb--b {
  background: radial-gradient(circle, var(--orb-b) 0%, var(--orb-b-mid) 45%, transparent 70%);
  opacity: 0.66;
}

.uc-bg-orb--c {
  width: min(48vmax, 620px);
  height: min(48vmax, 620px);
  background: radial-gradient(circle, var(--orb-c) 0%, var(--orb-c-mid) 50%, transparent 72%);
  opacity: 0.52;
  filter: blur(64px);
}

@media (prefers-reduced-motion: reduce) {
  .uc-bg-orb {
    transition: none;
  }
}

body.has-ambient-dark {
  background: transparent !important;
}

html.app-client body.has-ambient-dark {
  background: transparent !important;
}

body.has-ambient-dark .video-background,
html.app-client body.has-ambient-dark .video-background,
html.app-client body.has-ambient-dark .app-futuristic-bg {
  display: none !important;
}

/* 勿把全屏弹层改成 relative：否则会掉出 viewport、跟着文档流沉到底部 */
body.has-ambient-dark > *:not(.uc-ambient-bg):not(.navbar):not(.meeting-intro-overlay) {
  position: relative;
  z-index: 1;
}

body.has-ambient-dark .navbar {
  z-index: 100100;
}
