Redesign the landscape orientation for kiosk readability at 3-10m distance:
- Add dark kiosk background (#1a1a2e) with high-contrast light text
- Replace 2-column grid with 5-row full-width stacking layout
- Add compact weather bar (temp + sunrise/sunset) replacing full widget
- Enlarge countdown to 2em hero size in landscape
- Replace time ranges with next 2-3 absolute departure times
- Add 3-tier urgency colors: Nu (green), 1-2min (red), 3-5min (orange)
- Make site headers full-width blue gradient bars in landscape
- Tighten card spacing (65px min-height, 8px gap) for 4-stop visibility
- Add scrolling news ticker with /api/ticker fallback messages
- Fix daylight bar from position:fixed to relative in landscape grid
- Hide background overlay in landscape for maximum contrast
- Fix weather-section HTML missing closing div tags
All changes scoped behind body.landscape CSS selectors; other orientations unaffected.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Split server.js routes into modular files (server/routes/)
- departures.js: Departure data endpoints
- sites.js: Site search and nearby sites
- config.js: Configuration endpoints
- Reorganized file structure following Node.js best practices:
- Moved sites-config.json to config/sites.json
- Moved API_RESPONSE_DOCUMENTATION.md to docs/
- Moved raspberry-pi-setup.sh to scripts/
- Archived legacy files to archive/ directory
- Updated all code references to new file locations
- Added archive/ to .gitignore to exclude legacy files from repo
- Updated README.md with new structure and organization
- All functionality tested and working correctly
Version: 1.2.0