html {
  margin: 1.5in;
}

body {
  margin: 0 auto;
  font-family: sans-serif;
}

h3 {
  margin-top: 4em;
  text-decoration: underline;
}

h4 {
  margin-top: 3em;
}

.phases_figure {
  display: flex;
  flex-wrap: wrap;
}

.phase {
  border: 1px black solid;
  padding: 1em;
  max-width: 6em;
  text-align: center;
}

.arrow {
  text-align: center;
}

.arrow_label {
  text-align: center;
  max-width: 3em;
}

.arrow_table {
  display: inline;
}

.code {
  font-family: monospace;
}

pre.code {
  margin-left: 2em;
}

span[slot=premise] {
  margin: 0 1em;
}

deriv-tree {
  margin: 1em;
  font-family: monospace;
}

deriv-tree [slot="rule"] {
  font-family: sans-serif;
  font-size: 0.85em;
}

.error {
  color: red;
  background-color: lightgray;
}

.ruleset {
  display: inline-flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: space-around;
}