- main.tsx: use HashRouter when loaded over file:// (packaged desktop
has no server for History API path routing); keep BrowserRouter on
the http web build.
- add build:desktop script (vite build --base=./ --outDir dist-desktop)
so assets resolve under file://; gitignore dist-desktop.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>