refactor(ChengduGamePage): replace manual WebSocket logic with composable hook
- Replace manual WebSocket connection and state management with
useChengduGameRoom composable
- Remove unused imports and authentication related code
- Simplify component by extracting room state logic into separate hook
- Clean up redundant functions and variables that are now handled
by the composable
- Update component lifecycle to use the new composable's methods
for connecting WebSocket and managing room state
```
feat(game): add player cards and topbar styling for Chengdu Mahjong game
- Add new CSS classes for topbar layout including .topbar-left,
.topbar-back-btn, .topbar-room-meta, .eyebrow, and .topbar-room-name
- Create dedicated player card components for each seat position
(top, right, bottom, left)
- Refactor seatDecor computed property to use SeatPlayerCardModel
interface with proper typing
- Replace inline player badge rendering with reusable player card
components
- Update game header layout to use new topbar structure with
back button and room metadata
- Adjust spacing and font sizes in game header elements
```
fix(backend): resolve merge conflicts and update API proxy configuration
- Remove leftover merge conflict markers from ChengduGamePage.vue
- Fix broken HTML structure by properly closing header and section tags
- Update proxy configuration to point to correct backend port (19000)
- Clean up import statements and remove conflicting code blocks
```