Extracts the avatar components and the style tokens into shared/ui, which
both apps consume as a workspace package, to try out ADR 2. Nix and the
Docker setups are not updated yet.
The sanitizer allowlist strips KaTeX's markup, and index.html never
loaded katex.min.css, so math has only ever shown up as flat text. We
now typeset math after sanitizing and load the stylesheet.