Add viewport, mobile style, and adaptive UI