* {
  box-sizing: border-box;
  overscroll-behavior: none;
  user-select: none;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

#webgl-container {
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100vh;
}
#webgl {
  outline: none;
  width: 100%;
  height: 100%;
}

.loader-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  user-select: none;
  background-color: rgba(255, 255, 255, 0.87);
  transition: background-color 0.5s ease-in-out;
}
.loader {
  width: 11px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(60, 128, 184);
  display: grid;
  animation: l22-0 2s infinite linear;
  transition: background-color 0.5s ease-in-out;
}
.loader:before,
.loader:after {
  content: "";
  grid-area: 1/1;
  margin: 15%;
  border-radius: 50%;
  background: inherit;
  transform: rotate(0deg) translate(150%);
  animation: l22 1s infinite;
}
.loader:after {
  animation-delay: -.5s
}
@keyframes l22-0 {
  100% {transform: rotate(1turn)}
}
@keyframes l22 {
  100% {transform: rotate(1turn) translate(150%)}
}
.loaded {
  pointer-events: none;
  background-color: transparent;
}
.loaded .loader {
  background-color: transparent;
}