Native first
Cascade Layers instead of specificity fights, Container Queries instead of media-query sprawl, native elements (<dialog>, <details>) instead of JS reimplementations wherever native behavior is enough.
NativeCSS Handbook
A native CSS design system with no build step: no LESS/Sass, no bundler, no preprocessor. @import + CSS Cascade Layers control load order, a single token system (tokens.css + colors.css) is the sole source of values.
<link rel="stylesheet" href="ncss.css">
ncss.css imports everything else itself (tokens, reset, helpers, components) in the correct layer order. No build step needed - just include the file directly.
Cascade Layers instead of specificity fights, Container Queries instead of media-query sprawl, native elements (<dialog>, <details>) instead of JS reimplementations wherever native behavior is enough.
tokens.css/colors.css are the only places raw values (colors, rem, px) are allowed to live. Everything else references them via var().
@import + Cascade Layers handle everything. No preprocessor, no bundler, no compilation - load the file directly in the browser.
Small, curated utility sets instead of a Tailwind-style "a class for every CSS value" approach. New utilities are added only for real, recurring need.
Typography and spacing are fluid by default (clamp()-based). Fixed breakpoints remain a deliberately sparingly used escape hatch.
Every non-trivial change is checked in real browsers (Chromium, WebKit, Firefox) - browser support claims are researched, not guessed from training knowledge.
Optionally the system connects via webawesome-bridge.css to a self-hosted Web Awesome, for cases where native HTML/CSS alone isn't enough (e.g. toast, carousel, drawer) - see Web Awesome Bridge.
Live examples for every topic also live under Demo - this handbook explains the WHY and HOW, the demo pages show it in action.