body {
  font-size: 100% ;
  min-width: 30em ;
  width: 50em ;
  max-width: 50em ;
  position: absolute ;
  left: 50% ;
  transform: translate(-50%, 0);
  font-family: font-family: Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;
}

.output, .input, code {
  font-family: Lucida Console,Lucida Sans Typewriter,monaco,Bitstream Vera Sans Mono,monospace;
}

.output {
  overflow: auto ;
  min-height: 15em ;
  max-height: 15em ;
}

.input {
  border: 1px solid gray;
  border-radius: 0.3em;
  width: 50em;
  max-width: 50em;
}

em, code {
  color: #777777 ;
}

.strike {
  text-decoration: line-through;
}

ol {
  list-style-type: cjk-ideographic ;
}

li.todo, li.done, li.failed {
  list-style:    none;
  margin-left:   0   ;
  text-indent:  -1em ;
}

li.todo ul>li:not(.todo):not(.done):not(.failed),
li.done ul>li:not(.todo):not(.done):not(.failed),
li.failed ul>li:not(.todo):not(.done):not(.failed) {
  list-style:    initial ;
  margin-left:   initial ;
  text-indent:   initial ;
  content:       initial ;
}

li.todo ol>li:not(.todo):not(.done):not(.failed),
li.done ol>li:not(.todo):not(.done):not(.failed),
li.failed ol>li:not(.todo):not(.done):not(.failed) {
  list-style:    cjk-ideographic ;
  margin-left:   initial ;
  text-indent:   initial ;
  content:       initial ;
}



li.todo:before {
  content: "☐" ;
  padding-right: 0.5em;
}

li.done:before {
  content: "☑" ;
  padding-right: 0.5em;
}

li.failed:before {
  content: "⚠" ;
  padding-right: 0.5em;
}

span.string {
  color: green ;
}

span.command {
  font-weight: bold ;
}

span.file {
  color: orange ;
}

.derp {
  font-size: 500%;
  color: darkred;
  font-family: Georgia, "Times New Roman", "KaiTi", "楷体", STKaiti, "华文楷体", serif;
}

/* vim stuff */
.Constant { color: #bb6060; }
.Special { color: #bb40bb; }
.Identifier { color: #00bbbb; }
.Statement { color: #bbbb00; }
.Comment { color: #8080bb; }
.PreProc { color: #bb40bb; }
