fix(viewport): better mobile support