:root {
    /* Edu Guardian — Approved Visual Foundation: Navy + Gold */
    --eg-color-primary: #0B3A82;
    --eg-color-secondary: #082B5C;
    --eg-color-accent: #C9A24D;

    /* Semantic enterprise roles. */
    --eg-color-success: #16794A;
    --eg-color-warning: #9A6700;
    --eg-color-danger: #B42318;
    --eg-color-information: #175CD3;

    /* Neutral system. */
    --eg-color-neutral-0: #FFFFFF;
    --eg-color-neutral-50: #FCFBF8;
    --eg-color-neutral-100: #F4F6F8;
    --eg-color-neutral-200: #EEF2F6;
    --eg-color-neutral-300: #D9E0EA;
    --eg-color-neutral-500: #536174;
    --eg-color-neutral-700: #344154;
    --eg-color-neutral-900: #172033;

    --eg-color-background: #FCFBF8;
    --eg-color-surface: #FFFFFF;
    --eg-color-surface-muted: #F4F6F8;
    --eg-color-text: #172033;
    --eg-color-text-muted: #536174;
    --eg-color-border: #D9E0EA;
    --eg-color-focus: #0B3A82;

    /* Typography — Playfair Display is editorial; Inter is the UI/body family. */
    --eg-font-family-base: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --eg-font-family-heading: "Playfair Display", Georgia, "Times New Roman", serif;
    --eg-font-family-hero: "Playfair Display", Georgia, "Times New Roman", serif;
    --eg-font-size-xs: 0.75rem;
    --eg-font-size-sm: 0.875rem;
    --eg-font-size-md: 1rem;
    --eg-font-size-lg: 1.125rem;
    --eg-font-size-xl: 1.25rem;
    --eg-font-size-2xl: 1.5rem;
    --eg-font-size-3xl: 1.875rem;
    --eg-font-size-4xl: 2.25rem;
    --eg-font-size-5xl: clamp(2.25rem, 5vw, 4rem);
    --eg-line-tight: 1.15;
    --eg-line-normal: 1.5;
    --eg-line-relaxed: 1.7;
    --eg-weight-regular: 400;
    --eg-weight-medium: 500;
    --eg-weight-semibold: 600;
    --eg-weight-bold: 700;

    /* Spacing rhythm. */
    --eg-space-1: 0.25rem;
    --eg-space-2: 0.5rem;
    --eg-space-3: 0.75rem;
    --eg-space-4: 1rem;
    --eg-space-5: 1.25rem;
    --eg-space-6: 1.5rem;
    --eg-space-8: 2rem;
    --eg-space-10: 2.5rem;
    --eg-space-12: 3rem;
    --eg-space-16: 4rem;
    --eg-space-20: 5rem;

    /* Layout / responsive grid tokens. */
    --eg-container-max: 1180px;
    --eg-container-gutter: 32px;
    --eg-grid-columns: 12;
    --eg-breakpoint-sm: 640px;
    --eg-breakpoint-md: 768px;
    --eg-breakpoint-lg: 1024px;
    --eg-breakpoint-xl: 1280px;

    /* Shape / elevation / visual state tokens. */
    --eg-radius-sm: 6px;
    --eg-radius-md: 10px;
    --eg-radius-lg: 16px;
    --eg-radius-xl: 24px;
    --eg-radius-pill: 999px;
    --eg-shadow-sm: 0 1px 2px rgba(23, 32, 51, 0.06);
    --eg-shadow-md: 0 8px 24px rgba(23, 32, 51, 0.10);
    --eg-shadow-lg: 0 18px 45px rgba(23, 32, 51, 0.14);
    --eg-opacity-disabled: 0.55;
    --eg-z-header: 100;
    --eg-z-overlay: 900;
    --eg-z-skip-link: 1000;

    /* Motion — subtle, purposeful interaction. */
    --eg-motion-fast: 150ms;
    --eg-motion-base: 200ms;
    --eg-motion-slow: 250ms;
    --eg-motion-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}
