@layer components {
  .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;
    }
  }
}
