A1. Feature-first structure under lib/features — account, audio, auth, daily_data, feedback, onboarding, programme, programme_day, shell, today — each owning its own presentation, application, domain, and data layers.
A2. Strict unidirectional flow: UI renders from BLoC state, BLoCs coordinate repositories, repositories own data sources. The domain layer is pure Dart with no Flutter imports, so it is deterministic and directly testable.
A3. A Dio client composed of four single-responsibility interceptors — auth header injection, 401 token refresh, transient retry, and redacted logging.
A4. Local persistence split by purpose: Hive for feature caches and offline reads, hydrated_bloc for automatic state restoration, and flutter_secure_storage for tokens.
A5. Firebase provides Crashlytics, Firestore, and Analytics; audio_service and just_audio drive background playback with OS media controls.
A6. Three build flavours (development, staging, production) with a shared bootstrap entry point, so environment configuration never leaks into feature code.