@layer seed-components {
  .seed-badge__root {
    box-sizing: border-box;
    text-transform: none;
    text-align: start;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    align-items: center;
    text-decoration: none;
    display: inline-flex;
  }

  .seed-badge__label {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .seed-badge__root--size_medium {
    max-width: clamp(calc(108px * var(--seed-font-size-limit-min)), 7.5rem, calc(108px * var(--seed-font-size-limit-max)));
    min-height: var(--seed-dimension-x5);
    padding-left: var(--seed-dimension-x1_5);
    padding-right: var(--seed-dimension-x1_5);
    padding-top: var(--seed-dimension-x0_5);
    padding-bottom: var(--seed-dimension-x0_5);
    border-radius: var(--seed-radius-r1);
    font-size: var(--seed-font-size-t1);
    line-height: var(--seed-line-height-t1);
  }

  .seed-badge__root--size_large {
    max-width: clamp(calc(120px * var(--seed-font-size-limit-min)), 6.75rem, calc(120px * var(--seed-font-size-limit-max)));
    min-height: var(--seed-dimension-x6);
    padding-left: var(--seed-dimension-x2);
    padding-right: var(--seed-dimension-x2);
    padding-top: var(--seed-dimension-x1);
    padding-bottom: var(--seed-dimension-x1);
    border-radius: var(--seed-radius-r1_5);
    font-size: var(--seed-font-size-t2);
    line-height: var(--seed-line-height-t2);
  }

  .seed-badge__root--variant_weak {
    font-weight: var(--seed-font-weight-medium);
  }

  .seed-badge__root--variant_solid, .seed-badge__root--variant_outline {
    font-weight: var(--seed-font-weight-bold);
  }

  .seed-badge__root--tone_neutral-variant_weak {
    background-color: var(--seed-color-bg-neutral-weak);
    color: var(--seed-color-fg-neutral-muted);
  }

  .seed-badge__root--tone_neutral-variant_solid {
    background-color: var(--seed-color-palette-gray-800);
    color: var(--seed-color-fg-neutral-inverted);
  }

  .seed-badge__root--tone_neutral-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
    color: var(--seed-color-fg-neutral-muted);
  }

  .seed-badge__root--tone_brand-variant_weak {
    background-color: var(--seed-color-bg-brand-weak);
    color: var(--seed-color-fg-brand-contrast);
  }

  .seed-badge__root--tone_brand-variant_solid {
    background-color: var(--seed-color-bg-brand-solid);
    color: var(--seed-color-palette-static-white);
  }

  .seed-badge__root--tone_brand-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-brand-weak);
    color: var(--seed-color-fg-brand);
  }

  .seed-badge__root--tone_informative-variant_weak {
    background-color: var(--seed-color-bg-informative-weak);
    color: var(--seed-color-fg-informative-contrast);
  }

  .seed-badge__root--tone_informative-variant_solid {
    background-color: var(--seed-color-bg-informative-solid);
    color: var(--seed-color-palette-static-white);
  }

  .seed-badge__root--tone_informative-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-informative-weak);
    color: var(--seed-color-fg-informative);
  }

  .seed-badge__root--tone_positive-variant_weak {
    background-color: var(--seed-color-bg-positive-weak);
    color: var(--seed-color-fg-positive-contrast);
  }

  .seed-badge__root--tone_positive-variant_solid {
    background-color: var(--seed-color-bg-positive-solid);
    color: var(--seed-color-palette-static-white);
  }

  .seed-badge__root--tone_positive-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-positive-weak);
    color: var(--seed-color-fg-positive);
  }

  .seed-badge__root--tone_warning-variant_weak {
    background-color: var(--seed-color-bg-warning-weak);
    color: var(--seed-color-fg-warning-contrast);
  }

  .seed-badge__root--tone_warning-variant_solid {
    background-color: var(--seed-color-bg-warning-solid);
    color: var(--seed-color-palette-static-black-alpha-900);
  }

  .seed-badge__root--tone_warning-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-warning-weak);
    color: var(--seed-color-fg-warning);
  }

  .seed-badge__root--tone_critical-variant_weak {
    background-color: var(--seed-color-bg-critical-weak);
    color: var(--seed-color-fg-critical-contrast);
  }

  .seed-badge__root--tone_critical-variant_solid {
    background-color: var(--seed-color-bg-critical-solid);
    color: var(--seed-color-palette-static-white);
  }

  .seed-badge__root--tone_critical-variant_outline {
    box-shadow: inset 0 0 0 1px var(--seed-color-stroke-critical-weak);
    color: var(--seed-color-fg-critical);
  }
}
