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 |
||
|---|---|---|
| .. | ||
| blog | ||
| fonts | ||
| chat.html | ||
| host-your-own.html | ||
| how-it-works.html | ||
| index.html | ||
| kernel.html | ||
| stamp.js | ||
| zebra-audio.html | ||
| zebra-spaces.html | ||