Оптимальный вариант иметь один файл с максимальной оптимизацией кода, т. е. если например свойство display:block повторяется два раза в .class и #id, то для оптимизации нужно писать так: .class, #id{ display:block; } И так короче со всеми элементами. Также нужно учитывать такие правила, типа "Селектор # лучше не использовать". На мой взгляд надо использовать только такие селекторы, как .class, htmlElement, :after, :before, :hover, :focus, ::selection, :nth-child(1), :first-child, :last-child. А что касается количества файлов, то можно хоть 1000, лишь бы они были мелкими. Вот я использую 2 файла, в одном селектор ::selection и селекторы по тэгам, html,body например, а в другом файле классы и селекторы :nth-child(), >, +,[], :first-child, :last-child, :after и :before.