mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
The explorer had no way for a person to change how it reads. Colour mode was the only control, and it is one bit. @hanzo/appearance stores the preference and puts it on <html>; what the numbers mean is bound in styles/tokens.css. Type rides the root font size, so every Tailwind rung — all of them in rem — moves from one declaration and nothing is restated. Density rides --spacing, the single base every p-*, m-* and gap-* computes from. Both default to 1, so an install that never opens the panel renders exactly what it rendered before; measured in a browser against the production build: 16px root, p-4 at 16px, unchanged. @hanzo/design's token sheets stay out. They declare --text-*, --radius-* and --breakpoint-* — the names Tailwind v4 publishes — outside any layer, and v4 compiles utilities to var() references rather than baked values, so importing them silently reanchors the app: --text-base 16px to 14px, --radius-lg 8px to 12px. Two sets under one set of names is a fork, not a migration. They become the ramps when Tailwind leaves and there is one ramp to own. The boot script is hashed for CSP from the same call that renders it, the way the adbutler scripts are. A pasted literal goes stale on the next release of the package and fails silently — policy parses, browser drops the script, page paints at the defaults.