/* ===== Design Token Primitives =====
 * Raw scale values. Components reference these directly via var(--token-name).
 */
:root {
    /* --- Font Sizes --- */
    --font-size-xs:   0.6875rem;  /* 11px */
    --font-size-sm:   0.75rem;    /* 12px */
    --font-size-base: 0.875rem;   /* 14px */
    --font-size-md:   1rem;       /* 16px */
    --font-size-lg:   1.125rem;   /* 18px */
    --font-size-xl:   1.25rem;    /* 20px */
    --font-size-2xl:  1.5rem;     /* 24px */
    --font-size-3xl:  2rem;       /* 32px */
    --font-size-4xl:  2.5rem;     /* 40px */

    /* --- Font Weights --- */
    --font-weight-normal:   400;
    --font-weight-medium:   500;
    --font-weight-semibold: 600;
    --font-weight-bold:     700;

    /* --- Line Heights --- */
    --line-height-tight:   1.2;
    --line-height-normal:  1.4;
    --line-height-relaxed: 1.5;
    --line-height-loose:   1.6;

    /* --- Letter Spacing --- */
    --letter-spacing-tight:  -0.02em;
    --letter-spacing-normal: 0;
    --letter-spacing-open:   0.05em;
    --letter-spacing-wide:   0.1em;

    /* --- Spacing (base-4 with half-steps for dense UI) --- */
    --space-1:   0.25rem;    /*  4px */
    --space-1-5: 0.375rem;   /*  6px */
    --space-2:   0.5rem;     /*  8px */
    --space-2-5: 0.625rem;   /* 10px */
    --space-3:   0.75rem;    /* 12px */
    --space-3-5: 0.875rem;   /* 14px */
    --space-4:   1rem;       /* 16px */
    --space-5:   1.25rem;    /* 20px */
    --space-6:   1.5rem;     /* 24px */
    --space-8:   2rem;       /* 32px */
    --space-12:  3rem;       /* 48px */
    --space-16:  4rem;       /* 64px */

    /* --- Border Radius --- */
    --radius-xs:   4px;
    --radius-sm:   6px;
    --radius-md:   10px;
    --radius-lg:   16px;
    --radius-full: 9999px;
}
