1# Chapter 22¾: jev-ui/assets — what the pages load 2 3Everything a Jev page loads comes from here, embedded in the crate and served by the site 4itself. 5 6| 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. | 12 13`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. 15 16Why 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. 19 20← Previous: [Chapter 22½: inside jev-ui/src](../src/) · Up: [jev-ui](../) · The end of the guide. [Back to Chapter 16: jevcrates](../../)