body {
  background: #000;
  margin: 0;
  font-family: monospace;
  color: #00ff66;
}

.page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  text-align: center;
  padding: 2rem;
}

h1, p {
  max-width: 700px;
}


/* ASCII */
.ascii {
  font-size: clamp(8px, 1.2vw, 18px);
  line-height: 1.1;
  text-shadow:
    0 0 4px rgba(0, 255, 102, 0.6),
    0 0 10px rgba(0, 255, 102, 0.3);
  animation: flicker 0.15s infinite;
}

/* CRT */
.crt {
  position: relative;
  padding: 2rem;
}
/* SCANLINES */
.crt::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0px,
    rgba(0, 0, 0, 0) 2px,
    rgba(0, 0, 0, 0.15) 3px
  );
  pointer-events: none;
}

/* VIGNETTE + CURVATURA */
.crt::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    rgba(255,255,255,0.05) 0%,
    rgba(0,0,0,0.4) 70%,
    rgba(0,0,0,0.8) 100%
  );
  pointer-events: none;
}

/* FLICKER */
@keyframes flicker {
  0% { opacity: 0.95; }
  50% { opacity: 1; }
  100% { opacity: 0.97; }
}