The app's outer shell: it applies the chosen theme — follow the OS (the default), or fixed light or dark, tracking live OS changes only while following — and wraps every page in an error boundary, so a crash shows its recoverable card on the app's own background instead of a blank page.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
