:root {
  /* Retro Theme - Classic Green Terminal Colors */
  --color-primary: 0 255 0; /* Bright Green */
  --color-secondary: 0 200 0; /* Green 600 */
  --color-accent: 255 255 0; /* Yellow */
  --color-bg: 0 0 0; /* Black */
  --color-surface: 0 20 0; /* Very Dark Green */
  --color-card: 0 40 0; /* Dark Green */
  --color-text: 0 255 0; /* Bright Green */
  --color-text-muted: 0 200 0; /* Muted Green */
  --color-border: 0 255 0; /* Bright Green */
  
  /* Retro specific colors */
  --color-retro-amber: 255 191 0; /* Amber */
  --color-retro-cyan: 0 255 255; /* Cyan */
  --color-retro-magenta: 255 0 255; /* Magenta */
}

@font-face {
  font-family: 'Perfect DOS VGA 437';
  src: url('data:font/woff2;base64,') format('woff2');
  font-display: swap;
}

body {
  background-color: rgb(var(--color-bg));
  color: rgb(var(--color-text));
  font-family: 'Courier New', 'Monaco', monospace;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

.btn-primary {
  background: rgb(var(--color-primary));
  color: rgb(var(--color-bg));
  border: 2px solid rgb(var(--color-primary));
  font-family: monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: all 0.2s;
  image-rendering: pixelated;
}

.btn-primary:hover {
  background: rgb(var(--color-bg));
  color: rgb(var(--color-primary));
  box-shadow: 0 0 20px rgb(var(--color-primary));
  text-shadow: 0 0 10px rgb(var(--color-primary));
}

.retro-card {
  background: rgb(var(--color-card));
  border: 2px solid rgb(var(--color-primary));
  font-family: monospace;
  box-shadow: 
    0 0 10px rgba(var(--color-primary), 0.5),
    inset 0 0 10px rgba(var(--color-primary), 0.1);
}

.retro-text-glow {
  text-shadow: 
    0 0 5px rgb(var(--color-primary)),
    0 0 10px rgb(var(--color-primary)),
    0 0 15px rgb(var(--color-primary));
}

.retro-border-glow {
  border: 2px solid rgb(var(--color-primary));
  box-shadow: 
    0 0 10px rgba(var(--color-primary), 0.5),
    inset 0 0 10px rgba(var(--color-primary), 0.1);
}

/* CRT Scanlines Effect */
.retro-scanlines {
  position: relative;
}

.retro-scanlines::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 255, 0, 0.03) 2px,
    rgba(0, 255, 0, 0.03) 4px
  );
  pointer-events: none;
  animation: retro-scan 0.1s linear infinite;
}

@keyframes retro-scan {
  0% { transform: translateY(0); }
  100% { transform: translateY(4px); }
}

/* Terminal Cursor */
@keyframes retro-blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.retro-cursor {
  animation: retro-blink 1s infinite;
}

/* Matrix-style text rain effect */
@keyframes retro-matrix {
  0% { transform: translateY(-100%); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(100vh); opacity: 0; }
}

.retro-matrix {
  animation: retro-matrix 3s linear infinite;
}

/* Pixelated rendering */
.pixelated {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

/* Enhanced scanlines effect */
@keyframes scanlines {
  0% { transform: translateY(0); }
  100% { transform: translateY(4px); }
}
