How it works — the rail up top filters projects by status. Each project auto-computes a progress bar from its milestones — tap a milestone to mark it done. Click a project's status badge to cycle it: Active → Blocked → Shipped → Backlog. Swipe left/right to move between status filters. Everything saves automatically to this browser via localStorage. To add or rename projects and milestones, edit the SEED array near the top of the <script> block in this file.