* { margin:0; padding:0; box-sizing:border-box; }
body {
  background:#000;
  color:#0c3;
  font-family:'VT323', monospace;
  font-size:0.7rem;
  height:100vh;
  overflow:hidden;
  image-rendering:pixelated;
}
#screen { height:100vh; display:flex; align-items:center; justify-content:center; background:#000; }
#crt {
  width:100%;
  height:100vh;
  background:#000;
  position:relative;
  overflow:hidden;
}
#terminal {
  padding:1rem;
  height:100%;
  white-space:pre-wrap;
  overflow-y:auto;
  line-height:1.4;
  animation: text-flicker 5s infinite;
  scrollbar-width:thin;
  scrollbar-color:#0c3 #000;
}
.cursor { animation:blink 1s step-end infinite; }
@keyframes blink { 50% { opacity:0; } }
.scanlines {
  position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(to bottom, transparent 0, rgba(0,0,0,0.08) 1px, transparent 2px, transparent 4px);
  opacity:0.6;
}
.moving-scanline {
  position:absolute; top:0; left:0; width:100%; height:4px;
  background:rgba(255,255,255,0.1);
  animation:move-scanline 8s linear infinite;
}
@keyframes move-scanline { 0% { top:-4px; } 100% { top:100%; } }
@keyframes text-flicker {
  0%,100% { text-shadow: 0.4px 0 1px rgba(0,30,255,0.5), -0.4px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
  2%  { text-shadow: 2.8px 0 1px rgba(0,30,255,0.5), -2.8px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
  5%  { text-shadow: 0.5px 0 1px rgba(0,30,255,0.5), -0.5px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
  10% { text-shadow: 0.4px 0 1px rgba(0,30,255,0.5), -0.4px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
  15% { text-shadow: 1.2px 0 1px rgba(0,30,255,0.5), -1.2px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
  20% { text-shadow: 0.4px 0 1px rgba(0,30,255,0.5), -0.4px 0 1px rgba(255,0,80,0.3), 0 0 3px #0c3; }
}
.glitch {
  animation: glitch-shake 0.2s linear 2;
  filter: hue-rotate(10deg) drop-shadow(2px 2px 0 rgba(0,0,255,0.3)) drop-shadow(-2px 0 rgba(255,0,0,0.3));
}
@keyframes glitch-shake {
  0%,100% { transform:translate(0,0); }
  20% { transform:translate(2px,1px); }
  40% { transform:translate(-1px,-2px); }
  60% { transform:translate(3px,0); }
  80% { transform:translate(-2px,1px); }
}
#start-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.95); color:#0c3;
  font-family:'VT323',monospace; font-size:1rem;
  display:flex; align-items:center; justify-content:center; z-index:100; cursor:pointer;
}
.prompt { text-align:center; text-shadow:0 0 10px #0c3; }
.prompt h1 { font-size:1rem; margin-bottom:1rem; }
