Replace the frontend's USE_MOCKS toggle with MOCK_SCENARIO. Blank or unset values use the real API; unknown names report the available scenarios.
Each scenario lives in its own file: normal, empty-drive, directory-error, upload-error, share-error, and slow-network. Shared fixtures and the mock transport live under src/mocks. Error scenarios target specific requests, and slow-network adds a cancellable two-second delay to mock API requests.
Validation: frontend lint and formatting, frontend and Vite configuration typechecks, and production builds with mocks enabled and disabled passed. Existing blob-based previews bypass the simulated network delay.