The point about shipping only the utilities you actually used is what makes the long class lists tolerable for me. One thing that helped on a bigger project was pulling repeated button and card patterns into components early, so the markup never gets that noisy. Do you find the naming-things problem really goes away, or does it just move into naming components?