html {
  background-color: lightgray;
  border: 1em;
  cursor: not-allowed;
  font-family: monospace;
  font-size: 16px;
}
body * {
  cursor: inherit;
  pointer-events: none;
}
#program {
  pointer-events: auto;
}
#editor {
  display: flex;
  height: 10em;
}
#linenumbers {
  background-color: white;
  color: lightgray;
  padding: 0.5em 0.3em;
  overflow: hidden;
  text-align: right;
}
#program, #error {
  box-sizing: border-box;
  font-family: monospace;
  font-size: 1em;
  margin: 0;
  padding: 0.5em;
  width: 100%;
}
#program {
  background-color: white;
  border: 0;
  color: black;
  display: block;
  height: 10em;
  outline: none;
}
#error {
  background-color: black;
  color: white;
  display: none;
  height: 8em;
  white-space: pre;
}
button {
  border: 0.2em solid white;
  border-radius: 0.5em;
  box-shadow: 0 0 0.2em 0.2em white;
  display: none;
  font-family: monospace;
  font-size: 1em;
  margin: 1em 0 0.5em;
  padding: 1em;
  text-align: left;
}
#check { 
  background-color: purple;
  color: white;
}
#reset {
  background-color: red;
  color: white;
}
#start {
  background-color: blue;
  color: white;
}
#hint {
  color: gray;
  display: none;
  font-size: 0.8em;
  margin-top: 0;
}
.hidden {
  height: 0;
  visibility: hidden;
}
#message {
  border-radius: 0.5em;
  padding: 1.5em;
  position: absolute;
  right: 1em;
  top: 1em;
}
#message.neutral {
  background-color: darkslategrey;
  color: white;
}
#message.success {
  background-color: darkgreen;
  color: white;
}
#message.failure {
  background-color: red;
  color: white;
}
#message.animate {
  opacity: 0;
  transition: opacity 5s linear;
}
