| Theme bootstrap vs later theme state |
The initial .dark class is decided before paint, but later user interaction and persisted storage can still mutate that state path. |
Theme is the root token switch, so any disagreement here affects every derived color. |
| Framework CSS vs Vyasa CSS |
Framework headers load before local overrides, and some components still inherit color or spacing instead of setting it directly. |
CSS cascade bugs only matter where a property is left open to inheritance or selector competition. |
| Hash scroll vs async layout |
The browser jumps to #anchor before Mermaid, D2, or swapped content finish resizing the document. |
Scroll position is computed from layout, so any later layout change can invalidate an earlier jump. |
| HTMX swap vs client re-init |
HTMX replaces DOM first; only after that do helper functions re-bind menus, TOC state, search behavior, and diagram hooks. |
Swapped content is inert until the second phase runs, so this is a structural two-step process. |
| TOC highlight vs final heading positions |
TOC active state reads heading geometry, but heading geometry changes after async render and expansion. |
Geometry-based state is only trustworthy after the document has largely stopped moving. |