Options: a copy of the library for each club, club colors set by hand on each screen, or one base theme that asks for semantic tokens. We chose tokens: a component never knows a club’s color, it asks for bgPrimary or radius/control and the club theme answers. Cost: more time up front on tokens and variables. In return, a new club is a new set of variables, not a recolor of every screen.