@layer utilities {
  .rs-text {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    transition: color var(--rs-duration-fast) var(--rs-easing-standard);
  }

  .rs-text-title-1 {
    font-family: var(--rs-font-family-title);
    font-size: var(--rs-font-size-title-1);
    font-weight: var(--rs-font-weight-extrabold);
    line-height: var(--rs-line-height-title-1);
    letter-spacing: 0;
  }

  .rs-text-title-2 {
    font-family: var(--rs-font-family-title);
    font-size: var(--rs-font-size-title-2);
    font-weight: var(--rs-font-weight-extrabold);
    line-height: var(--rs-line-height-title-2);
    letter-spacing: 0;
  }

  .rs-text-title-3 {
    font-family: var(--rs-font-family-title);
    font-size: var(--rs-font-size-title-3);
    font-weight: var(--rs-font-weight-extrabold);
    line-height: var(--rs-line-height-title-3);
    letter-spacing: 0;
  }

  .rs-text-title-4 {
    font-family: var(--rs-font-family-title);
    font-size: var(--rs-font-size-title-4);
    font-weight: var(--rs-font-weight-bold);
    line-height: var(--rs-line-height-title-4);
    letter-spacing: 0;
  }

  .rs-text-title-6 {
    font-family: var(--rs-font-family-title);
    font-size: var(--rs-font-size-title-6);
    font-weight: var(--rs-font-weight-bold);
    line-height: var(--rs-line-height-title-6);
    letter-spacing: 0;
  }

  .rs-text-featured-1 {
    font-size: var(--rs-font-size-featured-1);
    line-height: var(--rs-line-height-featured-1);
    letter-spacing: 0;
  }

  .rs-text-featured-2 {
    font-size: var(--rs-font-size-featured-2);
    line-height: var(--rs-line-height-featured-2);
    letter-spacing: 0;
  }

  .rs-text-body-1 {
    font-size: var(--rs-font-size-body-1);
    line-height: var(--rs-line-height-body-1);
    letter-spacing: 0;
  }

  .rs-text-body-2 {
    font-size: var(--rs-font-size-body-2);
    line-height: var(--rs-line-height-body-2);
    letter-spacing: 0;
  }

  .rs-text-caption {
    font-size: var(--rs-font-size-caption-1);
    line-height: var(--rs-line-height-caption-1);
    letter-spacing: 0;
  }

  .rs-text-caption-2 {
    font-size: var(--rs-font-size-caption-2);
    line-height: var(--rs-line-height-caption-2);
    letter-spacing: 0;
  }

  .rs-weight-regular {
    font-weight: var(--rs-font-weight-regular);
  }

  .rs-weight-medium {
    font-weight: var(--rs-font-weight-medium);
  }

  .rs-weight-semibold {
    font-weight: var(--rs-font-weight-semibold);
  }

  .rs-weight-bold {
    font-weight: var(--rs-font-weight-bold);
  }

  .rs-text-primary {
    color: var(--rs-color-foreground-primary);
  }

  .rs-text-positive {
    color: var(--rs-color-foreground-positive);
  }

  .rs-text-warning {
    color: var(--rs-color-foreground-warning);
  }

  .rs-text-critical {
    color: var(--rs-color-foreground-critical);
  }

  .rs-text-disabled {
    color: var(--rs-color-foreground-disabled);
  }

  .rs-text-numeric {
    font-variant-numeric: tabular-nums;
  }

  .rs-text-break-all {
    word-break: break-all;
  }

  .rs-text-balance {
    text-wrap: balance;
  }

  .rs-text-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--rs-text-lines, 2);
    overflow: hidden;
  }

  .rs-muted {
    color: var(--rs-color-foreground-neutral-faded);
  }

  .rs-mono {
    font-family: var(--rs-font-family-monospace);
  }

  .rs-surface {
    background: var(--rs-color-background-page-faded);
  }

  .rs-bg-page {
    background: var(--rs-color-background-page);
    color: var(--rs-color-foreground-neutral);
  }

  .rs-bg-page-faded {
    background: var(--rs-color-background-page-faded);
    color: var(--rs-color-foreground-neutral);
  }

  .rs-bg-elevation-base {
    background: var(--rs-color-background-elevation-base);
    color: var(--rs-color-foreground-neutral);
  }

  .rs-bg-elevation-raised {
    background: var(--rs-color-background-elevation-raised);
    color: var(--rs-color-foreground-neutral);
  }

  .rs-bg-neutral {
    background: var(--rs-color-background-neutral);
    color: var(--rs-color-on-background-neutral);
  }

  .rs-bg-neutral-faded {
    background: var(--rs-color-background-neutral-faded);
    color: var(--rs-color-foreground-neutral);
  }

  .rs-bg-primary {
    background: var(--rs-color-background-primary);
    color: var(--rs-color-on-background-primary);
  }

  .rs-bg-primary-faded {
    background: var(--rs-color-background-primary-faded);
    color: var(--rs-color-foreground-primary);
  }

  .rs-bg-positive {
    background: var(--rs-color-background-positive);
    color: var(--rs-color-on-background-positive);
  }

  .rs-bg-warning {
    background: var(--rs-color-background-warning);
    color: var(--rs-color-on-background-warning);
  }

  .rs-bg-critical {
    background: var(--rs-color-background-critical);
    color: var(--rs-color-on-background-critical);
  }

  .rs-shadow-raised {
    box-shadow: var(--rs-shadow-raised);
  }

  .rs-shadow-overlay {
    box-shadow: var(--rs-shadow-overlay);
  }

  .rs-overflow-hidden {
    overflow: hidden;
  }

  .rs-overflow-auto {
    overflow: auto;
  }

  .rs-view {
    --rs-view-gap: var(--rs-unit-x4);
    display: flex;
    flex-direction: column;
    gap: var(--rs-view-gap);
    position: relative;
  }

  .rs-view[data-direction="row"] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .rs-view[data-nowrap] {
    flex-wrap: nowrap;
  }

  .rs-view[data-align="center"] {
    align-items: center;
  }

  .rs-view[data-align="end"] {
    align-items: flex-end;
  }

  .rs-view[data-justify="center"] {
    justify-content: center;
  }

  .rs-view[data-justify="space-between"] {
    justify-content: space-between;
  }

  .rs-view[data-gap="small"] {
    --rs-view-gap: var(--rs-unit-x2);
  }

  .rs-view[data-gap="large"] {
    --rs-view-gap: var(--rs-unit-x6);
  }

  .rs-view-item[data-grow] {
    flex: 1 1 0;
    min-inline-size: 0;
  }

  .rs-view-item[data-shrink="false"] {
    flex-shrink: 0;
  }

  .rs-p-4 {
    padding: var(--rs-unit-x4);
  }

  .rs-gap-2 {
    --rs-stack-gap: var(--rs-unit-x2);
    --rs-cluster-gap: var(--rs-unit-x2);
  }

  .rs-gap-4 {
    --rs-stack-gap: var(--rs-unit-x4);
    --rs-cluster-gap: var(--rs-unit-x4);
  }

  .rs-gap-10 {
    --rs-stack-gap: var(--rs-unit-x10);
    --rs-cluster-gap: var(--rs-unit-x10);
  }
}
