Your hierarchy could be extended to mobile/desktop -> OS -> device -> screen. On further consideration, screen is a dimension of its own. So there are at least four dimensions to deal with:
- The cascade of stylesheets, i.e. the sequence in which style specs are processed
- Devices (synchronization of specs for individual devices is not needed, but for higher levels in the hierarchy it might be a nice to have)
- Screens (synchonization between devices might be desirable, but is not essential)
- Notes (are already synchonized)
I do hope that the configuration interface won’t reflect this complexity in the future. In fact, the current desktop version meets my needs to a great extent, since I can do a lot of manipulations outside Joplin. What I’m really still missing is the possibility to use references in <link> tags and hyperlinks like:
./«file»~/.config/joplin-desktop/«file»$HOME/.config/joplin-desktop/«file»
That would facilitate generic constructions in my notes. More has to be built for mobile devices: at least provisions for creating, editing, renaming, and deleting (and maybe copying) CSS files in some dedicated config folder. Support for hyperlinks to HTML files on the synchonization target might be another challenge. I have no ideas about that yet.
Just another wild idea: how about making userstyle.css a parametrized stylesheet? It would be possible then to make your self defined color schemes dependent on the chosen theme.