feat(ui): add role team panel, collaboration flow, and new expert empty states

- Add ProjectRole model with normalizeProjectRoles() persistence
- Extract ExpertPanelLead, RoleTeamPanel, RoleCollaborationFlow components
- Add roleIconPaths.tsx for SVG icon rendering by role type
- Add empty states for planner, wechat, geo, zhihu experts
- Revamp xiaohongshu empty state with CSS variable-driven theme system
- Add brand card and workspace logo styles for new expert types
- Wire isStreaming from sendPhase for role status indicators
- Fix geo regex from /geo/ to /\bgeo\b/ to avoid false matches
- Strengthen normalizeProjectRoles validation (non-empty strings, skillIds element check)
- Add prefers-reduced-motion overrides for title animations
- Remove unused --expert-arrow CSS variable

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Found errors in your .gitlab-ci.yml:

  • cache:key config should be a string or symbol
You can test your .gitlab-ci.yml in CI Lint.