The IBS default.css included a couple of module-specific
styles. In designing the discussion module I followed this lead and
added 4 new styles. Bad choice !
The fundamental problem with this is that every time a new module introduces new styles they need to be added to ALL existing themes for on-the-fly 'theme switching' to work well. This is a big enough nuisance for Rainbow core developers, but an even bigger problem for external module writers.
So what do we do?
Option 1: Each Module ships with Module.css that is dynamically #included to the current theme's style sheet: - disadvantage is that there is only one Module.css so it might not look right under different themes, and there is a performance hit
Option 2: Strongly discourage modules writers from using custom styles :), make them explain in their readme-help file how to use their styles.
Option 3: Have the ModuleInstall routine copy-insert the module's custom styles into all existing themes. This breaks down when you add a new theme later.
I'm leaning toward option 2, discourage custom module styles, and then insisting that we add a few more base styles to all of our themes, at a minimum TR, and TD !