Originally Posted by kovidgoyal
calibre does rationalize css. Basically all css is applied to the actual HTML, then processed/transformed and then written out. This process automatically discards all rules from the input document that do not apply to anything.
There is a style sheet. There are styles in that style sheet. Some of these styles are used. So why is it that Calibre is converting some/all of these used styles to different styles? Why can't Calibre see what's used and leave it be and when a style is not used, delete it from the CSS? Just create new styles when Calibre sees code inside the XML that should be part of the CSS? That would make things a lot easier and people would like Calibre conversions so much better.
So when I have <p class="para">, leave it be. Just modify para in the CSS as needed based on the options. Don't then give me <p class="calibre8"> when para was perfectly OK.