@use "color" as cl;
@use "font" as ft;
@use "space" as sp;
@use "border" as bo;
@use "size" as sz;

:root {
  // Text colors
  --qo-text-primary: #{cl.$text-primary};
  --qo-text-secondary: #{cl.$text-secondary};
  --qo-text-success: #{cl.$text-success};
  --qo-text-warning: #{cl.$text-warning};
  --qo-text-danger: #{cl.$text-danger};
  --qo-text-info: #{cl.$text-info};
  --qo-text-default: #{cl.$text-default};
  --qo-text-dark: #{cl.$text-dark};
  --qo-text-light: #{cl.$text-light};
  --qo-text-tertiary: #{cl.$text-tertiary};
  --qo-text-placeholder: #{cl.$text-placeholder};

  // Background colors
  --qo-bg-primary: #{cl.$background-primary};
  --qo-bg-secondary: #{cl.$background-secondary};
  --qo-bg-success: #{cl.$background-success};
  --qo-bg-warning: #{cl.$background-warning};
  --qo-bg-danger: #{cl.$background-danger};
  --qo-bg-info: #{cl.$background-info};
  --qo-bg-default: #{cl.$background-default};
  --qo-bg-dark: #{cl.$background-dark};
  --qo-bg-dark-a: #{cl.$background-dark-a};
  --qo-bg-medium: #{cl.$background-medium};
  --qo-bg-light: #{cl.$background-light};
  --qo-bg-tertiary: #{cl.$background-tertiary};
  --qo-bg-disabled: #{cl.$background-disabled};

  // Border colors
  --qo-border-primary: #{cl.$border-primary};
  --qo-border-secondary: #{cl.$border-secondary};
  --qo-border-success: #{cl.$border-success};
  --qo-border-warning: #{cl.$border-warning};
  --qo-border-danger: #{cl.$border-danger};
  --qo-border-info: #{cl.$border-info};
  --qo-border-light: #{cl.$border-light};
  --qo-border-dark: #{cl.$border-dark};
  --qo-border-default: #{cl.$border-default};

  // Font families
  --qo-font-family-primary: #{ft.$font-family-primary};
  --qo-font-family-secondary: #{ft.$font-family-secondary};

  // Font sizes
  --qo-font-size-xxs: #{ft.$font-size-xxs};
  --qo-font-size-xs: #{ft.$font-size-xs};
  --qo-font-size-sm: #{ft.$font-size-sm};
  --qo-font-size-md: #{ft.$font-size-md};
  --qo-font-size-lg: #{ft.$font-size-lg};
  --qo-font-size-xl: #{ft.$font-size-xl};
  --qo-font-size-xxl: #{ft.$font-size-xxl};
  --qo-font-size-h1: #{ft.$font-size-h1};
  --qo-font-size-h2: #{ft.$font-size-h2};
  --qo-font-size-h3: #{ft.$font-size-h3};
  --qo-font-size-h4: #{ft.$font-size-h4};
  --qo-font-size-h5: #{ft.$font-size-h5};
  --qo-font-size-h6: #{ft.$font-size-h6};

  // Font weights
  --qo-font-weight-light: #{ft.$font-weight-light};
  --qo-font-weight-regular: #{ft.$font-weight-regular};
  --qo-font-weight-medium: #{ft.$font-weight-medium};
  --qo-font-weight-semibold: #{ft.$font-weight-semibold};
  --qo-font-weight-bold: #{ft.$font-weight-bold};
  --qo-font-weight-extrabold: #{ft.$font-weight-extrabold};

  // Spacing
  --qo-space-0: #{sp.$space-0};
  --qo-space-1: #{sp.$space-1};
  --qo-space-2: #{sp.$space-2};
  --qo-space-3: #{sp.$space-3};
  --qo-space-4: #{sp.$space-4};
  --qo-space-5: #{sp.$space-5};
  --qo-space-sm: #{sp.$space-sm};
  --qo-space-md: #{sp.$space-md};
  --qo-space-lg: #{sp.$space-lg};
  --qo-space-xl: #{sp.$space-xl};

  // Border radius
  --qo-border-radius-0: #{bo.$border-radius-0};
  --qo-border-radius-sm: #{bo.$border-radius-sm};
  --qo-border-radius-md: #{bo.$border-radius-md};
  --qo-border-radius-lg: #{bo.$border-radius-lg};
  --qo-border-radius-xl: #{bo.$border-radius-xl};
  --qo-border-radius-pill: #{bo.$border-radius-pill};
  --qo-border-radius-full: #{bo.$border-radius-full};

  // Border widths
  --qo-border-width-none: #{bo.$border-width-none};
  --qo-border-width-sm: #{bo.$border-width-sm};
  --qo-border-width-md: #{bo.$border-width-md};
  --qo-border-width-lg: #{bo.$border-width-lg};

  // Sizes
  --qo-size-xs: #{sz.$size-xs};
  --qo-size-sm: #{sz.$size-sm};
  --qo-size-md: #{sz.$size-md};
  --qo-size-lg: #{sz.$size-lg};
  --qo-size-xl: #{sz.$size-xl};
  --qo-size-xxl: #{sz.$size-xxl};
}
