Files
hanzo.ai/lib/appearance.ts
zeekay b54fe45c68 Follow the device's light or dark scheme, and draw /zen's generations as rules
A reader who had never chosen a theme got dark whatever the device said: the
head's boot script was seeded with `dark`. The install's default is now
`system` (lib/appearance.ts), painted before the first frame, and the client
applies it once mounted, which is what installs the listener that follows the
device when it changes.

/zen's generations, the timeline marks and the Train/Attest/Evaluate/Release
underlines set `borderStyle` with one side's width, so the other three sides
drew at the browser's medium width: every generation was a 3px box with its
text against the edge. Each now sets `borderWidth={0}` before its side.

Gate e2e/gates/scheme.spec.ts: a first visit under a light and a dark device
paints that scheme and follows a change, and /zen's generations read
1px 0 0 0. The look gate still passes.

Claude-Session: https://claude.ai/code/session_01SCPMGSQsLNF2YtHFL4bwyp
2026-10-08 11:52:12 -07:00

9 lines
414 B
TypeScript

/**
* The install's appearance default: what a reader who has never chosen sees.
* `system` is the device's own scheme, followed as it changes. The head's boot
* script paints it before the first frame (app/layout.tsx) and the client
* applies it once mounted (components/GuiProvider.tsx), which is what installs
* the listener that follows the device.
*/
export const INSTALL = { theme: 'system' } as const