:root {
	color-scheme: dark;
	--ghost-pixel: #f7eae8;
	--phosphor-smoke: #efd5d1;
	--phantom-current: #e7c0ba;
	--corrupted-cache: #dfaba3;
	--copper-trace: #d7968c;
	--fatal-error: #cf8175;
	--rouge-signal: #c76c5e;
	--amber-alert: #bf5747;
	--amber-alert-text: #cb6353; /* WCAG AA compliant text variant on both base & elevated */
	--firewall-breach: #b74230;
	--digital-rust: #af2e1a;
	--kernel-panic: #9d2917;
	--data-rot: #8c2414;
	--bricked-board: #7a2012;
	--dark-packet: #691b0f;
	--daemon-blood: #57170d;
	--bad-sector: #46120a;
	--core-meltdown: #340d07;
	--null-pointer: #230905;
	--event-horizon: #110402;

	/* ── Accent colours ── */
	--memory-leek: #8fa667;
	--dim-memory-leek: #627247;
	--bright-memory-leek: #94a577;
	--stack-overglow: #d4a759;
	--dim-stack-overglow: #a07e43;
	--bright-stack-overglow: #d3ae6e;
	--blue-screen: #8791b0;
	--dim-blue-screen: #60677c;
	--bright-blue-screen: #999eaf;
	--fractured-shell: #ba5a7d;
	--dim-fractured-shell: #87405a;
	--bright-fractured-shell: #ba6b88;
	--dead-thread: #6fa5a0;
	--dim-dead-thread: #4c726e;
	--bright-dead-thread: #7fa5a1;
	--thermal-throttle: #d78556;
	--dim-thermal-throttle: #ac6d4a;
	--bright-thermal-throttle: #d6926b;

	/* ── Semantic surface tokens ── */
	--dr-surface-base: var(--event-horizon);
	--dr-surface-secondary: var(--null-pointer);
	--dr-surface-elevated: var(--core-meltdown);
	--dr-surface-highlight: var(--bad-sector);
	--dr-surface-active: #5a1810;

	/* ── Semantic text tokens ── */
	--dr-text-primary: var(--ghost-pixel);
	--dr-text-secondary: var(--phosphor-smoke);
	--dr-text-link: var(--phantom-current);
	--dr-text-link-hover: var(--fatal-error);
	--dr-text-link-visited: var(--corrupted-cache);
	--dr-text-on-accent: var(--ghost-pixel);

	/* ── Border tokens ── */
	--dr-border: 2px solid var(--dark-packet);
	--dr-border-thick: 4px solid var(--dark-packet);
	--dr-border-subtle: 1px solid var(--bad-sector);
	--dr-border-focus: 2px solid var(--stack-overglow);

	/* ── Shadow tokens ── */
	--dr-shadow-offset-sm: 2px 2px 0 0 var(--dr-surface-highlight);
	--dr-shadow-offset-md: 3px 3px 0 0 var(--dr-surface-highlight);
	--dr-shadow-offset-lg: 4px 4px 0 0 var(--dr-surface-highlight);
	--dr-shadow-hover-md: 4px 4px 0 0 var(--dr-surface-highlight);
	--dr-shadow-active: 0 0 0 0 var(--dr-surface-highlight);
	--dr-shadow-glow-sm: 0 0 10px rgba(175, 46, 26, 0.4);
	--dr-shadow-glow-md: 0 0 20px rgba(175, 46, 26, 0.4);
	--dr-shadow-inner-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.1);
	--dr-shadow-accent: 5px 5px 0 0 var(--digital-rust);

	/* ── Radius tokens ── */
	--dr-radius-sm: 2px;
	--dr-radius: 4px;
	--dr-radius-lg: 6px;

	/* ── Spacing tokens ── */
	--dr-space-xs: 0.25rem;
	--dr-space-sm: 0.5rem;
	--dr-space-md: 1rem;
	--dr-space-lg: 1.5rem;
	--dr-space-xl: 2.5rem;
	--dr-space-2xl: 4rem;
	--dr-space-3xl: 6rem;

	/* ── Type scale tokens ── */
	--dr-text-xs: 0.75rem;
	--dr-text-sm: 0.875rem;
	--dr-text-base: 1rem;
	--dr-text-lg: 1.25rem;
	--dr-text-xl: 1.75rem;
	--dr-text-2xl: 2.5rem;
	--dr-text-3xl: 4rem;

	/* ── Motion tokens ── */
	--dr-duration-fast: 150ms;
	--dr-duration-normal: 250ms;
	--dr-duration-slow: 400ms;
	--dr-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
	--dr-ease-out-expo: cubic-bezier(0.22, 1, 0.36, 1);
	--dr-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
	--dr-transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);

	/* ── Z-index tokens ── */
	--dr-z-content: 10;
	--dr-z-noise: 1000;

	/* ── Scanline colour ── */
	--dr-scanline: rgba(175, 46, 26, 0.03);

	/* ── Font stacks ── */
	--dr-font-heading: "Cairo Play", system-ui, sans-serif;
	--dr-font-body: "iA Writer Quattro", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--dr-font-mono: "MonoLisa", "MonoLisa Variable", ui-monospace, "Fira Code",
		"Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono",
		monospace;
}
