It is the web browsers fault, of course. It's amazing, it has been only a few years that web designers have discovered the concept of "components", but even today it's all a big laugh because nothing is actually properly composable. No guarantees, the web developers idea of a component is something equivalent to a "draw()" interface. Combined with the mess that CSS is this encourages people to just throw everything away with every project and redo it.