:root {
    /* KRDS core primitives used by local theme components */
    --krds-number-3: 0.4rem;
    --krds-number-4: 0.6rem;
    --krds-number-5: 0.8rem;
    --krds-number-6: 1rem;
    --krds-number-7: 1.2rem;
    --krds-number-8: 1.6rem;
    --krds-number-9: 2rem;
    --krds-number-10: 2.4rem;
    --krds-number-12: 3.2rem;
    --krds-number-14: 4rem;
    --krds-number-16: 4.8rem;
    --krds-number-17: 5.6rem;

    --krds-size-height-3: var(--krds-number-9);
    --krds-size-height-4: var(--krds-number-10);
    --krds-size-height-5: var(--krds-number-12);
    --krds-size-height-6: var(--krds-number-14);
    --krds-size-height-7: var(--krds-number-16);
    --krds-size-height-8: var(--krds-number-17);

    --krds-padding-3: var(--krds-number-5);
    --krds-padding-4: var(--krds-number-6);
    --krds-padding-5: var(--krds-number-7);
    --krds-padding-6: var(--krds-number-8);
    --krds-padding-7: var(--krds-number-9);

    --krds-radius-small2: var(--krds-number-3);
    --krds-radius-small3: var(--krds-number-3);
    --krds-radius-medium1: var(--krds-number-4);
    --krds-radius-medium2: var(--krds-number-4);

    --krds-font-weight-regular: 400;

    --krds-color-light-primary-5: #ecf2fe;
    --krds-color-light-primary-10: #d8e5fd;
    --krds-color-light-primary-20: #b1cefb;
    --krds-color-light-primary-50: #256ef4;
    --krds-color-light-primary-60: #0b50d0;
    --krds-color-light-primary-70: #083891;

    --krds-color-light-secondary-5: #eef2f7;
    --krds-color-light-secondary-10: #d6e0eb;
    --krds-color-light-secondary-70: #063a74;

    --krds-color-light-gray-0: #ffffff;
    --krds-color-light-gray-5: #f4f5f6;
    --krds-color-light-gray-10: #e6e8ea;
    --krds-color-light-gray-20: #cdd1d5;
    --krds-color-light-gray-40: #8a949e;
    --krds-color-light-gray-60: #58616a;
    --krds-color-light-gray-70: #464c53;
    --krds-color-light-gray-90: #1e2124;

    /* Brand and neutral palette */
    --ob-blue-900: #002e63;
    --ob-blue-800: #003f84;
    --ob-blue-700: #0b57a1;
    --ob-blue-100: #dcecff;
    --ob-blue-50: #eff6ff;
    --ob-gray-900: #111827;
    --ob-gray-700: #374151;
    --ob-gray-600: #4b5563;
    --ob-gray-300: #cfd8e3;
    --ob-gray-200: #d9e1ea;
    --ob-gray-100: #e8edf3;
    --ob-gray-50: #f4f7fb;
    --ob-white: #ffffff;
    --ob-black: #000000;

    /* Semantic color tokens */
    --color-bg-canvas: #ffffff;
    --color-bg-surface: var(--ob-white);
    --color-bg-subtle: #f8fafc;
    --color-bg-emphasis: var(--krds-color-light-primary-50);
    --color-text-primary: var(--ob-gray-900);
    --color-text-secondary: var(--ob-gray-700);
    --color-text-muted: var(--ob-gray-600);
    --color-text-on-emphasis: var(--ob-white);
    --color-border-default: var(--krds-color-light-gray-20);
    --color-border-strong: var(--krds-color-light-primary-20);
    --color-link: var(--krds-color-light-primary-60);
    --color-link-hover: var(--krds-color-light-primary-70);
    --color-focus-ring: var(--krds-color-light-primary-50);
    --color-focus-bg: #e8f1ff;
    --color-danger: #b42318;
    --color-success: #0f7a34;

    /* Typography tokens */
    --font-family-base: "Pretendard GOV", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
    --font-family-heading: "Pretendard GOV", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --font-size-2xs: 0.75rem;
    --font-size-xs: 0.875rem;
    --font-size-sm: 0.9375rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: clamp(1.5rem, 1.1rem + 1.8vw, 2rem);
    --font-size-3xl: clamp(1.875rem, 1.2rem + 3vw, 2.75rem);
    --line-height-tight: 1.35;
    --line-height-normal: 1.6;
    --line-height-loose: 1.75;

    /* Spacing scale */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-7: 2rem;
    --space-8: 2.5rem;
    --space-9: 3rem;
    --space-10: 4rem;

    /* Radius and elevation */
    --radius-xs: 0.25rem;
    --radius-sm: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-full: 9999px;
    --elevation-1: 0 1px 2px rgba(17, 24, 39, 0.07), 0 3px 8px rgba(17, 24, 39, 0.06);
    --elevation-2: 0 4px 12px rgba(17, 24, 39, 0.1);
    --elevation-3: 0 10px 24px rgba(17, 24, 39, 0.14);

    /* Layout and motion */
    --container-max: 75rem;
    --content-max: 48rem;
    --bp-sm: 36rem;
    --bp-md: 48rem;
    --bp-lg: 64rem;
    --bp-xl: 80rem;
    --transition-fast: 150ms ease;
    --transition-normal: 220ms ease;
}
