@layer components {
  .color-list {
    align-content: end;
    flex: 1;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .color-list__item {
    padding: 0.5rem 0;
    border-top: 1.5px solid var(--theme-border-secondary);
  }
  .color-list__item:last-child {
    border-bottom: 1.5px solid var(--theme-border-secondary);
  }
  .color-list__row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 0;
    text-decoration: none;
    color: var(--theme-text-primary);
  }
  .color-list__row.focus, .color-list__row:focus-visible {
    outline: 0.125rem solid var(--theme-focus-primary);
    outline-offset: 0.25rem;
  }
  .color-list__swatch {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 0.25rem;
  }
  .color-list__swatch--bordered {
    border: 1.5px solid var(--theme-border-secondary);
  }
  @media (min-width: 1024px) {
    .color-list__swatch {
      width: 1.5rem;
      height: 1.5rem;
    }
  }
  .color-list__text {
    display: flex;
    flex: 1;
    justify-content: space-between;
  }
  @media (min-width: 1024px) {
    .color-list__name span {
      background-image: linear-gradient(currentcolor, currentcolor);
      background-position: left bottom;
      background-repeat: no-repeat;
      background-size: 0% 1.5px;
      transition: background-size 0.45s cubic-bezier(0.5, 0, 0, 1), background-position 0.45s cubic-bezier(0.5, 0, 0, 1);
    }
  }
  @media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
    .color-list__name span {
      transition: none;
    }
  }
  @media (min-width: 1024px) {
    .color-list__row:hover .color-list__name span {
      background-size: 100% 1.5px;
    }
  }
}