#bg-layer {
  position: fixed;
  inset: 0;
  z-index: -2;

  /* 背景图片 */
  background-image: url("./bg.png");
  background-size: cover;
  background-position: center;

  /* 基础气质 */
  filter: brightness(0.85) contrast(1.05) saturate(0.95);
}

#bg-layer::after {
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;

  background:
    radial-gradient(circle at 30% 40%, rgba(255,255,255,0.06), transparent 55%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,0.04), transparent 60%);

  mix-blend-mode: overlay;
  opacity: 0.8;
  filter: blur(12px);

  animation: slowRipples 18s ease-in-out infinite alternate;
}

@keyframes slowRipples {
  0%   { transform: translate3d(-1%, 0%, 0) scale(1.02); }
  100% { transform: translate3d( 1%, -1%, 0) scale(1.05); }
}
