Create a physics-based Tetris game using HTML, CSS, and JavaScript with the Matter.js physics engine.
Requirements:
- Use Matter.js to simulate gravity and collision for Tetris blocks.
- Render blocks on an HTML5 canvas.
- Blocks should be composed of rectangles grouped into Tetris shapes (I, J, L, O, S, T, Z).
- When new blocks spawn, they fall under gravity and collide naturally with other blocks.
- Allow user to control the falling block with buttons on screen, for phones.
- Do not use grid-based logic — rely entirely on physics.
- Add a static floor and walls to keep the blocks inside the play area.
- When blocks stack up beyond the top of the screen, display "Game Over".
- Use minimal CSS, focus on JavaScript and physics simulation.