The main menu was becoming a list that never ended. Its categories are tabs now, so the rail stays the same size no matter how much the game grows; the app's type scale was retuned to match.
The dashboard's page loaders are request-cached, so the shell costs one set of database reads instead of two, and pages render their children exactly once. Fonts are served locally now, so the game no longer depends on a third-party font host, the menu tabs no longer bleed outside their panel, and character-panel stat labels stop wrapping.
