*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: #0a0008;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
}

/* Subtle scanline overlay for CRT feel */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.15) 2px,
    rgba(0, 0, 0, 0.15) 4px
  );
  pointer-events: none;
  z-index: 10;
}

main {
  text-align: center;
  padding: 2rem;
}

.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1em;
  animation: float 4s ease-in-out infinite;
}

.line1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(3rem, 12vw, 9rem);
  color: #ff2d9b;
  letter-spacing: 0.08em;
  text-shadow:
    0 0 7px #ff2d9b,
    0 0 20px #ff2d9b,
    0 0 45px #ff2d9b,
    0 0 80px #d4006e,
    0 0 120px #d4006e;
  animation: pulsate 3s ease-in-out infinite;
}

.line2 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: clamp(1.5rem, 5vw, 3.8rem);
  color: #ff2d9b;
  letter-spacing: 0.35em;
  text-shadow:
    0 0 7px #ff2d9b,
    0 0 20px #ff2d9b,
    0 0 45px #ff2d9b,
    0 0 80px #d4006e;
  animation: pulsate 3s ease-in-out infinite;
  animation-delay: 0.3s;
}

@keyframes pulsate {
  0%, 100% {
    text-shadow:
      0 0 7px #ff2d9b,
      0 0 20px #ff2d9b,
      0 0 45px #ff2d9b,
      0 0 80px #d4006e,
      0 0 120px #d4006e;
    opacity: 1;
  }
  50% {
    text-shadow:
      0 0 4px #ff2d9b,
      0 0 12px #ff2d9b,
      0 0 30px #ff2d9b,
      0 0 55px #d4006e,
      0 0 90px #d4006e;
    opacity: 0.88;
  }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
