/* ===== Vignette overlay ===== */
#vignette {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 30;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.7) 100%);
}
#atmosphere-flash {
  position: absolute; inset: 0;
  pointer-events: none; z-index: 31;
  background: linear-gradient(to top, rgba(255,80,30,0) 50%, rgba(255,80,30,0) 100%);
  transition: background 1s;
}
#atmosphere-flash.entering {
  background: linear-gradient(to top, rgba(255,80,30,0.5) 0%, rgba(255,150,60,0.2) 30%, transparent 70%);
  animation: flicker 0.15s infinite alternate;
}
@keyframes flicker { from { opacity: 0.85; } to { opacity: 1; } }

/* ===== Final fade ===== */
#final-fade {
  position: absolute; inset: 0;
  background: #fff;
  opacity: 0;
  pointer-events: none;
  z-index: 90;
  transition: opacity 2s;
}
#final-fade.fadeWhite { opacity: 1; }
#final-fade.fadeBlack { background: #000; opacity: 1; transition: opacity 1.5s; }
