A design system does not need to be huge. A small, well-named set of tokens for colour, type and spacing goes a long way toward consistency.
Start with tokens
Define semantic tokens once, then let components consume them. When you support both light and dark, override only the semantic layer — never duplicate component rules.