body {
  font-size: 24px;
  font-family: brandon-grotesque, futura, sans-serif;
  background-color: black;
  color: #444;
  height: 100%;
}

.hidden {
  opacity: 0;
  transition: opacity 1s;
  display: none;
}

.visible {
  opacity: 1;
  transition: opacity 2s;
}

#status-message {
  background-color: #ffffee;
  box-shadow: #666 inset 0 0 6px;
  margin: 1em;
  padding: 1em;
}

button {
  text-transform: uppercase;
  color: #444;
  font-size: 0.8em;
  cursor: pointer;
  background-color: white;
  padding: 0.5em;
  border-radius: 0.5em;
  border-width: 1px;
  border-color: #aaa;
  border-style: solid;
  font-family: futura;
  min-width: 44px;
  box-shadow: #444 0 0 4px;
}

#joints circle {
}

.n-by-n-edge {
  stroke-width: 0.01;
}

.bone {
  stroke: hsl(140, 70%, 50%);
  stroke-width: 0.1;
}

.node circle {
  /* stroke: hsl(10, 70%, 50%); */
  stroke: white;
  stroke-width: 0.1;
  fill: none;
}

.node text {
  fill: white;
  font-size: 2px;
}

.limb-edge {
  stroke-width: 1;
}

.cut-point {
  /* fill: red; */
}

.cut-path {
  fill: none;
  /* stroke-width: 0.5; */
  /* stroke-dasharray: 2 1; */
}

.tunnel-fill {
}

.curve-dest {
  stroke: none;
}

.curve-src-ctrl {
  stroke: none;
}

.curve-dest-ctrl {
  stroke: none;
}

.figure {
  font-size: 4px;
  font-family: none;
  opacity: 0.85;
}

.embiggened .figure {
  /* font-size: 20px; */
}

#story-text {
  text-align: center;
  color: white;
  margin: 1em;
  font-size: 30px;
}

#book-area {
  margin: 1em;
  height: 1024px;
}

@media all and (max-height: 568px) {
  body {
    font-size: 18px;
  }
}

