html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background-color: #000;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-gap: .75vh;
  padding: 8px;
  font-family: 'Bungee Shade', cursive;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

body::before {
  z-index: 100;
  content: attr(data-lives);
  position: absolute;
  bottom: 24px;
  right: 16px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 32px;
  mix-blend-mode: difference;
}

body::after {
  content: 'COOL';
  position: absolute;
  display: none;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 20vmin;
}

body.win::after {
  display: block;
}

div {
  border: 1px solid #fff;
  height: 2.5vh;
}

@media (min-width: 400px) {
  body {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-gap: 8px;
  }
  div {
    height: 3.5vh;
  }
}

div:nth-of-type(1),
div:nth-of-type(2),
div:nth-of-type(3) {
  position: absolute;
  top: 0;
  left: 0;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #fff;
}

div:nth-of-type(2) {
  opacity: .6;
}

div:nth-of-type(3) {
  opacity: .3;
}

div:nth-of-type(4) {
  position: absolute;
  top: 0;
  left: 0;
  height: 8px;
  width: 72px;
  background: #fff;
}