body {
  overflow: hidden;
  margin: 0;
  padding: 0;
  background-color: #000;
/*  color: #FFF;*/
  font-family: Cousine, monospace;
/*  text-justify: distribute-all-lines;*/
}

img {
  width: auto;
  height: 100vmin;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50.05%, -50%) scale(100.25%, 100.75%);
}

div#board-container { 
  box-sizing: border-box;
/*  border: 1px solid red;*/
/*  background-color: #CCC;*/
  display: flex;
  flex-wrap: wrap;
  height: 100vmin;
  aspect-ratio: 1 / 1;
  margin: auto;
  padding: 9.1vmin; /*board border width*/
/*  opacity: 0.5;*/
}

@media (orientation: portrait) {

  div#board-container {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); 
  }

}

div.square {
  display: flex;
  width: 12.5%;
  box-sizing: border-box;
/*  border: 1px solid #000;*/
  aspect-ratio: 1 / 1;
  padding: 0.4vmin;
  font-size: 1vmin;
  text-align: left;
  align-items: center;
  justify-content: start;
  opacity: 0.9;
  text-shadow: 0vmin 0.1vmin 0vmin rgba(0,0,0,0.7);
  border-radius: 100%;
  background-clip: padding-box;
}

div.square.light {
/*  background-color: rgba(204, 204, 204, 0.25);*/
  color: #000;
} 

div.square.dark {
/*  background-color: rgba(51, 51, 51, 0.25);*/
  color: #FFF;
}

.cursor:after {
    content:"|";
    opacity: 0;
    animation: cursor 0.5s infinite;
}

@keyframes cursor {
    0% {
        opacity: 0;
    }
    40% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
