body {
  display: grid;
  justify-content: center;
  align-content: center;
  width: 100svw;
  height: 100svh;
  grid-template-columns: 60svmin;
  background: lightblue;
}

table {
  border-collapse: collapse;
  user-select: none;
}

td {
  width: 10svmin;
  height: 10svmin;
  border: thin solid;
  background: hsl(60,40%,96%);
}

.satisfied {
  background: #ccc;
}

.counter {
width: 100%;
height: 100%;
  background: orange;
  border-radius: 50%;
}

.blocked {
  background: black;
}