:root {
    /* Primitive colours are defined here; components use semantic aliases. */
    --palette-navy-950: #10283d;
    --palette-navy-900: #17324d;
    --palette-navy-800: #214461;
    --palette-slate-700: #425563;
    --palette-slate-600: #526472;
    --palette-slate-300: #cfd8df;
    --palette-slate-200: #dfe6eb;
    --palette-slate-100: #edf1f4;
    --palette-slate-050: #f4f6f8;
    --palette-white: #ffffff;
    --palette-ink-950: #171817;
    --palette-stone-050: #f8f7f4;
    --palette-stone-100: #f1f0ec;
    --palette-stone-200: #e7e5df;
    --palette-stone-500: #77766f;
    --palette-green-700: #23734d;
    --palette-green-100: #e8f3ed;
    --palette-amber-700: #936319;
    --palette-amber-100: #faf1dc;
    --palette-red-700: #aa2e2e;
    --palette-red-100: #f8e8e8;
    --palette-blue-700: #245f9e;
    --palette-blue-100: #e8f0f8;
    --palette-focus: #2f6fed;
    --palette-brand-overlay: rgba(255, 255, 255, 0.12);
    --palette-shadow-low: rgba(16, 40, 61, 0.08);
    --palette-shadow-raised: rgba(16, 40, 61, 0.14);
    --palette-approved-ink: #111211;
    --palette-approved-black: #050505;
    --palette-approved-active: #090a09;
    --palette-approved-button: #080908;
    --palette-approved-canvas: #fbfaf8;
    --palette-approved-page: #f3f1ee;
    --palette-approved-surface: #faf9f7;
    --palette-approved-muted: #f6f4f1;
    --palette-approved-soft: #f5f3f0;
    --palette-approved-border: #e9e6e1;
    --palette-approved-avatar: #eeeae5;
    --palette-approved-search: #f8f7f5;
    --palette-approved-gradient: #f7f3ef;
    --palette-approved-copy: #42433f;
    --palette-approved-navigation: #343532;
    --palette-approved-icon: #242522;
    --palette-approved-control: #555555;
    --palette-approved-secondary: #4f514f;
    --palette-approved-text-muted: #6c6a66;
    --palette-approved-green: #378a42;
    --palette-approved-green-soft: #edf6ec;
    --palette-approved-blue: #3568d4;
    --palette-approved-focus: #315cc8;
    --palette-approved-header: rgba(251, 250, 248, 0.94);
    --palette-approved-shadow-low: rgba(20, 18, 15, 0.055);
    --palette-approved-shadow-raised: rgba(20, 18, 15, 0.1);

    --color-primary: var(--palette-navy-900);
    --color-primary-strong: var(--palette-navy-950);
    --color-secondary: var(--palette-navy-800);
    --color-on-primary: var(--palette-white);
    --color-background: var(--palette-stone-050);
    --color-surface: var(--palette-white);
    --color-surface-muted: var(--palette-stone-100);
    --color-border: var(--palette-stone-200);
    --color-border-subtle: var(--palette-stone-100);
    --color-text-primary: var(--palette-ink-950);
    --color-text-secondary: var(--palette-stone-500);
    --color-text-tertiary: var(--palette-slate-700);
    --color-disabled-background: var(--palette-slate-100);
    --color-disabled-text: var(--palette-slate-600);
    --color-focus: var(--palette-focus);
    --color-information: var(--palette-blue-700);
    --color-information-soft: var(--palette-blue-100);
    --color-success: var(--palette-green-700);
    --color-success-soft: var(--palette-green-100);
    --color-warning: var(--palette-amber-700);
    --color-warning-soft: var(--palette-amber-100);
    --color-danger: var(--palette-red-700);
    --color-danger-soft: var(--palette-red-100);
    --color-brand-overlay: var(--palette-brand-overlay);

    --font-family-interface: ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-family-display: "Iowan Old Style", "Palatino Linotype", Palatino,
        Georgia, serif;
    --font-size-display: clamp(2.25rem, 5vw, 3.75rem);
    --font-size-page-title: clamp(2rem, 5vw, 3.5rem);
    --font-size-section-title: clamp(1.25rem, 2vw, 1.6rem);
    --font-size-card-title: 1.125rem;
    --font-size-body: 1rem;
    --font-size-body-secondary: 0.9375rem;
    --font-size-caption: 0.75rem;
    --font-size-label: 0.8125rem;
    --font-size-metric: clamp(1.5rem, 3vw, 2.25rem);
    --line-height-tight: 1.08;
    --line-height-heading: 1.25;
    --line-height-body: 1.5;
    --letter-spacing-display: -0.035em;
    --letter-spacing-label: 0.1em;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.5rem;
    --space-6: 2rem;
    --space-7: 3rem;
    --space-8: 4rem;

    --radius-small: 0.375rem;
    --radius-medium: 0.625rem;
    --radius-large: 0.875rem;
    --radius-xlarge: 1.25rem;
    --radius-pill: 999px;
    --shadow-low: 0 0.125rem 0.5rem var(--palette-shadow-low);
    --shadow-raised: 0 0.5rem 1.5rem var(--palette-shadow-raised);

    --motion-fast: 120ms;
    --motion-standard: 180ms;
    --motion-deliberate: 260ms;
    --ease-standard: cubic-bezier(0.2, 0, 0, 1);

    --content-width: 76rem;
    --discover-width: 68rem;
    --sidebar-width: 15rem;
    --touch-target: 2.75rem;
    --focus-ring-width: 0.1875rem;
    --focus-ring-offset: 0.1875rem;
    --navigation-height: 4rem;
    --icon-small: 1rem;
    --icon-medium: 1.25rem;
    --icon-large: 1.5rem;
}

