body {
  background-color: #000;
}

*:focus {
    outline: none;
}

*, *:before, *:after {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	line-height: 1;
	font-family: Arial, sans-serif;
}

svg {
  position: relative;
  background-color: #000;
  transform: rotate(180deg);
}

canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  image-rendering: pixelated;
  image-rendering: -webkit-optimize-contrast; /* webkit */
  image-rendering: -moz-crisp-edges /* Firefox */
}

.loader {
  display: block;
  position: absolute;
  color: white;
  font-family: 'Courier New', Courier, monospace;
  font-size: 12pt;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999;
}

.loader:after {
  content: attr(data-progress);
  margin-left: 1em;
}

.loaded .loader {
  display: none;
}

.loaded canvas {
  opacity: 1;
}