body, h1, h2, h3, h4, h5, h6 {
  font-family: sans-serif;
}
body {
  font-size: 12px;
  color: #000;
  line-height: 1.5;
}

code {
  padding: 2px 4px;
  white-space: nowrap;
  border-radius: 4px;

  color: #00366e;
  background-color: #edf2f7;
  border: 1px solid #d8e1eb;
}

body.dark {
  background-color: #1d1c1b;
  color: white;
}

body.dark a {
  color: #83BFFB;
}

body.dark code {
  background-color: #333;
  border-color: #444;
  color: #b3d8ff;
}

body.dark #container {
  background-color: #1d1c1b;
}

#container {
  background-color: #fff;
}

@media (min-width: 1024px) {
  #container {
    position: absolute;
    top: 0;
    left: 0;
    right: 450px;
    bottom: 0;
  }
  #visualization {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
  }

  #side {
    position: absolute;
    top: 10px;
    bottom: 10px;
    right: 10px;
    width: 430px;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
}

@media (max-width: 1023px) {
  body, html {
    height: 100%;
  }

  #container {
    position: relative;
    height: 70%;
  }
  #visualization {
    height: 100%;
  }

  #side {
    padding: 0 10px 10px 10px;
  }
}

.key, kbd {
  font-size: 85%;
  vertical-align: 10%;
  text-transform: uppercase;
  border: 1px solid #ddd;
  background-color: #f4f4f4;
  padding: 1px 4px;
  border-radius: 3px;
  box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.2);
  color: black;
}