* {
  box-sizing: border-box;
  user-select: none;
  font-family: Verdana, sans-serif;
}

a {
  color: currentColor;
}

body {
  margin: 1em;
  margin: 0;
}

.grid {
  display: flex;
  flex-direction: column;
}

.grid > .row {
  display: flex;
  height: 32px;
}

.grid > .row-l {
  display: flex;
  height: 64px;
}

.wall {
  width: 32px;
  height: 32px;

  background-color: black;
}

.wall-l {
  width: 32px;
  height: 64px;

  background-color: black;
}

.grid .e {
  width: 32px;
  height: 100%;
}

.b {
  width: 32px;
  height: 32px;

  font-size: 9pt;

  background-color: black;
  color: white;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.b-l {
  width: 32px;
  height: 64px;

  font-size: 9pt;

  background-color: black;
  color: white;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.grid .e-l {
  width: 64px;
  height: 100%;
}

.chest-h {
  width: 64px;
  height: 32px;

  font-size: 9pt;

  border: 1px solid white;

  display: flex;
  align-items: center;
  justify-content: center;

  background-color: white;
  color: black;

  border: 1px solid black;
}

.chest-v {
  width: 32px;
  height: 64px;

  font-size: 9pt;

  border: 1px solid white;

  display: flex;
  align-items: center;
  justify-content: center;

  writing-mode: sideways-lr;

  background-color: white;
  color: black;

  border: 1px solid black;
}

.chest-h.selected,
.chest-v.selected {
  background-color: red;
  color: white;
}

.chest-h:hover,
.chest-v:hover {
  background-color: lightgray;
  cursor: pointer;
}

.chest-h.selected:hover,
.chest-v.selected:hover {
  background-color: darkred;
}

.contentRow {
  display: flex;
  gap: 1em;
  margin: 1em;
}

.controls {
  flex: 1;

  padding-left: 1em;
  padding-right: 1em;
}

.controls .spacer {
  margin-bottom: 1em;
}

.search-container {
  width: 100%;
  border-radius: 2px;

  border: 1px solid black;
}

.search-container input {
  width: 100%;
  border-radius: 2px;
  border: none;
  border-bottom: 1px solid black;
  outline: none;
}

.search-container .search-results {
  font-size: 10pt;

  padding: 2px;

  display: flex;
  flex-direction: column;
  gap: 2px;

  overflow-y: scroll;
  max-height: 25em;
}

.single-results {
  font-size: 10pt;

  padding: 2px;

  display: flex;
  flex-direction: column;
  gap: 2px;

  overflow-y: scroll;
  max-height: 10em;

  border: 1px solid black;
  border-radius: 2px;
}

.selectedChestStacks > div {
  margin-top: 1em;
}

button {
  background-color: #c0c0c0;
  color: black;
  border: none;
  padding: 4px 12px;

  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #404040;
  border-right: 2px solid #404040;

  box-sizing: border-box;
  cursor: pointer;
}

button:active {
  border-top: 2px solid #404040;
  border-left: 2px solid #404040;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.header {
    background-color: black;
    color: white;
    border-bottom: 10px solid greenyellow;
    padding: 1em;
}