Something I think hasn't been emphasized about #CSS :is() and :where() is that they are forgiving selectors.

This means that if an item inside their scope isn't understood by the browser, it does not invalidate the entire rule!

It's a superpower because in a traditional selector list, an invalid selector does cause the entire rule to be discarded.

Note that both :has() and the enhanced :not() are not forgiving, but you can wrap them with either is or where to hop around that!