In most web applications, the CSS uses class-based structuring. This means that elements contain CSS classes, and classes apply specific styles to all elements with that class. As an example, you could have a CSS class called button-text that applies red font color and bold text. You would then apply this class to all button elements, such that they all have red font and bold text.
This is the predominant use of CSS, and it's also what I've always used for my web applications.
However, for this particular application I decided to try something new. I had heard about utility based CSS, which flips this paradigm completely over. The idea is that instead of classes describe certain subsets of elements in your app, you have a giant list of utility CSS classes that describe a single style instead. As an example, you might create a utility CSS class called text-bold, and apply this class to any element that you want to have bold text. If you want a button to have bold text, then you would have to give it the text-bold class.

I was told good things about this structure of CSS, so I decided to try it out in this paint application. I used Tailwind CSS, which already comes with a large library of CSS utility classes.
To be honest, it takes a while to get used to. I think this definitely slowed down the project overall. However, I will say that by the end of the project using Tailwind felt relatively comfortable. I think overall this design is less modular. All of the CSS is global in scope so you do not modularize the HTML elements into logical classes. This does save time in the short run, as you don't have to create new CSS files or break up the UI into multiple classes. However, it does means that editing CSS for classes of elements is very difficult (since the concept of element classes doesn't really exist). Using React components does help with this however.
I don't have enough experience to definitively say whether utility-based CSS is better or worse than the traditional class-based structure. It was new and interesting style of CSS, though, and I would like to try more of it in future applications to get a better understanding of the design pattern.