# The website Three files and a folder of marks. No build step, no dependencies, no framework — open `index.html` and it works, including from a `file://` URL. ``` index.html the page style.css the palette, transcribed from include/theme.h app.js two behaviours: the boot log types, sections fade in Assets/ shift.svg (the logo), uberblock.svg (SchFS), guru.svg (PSOGM) ``` ## The rules it follows **The palette is not a design decision.** It is `include/theme.h`, copied. A site describing an operating system should look like the operating system, and copying the header means the two cannot drift apart by accident. **PSOGM purple appears exactly once.** `#4B1D9A` is on the crash-screen section and nowhere else, because [../branding/README.md](../branding/README.md) says it means *the machine stopped* and that a colour used everywhere means nothing. If it shows up in a second place, that is a bug in the page. **The typefaces are the ones the OS ships.** Roboto for text and JetBrains Mono for the system voice — both already in `ports/`, both already in `NOTICE`. They are requested from the system rather than downloaded: a font file would be larger than the entire rest of the site. **The script is optional.** If `app.js` fails to load the page is still complete and still readable. Everything it does is decoration, and it honours `prefers-reduced-motion` by doing none of it. **The boot log is real.** The lines in `app.js` are from an actual boot, not invented. The timer calibration line is there deliberately; see section 13 of [../history/kernel.md](../history/kernel.md) for what it cost. ## Editing it The numbers in the *Numbers* section are measured, not estimated, and they go stale. To refresh them: ```sh find kernel include -name '*.c' -o -name '*.h' | xargs wc -l | tail -1 grep -c '^SYSCALL' kernel/sys/table.inc ``` The feature cards carry a tag — `runs`, `in progress`, or `designed` — and the tag is a promise. Anything marked `runs` is in the tree and works today. When that stops being true, change the tag rather than the wording.