:root,
[data-brand],
[data-temperature] {
  /* Background / Base / Default */
  --background-base-default-soft: var(--temperature-100);
  --background-base-default-mid: var(--temperature-200);
  --background-base-default-strong: var(--temperature-300);

  /* Background / Base / Inverse */
  --background-base-inverse-soft: var(--temperature-800);
  --background-base-inverse-strong: var(--temperature-900);

  /* Background / Base / Brand */
  --background-base-brand-soft: var(--brand-100);
  --background-base-brand-strong: var(--brand-800);
  --background-base-brand-emphasis: var(--brand-900);

  /* Background / Base / Accent */
  --background-base-accent-soft: var(--accent-100);
  --background-base-accent-strong: var(--accent-800);
  --background-base-accent-emphasis: var(--accent-900);

  /* Background / Base / Support */
  --background-base-support-soft: var(--support-100);
  --background-base-support-strong: var(--support-800);
  --background-base-support-emphasis: var(--support-900);

  /* Background / Action / Primary */
  --background-action-primary-default: var(--brand-700);
  --background-action-primary-hover: var(--brand-800);
  --background-action-primary-pressed: var(--brand-900);
  --background-action-primary-focus: var(--brand-900);
  --background-action-primary-selected: var(--brand-800);
  --background-action-primary-disabled: var(--temperature-300);

  /* Background / Action / Secondary */
  --background-action-secondary-default: var(--brand-700);
  --background-action-secondary-hover: var(--brand-800);
  --background-action-secondary-pressed: var(--brand-900);
  --background-action-secondary-focus: var(--brand-600);
  --background-action-secondary-selected: var(--brand-900);
  --background-action-secondary-disabled: var(--temperature-100);

  /* Background / Action / Ghost */
  --background-action-ghost-default: var(--white-00);
  --background-action-ghost-hover: var(--brand-100);
  --background-action-ghost-pressed: var(--brand-200);
  --background-action-ghost-focus: var(--brand-200);
  --background-action-ghost-selected: var(--brand-200);
  --background-action-ghost-disabled: var(--white-00);

  /* Background / Action / Link */
  --background-action-link-default: var(--white-00);
  --background-action-link-hover: var(--brand-100);
  --background-action-link-pressed: var(--brand-200);
  --background-action-link-focus: var(--brand-600);
  --background-action-link-selected: var(--brand-900);
  --background-action-link-disabled: var(--temperature-100);

  /* Background / Feedback / Success */
  --background-feedback-success-soft: var(--green-100);
  --background-feedback-success-mid: var(--green-500);
  --background-feedback-success-strong: var(--green-800);

  /* Background / Feedback / Info */
  --background-feedback-info-soft: var(--blue-100);
  --background-feedback-info-mid: var(--blue-500);
  --background-feedback-info-strong: var(--blue-800);

  /* Background / Feedback / Warning */
  --background-feedback-warning-soft: var(--orange-100);
  --background-feedback-warning-mid: var(--orange-500);
  --background-feedback-warning-strong: var(--orange-800);

  /* Background / Feedback / Error */
  --background-feedback-error-soft: var(--red-100);
  --background-feedback-error-mid: var(--red-500);
  --background-feedback-error-strong: var(--red-800);

  /* Foreground / Base / Primary */
  --foreground-base-primary-soft: var(--temperature-700);
  --foreground-base-primary-mid: var(--temperature-800);
  --foreground-base-primary-strong: var(--temperature-900);

  /* Foreground / Base / Secondary */
  --foreground-base-secondary-soft: var(--temperature-600);
  --foreground-base-secondary-mid: var(--temperature-700);
  --foreground-base-secondary-strong: var(--temperature-800);

  /* Foreground / Base / Tertiary */
  --foreground-base-tertiary-soft: var(--temperature-500);
  --foreground-base-tertiary-mid: var(--temperature-600);
  --foreground-base-tertiary-strong: var(--temperature-700);

  /* Foreground / Base / Inverse */
  --foreground-base-inverse-soft: var(--white-75);
  --foreground-base-inverse-strong: var(--white-100);

  /* Foreground / Base / Brand */
  --foreground-base-brand-soft: var(--brand-500);
  --foreground-base-brand-mid: var(--brand-700);
  --foreground-base-brand-emphasis: var(--brand-800);

  /* Foreground / Base / Accent */
  --foreground-base-accent-soft: var(--accent-500);
  --foreground-base-accent-strong: var(--accent-700);
  --foreground-base-accent-emphasis: var(--accent-800);

  /* Foreground / Base / Support */
  --foreground-base-support-soft: var(--support-500);
  --foreground-base-support-strong: var(--support-700);
  --foreground-base-support-emphasis: var(--support-800);

  /* Foreground / Action / Primary */
  --foreground-action-primary-default: var(--white-100);
  --foreground-action-primary-hover: var(--white-100);
  --foreground-action-primary-pressed: var(--white-75);
  --foreground-action-primary-focus: var(--white-100);
  --foreground-action-primary-selected: var(--white-100);
  --foreground-action-primary-disabled: var(--temperature-500);

  /* Foreground / Action / Secondary */
  --foreground-action-secondary-default: var(--brand-700);
  --foreground-action-secondary-hover: var(--brand-800);
  --foreground-action-secondary-pressed: var(--brand-900);
  --foreground-action-secondary-focus: var(--brand-600);
  --foreground-action-secondary-selected: var(--brand-900);
  --foreground-action-secondary-disabled: var(--temperature-500);

  /* Foreground / Action / Ghost */
  --foreground-action-ghost-default: var(--brand-700);
  --foreground-action-ghost-hover: var(--brand-800);
  --foreground-action-ghost-pressed: var(--brand-900);
  --foreground-action-ghost-focus: var(--brand-600);
  --foreground-action-ghost-selected: var(--brand-900);
  --foreground-action-ghost-disabled: var(--temperature-500);

  /* Foreground / Action / Link */
  --foreground-action-link-default: var(--brand-700);
  --foreground-action-link-hover: var(--brand-800);
  --foreground-action-link-pressed: var(--brand-900);
  --foreground-action-link-focus: var(--brand-600);
  --foreground-action-link-selected: var(--brand-900);
  --foreground-action-link-disabled: var(--temperature-600);

  /* Foreground / Feedback / Success */
  --foreground-feedback-success-soft: var(--green-100);
  --foreground-feedback-success-mid: var(--green-500);
  --foreground-feedback-success-strong: var(--green-800);

  /* Foreground / Feedback / Info */
  --foreground-feedback-info-soft: var(--blue-100);
  --foreground-feedback-info-mid: var(--blue-500);
  --foreground-feedback-info-strong: var(--blue-800);

  /* Foreground / Feedback / Warning */
  --foreground-feedback-warning-soft: var(--orange-100);
  --foreground-feedback-warning-mid: var(--orange-500);
  --foreground-feedback-warning-strong: var(--orange-800);

  /* Foreground / Feedback / Error */
  --foreground-feedback-error-soft: var(--red-100);
  --foreground-feedback-error-mid: var(--red-500);
  --foreground-feedback-error-strong: var(--red-800);

  /* Border / Base / Primary */
  --border-base-primary-soft: var(--temperature-300);
  --border-base-primary-mid: var(--temperature-400);
  --border-base-primary-strong: var(--temperature-500);

  /* Border / Base / Secondary */
  --border-base-secondary-soft: var(--temperature-200);
  --border-base-secondary-mid: var(--temperature-300);
  --border-base-secondary-strong: var(--temperature-400);

  /* Border / Base / Tertiary */
  --border-base-tertiary-soft: var(--temperature-100);
  --border-base-tertiary-mid: var(--temperature-200);
  --border-base-tertiary-strong: var(--temperature-300);

  /* Border / Base / Inverse */
  --border-base-inverse-soft: var(--white-75);
  --border-base-inverse-strong: var(--white-100);

  /* Border / Base / Brand */
  --border-base-brand-soft: var(--brand-500);
  --border-base-brand-strong: var(--brand-700);
  --border-base-brand-emphasis: var(--brand-800);

  /* Border / Base / Accent */
  --border-base-accent-soft: var(--accent-500);
  --border-base-accent-strong: var(--accent-700);
  --border-base-accent-emphasis: var(--accent-800);

  /* Border / Base / Support */
  --border-base-support-soft: var(--support-500);
  --border-base-support-strong: var(--support-700);
  --border-base-support-emphasis: var(--support-800);

  /* Border / Action / Primary */
  --border-action-primary-default: var(--brand-500);
  --border-action-primary-hover: var(--brand-600);
  --border-action-primary-pressed: var(--brand-700);
  --border-action-primary-focus: var(--brand-800);
  --border-action-primary-selected: var(--brand-700);
  --border-action-primary-disabled: var(--temperature-300);

  /* Border / Action / Secondary */
  --border-action-secondary-default: var(--temperature-400);
  --border-action-secondary-hover: var(--temperature-500);
  --border-action-secondary-pressed: var(--temperature-600);
  --border-action-secondary-focus: var(--brand-500);
  --border-action-secondary-selected: var(--brand-700);
  --border-action-secondary-disabled: var(--temperature-300);

  /* Border / Feedback / Success */
  --border-feedback-success-soft: var(--green-100);
  --border-feedback-success-mid: var(--green-500);
  --border-feedback-success-strong: var(--green-800);

  /* Border / Feedback / Info */
  --border-feedback-info-soft: var(--blue-100);
  --border-feedback-info-mid: var(--blue-500);
  --border-feedback-info-strong: var(--blue-800);

  /* Border / Feedback / Warning */
  --border-feedback-warning-soft: var(--orange-100);
  --border-feedback-warning-mid: var(--orange-500);
  --border-feedback-warning-strong: var(--orange-800);

  /* Border / Feedback / Error */
  --border-feedback-error-soft: var(--red-100);
  --border-feedback-error-mid: var(--red-500);
  --border-feedback-error-strong: var(--red-800);
}
