.list-box-trigger {
  anchor-name: --list-box-trigger;
  display: inline-block;
  box-sizing: border-box;
  min-height: calc(44 / 16 * 1rem);
  padding: calc(4 / 16 * 1rem) calc(40 / 16 * 1rem) calc(4 / 16 * 1rem) calc(16 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  border: 1px solid var(--color-neutral-solid-gray-420);
  background-color: transparent;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 17L3 8L4 7L12 15L20 7L21 8L12 17Z' fill='%23333333'/></svg>");
  background-repeat: no-repeat;
  background-position: right calc(16 / 16 * 1rem) center;
  background-size: calc(16 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-900);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
  cursor: pointer;
}

.list-box:popover-open ~ .list-box-trigger,
:has(> .list-box:popover-open) .list-box-trigger {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 7L21 16L20 17L12 9L4 17L3 16L12 7Z' fill='%23333333'/></svg>");
}

@media (hover: hover) {
  .list-box-trigger:hover {
    background-color: var(--color-neutral-solid-gray-50);
    border-color: var(--color-neutral-black);
    text-decoration: underline;
    text-underline-offset: calc(3 / 16 * 1rem);
  }
}

.list-box-trigger:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  background-color: var(--color-primitive-yellow-300);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.list-box {
  position-anchor: --list-box-trigger;
  position-area: block-end span-inline-start;
  margin: 0;
  margin-block-start: calc(4 / 16 * 1rem);
  box-sizing: border-box;
  width: max-content;
  max-height: calc((8 + 44 * 6.5) / 16 * 1rem);
  overflow-y: auto;
  border-radius: calc(8 / 16 * 1rem);
  border: 1px solid var(--color-neutral-solid-gray-420);
  background-color: var(--color-neutral-white);
  padding: calc(8 / 16 * 1rem) 0;
  box-shadow: var(--elevation-1);
  list-style-type: none;
  color: var(--color-neutral-solid-gray-900);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.list-box [role="option"],
.list-box [role="presentation"] {
  display: flex;
  align-items: center;
  column-gap: calc(8 / 16 * 1rem);
  box-sizing: border-box;
  width: 100%;
  min-height: calc(44 / 16 * 1rem);
  padding: calc(10 / 16 * 1rem) calc(16 / 16 * 1rem);
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  cursor: default;
}

.list-box [role="option"]::before {
  content: "";
  display: inline-block;
  width: 1em;
  flex-shrink: 0;
}

.list-box [role="option"][aria-selected="true"]::before {
  content: "✓";
}

.list-box [role="option"] button {
  all: unset;
  flex: 1;
  cursor: pointer;
}

@media (hover: hover) {
  .list-box [role="option"]:hover {
    background-color: var(--color-neutral-solid-gray-50);
  }
}

.list-box [role="option"]:focus-visible,
.list-box [role="option"] button:focus-visible {
  position: relative;
  z-index: 1;
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  background-color: var(--color-primitive-yellow-300);
}
