1# Chapter 22¾: jev-ui/assets — what the pages load
23Everything a Jev page loads comes from here, embedded in the crate and served by the site
4itself.
56| File | What |
7| --- | --- |
8| [ui.css](ui.css) | The shared stylesheet: tokens, the sheet and the pink band, the nav, the headline with its crop marks, windows, buttons, the copy line and the footer. Light only. |
9| [ui.js](ui.js) | The copy buttons (`data-copy`) and the two dither fields, drawn once into `--dither-paper` and `--dither-pink`. Fetches nothing. |
10| [datastar.js](datastar.js) | Datastar v1.0.4, upstream's own release build, the same file lmjtfy and `~/dashboard` serve. Not edited. |
11| [fonts/](fonts/) | The latin subsets of Inter Tight 500, JetBrains Mono (variable, 400 to 500) and VT323, from Google Fonts' own files (fetched 2026-10-05), each under the SIL Open Font License 1.1. `pixel-emoji.woff2` (1 KB) is four of SerenityOS's emoji (play, pause, two hourglasses) as a colour font, BSD 2-Clause; `build-pixel-emoji.py` rebuilds it from SerenityOS's PNGs, and Safari does not draw colour-font glyphs of this kind, so there the system's emoji stand in. |
1213`fonts/` carries a `NOTICE.txt`, the pixel emoji's licence and no README pair: it holds fetched binaries, and the table above is
14its documentation.
1516Why vendor them: pinned bytes cannot change under a site, cannot be taken down, and cannot be
17swapped by someone else's server, and a page whose policy is `default-src 'none'` cannot load
18them from anywhere else.
1920← Previous: [Chapter 22½: inside jev-ui/src](../src/) · Up: [jev-ui](../) · The end of the guide. [Back to Chapter 16: jevcrates](../../)