:host {
  --menu-offset-top: 0.3em;
  --menu-offset-right: 0.3em;
  --item-padding: 0.5em 1em;
  position: relative;
}
:host a.active smoothly-icon,
:host a:hover smoothly-icon {
  fill: rgb(var(--smoothly-default-shade));
}
:host .background {
  position: absolute;
  right: 0;
  top: 0;
  height: 100vh;
  width: 100vw;
}
:host > div:not(.background) {
  margin-top: var(--menu-offset-top);
  position: absolute;
  right: var(--menu-offset-right);
  min-width: 10em;
  border-radius: 0.2em;
  white-space: nowrap;
  background-color: rgb(var(--smoothly-default-shade));
  box-shadow: var(--smoothly-shadow);
}
:host > div:not(.background) > div {
  font-style: italic;
  padding: var(--item-padding);
  color: rgba(var(--smoothly-default-contrast), 0.6);
}
:host > div:not(.background) ul {
  padding: 0;
}
:host > div:not(.background) ul li {
  font-weight: bold;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  padding: var(--item-padding);
  align-items: center;
}
:host > div:not(.background) ul li:hover {
  background-color: rgb(var(--smoothly-primary-color));
  color: rgb(var(--smoothly-primary-contrast));
}
:host > div:not(.background) ul li:hover smoothly-icon {
  fill: rgb(var(--smoothly-primary-contrast));
}

:host:not([open]) > div {
  display: none;
}