diff --git a/CLAUDE.md b/CLAUDE.md index 2f643ac..60edd10 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -183,8 +183,17 @@ persistence) → GUI (Qt widgets that read the manager and connect to its signal replaced audio.js + jQuery (abandoned since 2012; jQuery was only ever glue — audio.js never used it). `player-graphics.gif` must ship **byte-identical**: it's an animated GIF whose loading frame is a spinner, not a flat sprite - sheet. Registered in `setup.py` via `package_data`; loaded with - `importlib.resources` so an installed copy finds it. + sheet — which is why Round 41 recolors its pale glyphs to black with + `filter: brightness(0)` in CSS rather than editing the file. The one + user-chosen color (link/row hover backgrounds + the progress fill) travels as + a `:root { --accent }` custom property declared in `index.html`, so + `player.css` can read it while staying a verbatim `shutil.copyfile` — the page + is still the only rendered template. `exporter.normalize_accent` is a hard + gate, not politeness: the value lands raw inside a `