apps/desktop/src/preview/BrowserSession.ts | 4 + apps/desktop/src/settings/DesktopClientSettings.test.ts | 9 + apps/web/index.html | 9 +- apps/web/package.json | 2 - apps/web/src/appearanceFonts.test.ts | 71 +++++ apps/web/src/appearanceFonts.ts | 352 +++++++++++++++++++++ apps/web/src/components/BranchToolbar.tsx | 102 +++++- apps/web/src/components/BranchToolbarBranchSelector.tsx | 7 +- apps/web/src/components/BranchToolbarEnvModeSelector.tsx | 9 +- apps/web/src/components/BranchToolbarEnvironmentSelector.tsx | 14 +- apps/web/src/components/ComposerPromptEditor.tsx | 8 +- apps/web/src/components/SidebarV2.tsx | 4 +- apps/web/src/components/ThreadTerminalDrawer.tsx | 32 +- apps/web/src/components/composerInlineChip.ts | 17 +- apps/web/src/components/settings/FontFamilyPicker.tsx | 254 +++++++++++++++ apps/web/src/components/settings/SettingsFontPreviews.tsx | 232 ++++++++++++++ apps/web/src/components/settings/SettingsPanels.tsx | 534 ++++++++++++++++++++++++++++++-- apps/web/src/components/settings/settingsLayout.tsx | 5 + apps/web/src/components/settings/settingsSearch.ts | 25 ++ apps/web/src/index.css | 118 ++++--- apps/web/src/main.tsx | 3 - apps/web/src/routes/__root.tsx | 34 ++ apps/web/src/terminal/ghostty/surface.test.ts | 36 +++ apps/web/src/terminal/ghostty/surface.ts | 87 +++++- packages/contracts/src/settings.ts | 72 +++++ pnpm-lock.yaml | 16 - 26 files changed, 1934 insertions(+), 122 deletions(-)