/* ==========================================================================
   IntellActX — theme.css
   Design tokens ONLY. Loaded before every other stylesheet.

   Look & feel: "Quiet Futurism" — cool neutrals, a single accent,
   calm typography, short and engineered motion. No neon, no glow.
   ========================================================================== */

:root {
	/* ---- Palette: accent (IBM blue) ------------------------------------- */
	--accent-050: #f4f7ff;
	--accent-100: #e8efff;
	--accent-200: #cddcff;
	--accent-500: #3379ff;
	--accent-600: #0f62fe;
	--accent-700: #0043ce;

	/* ---- Palette: cool neutrals ---------------------------------------- */
	--ink-050: #f5f7fa;
	--ink-100: #eaeef5;
	--ink-200: #dde3ec;
	--ink-300: #c2cad8;
	--ink-400: #97a3b6;
	--ink-500: #6b7a91;
	--ink-600: #46566f;
	--ink-700: #2b3a52;
	--ink-800: #16233a;
	--ink-900: #0a1526;
	--navy-900: #071427;
	--white: #ffffff;

	/* ---- Semantic surfaces & text -------------------------------------- */
	--bg: var(--ink-050);
	--surface: var(--white);
	--surface-muted: var(--ink-100);
	--surface-sunken: var(--ink-050);
	--surface-inverse: var(--navy-900);
	--border: var(--ink-200);
	--border-strong: var(--ink-300);
	--text: var(--ink-900);
	--text-muted: var(--ink-600);
	--text-subtle: var(--ink-500);
	--text-inverse: #eef3fb;
	--text-inverse-muted: #a6b4ca;

	/* ---- Status --------------------------------------------------------- */
	--success: #0f7b53;
	--success-bg: #e6f5ee;
	--warning: #8a5a00;
	--warning-bg: #fdf4e3;
	--danger: #b3261e;
	--danger-bg: #fcedec;

	/* ---- Focus ring (never animated away) ------------------------------- */
	--focus-ring: 0 0 0 2px var(--white), 0 0 0 4px var(--accent-600);
	--focus-ring-inverse: 0 0 0 2px var(--navy-900), 0 0 0 4px #7aa7ff;

	/* ---- Typography families (Geist + General Sans, no Inter/Poppins) --- */
	--font-display: 'General Sans', 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--font-sans: 'Geist', 'General Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--font-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	/* ---- Fluid type scale ---------------------------------------------- */
	--fs-100: 0.75rem; /* 12 — mono labels */
	--fs-200: 0.8125rem; /* 13 */
	--fs-300: 0.875rem; /* 14 — small print */
	--fs-400: 1rem; /* 16 — body */
	--fs-450: 1.0625rem; /* 17 — lede */
	--fs-500: 1.125rem; /* 18 — card titles */
	--fs-600: 1.375rem; /* 22 — sub headings */
	--fs-700: clamp(1.5rem, 1.25rem + 1vw, 1.875rem); /* h3 */
	--fs-800: clamp(1.75rem, 1.35rem + 1.6vw, 2.375rem); /* h2 */
	--fs-900: clamp(2.125rem, 1.55rem + 2.6vw, 3.375rem); /* h1 */

	--lh-tight: 1.12;
	--lh-snug: 1.3;
	--lh-normal: 1.55;
	--lh-relaxed: 1.7;

	--tracking-mono: 0.1em;
	--tracking-tight: -0.015em;
	--measure: 68ch;
	--measure-narrow: 54ch;

	/* ---- Spacing scale (4px base) -------------------------------------- */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;
	--space-20: 5rem;
	--space-24: 6rem;

	/* ---- Radii ---------------------------------------------------------- */
	--radius-xs: 6px;
	--radius-sm: 10px;
	--radius-md: 14px;
	--radius-lg: 20px;
	--radius-xl: 28px;
	--radius-pill: 999px;

	/* ---- Soft, engineered shadows -------------------------------------- */
	--shadow-xs: 0 1px 2px rgba(10, 21, 38, 0.06);
	--shadow-sm: 0 1px 3px rgba(10, 21, 38, 0.06), 0 1px 2px rgba(10, 21, 38, 0.04);
	--shadow-md: 0 6px 16px -6px rgba(10, 21, 38, 0.14), 0 2px 6px -2px rgba(10, 21, 38, 0.06);
	--shadow-lg: 0 18px 40px -18px rgba(10, 21, 38, 0.22), 0 6px 14px -8px rgba(10, 21, 38, 0.08);
	--shadow-accent: 0 10px 24px -14px rgba(15, 98, 254, 0.5);

	/* ---- Motion --------------------------------------------------------- */
	--ease: cubic-bezier(0.22, 0.9, 0.3, 1);
	--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
	--dur-100: 100ms;
	--dur-150: 150ms;
	--dur-200: 200ms;
	--dur-300: 300ms;
	--dur-reveal: 400ms;
	--dur-ambient: 20s; /* slow gradient drift */
	--stagger-step: 50ms;

	/* ---- Layout --------------------------------------------------------- */
	--container: 1200px;
	--container-narrow: 760px;
	--gutter: clamp(1.25rem, 4vw, 2.5rem);
	--header-h: 4.5rem;
	--section-y: clamp(3.5rem, 7vw, 6rem);
	--tap-target: 44px;

	/* ---- Layers --------------------------------------------------------- */
	--z-header: 100;
	--z-backdrop: 80;
	--z-nav: 90;
	--z-skip: 200;
}
