html, body {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	background: black;
}

.page {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	font-family: monospace;
	user-select: none;
}

.clock {
	position: absolute;
	top: 40px;
	left: 40px;
	color: white;
}

.stat {
	position: absolute;
	top: 40px;
	right: 40px;
	color: white;
}

.desk {
	width: 630px;
	min-width: 630px;
	height: 630px;
	margin: auto;
	background: #545151; /* grey */
}

.cell {
	width: 90px;
	height: 90px;
	color: lightskyblue;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	box-sizing: border-box;
	border: 1px solid white;
}

.cell:hover, .cell:focus, .cell:active {
	border: 3px solid darkblue;
}

.cell.focused {
	border: 3px solid darkblue;
}

.cell.last {
	background: darkblue;
}

@media only screen and (max-width: 630px) {
  .desk {
  	width: 560px;
  	min-width: 560px;
  	height: 560px;
  }

  .cell {
  	width: 80px;
	  height: 80px;
  }
}

@media only screen and (max-width: 560px) {
  .desk {
  	width: 490px;
  	min-width: 490px;
  	height: 490px;
  }

  .cell {
  	width: 70px;
	  height: 70px;
  }
}

@media only screen and (max-width: 490px) {
  .desk {
  	width: 420px;
  	min-width: 420px;
  	height: 420px;
  }

  .cell {
  	width: 60px;
	  height: 60px;
  }
}

@media only screen and (max-width: 420px) {
  .desk {
  	width: 350px;
  	min-width: 350px;
  	height: 350px;
  }

  .cell {
  	width: 50px;
	  height: 50px;
  }
}

@media only screen and (max-width: 350px) {
  .desk {
  	width: 280px;
  	min-width: 280px;
  	height: 280px;
  }

  .cell {
  	width: 40px;
	  height: 40px;
  }
}
