/* Pulse — Ververica brand tokens.
   Brutalist, controlled, structural. No gradients, no glow, no warm hues.
   Accent palette is locked: neon green is primary, magenta + violet
   reserved for structural emphasis only. All foreground colors meet
   WCAG AAA contrast on the base palette (verified on #000).
*/

:root {
	color-scheme: dark;

	/* Base */
	--bg:        #000000;
	--bg-1:      #0a0a0c;
	--bg-2:      #15161a;
	--bg-3:      #1f2026;
	--border:    #2a2c33;
	--border-2:  #3b3e47;

	/* Foreground (AAA on #000) */
	--fg:        #f5f6f8;  /* 20.7:1 */
	--fg-dim:    #b3b7c1;  /* 10.4:1 */
	--fg-mute:   #8a93a6;  /*  7.5:1 — clears AAA normal */

	/* Accents — structural highlights only */
	--neon-green:   #a8ff00;  /* primary */
	--neon-magenta: #ff00f3;  /* secondary emphasis */
	--neon-violet:  #4c22ff;  /* fills only, not text */
	--accent:       var(--neon-green);

	/* Hard geometry */
	--radius-0: 0;
	--radius-1: 2px;

	/* Type */
	--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

	/* Scale */
	--track-tight:  -0.01em;
	--track-wide:    0.16em;
	--track-xwide:   0.22em;

	/* Spacing */
	--pad-1:  8px;
	--pad-2: 16px;
	--pad-3: 24px;
	--pad-4: 40px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; }
body {
	background: var(--bg);
	color: var(--fg);
	font-family: var(--font-sans);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Utility */
.caps {
	text-transform: uppercase;
	letter-spacing: var(--track-wide);
	font-weight: 700;
}
.caps-x {
	text-transform: uppercase;
	letter-spacing: var(--track-xwide);
	font-weight: 700;
}
.mono {
	font-family: var(--font-mono);
	font-variant-numeric: tabular-nums;
}
