* {
  box-sizing: border-box;
}

body {
  font-family: Georgia;
  max-width: 70em;
  margin: 12px;
}

h1, h2, h3, h4, h5, h6 {
  font-style: italic;
  color: DarkBlue;
  margin-bottom: 0.2em;
}

h1 {
  margin-top: 0;
}

h2, h3, h4, h5, h6 {
  margin-top: 1em;
}

h2 {
  font-size: 1.5em;
  font-weight: bold;
}

p {
  margin-top: 0.5em;
  word-spacing: 0.3ex;
}

footer {
  position: absolute;
  top: 1em;
  right: 1em;
}

form label {
  display: block;
  margin-bottom: 6px;
}

form input {
  width: 90%;
  margin-bottom: 20px;
  padding: 3px;
}

.output {
  background-color: whitesmoke;
  border: 1px dashed crimson;
  width: 95%;
  padding: 1em;
  margin: 0;
}

.output.error {
  color: Crimson;
}

.output th {
  width: 100px;
  text-align: right;
  padding-right: 20px;
}

.output td {
  font-family: 'Bitstream Vera Sans Mono', 'Andale Mono', 'Lucida Console', monospace, fixed;
}

.pass {
  color: green;
}

.fail {
  color: red;
}

.output td.empty-string {
  font-family: inherit;
  font-size: smaller;
  font-style: italic;
}

.output td.empty-string:not(.fail) {
  color: #CCC;
}

summary {
  cursor: pointer;
}

samp {
  font-family: monospace;
}
