A style sheet holds two kinds of statement. A ruleset pairs a selector list with a declaration block in braces; each declaration is a property: value pair ending in a semicolon. An at-rule starts with @ and carries conditions or metadata, such as @media or @font-face (At-rules). Comments use /* ... */; CSS has no // comment.
h1, .lead { /* selector list */
color: #1565c0; /* declaration: property: value; */
font: 600 1.3rem system-ui;
colour: red; /* unknown property: silently skipped */
}
@media (width >= 40rem) { /* at-rule wrapping a nested ruleset */
.lead { font-style: italic; }
}Parsing is forgiving: an unknown property or invalid value skips only that declaration, so you can put a fallback on the line above new syntax.