.TreeList {
  @apply text-sm;

  .TreeList {
    @apply ml-[0.5625rem] pl-[0.9375rem] shadow-[-1px_0_0_theme(colors.gray.300)];
  }

  li {
    @apply my-4 font-normal text-gray-500 [&:not(.TreeList-group)]:first:mt-2;
  }

  .TreeList-group {
    @apply font-medium text-gray-700;

    .TreeList-group {
      @apply mt-6 first:mt-4;
    }

    + .TreeList-radio {
      @apply pl-[0.0625rem];
    }
  }

  .TreeList-group.is-insertable {
    .TreeList-group {
      @apply ml-[0.5625rem] pl-[0.9375rem] shadow-[-1px_0_0_theme(colors.gray.300)];
    }

    .TreeList.is-insertable {
      @apply mt-4;
    }

    .TreeList-radio.is-insertable {
      @apply relative top-2 ml-6 border-t border-gray-300;

      &:not(:has(+ .TreeList-group)) {
        @apply pb-4;
      }

      input[type='radio']:not(:scope + label) {
        @apply absolute -left-6 -top-2;
      }
    }
  }
}
