/* Efeitos retro anos 80 */

/* Scanlines no hero */
.scanlines {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 2px,
    rgba(0,0,0,0.08) 2px,
    rgba(0,0,0,0.08) 4px
  );
}

/* Partículas hexagonais */
.particles { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.particle {
  position: absolute;
  font-size: 18px;
  color: rgba(131,56,236,0.15);
  animation: float linear infinite;
  user-select: none;
}
@keyframes float {
  0%   { transform: translateY(100vh) rotate(0deg); opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(-10vh) rotate(360deg); opacity: 0; }
}

/* Glow pulsante em elementos chave */
.glow-pulse {
  animation: glow-pulse 2s ease-in-out infinite alternate;
}
@keyframes glow-pulse {
  from { box-shadow: 0 0 12px rgba(255,0,110,0.3); }
  to   { box-shadow: 0 0 32px rgba(255,0,110,0.7), 0 0 64px rgba(131,56,236,0.3); }
}

/* Texto com efeito de glitch no hover */
.glitch:hover { animation: glitch 0.4s ease; }
@keyframes glitch {
  0%  { text-shadow: 2px 0 #FF006E, -2px 0 #3A86FF; }
  20% { text-shadow: -2px 0 #FF006E, 2px 0 #3A86FF; }
  40% { text-shadow: 2px 2px #8338EC, -2px -2px #06FFB4; }
  60% { text-shadow: -2px -2px #FF006E, 2px 2px #3A86FF; }
  80% { text-shadow: 2px 0 #8338EC, -2px 0 #FFD60A; }
  100%{ text-shadow: none; }
}

/* Borda neon animada */
.neon-border {
  position: relative;
}
.neon-border::after {
  content: '';
  position: absolute; inset: -2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #FF006E, #8338EC, #3A86FF, #06FFB4, #FFD60A, #FF006E);
  background-size: 400%;
  z-index: -1;
  animation: border-rotate 4s linear infinite;
  opacity: 0.7;
  filter: blur(2px);
}
@keyframes border-rotate { 0% { background-position: 0% 50%; } 100% { background-position: 400% 50%; } }

/* Terminal typing effect */
.typing {
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid var(--verde);
  animation: typing 2s steps(40, end), cursor-blink 0.75s step-end infinite;
}
@keyframes typing { from { width: 0; } to { width: 100%; } }
@keyframes cursor-blink { 0%,100% { border-color: var(--verde); } 50% { border-color: transparent; } }

/* CRT flicker sutil */
.crt-flicker {
  animation: crt-flicker 8s infinite;
}
@keyframes crt-flicker {
  0%, 95%, 100% { opacity: 1; }
  96% { opacity: 0.97; }
  97% { opacity: 1; }
  98% { opacity: 0.95; }
  99% { opacity: 1; }
}

/* Scrollbar estilo retrô */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--preto); }
::-webkit-scrollbar-thumb { background: var(--roxo); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--rosa); }

/* Seleção de texto */
::selection { background: rgba(255,0,110,0.4); color: var(--branco); }
