Files
zooqueenandHanzo Dev 74c97542a0 The export builds, and draws with the component sheet
`next build --webpack` stopped at react-native-svg asking for
@react-native/assets-registry/registry; the web registry lives in
react-native-web, so the alias points there and the gui packages are
transpiled.

The server renders @hanzo/ui through its node entry, which imports no CSS,
so the export shipped without the sheet and the page drew as bare HTML.
The root layout imports @hanzo/ui/styles.css, and the Zen faces from
@hanzo/design, so tokens, themes and component rules reach every page.

The typecheck runs before a build creates next-env.d.ts, so *.css imports
are declared for TypeScript 7. tsconfig carries the two values Next writes
on every build. The install stops on no prompt: both jest build scripts
are answered.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-15 11:19:58 -07:00

29 lines
1016 B
CSS

/* What is true of the DOCUMENT, and nothing else.
*
* Everything a component draws with — the palette, the type scale, the surface
* ladder, the tap-highlight reset, the smoothing — arrives with
* `@hanzo/ui/styles.css`, imported ahead of this file in layout.tsx. Tabs declares
* no palette. It used to declare three tokens and use forty-one, and every
* undefined one became a stark white hairline against black; an app inventing
* a palette is how an estate ends up with several, none of them right.
*
* What is left is what no React tree can say, because no React tree owns
* <html>: the ground is as tall as the window, dynamically, so a phone's
* shrinking chrome does not expose a strip underneath it. */
html,
body {
height: 100%;
}
body {
min-height: 100dvh;
}
/* Touch targets. A bare button in this app is a real control, and a control you
cannot reliably hit is a control that does not work. */
@media (pointer: coarse) {
button,
a[role='button'] {
min-height: 44px;
}
}