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

html, body {
  height: 100%;
  background: #000000;
  font-family: 'Courier New', Courier, monospace;
  color: #00e676;
  overflow: hidden;
}

/* CRT scanlines */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 3px,
    rgba(0, 0, 0, 0.14) 3px,
    rgba(0, 0, 0, 0.14) 4px
  );
  pointer-events: none;
  z-index: 10;
}

/* Subtle phosphor glow */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 230, 118, 0.04) 0%,
    transparent 68%
  );
  pointer-events: none;
  z-index: 9;
}

.terminal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 2rem;
}

.line {
  font-size: clamp(0.85rem, 2.5vw, 1rem);
  line-height: 2;
  opacity: 0;
  white-space: nowrap;
  animation: appear 0.05s ease forwards;
}

.cursor {
  display: inline-block;
  color: #00e676;
  opacity: 0;
  animation: blink 0.9s step-end infinite;
  font-size: clamp(0.85rem, 2.5vw, 1rem);
}

@keyframes appear {
  to { opacity: 1; }
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}
