#logo-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 1s ease;
  pointer-events: none;
}

#logo-anim {
  width: 1500px;
  transition: none;
  transform-origin: top center;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
}

#flash {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: white;
  opacity: 0;
  z-index: 9998;
  pointer-events: none;
  transition: opacity 0.1s ease-out;
}

#particles {
  position: fixed;
  top: 0; left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 9996;
}

.particle {
  position: absolute;
  width: 8px;
  height: 8px;
  image-rendering: pixelated;
  pointer-events: none;
  z-index: 9997;
}

/* Motion FX */
.shake {
  animation: screen-shake 0.1s ease;
}

.blurred {
  filter: blur(2px);
}

.revealed {
  transition: filter 0.25s ease;
}

@keyframes screen-shake {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(10px, -6px); }
  50%  { transform: translate(-10px, 6px); }
  75%  { transform: translate(6px, -4px); }
  100% { transform: translate(0, 0); }
}
