NewsKit's theme system is designed to be as flexible as possible to allow for multiple brands to re-use the same common components. Our library utilises the Emotion CSS-in-JS library. You can read more about Emotion on their website at: emotion.sh.
A NewsKit theme is built up from a layer of foundations - such as colours, fonts and sizing scales. These foundations are then utilised by "presets" - these are the style presets (the "look and feel"), typography presets, and space presets. Component defaults then complete this - these are all the default theme tokens used by each component.