StyleSheet Limits

Why StyleSheet Alone Does Not Scale

StyleSheet gives you validated, typed style objects, and nothing else: no shared scale for spacing or type, no theme, no states such as "pressed" or "dark", and no way to find every use of a color. Counting the hex colors written into BookNest's source after Forms and Validation shows the result:

Counting hard-coded colors in BookNestShell
grep -rhoiE "'#[0-9a-f]{6}'" src | sort | uniq -c | sort -rn | head -5
grep -rhoiE "'#[0-9a-f]{6}'" src | sort -u | wc -l
grep -rl "StyleSheet.create" src | wc -l
Output
     26 '#1565c0'
     14 '#e3f2fd'
      9 '#eceff1'
      6 '#546e7a'
      6 '#37474f'
30
18

The brand blue appears 26 times, among 30 distinct colors in 18 style sheets. Changing the brand color is a search-and-replace, and dark mode means a second palette threaded through every component, which is exactly what Building a Dark Mode Toggle's theme context had to do by hand. Styling libraries add design tokens (named colors and spacing in one file), variants (dark:, active:) that replace ternaries, and often compile-time work that turns it all into plain style objects before the app runs. NativeWind does all three with Tailwind 5,202 's vocabulary.