We don’t have any rules in place saying people can’t use the :not selector. We have just not found a use case where we need to use it often. I have seen codebase which make heavy use of the :not selector and it quickly becomes difficult to reason about what is going on and in what instances a selector would apply.
I would have to disagree about the “layout and design complexity” being low. For someone not familiar with the project I can complete see why it would seem we have a simple design but having worked on this project for over 2 years now I can think of many examples of how complex our design and layout actually are.