Phase 0 of the room GATE VIEW + seat-renewal sprint. Mirrors the my-sea
treatment: on any room page the self-referential CONT GAME is replaced
by a GATE VIEW button that opens the room's renewal gate-view.
- `room_view` page_class → "page-gameboard page-room"; the bare gameboard
listing stays "page-gameboard" (no page-room) so CONT GAME persists
there for returning to a recent room.
- `_navbar.html` GATE VIEW branch fires on `page-my-sea` OR `page-room`;
onclick routes, in precedence: page-room → epic:room_gate (room in
context); my-sea-visit → visitor gate; else owner's sea gate. One
consolidated branch (DRY) instead of two near-identical button blocks.
Tests: RoomNavbarGateViewTest (4) — room page shows GATE VIEW not CONT
GAME, links to room_gate, gate-view page also shows it, page-room marker
present. 826 epic+gameboard ITs green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>