:root {
	--nm-white-rgb: 255 255 255;
	--nm-black-rgb: 0 0 0;
	--nm-pink-rgb: 232 62 140;

	--nm-nord0: #2e3440;
	--nm-nord6: #e5e9f0;
	--nm-nord13: #ebcb8b;

	--nm-ink900: #070d16;
	--nm-ink800: #132a56;
	--nm-ink700: #1f4db2;
	--nm-ink600: #546ef8;

	--nm-deep800: #0c162c;
	--nm-deep700: #101d3c;
	--nm-deep600: #142647;

	--nm-slate400: #8ca5bd;
	--nm-slate200: #b4c8da;

	--nm-paper: #fcfcfc;
	--nm-paper900: #3c3d3d;
	--nm-paper600: #6b6c6e;

	--nm-teal: #2f6d70;

	--nm-red: #eb8989;

	--surface-base: var(--nm-nord0);
	--surface-ramp: linear-gradient(
		180deg,
		var(--nm-ink900) 0%,
		var(--nm-ink800) 35%,
		var(--nm-ink700) 65%,
		var(--nm-ink600) 100%
	);
	--surface-grid: radial-gradient(
		rgb(var(--nm-white-rgb) / 0.12) 1px,
		transparent 0
	);
	--surface-grid-size: 30px 30px;
	--surface-ramp-deep: linear-gradient(
		180deg,
		var(--nm-ink900) 0%,
		var(--nm-deep800) 35%,
		var(--nm-deep700) 65%,
		var(--nm-deep600) 100%
	);

	--surface-raised: rgb(var(--nm-white-rgb) / 0.08);
	--surface-panel: rgb(var(--nm-black-rgb) / 0.35);
	--surface-raised-border: rgb(var(--nm-white-rgb) / 0.18);
	--surface-raised-shadow: 0 20px 50px rgb(var(--nm-black-rgb) / 0.25);
	--glass-blur-s: 3px;
	--glass-blur-m: 14px;
	--glass-blur-l: 18px;

	--text-primary: var(--nm-nord6);
	--text-secondary: var(--nm-slate200);
	--text-muted: var(--nm-slate400);

	--accent: rgb(var(--nm-pink-rgb));
	--accent-soft: color-mix(in srgb, var(--accent) 50%, white);
	--accent-wash: rgb(var(--nm-pink-rgb) / 0.1);
	--accent-edge: rgb(var(--nm-pink-rgb) / 0.25);
	--accent-glow: rgb(var(--nm-pink-rgb) / 0.5);
	--focus-ring: rgb(var(--nm-pink-rgb) / 0.9);

	--term-cursor: rgb(var(--nm-white-rgb));
	--term-cursor-bloom: 0 0 70px rgb(var(--nm-white-rgb));

	--space-1: 0.4rem;
	--space-2: 0.8rem;
	--space-3: 1.2rem;
	--space-4: 1.6rem;
	--space-5: 2.4rem;
	--space-6: 3.2rem;
	--space-7: 4.8rem;
	--space-8: 6.4rem;
	--space-9: 9.6rem;

	--radius-xs: 0.3rem;
	--radius-s: 0.5rem;
	--radius-m: 1rem;
	--radius-l: 1.6rem;
	--radius-pill: 999px;
	--radius-circle: 50%;

	--width-content: 114rem;
	--chrome-height: 6rem;

	--font-ui: "JetBrains Mono", ui-monospace, monospace;
	--font-read: "Tinos", Georgia, serif;
	--font-display: "Martel Sans", system-ui, sans-serif;

	--step--1: clamp(1.2rem, 1.14rem + 0.19vw, 1.3rem);
	--step-0: clamp(1.4rem, 1.34rem + 0.19vw, 1.5rem);
	--step-1: clamp(1.6rem, 1.48rem + 0.38vw, 1.8rem);
	--step-2: clamp(1.9rem, 1.72rem + 0.56vw, 2.2rem);
	--step-3: clamp(2.3rem, 1.94rem + 1.13vw, 2.9rem);
	--step-4: clamp(2.8rem, 2.2rem + 1.88vw, 3.8rem);
	--step-5: clamp(3.4rem, 2.44rem + 3vw, 5rem);

	--dur-soft: 280ms;
	--dur-med: 300ms;
	--dur-slow: 600ms;
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-soft: cubic-bezier(0.32, 0.08, 0.24, 1);

	color-scheme: dark;
}

:root,
:root[data-reading="paper"] {
	--surface-reading: var(--nm-paper);
	--text-on-reading: var(--nm-paper900);
	--text-on-reading-muted: var(--nm-paper600);
	--rule-on-reading: rgb(60 61 61 / 0.12);
	--accent-on-reading: color-mix(in oklab, var(--accent) 82%, black);
	--selection-on-reading: rgb(var(--nm-pink-rgb) / 0.3);
}
