:root,
[data-bs-theme="light"] {
   // Note: Custom variable values only support SassScript inside `#{}`.

   // Colors
   //
   // Generate palettes for full colors, grays, and theme colors.

   @each $color, $value in $colors {
      --#{$prefix}#{$color}: #{$value};
   }

   @each $color, $value in $grays {
      --#{$prefix}gray-#{$color}: #{$value};
   }

   @each $color, $value in $theme-colors {
      --#{$prefix}#{$color}: #{$value};
   }

   @each $color, $value in $theme-colors-rgb {
      --#{$prefix}#{$color}-rgb: #{$value};
   }

   @each $color, $value in $theme-colors-text {
      --#{$prefix}#{$color}-text-emphasis: #{$value};
   }

   @each $color, $value in $theme-colors-bg-subtle {
      --#{$prefix}#{$color}-bg-subtle: #{$value};
   }

   @each $color, $value in $theme-colors-border-subtle {
      --#{$prefix}#{$color}-border-subtle: #{$value};
   }

   --#{$prefix}white-rgb: #{to-rgb($white)};
   --#{$prefix}black-rgb: #{to-rgb($black)};

   // Fonts

   // Note: Use `inspect` for lists so that quoted items keep the quotes.
   // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
   --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
   --#{$prefix}font-monospace: #{inspect($font-family-monospace)};
   --#{$prefix}gradient: #{$gradient};

   // Root and body
   // scss-docs-start root-body-variables
   @if $font-size-root != null {
      --#{$prefix}root-font-size: #{$font-size-root};
   }
   --#{$prefix}body-font-family: #{inspect($font-family-base)};
   @include rfs($font-size-base, --#{$prefix}body-font-size);
   --#{$prefix}body-font-weight: #{$font-weight-base};
   --#{$prefix}body-line-height: #{$line-height-base};
   @if $body-text-align != null {
      --#{$prefix}body-text-align: #{$body-text-align};
   }

   --#{$prefix}body-color: #{$body-color};
   --#{$prefix}body-color-rgb: #{to-rgb($body-color)};
   --#{$prefix}body-bg: #{$body-bg};
   --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};

   --#{$prefix}emphasis-color: #{$body-emphasis-color};
   --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};

   --#{$prefix}secondary-color: #{$body-secondary-color};
   --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};
   --#{$prefix}secondary-bg: #{$body-secondary-bg};
   --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};

   --#{$prefix}tertiary-color: #{$body-tertiary-color};
   --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};
   --#{$prefix}tertiary-bg: #{$body-tertiary-bg};
   --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};
   // scss-docs-end root-body-variables

   --#{$prefix}heading-color: #{$headings-color};

   --#{$prefix}link-color: #{$link-color};
   --#{$prefix}link-color-rgb: #{to-rgb($link-color)};
   --#{$prefix}link-decoration: #{$link-decoration};

   --#{$prefix}link-hover-color: #{$link-hover-color};
   --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};

   @if $link-hover-decoration != null {
      --#{$prefix}link-hover-decoration: #{$link-hover-decoration};
   }

   --#{$prefix}code-color: #{$code-color};
   --#{$prefix}highlight-color: #{$mark-color};
   --#{$prefix}highlight-bg: #{$mark-bg};

   // scss-docs-start root-border-var
   --#{$prefix}border-width: #{$border-width};
   --#{$prefix}border-style: #{$border-style};
   --#{$prefix}border-color: #{$border-color};
   --#{$prefix}border-color-translucent: #{$border-color-translucent};

   --#{$prefix}border-radius: #{$border-radius};
   --#{$prefix}border-radius-sm: #{$border-radius-sm};
   --#{$prefix}border-radius-lg: #{$border-radius-lg};
   --#{$prefix}border-radius-xl: #{$border-radius-xl};
   --#{$prefix}border-radius-xxl: #{$border-radius-xxl};
   --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency
   --#{$prefix}border-radius-pill: #{$border-radius-pill};
   // scss-docs-end root-border-var

   --#{$prefix}box-shadow: #{$box-shadow};
   --#{$prefix}box-shadow-sm: #{$box-shadow-sm};
   --#{$prefix}box-shadow-lg: #{$box-shadow-lg};
   --#{$prefix}box-shadow-inset: #{$box-shadow-inset};

   // Focus styles
   // scss-docs-start root-focus-variables
   --#{$prefix}focus-ring-width: #{$focus-ring-width};
   --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};
   --#{$prefix}focus-ring-color: #{$focus-ring-color};
   // scss-docs-end root-focus-variables

   // scss-docs-start root-form-validation-variables
   --#{$prefix}form-valid-color: #{$form-valid-color};
   --#{$prefix}form-valid-border-color: #{$form-valid-border-color};
   --#{$prefix}form-invalid-color: #{$form-invalid-color};
   --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};
   // scss-docs-end root-form-validation-variables
}

@if $enable-dark-mode {
   @include color-mode(dark, true) {
      color-scheme: dark;

      // scss-docs-start root-dark-mode-vars
      --#{$prefix}body-color: #{$body-color-dark};
      --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
      --#{$prefix}body-bg: #{$body-bg-dark};
      --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};

      --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
      --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};

      --#{$prefix}secondary-color: #{$body-secondary-color-dark};
      --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};
      --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};
      --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};

      --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};
      --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};
      --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};
      --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};

      @each $color, $value in $theme-colors-text-dark {
         --#{$prefix}#{$color}-text-emphasis: #{$value};
      }

      @each $color, $value in $theme-colors-bg-subtle-dark {
         --#{$prefix}#{$color}-bg-subtle: #{$value};
      }

      @each $color, $value in $theme-colors-border-subtle-dark {
         --#{$prefix}#{$color}-border-subtle: #{$value};
      }

      --#{$prefix}heading-color: #{$headings-color-dark};

      --#{$prefix}link-color: #{$link-color-dark};
      --#{$prefix}link-hover-color: #{$link-hover-color-dark};
      --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};
      --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};

      --#{$prefix}code-color: #{$code-color-dark};
      --#{$prefix}highlight-color: #{$mark-color-dark};
      --#{$prefix}highlight-bg: #{$mark-bg-dark};

      --#{$prefix}border-color: #{$border-color-dark};
      --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};

      --#{$prefix}form-valid-color: #{$form-valid-color-dark};
      --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};
      --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};
      --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};
      // scss-docs-end root-dark-mode-vars
   }
}
