By default, :is() (and friends) accept complex selectors. However, we likely want to narrow what is allowed inside :is() based on the context where it's used. For example, for :host(:is(...)), only compound selectors should be allowed, and for ::before:is(...), only user action pseudo-classes.