Yeah what happens is those static files are served up by the "whitenoise" module, so when you change them you have to do "make collectstatic"
Pretty much any changes are fair game, including introduction of something like less/compass/whatever (whatever is the best these days?) as well as changing any of the *.j2 templates which power the view.
I do realize we need to include more about how to work on these in the development setup guide.
I'd like to keep the red/white/black colorscheme for the most part but I'm generally up for all kinds of upgrades, including introducing better presentation frameworks.
Right now I am using bootstrap3 because of compatibility with Django crispyforms (a template library that allows better tabs and so forth than normal) - their support for bootstrap4 did not work perfectly well with all widgets.
The other thing I eventually want to do is make a better editor widget for JSON fields that ensures the JSON remains valid or otherwise at least highlights it, as well as probably making the build script and build output panels larger and better formatted.
In any event, this is a part of things I never had a lot of time to get into, so I definitely look forward to learning from those that know a lot more about these things.
I have been thinking about it alot, and the only thing I don't really want to do is introduce something like Angular/React, which while very impressive, could become fragile or cut down on contributions. Keeping it a multi-page, template driven app has proven really good for development.
Finally, I'd just say (this goes for anything) if you have any ideas that you think you might not be sure about if they'd be good, or want some feedback, or want to know what something does - asking prior to submitting a PR can sometimes avoid having to rework some bits.
(The CSS now is just in vespene.js, if that ends up being a product of the build environment it is probably easiest if we just checkin the results to avoid people needing to install the npm toolchain stuff?)