/* StopThePwnage — Shared Theme
   Base visual identity for all game pages.
   Link from every page: <link rel="stylesheet" href="/shared/theme.css">
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;600;800&display=swap');

:root {
  --bg: #0a0e1a;
  --panel: #111827;
  --border: #1e2d4a;
  --accent: #00e5ff;
  --danger: #ff3b5c;
  --warn: #ffb800;
  --good: #00e676;
  --text: #e2e8f0;
  --muted: #64748b;
  --glow: 0 0 20px rgba(0,229,255,0.3);
}

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

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Syne', sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Scanline overlay */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.08) 2px,
    rgba(0,0,0,0.08) 4px
  );
  pointer-events: none;
  z-index: 999;
}

/* Animated background grid */
.bg-grid {
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,229,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,0.04) 1px, transparent 1px);
  background-size: 40px 40px;
  z-index: 0;
  animation: gridDrift 20s linear infinite;
}

@keyframes gridDrift {
  0% { transform: translateY(0); }
  100% { transform: translateY(40px); }
}
