Use position:fixed with inset:0 for the game screen instead of height-based sizing. This bypasses the Chrome Android 100vh bug where vh includes space behind the dynamic URL bar. Also adds -webkit-fill-available fallback on body. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>