In order to make your field fit into screen by height, you can give it height and width in vh units (which is not usual practice - we used to use vw units for width, but in this case it's ok since we need square shape of the field), remove all absolute sizing from your cells as well as anything that influences the structure of your field. Make rows and and field itself to be flex containers and play with it's properties such as flex-grow/basis/shrink for flex items. Obviously, you should make flex-direction: column for the field. There are some code style issues in your work, but I will point out them in next issues after you finish your task.
In order to make your field fit into screen by height, you can give it height and width in vh units (which is not usual practice - we used to use vw units for width, but in this case it's ok since we need square shape of the field), remove all absolute sizing from your cells as well as anything that influences the structure of your field. Make rows and and field itself to be flex containers and play with it's properties such as flex-grow/basis/shrink for flex items. Obviously, you should make flex-direction: column for the field. There are some code style issues in your work, but I will point out them in next issues after you finish your task.