/*
 * Founder-approved Atlas UI v1 foundation.
 *
 * These names mirror the frozen UI Laboratory. The compatibility aliases keep
 * the existing production page modules on the same values while migration is
 * staged through small, reviewable phases.
 */
:root {
    --atlas-palette-ink-1000: #090a09;
    --atlas-palette-ink-900: #161715;
    --atlas-palette-ink-800: #252623;
    --atlas-palette-ink-700: #3f403c;
    --atlas-palette-ink-600: #5c5d58;
    --atlas-palette-ink-500: #74756f;
    --atlas-palette-stone-500: #9a9992;
    --atlas-palette-stone-400: #b9b7b0;
    --atlas-palette-stone-300: #d8d5cf;
    --atlas-palette-stone-250: #e3e0da;
    --atlas-palette-stone-200: #ebe8e3;
    --atlas-palette-stone-150: #f0ede8;
    --atlas-palette-stone-100: #f5f3ef;
    --atlas-palette-stone-075: #f8f6f3;
    --atlas-palette-stone-050: #fbfaf8;
    --atlas-palette-white: #ffffff;
    --atlas-palette-green-800: #246d31;
    --atlas-palette-green-700: #317f3c;
    --atlas-palette-green-100: #eaf4e9;
    --atlas-palette-amber-800: #845a16;
    --atlas-palette-amber-100: #faf1dd;
    --atlas-palette-red-800: #a32d32;
    --atlas-palette-red-100: #f8e8e9;
    --atlas-palette-blue-800: #285ea8;
    --atlas-palette-blue-100: #eaf0f8;
    --atlas-palette-focus: #2f63c7;
    --atlas-palette-focus-soft: rgba(47, 99, 199, 0.18);
    --atlas-palette-shadow-soft: rgba(20, 18, 15, 0.055);
    --atlas-palette-shadow-raised: rgba(20, 18, 15, 0.09);
    --atlas-palette-overlay: rgba(9, 10, 9, 0.48);

    --atlas-color-canvas: var(--atlas-palette-stone-100);
    --atlas-color-frame: var(--atlas-palette-stone-050);
    --atlas-color-surface: var(--atlas-palette-white);
    --atlas-color-surface-subtle: var(--atlas-palette-stone-075);
    --atlas-color-surface-muted: var(--atlas-palette-stone-100);
    --atlas-color-surface-selected: var(--atlas-palette-stone-150);
    --atlas-color-border: var(--atlas-palette-stone-200);
    --atlas-color-border-strong: var(--atlas-palette-stone-300);
    --atlas-color-divider: var(--atlas-palette-stone-200);
    --atlas-color-text: var(--atlas-palette-ink-900);
    --atlas-color-text-strong: var(--atlas-palette-ink-1000);
    --atlas-color-text-secondary: var(--atlas-palette-ink-600);
    --atlas-color-text-muted: var(--atlas-palette-ink-500);
    --atlas-color-icon: var(--atlas-palette-ink-800);
    --atlas-color-action: var(--atlas-palette-ink-1000);
    --atlas-color-action-hover: var(--atlas-palette-ink-800);
    --atlas-color-on-action: var(--atlas-palette-white);
    --atlas-color-disabled-surface: var(--atlas-palette-stone-150);
    --atlas-color-disabled-text: var(--atlas-palette-stone-500);
    --atlas-color-focus: var(--atlas-palette-focus);
    --atlas-color-focus-soft: var(--atlas-palette-focus-soft);
    --atlas-color-positive: var(--atlas-palette-green-700);
    --atlas-color-positive-strong: var(--atlas-palette-green-800);
    --atlas-color-positive-soft: var(--atlas-palette-green-100);
    --atlas-color-warning: var(--atlas-palette-amber-800);
    --atlas-color-warning-soft: var(--atlas-palette-amber-100);
    --atlas-color-danger: var(--atlas-palette-red-800);
    --atlas-color-danger-soft: var(--atlas-palette-red-100);
    --atlas-color-information: var(--atlas-palette-blue-800);
    --atlas-color-information-soft: var(--atlas-palette-blue-100);

    --atlas-font-interface: Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    --atlas-font-display: "Iowan Old Style", "Palatino Linotype", Palatino,
        Baskerville, Georgia, serif;
    --atlas-font-size-11: 0.6875rem;
    --atlas-font-size-12: 0.75rem;
    --atlas-font-size-13: 0.8125rem;
    --atlas-font-size-14: 0.875rem;
    --atlas-font-size-15: 0.9375rem;
    --atlas-font-size-16: 1rem;
    --atlas-font-size-18: 1.125rem;
    --atlas-font-size-20: 1.25rem;
    --atlas-font-size-24: 1.5rem;
    --atlas-font-size-30: 1.875rem;
    --atlas-font-size-page-title: clamp(2rem, 2.6vw, 2.75rem);
    --atlas-font-weight-regular: 400;
    --atlas-font-weight-medium: 500;
    --atlas-font-weight-semibold: 600;
    --atlas-font-weight-bold: 700;
    --atlas-line-height-tight: 1.08;
    --atlas-line-height-heading: 1.2;
    --atlas-line-height-body: 1.5;
    --atlas-letter-spacing-display: -0.035em;
    --atlas-letter-spacing-heading: -0.018em;
    --atlas-letter-spacing-wordmark: 0.22em;

    --atlas-space-1: 0.25rem;
    --atlas-space-2: 0.5rem;
    --atlas-space-3: 0.75rem;
    --atlas-space-4: 1rem;
    --atlas-space-5: 1.25rem;
    --atlas-space-6: 1.5rem;
    --atlas-space-7: 1.75rem;
    --atlas-space-8: 2rem;
    --atlas-space-10: 2.5rem;
    --atlas-space-12: 3rem;
    --atlas-space-16: 4rem;

    --atlas-border-width: 1px;
    --atlas-radius-xs: 0.375rem;
    --atlas-radius-sm: 0.5rem;
    --atlas-radius-md: 0.75rem;
    --atlas-radius-lg: 1rem;
    --atlas-radius-xl: 1.25rem;
    --atlas-radius-pill: 999px;
    --atlas-shadow-frame: 0 0.625rem 2.5rem var(--atlas-palette-shadow-soft);
    --atlas-shadow-card: 0 0.125rem 0.75rem var(--atlas-palette-shadow-soft);
    --atlas-shadow-card-raised: 0 0.5rem 1.5rem var(--atlas-palette-shadow-raised);
    --atlas-duration-fast: 140ms;
    --atlas-duration-standard: 200ms;
    --atlas-duration-slow: 300ms;
    --atlas-ease-standard: cubic-bezier(0.2, 0, 0, 1);

    --atlas-content-max: 76rem;
    --atlas-content-readable: 44rem;
    --atlas-sidebar-width: 15rem;
    --atlas-header-height: 4.5rem;
    --atlas-frame-max: 94rem;
    --atlas-frame-margin: 1rem;
    --atlas-page-gutter: clamp(1.25rem, 3vw, 3rem);
    --atlas-section-gap: clamp(1.5rem, 3vw, 2.5rem);
    --atlas-touch-target: 2.75rem;
    --atlas-focus-ring-width: 0.1875rem;
    --atlas-focus-ring-offset: 0.1875rem;

    --color-background: var(--atlas-color-canvas);
    --color-surface: var(--atlas-color-surface);
    --color-surface-muted: var(--atlas-color-surface-muted);
    --color-border: var(--atlas-color-border);
    --color-border-subtle: var(--atlas-color-divider);
    --color-text-primary: var(--atlas-color-text);
    --color-text-secondary: var(--atlas-color-text-secondary);
    --color-text-tertiary: var(--atlas-color-text-muted);
    --color-primary: var(--atlas-color-action);
    --color-primary-strong: var(--atlas-color-text-strong);
    --color-on-primary: var(--atlas-color-on-action);
    --color-focus: var(--atlas-color-focus);
    --color-success: var(--atlas-color-positive);
    --color-success-soft: var(--atlas-color-positive-soft);
    --color-warning: var(--atlas-color-warning);
    --color-warning-soft: var(--atlas-color-warning-soft);
    --color-danger: var(--atlas-color-danger);
    --color-danger-soft: var(--atlas-color-danger-soft);
    --color-information: var(--atlas-color-information);
    --color-information-soft: var(--atlas-color-information-soft);
    --font-family-interface: var(--atlas-font-interface);
    --font-family-display: var(--atlas-font-display);
    --font-size-body: var(--atlas-font-size-16);
    --font-size-body-secondary: var(--atlas-font-size-15);
    --font-size-caption: var(--atlas-font-size-12);
    --font-size-label: var(--atlas-font-size-13);
    --font-size-card-title: var(--atlas-font-size-18);
    --font-size-section-title: var(--atlas-font-size-24);
    --font-size-page-title: var(--atlas-font-size-page-title);
    --font-size-metric: var(--atlas-font-size-30);
    --line-height-tight: var(--atlas-line-height-tight);
    --line-height-heading: var(--atlas-line-height-heading);
    --line-height-body: var(--atlas-line-height-body);
    --letter-spacing-display: var(--atlas-letter-spacing-display);
    --space-1: var(--atlas-space-1);
    --space-2: var(--atlas-space-2);
    --space-3: var(--atlas-space-3);
    --space-4: var(--atlas-space-4);
    --space-5: var(--atlas-space-6);
    --space-6: var(--atlas-space-8);
    --space-7: var(--atlas-space-12);
    --space-8: var(--atlas-space-16);
    --radius-small: var(--atlas-radius-xs);
    --radius-medium: var(--atlas-radius-sm);
    --radius-large: var(--atlas-radius-md);
    --radius-xlarge: var(--atlas-radius-lg);
    --radius-pill: var(--atlas-radius-pill);
    --shadow-low: var(--atlas-shadow-card);
    --shadow-raised: var(--atlas-shadow-card-raised);
    --motion-fast: var(--atlas-duration-fast);
    --motion-standard: var(--atlas-duration-standard);
    --motion-deliberate: var(--atlas-duration-slow);
    --ease-standard: var(--atlas-ease-standard);
    --content-width: var(--atlas-content-max);
    --sidebar-width: var(--atlas-sidebar-width);
    --touch-target: var(--atlas-touch-target);
    --focus-ring-width: var(--atlas-focus-ring-width);
    --focus-ring-offset: var(--atlas-focus-ring-offset);
    --navigation-height: var(--atlas-header-height);
}
