zebra-report/web
Russell Ballestrini b32661ce50
zebra-spaces: dark/light toggle (top-right), persists in localStorage
CSS filter approach — invert(1) hue-rotate(180deg) on body, with a
matching re-invert on video / canvas / img so the actual content
(screen-share, camera, QR code) still reads correctly. One toggle
flips every painted colour in one stroke: 'invert everything' as
literally as the browser will let us.

- floating top-right button (.theme-toggle)
- preference persists across reloads via 'zebra-spaces-theme-v1'
- inline <head> script applies the class before first paint to avoid
  a white-flash for users who pick dark mode
- the same button label flips between 'dark' and 'light' so the user
  knows which mode the click switches TO
2026-06-01 21:45:23 -04:00
..
blog phase 1: unfirehose reconstruction from session JSONL ingest 2026-05-27 13:51:14 -04:00
fonts phase 2: gap analysis — cat>> append + binary asset recovery 2026-05-27 13:54:19 -04:00
chat.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
host-your-own.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
how-it-works.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
index.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
kernel.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
stamp.js web: stamp each zebra-report page with build date + md5/sha256 2026-05-28 17:50:12 -04:00
zebra-audio.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
zebra-spaces.html zebra-spaces: dark/light toggle (top-right), persists in localStorage 2026-06-01 21:45:23 -04:00