One could also argue that a "handmade" style on the browser would be to manipulate the DOM with JS ie the DOM is Casey's bitmap..
Even further would be to build your whole UI inside a HTML5 canvas. You would gain a victory over relying on how the browser decides to play with your DOM, and you wouldn't need to stab in the dark with CSS. But you would also suffer a defeat with accessibility (no screen reader could read your site) and search engines (your site would be a non-semantic mess in the eyes of a crawler).
React has a lot of appeal in the way it allows mixing logic into layouts, but the cost is pretty heavy performance-wise, as usual with any web library these days. Also, the mantra of always storing the state in the component makes for a lot of messy code that needs strict structures like flux/redux to keep it sane, but that in turn bloats the code and every time you need to make a change, you need to modify multiple files. In my experience the complexity in a React project can get out of hands pretty soon; even in my current project which I'm programming alone, it's started to get hard to navigate already with a pretty tiny (~15k LOC) codebase.