A hands-on course
Not an outdated tutorial from 2015. Modern CSS — the kind that maps directly to how you already work in Figma — taught for designers who are ready to build what they design.
Every concept is mapped to something you already understand from design tools. CSS will finally make sense.
The same way you define styles in Figma, you'll define custom properties in CSS. Change a token — everything updates.
Flexbox and Grid explained through layout problems you already solve every day with frames and auto layout.
Container queries let components respond to their own space — not the viewport. Design system thinking, in CSS.
Every lesson ends with a starter file and a reference solution. You'll ship something that looks designed — not coded.
This course deliberately skips the patterns you'll find in outdated tutorials.
float: left for layout
Flexbox & Grid
!important as a crutch
Cascade Layers
:has()
Every lesson has a concept guide, a starter exercise, and a complete reference solution.
Set up your environment and open your first HTML file in the browser.
Semantic HTML, document structure, thinking in elements not boxes.
Selectors, the box model, and the cascade — three concepts that everything else builds on.
Design tokens in CSS. Dark mode, theming, and dynamic values without JavaScript.
One-dimensional layout — nav bars, button groups, and anything in a row or column.
Two-dimensional layout — page templates, galleries, and bento-style compositions.
Take control of specificity wars. No more !important.
Write CSS the way your brain already organises components — grouped, not scattered.
Components that respond to their own container's size, not the viewport.
:has(), :is(), :where(), and :not() — selectors that replace JavaScript.
Motion as a design material — keyframes, stagger, scroll-driven, and reduced motion.
Build a complete design system component library — tokens, components, and dark mode.
Build a real, printable résumé using every concept from the course. Something you can actually keep.
Open lesson 00 and write your first line of CSS. It takes about five minutes to get something on screen.