.theme-switcher {
  display: flex;
  background: var(--color-gray);
  border-radius: 50rem;
  padding: 0.2em;
  inline-size: fit-content;
}

.theme-switcher__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375em;
  padding: 0.4em 0.75em;
  background: transparent;
  border: none;
  border-radius: 50rem;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  font-size: var(--font-small-responsive);
  font-weight: 500;
  color: var(--color-ink-muted);

  &:hover {
    color: var(--color-ink-body);
  }

  &:has(input:checked) {
    background: var(--color-bg);
    color: var(--color-ink);
    box-shadow: 0 1px 3px oklch(var(--lch-always-black) / 0.1);
  }

  input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  > i {
    font-size: 1em;
  }
}
