* { box-sizing: border-box; }

html {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  background-color: #543;
}

.hidden { visibility: hidden; }
.fs-0 { font-size: 0; }

/* Spacers */
.sp-20 { width: 20px; height: 20px; display: inline-block; }
.sp-30 { width: 30px; height: 30px; display: inline-block; }
.sp-1vh { width: 1vh; height: 1vh; display: inline-block; }
.sp-2vh { width: 2vh; height: 2vh; display: inline-block; }
.sp-3vh { width: 3vh; height: 3vh; display: inline-block; }
.sp-5vh { width: 5vh; height: 5vh; display: inline-block; }

/* Squares of different sizes (mostly used for boards) */
.sq-280 { width: 280px; height: 280px; }
.sq-900 { width: 900px; height: 900px; }

.board {
  background-color: #db6;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.log-container {
  background-color: #2c241e;
  color: rgba(255, 255, 255, 0.7);
  font-family: monospace;
  font-size: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.log {
  padding: 3px;
  white-space: pre-wrap;
  overflow-x: hidden;
  overflow-y: scroll;
}

.console-wrapper {
  display: flex;
  border-top: 1px dashed #96928f;
}
.console-prompt {
  height: 100%;
  padding: 3px;
  display: inline-flex;
  justify-content: center;
}
.console {
  height: 100%;
  padding: 3px;
  display: inline-flex;
  outline: none;
}

.graph {
  background-color: #2c241e;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.button {
  font-family: sans-serif;
  cursor: pointer;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}
.button:hover { opacity: 0.8; }

.pointer { cursor: pointer; }

.log-cmd { font-style: italic; padding-left: 12px; }

.log-rb { color: red; background-color: #090706; }
.log-rw { color: red; background-color: #d5d3d2; }
.log-ro { color: red; background-color: #ba8018; }

