apps/mobile/src/App.tsx | 5 +- apps/mobile/src/features/settings/SettingsAppearanceRouteScreen.tsx | 2 + apps/mobile/src/features/settings/UiSettingsSyncSection.tsx | 163 ++++++++++++++++++++++ apps/mobile/src/lib/followUpBehavior.ts | 4 - apps/mobile/src/lib/storage.test.ts | 18 +++ apps/mobile/src/lib/uiSettingsSync.test.ts | 41 ++++++ apps/mobile/src/lib/uiSettingsSync.ts | 28 ++++ apps/mobile/src/persistence/mobile-preferences.ts | 8 ++ apps/mobile/src/state/preferences.ts | 27 +++- apps/mobile/src/state/uiSettingsSync.ts | 206 +++++++++++++++++++++++++++ apps/server/src/auth/RpcAuthorization.test.ts | 8 ++ apps/server/src/auth/RpcAuthorization.ts | 2 + apps/server/src/environment/ServerEnvironment.ts | 1 + apps/server/src/observability/RpcInstrumentation.ts | 3 + apps/server/src/server.ts | 10 +- apps/server/src/uiSettings.test.ts | 113 +++++++++++++++ apps/server/src/uiSettings.ts | 98 +++++++++++++ apps/server/src/ws.ts | 5 + apps/web/src/components/settings/SettingsPanels.tsx | 2 + apps/web/src/components/settings/UiSettingsSyncSection.tsx | 184 +++++++++++++++++++++++++ apps/web/src/components/settings/settingsSearch.ts | 6 + apps/web/src/hooks/useDefaultTheme.test.ts | 4 + apps/web/src/hooks/useDefaultTheme.ts | 11 ++ apps/web/src/hooks/useSettings.ts | 14 ++ apps/web/src/hooks/useTheme.ts | 42 ++++++ apps/web/src/routes/__root.tsx | 2 + apps/web/src/state/uiSettingsSync.test.tsx | 210 ++++++++++++++++++++++++++++ apps/web/src/state/uiSettingsSync.ts | 220 +++++++++++++++++++++++++++++ apps/web/src/themePalette.ts | 48 +++++++ docs/user/appearance.md | 20 ++- packages/client-runtime/package.json | 4 + packages/client-runtime/src/rpc/client.ts | 1 + packages/client-runtime/src/state/commandPermissions.test.ts | 24 ++++ packages/client-runtime/src/state/uiSettingsSync.test.ts | 237 ++++++++++++++++++++++++++++++++ packages/client-runtime/src/state/uiSettingsSync.ts | 209 ++++++++++++++++++++++++++++ packages/contracts/src/clientRpcPermissions.ts | 1 + packages/contracts/src/environment.ts | 1 + packages/contracts/src/index.ts | 2 + packages/contracts/src/rpc.ts | 29 ++++ packages/contracts/src/uiSettings.ts | 91 ++++++++++++ 40 files changed, 2087 insertions(+), 17 deletions(-)