/* Special effects: scanlines, retro grid, animations, and horror theme effects */

/* Special effects */
.theme-scanlines::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255,255,255,0.03) 2px,
    rgba(255,255,255,0.03) 4px
  );
  pointer-events: none;
  opacity: var(--scanline-opacity);
  z-index: var(--z-theme-scanlines);
}

.theme-retro-grid::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    linear-gradient(rgba(0, 217, 233, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 217, 233, 0.1) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
  opacity: var(--noise-opacity);
  z-index: var(--z-theme-retro-grid);
}

.theme-horror-flicker {
  animation: horror-flicker 3s infinite;
}

@keyframes horror-flicker {
  0%, 100% { opacity: 1; }
  5% { opacity: 0.8; }
  10% { opacity: 1; }
  15% { opacity: 0.9; }
  20% { opacity: 1; }
  25% { opacity: 0.7; }
  30% { opacity: 1; }
}

/* Professional themes: keep effects disabled by default */
body.theme-professional-dark,
body.theme-professional-light {
  --scanline-opacity: 0;
  --noise-opacity: 0;
}
