Что такое псевдоэлементы? И для чего они используются?

Это ключевое слово, которое добавляется CSS селектору и позволяет стилизовать определенные части элемента. Например ::first-letter, ::before, ::after, ::selection, ::first-line.