
body, html {
  width: 100%; height: 100%; padding: 0; margin: 0;
  box-sizing: border-box;
  font-family: monospace;
}

* { box-sizing: inherit; }

canvas {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

#toolbar {
  position: fixed;
  left: 30px;
  top: 30px;
}

#toolbar>div, #zoom>div {
  display: block;
  width: 50px;
  height: 50px;
  background: #333;
  margin-bottom: 4px;
}
#toolbar>div {
  background: #fff;
  border-radius: 8px 12px;
  border: 3px solid rgba(0,0,0,0.2)
}
#zoom>div {
  background: transparent;
}

#toolbar > div.enabled {
  border: 5px black inset;
}

#pantool {
  margin-bottom: 4px;
}

#pantool>img,#zoomin>img,#zoomout>img { width: 100%; height: 100% }

#zoom {
  position: fixed;
  top: 30px;
  right: 30px;
}

.touch-none{
  touch-action: none;
}

#position {
  position: fixed;
  bottom: 30px;
  left: 30px;
  background: rgba(255,255,255,0.5);
  padding: 3px;
  user-select: none;
}

#connected {
  position: fixed;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 15px;
  font-size: 40px;
  color: white;
  transition: top 0.6s;
}

#loader {
  position:fixed;
  top: 45%;
  left: 45%;
}

#spinner {
  border-top: 16px solid blue;
  border-right: 16px solid green;
  border-bottom: 16px solid red;
  border-left: 16px solid pink;
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
}

#loaded {
  display: none
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}