CSS (Cascading Style Sheets) is used to style and lay out web documents. There are three levels of CSS, and CSS selectors are used to apply styles to HTML elements. Styles can be defined internally, externally, or inline. Common CSS properties include fonts, text, backgrounds, borders, positioning, and the box model which describes the layout of elements.