/* GEO Toolkit design tokens. Light by default, dark follows the OS. */
:root {
	color-scheme: light dark;

	--geo-accent: #4f46e5;
	--geo-accent-strong: #4338ca;
	--geo-accent-text: #4338ca;      /* 7.1:1 on --geo-bg */
	--geo-on-accent: #ffffff;        /* 6.3:1 on --geo-accent */
	--geo-accent-soft: rgb(79 70 229 / 0.1);

	--geo-bg: #f7f8fa;
	--geo-surface: #ffffff;
	--geo-surface-glass: rgb(255 255 255 / 0.72);
	--geo-text: #0b0e14;
	--geo-muted: #4a5263;            /* 7.4:1 on --geo-bg */
	--geo-border: #dfe3ea;
	--geo-good: #047857;
	--geo-warn: #b45309;
	--geo-bad: #b91c1c;

	/* 8px scale */
	--geo-1: 0.5rem;
	--geo-2: 1rem;
	--geo-3: 1.5rem;
	--geo-4: 2rem;
	--geo-5: 2.5rem;
	--geo-6: 3rem;
	--geo-8: 4rem;
	--geo-12: 6rem;

	--geo-radius: 1rem;
	--geo-radius-sm: 0.625rem;
	--geo-touch: 44px;
	--geo-shadow: 0 1px 2px rgb(11 14 20 / 0.04), 0 8px 24px rgb(11 14 20 / 0.06);
	--geo-ring: 0 0 0 3px var(--geo-bg), 0 0 0 5px var(--geo-accent);

	--geo-font: "Inter var", "InterVariable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--geo-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;
	--geo-step--1: clamp(0.875rem, 0.85rem + 0.1vw, 0.9375rem);
	--geo-step-0: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
	--geo-step-1: clamp(1.2rem, 1.1rem + 0.4vw, 1.375rem);
	--geo-step-2: clamp(1.5rem, 1.3rem + 0.9vw, 2rem);
	--geo-step-3: clamp(2rem, 1.6rem + 1.8vw, 3rem);
	--geo-step-4: clamp(2.5rem, 1.8rem + 3.2vw, 4.5rem);

	--geo-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--geo-fast: 160ms;
	--geo-slow: 600ms;
}

@media (prefers-color-scheme: dark) {
	:root {
		--geo-accent-text: #a5a1ff;  /* 8.4:1 on --geo-bg */
		--geo-accent-soft: rgb(129 122 255 / 0.14);
		--geo-bg: #0b0e14;
		--geo-surface: #121722;
		--geo-surface-glass: rgb(18 23 34 / 0.7);
		--geo-text: #eef0f4;
		--geo-muted: #a7afbf;        /* 8.6:1 on --geo-bg */
		--geo-border: #252c3a;
		--geo-good: #34d399;
		--geo-warn: #fbbf24;
		--geo-bad: #f87171;
		--geo-shadow: 0 1px 2px rgb(0 0 0 / 0.4), 0 12px 32px rgb(0 0 0 / 0.35);
	}
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--geo-fast: 0ms;
		--geo-slow: 0ms;
	}
}
