/* src/main/resources/static/css/effects.css */

.scanlines {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 100;
  background: repeating-linear-gradient(
    0deg,
    rgba(95,255,176,0.025) 0,
    rgba(95,255,176,0.025) 1px,
    transparent 1px,
    transparent 3px
  );
}

.crt-vignette {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 99;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.45) 100%);
}

.ghost-score {
  position: absolute; left: 0; right: 0; top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-weight: 800;
  font-size: var(--ghost-fs, 120px);
  color: var(--phosphor-burn);
  pointer-events: none;
  animation: burnflicker 4.5s linear infinite;
}

.fx-particle {
  position: absolute;
  font-size: 12px; line-height: 1;
  pointer-events: none;
  animation: particle 700ms ease-out forwards;
}

.fx-flash {
  position: absolute;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 0 30px white, 0 0 60px white;
  pointer-events: none;
  animation: mergeflash 240ms ease-out forwards;
}
