Reach window.localStorage from Flutter web with package:web, handle the 5 MiB quota, and know when shared_preferences or IndexedDB fits better.