/* Propshaft auto-loads all files in this directory. */

:root {
  --phosphor: #00ff41;
  --phosphor-dim: #00aa2a;
  --phosphor-faint: #003d0e;
  --amber: #ffb000;
  --red-alert: #ff2222;
  --alien-dark: #020c04;
  --alien-mid: #050f06;
  --alien-surface: #071209;
  --grid-line: rgba(0,255,65,0.07);
  --scan-line: rgba(0,0,0,0.35);
  --font-body: 'JetBrains Mono', monospace;
  --font-display: 'VT323', monospace;
  --max-width: 890px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background-color: var(--alien-dark);
  color: var(--phosphor);
  font-family: var(--font-body);
  font-size: 16px;
  min-height: 100vh;
  overflow-x: hidden;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.75) 100%);
  pointer-events: none;
  z-index: 9998;
}

main { position: relative; z-index: 1; }

@keyframes scanroll {
  0% { background-position: 0 0; }
  100% { background-position: 0 100px; }
}

@keyframes flicker {
  0%, 97%, 100% { opacity: 1; }
  98% { opacity: 0.94; }
  99% { opacity: 0.97; }
}

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

@keyframes slideIn {
  from { opacity: 0; transform: translateY(12px); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes pulse-border {
  0%, 100% { border-color: rgba(0,255,65,0.3); box-shadow: 0 0 4px rgba(0,255,65,0.1); }
  50% { border-color: rgba(0,255,65,0.6); box-shadow: 0 0 12px rgba(0,255,65,0.25); }
}
