:host {
  display: flex;
  overflow: visible;
}

.expander {
  width: 24px;
  height: 24px;
}
.expander button {
  transition: all 150ms ease-in-out;
  background-color: transparent;
  border: none;
  padding: 0;
  margin: 0;
  height: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  top: 2px;
}
.expander button svg :first-child {
  transition: all 150ms ease-in-out;
  fill: white;
  stroke: black;
}
.expander.expanded button {
  transform: rotate(45deg);
}
.expander.expanded button svg :first-child {
  fill: black;
  stroke: black;
}

div.item .item-slot {
  display: flex;
  align-items: center;
  gap: 0.25em;
  min-height: 24px;
}
div.item div.children {
  overflow: hidden;
  height: 0;
  transition: all 150ms ease-in-out;
}