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.

Your Option?

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 !