Problem
The SavedTrail model exists with API routes, but there's no save/unsave UI (no heart handler on trail cards) and the profile 'Saved Trails' tab is a hardcoded empty state.
Acceptance
- Save/unsave control on trail cards + detail, wired to SavedTrail endpoints (dedup per user+trail).
- Profile 'Saved' tab loads the user's saved trails.