File size: 2,388 Bytes
b29710c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* Military/Tech Tactical Theme Tokens */
@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;700&family=Roboto+Mono:wght@400;700&family=Inter:wght@400;600&display=swap');

:root {
  /* Palette */
  --bg-0: #0c0f10;           /* canvas background */
  --bg-1: #111517;           /* base panel */
  --bg-2: #151b1e;           /* elevated panel */
  --bg-3: #0b1114;           /* deep panel */
  --panel-border: #243039;
  --panel-glow: #0aa39b33;

  /* Accents */
  --accent: #0aa39b;         /* teal accent */
  --accent-600: #08877f;
  --accent-700: #066d67;
  --accent-300: #3bc6bf;
  --accent-200: #69ddd7;

  /* Status */
  --ok: #12b886;
  --warn: #f59e0b;
  --danger: #ef4444;

  /* Text */
  --text-1: #e6edf3;
  --text-2: #b6c2cc;
  --text-3: #8a99a7;

  /* Grid / Texture */
  --grid-line: #1a2228;
  --scanline: #0e1417;

  /* Shadows */
  --shadow-1: 0 6px 18px rgba(0,0,0,.35);
  --shadow-2: 0 10px 24px rgba(0,0,0,.4);
  --inset-1: inset 0 0 0 1px var(--panel-border);
  --glow-1: 0 0 0 2px var(--panel-glow);

  /* Radii */
  --r-1: 6px;
  --r-2: 8px;
  --r-3: 12px;

  /* Spacing scale */
  --s-1: 4px;
  --s-2: 6px;
  --s-3: 8px;
  --s-4: 10px;
  --s-5: 12px;
  --s-6: 16px;
  --s-7: 20px;

  /* Typography */
  --font-display: "Rajdhani", system-ui, sans-serif;
  --font-mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  --fs-10: 10px;
  --fs-12: 12px;
  --fs-14: 14px;
  --fs-16: 16px;

  /* Transitions */
  --t-fast: 120ms ease-out;
  --t-med: 180ms ease-out;
  --t-slow: 260ms cubic-bezier(.22,1,.36,1);
}

/* Global baseline */
html, body {
  height: 100%;
  background: var(--bg-0);
  color: var(--text-1);
  font-family: var(--font-body);
}

.game-grid-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(var(--scanline) 1px, transparent 1px) 0 0 / 100% 3px,
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 24px 100%,
    linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 100% 24px;
  opacity: .25;
  z-index: 0;
}

/* Utility */
.u-flex { display: flex; }
.u-center { display: flex; align-items: center; justify-content: center; }
.u-gap-2 { gap: var(--s-3); }
.u-gap-3 { gap: var(--s-4); }
.u-muted { color: var(--text-3); }

.hidden { display: none !important; }