.brainfuck {
  font-family: var(--monospace);
  border: 1px solid var(--white);
  padding: 0.5rem;
}

.brainfuck-tape {
  font-family: var(--monospace);
}

.inline-brainfuck {
  font-family: var(--monospace);
  border-color: var(--blue);
  cursor: pointer;
}

.brainfuck-popup {
  min-width: 50%;
  padding: 0;
}

.brainfuck .code {
  word-break: break-all;
  overflow-wrap: break-word;
}

.brainfuck .code .active {
  background-color: var(--blue);
  color: var(--black);
}

.brainfuck .code .highlight {
  background-color: var(--red);
  color: var(--black);
}

.brainfuck .code .end {
  color: transparent;
}

.inline-brainfuck .end {
  display: none;
}

.brainfuck p {
  margin-top: 0.2rem;
  margin-bottom: 0.1rem;
}

.brainfuck-tape .cell {
  border: 1px solid var(--white);
  padding: 0.5rem;
  min-width: calc(2ch + 1rem + 1px);
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
}

.brainfuck-tape .cell-active {
  background: var(--blue);
  color: var(--black);
}

.brainfuck .controls {
  margin-top: 0.5rem;
}

.brainfuck .controls button {
  border: 1px solid var(--white);
  font-family: var(--serif);
  background-color: transparent;
  color: var(--white);
  font-size: 100%;
  
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.1rem;
  padding-bottom: 0.1rem;

  border-radius: 100vh;

  transition: 50ms linear;
}

.brainfuck .controls button:not(:disabled):hover {
  color: var(--black);
  background-color: var(--blue);
}

.brainfuck .controls button:active, .brainfuck .controls button:disabled {
  filter: brightness(80%);
}
