Supposedly, the prefers-*
media features represent the preferences of the user. And in some cases, that is true: User agents dutifully report what the user configured at the OS- or browser-level. And websites are encouraged to accommodate those wishes.
But the model breaks when the user has site-specific preferences. Suddenly the responsibility of keeping track and faithfully representing the user's preferences falls on the site and the user agent's view of the "preference" is plain wrong.
This leaves websites two options:
- Ignore the user's real preference for their site and only honor the system-level configuration.
- (Mostly) ignore the CSS media feature, outside of gathering initial default values via JS.