html, textarea, input {
  font: .8em/1.6 sans-serif;
}

body {
  max-width: 40em;
  padding: 0 1em;
}

h1 {
  text-align: center;
  font-size: 1.3em;
  margin: 0 0 .5em;
  padding-top: 1em;
}

h2 {
  font-size: 1em;
}

a {
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #aaa;
  padding: .1em .2em;
}

a:hover, a:focus {
  color: #fff;
  border-color: #036;
  background: #36c;
}

textarea, input {
  font-family: Monaco, Consolas, monospace;
}

#footer {
  margin-top: 2em;
  text-align: center;
}

textarea, input {
  border: 3px double green;
  background: #90ee90;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  margin: 0 .5em;
  padding: .5em;
  resize: vertical;
}

textarea {
  display: block;
  width: 100%;
  min-height: 14.5em;
  margin: 1em 0 .5em;
  padding: .7em;
}

code {
  font-family: Monaco, Consolas, monospace;
  font-size: .9em;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.invalid, :invalid {
  border-color: red;
  background: #ffb6c1;
}

@media (min-width: 42em) {

  html {
    font-size: 1.2em;
    background: #c4c4c4;
    height: 100%;
  }

  body {
    margin: 0 auto;
    padding: 0 2em;
    min-height: 100%;
    background: #fff;
    border: solid #aaa;
    border-width: 0 1px;
  }

}
