Currently the CSS-in-JS ecosystem is split into two camps: Runtime CSS-in-JS (Emotion, styled-components) keeps JS on the client for full dynamism. At hydration it reuses the SSR-injected styles, so the CSSOM isn't duplicated but JS code still runs. Zero-runtime (Linaria, Vanilla Extract, Panda...
Source: [Dev.to](https://dev.to/effnd/effcss-hydration-server-work-client-trust-zero-waste-318m)