A better reduced-motion: dissolves beat silence
Killing animation outright creates dead UI. The alternative we ship — fade, highlight, color-shift — is opt-in, semantic, WCAG-friendly.
Short essays on craft, accessibility, and the corners of the platform we find interesting. New posts most weeks.
!important again)Specificity wars are a design-system killer. Layers flatten the cascade, make overrides trivial, and let contributors ship without reviewer fatigue.
Killing animation outright creates dead UI. The alternative we ship — fade, highlight, color-shift — is opt-in, semantic, WCAG-friendly.
Why --space-card-padding beats --space-6 in every place that matters, and how to migrate without breaking what already ships.
<dialog> is 90% of what you needTop-layer. Backdrop. ESC-to-close. Focus trap. Modern browsers ship a dialog that's almost perfect — the last 10% is one line of CSS.
light-dark() killed our theme providerOne CSS function. Zero JS. Zero FOUC. The browser already knows what the user wants — stop fighting it with localStorage hacks.
Stack, Cluster, Sidebar, Cover, Frame, Reel. An old idea, sharpened. Here's the API that replaced 80% of our custom flex and grid.
Tanda 3 closes the catalog: every primitive, composite, and pattern is now documented. Plus a refreshed templates section and a tighter token layer.