This article was written in 2016. It might or it might not be outdated. And it could be that the layout breaks. If that’s the case please let me know.
I’ve been writing CSS for quite a long time, and I’ve been teaching it for a few years as well. But it never occurred to me to start explaining CSS with the @-rules. Maybe it’s not the best way to explain it to humans, but it is definitely interesting to understand what computers do with your CSS. They’re the ones that turn it into the stuff our visitors use.