- Replace all bare 'size_t' with 'std::size_t' in core/*.cpp, io/*.cpp, headers
- Fix distance_estimator: 'threat' class now uses config.ref_spl_gunshot instead of hardcoded 150.0f
- Add --threshold CLI arg to demo_offline (default 0.5)
- Rewrite mobile_phone_source.cpp to match PIMPL header API
- All tests pass: test_core_lib 6/6, demo_offline 20/20, extract_mel_cpp, test_classifier_cpp