DOM и стили
DOM — кроссплатформенный API, который представляет HTML/XML как дерево узлов-объектов. Через DOM можно создавать и менять документ, обходить структуру, добавлять и удалять узлы.
Когда браузер показывает страницу, он объединяет содержимое со стилями: HTML и CSS превращаются в DOM (и связанные структуры рендеринга). DOM — представление в памяти; стили участвуют в том, как узлы в итоге отображаются.
Итог
CSS «цепляется» к узлам DOM через селекторы; без модели документа стили применять некуда.