/* Local atmosphere only: the accepted image-bound coordinates remain in script.js. */
.fog-field.has-texture .fog-layer { display: none; }
.fog-canvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.light-lamp-left {
  mix-blend-mode: normal;
  background: radial-gradient(ellipse, #fff3d6d9 0 13%, #f7c08087 28%, #c87b4630 54%, transparent 76%);
  animation: lantern-breathe-45a 9s ease-in-out infinite;
}
.light-lamp-left::before {
  background: radial-gradient(ellipse, #ffe0ad52, #e9a46621 39%, transparent 72%);
  animation: none;
  opacity: .85;
}
.lantern-red-accent {
  position: absolute;
  inset: -110%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #ffd2ba 0 4%, #ff3928ed 15%, #e71d16c9 30%, #c20b105e 49%, transparent 73%);
  filter: blur(1.5px);
  opacity: 0;
  animation: lantern-accent-45a 14s ease-in-out infinite;
}
.lamp-water {
  background: linear-gradient(90deg, transparent, #c3945952 34%, #ecc08b88 50%, #c3945948 65%, transparent);
  mask-image: radial-gradient(ellipse, #0009 8%, #000 28%, transparent 70%);
  animation: water-breathe-45a 9s ease-in-out infinite;
}
.lamp-water::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(174deg, transparent 0 4px, #ff3826 5px 9px, transparent 10px 14px);
  opacity: 0;
  animation: lantern-accent-45a 14s ease-in-out infinite;
}
@keyframes lantern-breathe-45a {
  0%, 100% { opacity: .59; transform: scale(.97); }
  44% { opacity: .98; transform: scale(1.04); }
  70% { opacity: .76; transform: scale(1); }
}
@keyframes water-breathe-45a {
  0%, 100% { opacity: .26; }
  44% { opacity: .54; }
  70% { opacity: .38; }
}
@keyframes lantern-accent-45a {
  0%, 10%, 100% { opacity: 0; }
  25% { opacity: .65; }
  40% { opacity: 1; }
  58% { opacity: .8; }
  78% { opacity: 0; }
}
.atmosphere-paused .light-lamp-left,
.atmosphere-paused .lantern-red-accent,
.atmosphere-paused .lamp-water,
.atmosphere-paused .lamp-water::after,
.atmosphere-paused .lamp-water span { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .fog-canvas, .lantern-red-accent, .lamp-water::after { display: none; }
  .light-lamp-left { animation: none; transform: none; opacity: .65; }
  .lamp-water { animation: none; opacity: .28; }
}
