References — CSS Architecture, Containment & Invalidation
Specifications
- CSS Cascading and Inheritance Level 5 — the normative cascade, including
@layer. §6 (Cascading) is the source for the resolution order verified in experiment 3. - CSS Containment Level 2 —
contain, and the normative definition of each containment type. - CSS Containment Level 3 —
content-visibility,contain-intrinsic-size, container queries. - CSS Custom Properties Level 1 — inheritance and computed-value-time resolution.
- CSS Properties and Values API (
@property) — typed custom properties; why registration is required for transitions. - CSS Logical Properties
Explanatory
- MDN — Cascade layers and Cascade, specificity and inheritance
- web.dev —
content-visibility— includes thecontain-intrinsic-sizecaveat that experiment 1 depends on. - web.dev — CSS containment
- Miriam Suzanne, Cascade Layers — by one of the spec editors; strongest treatment of layers as an ownership model.
- Una Kravets / Adam Argyle, State of CSS posts — for tracking capability changes that invalidate past decisions (fe-50).
- Josh Comeau — Stacking contexts — the z-index-stopped-working class of bug.
Tooling
- Chrome DevTools — Performance: style and layout
- CDP — Performance domain —
getMetrics, used throughout these experiments. - DevTools Rendering pane — paint flashing, layer borders, layout shift regions.
Deliberately excluded
"CSS performance tips" articles recommending shallow selectors and avoiding the descendant combinator. Selector matching has not been the dominant cost in mainstream engines for many years; the measurable costs are scope of invalidation and how much you ask the browser to render — which is what these experiments isolate. Advice predating cascade layers should also be re-read with layer order in mind, since much of it exists to work around specificity conflicts that layers resolve directly.