CSS mapping instead of a screen invert
Invert filters flip every pixel, including photographs and video. ForcedSkin takes the opposite approach: it reads CSS-controlled colours (backgrounds, text, borders, form controls, scrollbars, many gradients and pseudo-elements) and remaps them onto the active light or dark palette so surfaces stay related to each other.
That is why a news article can go dark whilst the embedded photo still looks like a photo. When a colour lives only inside a bitmap, canvas buffer, or cross-origin media file, the engine cannot safely repaint those pixels — and it does not pretend to. Compare this with website dark mode.
Local execution, dynamic pages, and open Shadow DOM
Colouring happens in the tab. ForcedSkin does not send page HTML to a server in order to theme it. Content scripts observe the document, including many nodes added after first paint, so single-page apps and ordinary iframes can keep receiving the palette as the UI updates.
Open Shadow DOM can receive injected theme styles. Closed Shadow DOM cannot be restyled from an extension in the general case. Protected browser surfaces (chrome://, the Chrome Web Store) never enter this pipeline. Those boundaries are product facts, not temporary bugs.
- Works on Chromium: Chrome, Edge, Arc
- Incremental updates for dynamic DOM where nodes are styleable
- Closed Shadow DOM and bitmap-only UI remain unchanged
Adapters refine hostnames; they do not replace the engine
The universal engine is the default. Site adapters add declarative JSON (forcedskin-adapter-formula/v1) that matches hostnames and applies extra layer rules when a site’s CSS is unusually hard. Browse published formulae on the adapters catalogue and the adapter guide.
Adapters still only recolour. They do not change layout, swap content, or disable ads. If a hostname should stay native, use a per-site exclusion instead of fighting the engine.
Modes and optional sync sit above the engine
Light and Dark select which stored palette is active. Auto picks light around 06:00–18:00 local time. Off skips the engine entirely. None of these modes rewrite the site’s document; they only decide whether CSS recolouring runs.
Signing in on forcedskin.com is optional. Sync pulls your chosen palettes and adapter list into the extension popup. Theming itself still happens on-device. Start from what ForcedSkin is or pick colours on the theme marketplace.
Common questions
Why do some buttons or panels keep their original colours?
Closed Shadow DOM, canvas, or bitmap backgrounds cannot be recoloured like CSS. Try a community adapter or exclude the site if the result is worse than native.
Does ForcedSkin upload the page I am viewing?
Theming does not require uploading page HTML. Optional network use is for account, catalogue, and public adapter data as described in the privacy policy.
Will this break clicks or SPA routing?
The product is colour-only. It does not intend to block navigation, replace content, or redesign layout.
Is Auto using my camera or geolocation?
No. Auto uses local clock time: light approximately 06:00–18:00.
