/* === 乃流翠ページ：RICH BLACK × Jade（固定パターンの呼吸版） === */

#lightBreathBg {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;

  /* ベースの黒を深く多層化（濃い夜色） */
  background:
    linear-gradient(
      to bottom right,
      #020203 0%,
      #040408 30%,
      #06070D 60%,
      #030307 100%
    );
}

/* 黒の層に埋もれるような翡翠（極弱・呼吸） */
.lb-layer-base {
  position: absolute;
  inset: -10%;

  background:
    /* 翡翠（ほんの少しだけ、黒に溶ける） */
    radial-gradient(
      circle at 22% 20%,
      rgba(0, 255, 190, 0.08) 0%,
      transparent 55%
    ),

    /* 青翡翠（さらに弱い） */
    radial-gradient(
      circle at 78% 28%,
      rgba(120, 200, 255, 0.06) 0%,
      transparent 60%
    ),

    /* 足元にごく薄い翡翠の残光 */
    radial-gradient(
      circle at 50% 85%,
      rgba(0, 255, 210, 0.04) 0%,
      transparent 60%
    );

  filter: blur(8px);   /* 翡翠を黒の奥へ沈める */
  opacity: 0.82;       /* ベースの濃さ */

  /* ★ 完全固定パターンの呼吸アニメーション */
  animation: lb-breath 18s ease-in-out infinite;
  will-change: opacity, filter;
}

/* 粒子は「黒の中に溶ける程度」にまで弱める＋ごく緩やかに漂う */
.lb-dust {
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,0.03) 0, transparent 40%),
    radial-gradient(circle at 82% 38%, rgba(255,255,255,0.025) 0, transparent 45%),
    radial-gradient(circle at 30% 82%, rgba(255,255,255,0.02) 0, transparent 40%);

  opacity: 0.06; /* 黒の層にほぼ埋まる量 */
  mix-blend-mode: screen;

  /* ★ これも毎回同じ軌道で、ほとんど揺らぎだけの動き */
  animation: lb-dust-float 42s ease-in-out infinite;
  will-change: opacity, transform;
}

/* === 呼吸アニメーション（完全固定パターン） === */
@keyframes lb-breath {
  0% {
    opacity: 0.78;
    filter: blur(8px);
  }
  40% {
    opacity: 0.98;
    filter: blur(11px);
  }
  60% {
    opacity: 0.86;
    filter: blur(9px);
  }
  100% {
    opacity: 0.78;
    filter: blur(8px);
  }
}

/* === 粒子のごくわずかな漂い（完全固定パターン） === */
@keyframes lb-dust-float {
  0% {
    opacity: 0.04;
    transform: translate3d(0, 0, 0);
  }
  50% {
    opacity: 0.08;
    transform: translate3d(0, -4px, 0);
  }
  100% {
    opacity: 0.04;
    transform: translate3d(0, 0, 0);
  }
}