input {
  display: none;
}
#top {
  position: relative;
  display: block;
  top: 1rem;
  left: 1rem;
  height: var(--block);
}
#top > span {
  display: inline-block;
  height: var(--block);
  width: var(--block);
  border: 1px solid black;
}
label {
  cursor: pointer;
}
#top > span > label {
  width: 100%;
  height: 100%;
  display: inline-block;
  text-align: center;
  line-height: var(--block);
}
#game {
  position: relative;
  left: 1rem;
  top: 2rem;
}
#win {
  --height: calc(9 * var(--block) + 2px * 9 + 10px + 4px);
  position: absolute;
  left: 1rem;
  top: calc(2rem + var(--block));
  height: var(--height);
  width: var(--height);
  padding: 0;
  overflow: hidden;
  z-index: 30;
  pointer-events: none;
}
#win > div {
  --height: calc(9 * var(--block) + 2px * 9 + 10px + 4px);
  height: var(--height);
  width: calc(10 * var(--height));
  padding: 0;
}
#win > div > span {
  display: inline-block;
  background: transparent;
  height: var(--height);
  width: var(--height);
}
#win > div > span:nth-child(10) {
  background: rgba(255,50,50,0.4);
  text-align: center;
  font-size: 2rem;
  line-height: 3rem;
  box-sizing: border-box;
  padding: 1rem;
  text-shadow: 2px 2px 3px rgba(255, 255, 255, 1),2px -2px 3px rgba(255, 255, 255, 1),-2px 2px 3px rgba(255, 255, 255, 1),-2px -2px 3px rgba(255, 255, 255, 1),1px 1px 1px rgba(255, 255, 255, 1),1px -1px 1px rgba(255, 255, 255, 1),-1px 1px 1px rgba(255, 255, 255, 1),-1px -1px 1px rgba(255, 255, 255, 1),4px 4px 4px rgba(255, 255, 255, 1),4px -4px 4px rgba(255, 255, 255, 1),-4px 4px 4px rgba(255, 255, 255, 1),-4px -4px 4px rgba(255, 255, 255, 1);
}
#container {
  position: relative;
}
#container {--block: 2.5rem;}
@media screen and (max-width: 30rem){
  #container {--block: 2rem;}
}
@media screen and (max-width: 23rem){
  #container {--block: 1.5rem;}
}
@media screen and (max-width: 16rem){
  #container {--block: 1.25rem;}
}
