/**
 * atmospheric-effects.css
 *
 * Styles for AtmosphericEffects.js — border glow system.
 * All heavy smoke/fire/explosion particle systems removed.
 * Only classes that AtmosphericEffects.js actually creates are here.
 *
 * Keyframes are injected directly by AtmosphericEffects.js via injectKeyframes(),
 * so they do NOT need to live in this file.
 */

/* ── Narrative text sits above atmospheric overlays ── */
.narrative-text,
.choices-container {
  position: relative;
  z-index: 100;
}

/* ── Border glow (primary effect — used for all scenes) ── */
.effect-border-glow {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 10;
  border-radius: 0;
  /* color and duration are set inline by AtmosphericEffects.createBorderGlow() */
  animation: borderGlowPulse 2s ease-in-out infinite alternate;
}

/* ── Shake + flash (scene-04 impact) ── */
.effect-shake-flash {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 15;
  background: transparent;
  animation: shakeFlash 0.6s ease-out forwards;
}

/* ── Aftermath overlay (scene-05) ── */
.effect-aftermath-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 8;
  background: linear-gradient(
    to bottom,
    rgba(20, 10, 5, 0.3) 0%,
    rgba(40, 20, 10, 0.15) 100%
  );
  animation: aftermathFade 3s ease-in forwards;
}

/* ── Dawn gradient (scene-01) ── */
.effect-dawn-gradient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 8;
  background: linear-gradient(
    to top,
    rgba(255, 150, 50, 0.12) 0%,
    rgba(255, 200, 100, 0.06) 40%,
    transparent 100%
  );
  animation: dawnRise 4s ease-in forwards;
}

/* ── Ash particles ── */
.effect-ash-particle {
  position: fixed;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(180, 160, 140, 0.6);
  pointer-events: none;
  z-index: 12;
  animation: ashFloat linear infinite;
}
