update 0: add viewport and css