Reset
The porchlight.reset layer is minimal browser normalization — no normalize.css, no opinionated defaults. :where() keeps every rule at zero specificity so it is trivially overridable.
What it normalizes
box-sizing: border-boxon everything.color-scheme: light darkand 100% text-size adjust onhtml.margin: 0andmin-block-size: 100dvbonbody.- Replaced elements (
img,svg,video) are block and width-constrained. - Form controls inherit font and color.
touch-action: manipulationon interactive controls (no 300ms tap delay).tableuses separated borders with zero spacing.[hidden]is forcibly removed from the render tree.
Raw sample
A handful of unstyled elements, to confirm the reset loads cleanly:
| Column | Column |
|---|---|
| Cell | Cell |
Layer order
Declared in 00-layer-order.css; only reset is populated yet.
resetMinimal browser normalizationtokensPrimitive and semantic design tokensthemesTheme, brand, density, contrast, mode overridesbaseHTML element defaultslayoutLayout primitives and page/app shellscomponentsComponent classesutilitiesSmall single-purpose helpersenhancementsProgressive @supports-gated featuresprintPrint behavior