:host {
  display: block;
}

nav > ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

nav > ul > li {
  position: relative;
}

a,
button {
  display: inline-flex;
  align-items: center;
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

button::after {
  content: '';
  width: 0.4rem;
  height: 0.4rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

button[aria-expanded='true']::after {
  transform: rotate(-135deg);
}

nav > ul ul {
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

nav > ul ul li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
