 html, body, h1, h2, div, form, p, ul, li, iframe, figure { margin: 0; border: 0; padding: 0; list-style: none; }
 .hidden { display: none; }

 html { background: white; color: black; text-shadow: 0.1em 0.1em 0.25em silver; }
 body:not(.nested) { background: url(http://www.hixie.ch/resources/images/astrophy/original) bottom repeat-x; border: solid transparent; }
 h1 { color: hsla(45, 100%, 50%, 1.0); text-shadow: 0 0 0.25em black; }
 h1 { color: black; text-shadow: 0 0 0.25em white; }
 h1 span:first-child { background: url(http://www.hixie.ch/resources/images/astrophy/original) top right repeat-x; }
 h1 span:last-child { background: url(http://www.hixie.ch/resources/images/astrophy/original) top left repeat-x; }
 .links, .comics { background: rgba(255, 255, 255, 0.5); }
 :link { color: hsla(240, 100%, 50%, 1.0); }
 :visited { color: hsla(300, 100%, 25%, 1.0); }
 :link small { color: hsla(240, 25%, 75%, 1.0); }
 :visited small { color: hsla(300, 25%, 75%, 1.0); }
 :link:active, :visited:active { text-shadow: none; position: relative; top: 1px; left: 1px; }
 img { border: none; }
 html { font: 500 15px sans-serif; }
 h1 { font: 900 4.5em serif; text-align: center; min-height: 70px; }
 h1 :link, h1 :visited { text-decoration: none; color: inherit; }

 body { text-align: center; }
 ul { text-align: left; }
 html { white-space: nowrap; }
 body:not(.nested) { padding-bottom: 100px; }
 h1 { display: table; width: 100%; }
 h1 > * { display: table-cell; }
 h1 > a { padding: 0 0.25em; }
 h1 > span { width: 50%; }
 body > div + div { border-top: solid 0.3em; margin-top: 0.75em; }
 body > div + div:not(:last-child) { margin-bottom: 4em; }
 body > div > div { display: table; margin: auto; max-width: 100%; }
 body > div > div > div { display: table-cell; }
 iframe { display: block; }

 .forms > div > div { background: rgba(255, 255, 128, 1.0); -webkit-border-radius: 0.75em; -moz-border-radius: 0.75em; }
 .forms { margin-top: 0.75em; margin-bottom: 2.5em; padding-top: 0.5em; padding-bottom: 0.5em; }
 .forms > div { border-spacing: 1.5em 0.45em; }
 .forms > div > div { padding: 0.2em 0.5em; }

 .links { margin-bottom: 4em; }
 .links > div > div { padding: 0 1em; }
 ul ul { padding-left: 0.5em; padding-bottom: 0.25em; }
 ul ~ ul, .links iframe { padding-top: 0.5em; }
 small { font: inherit; }
 .links h2 { margin: -0.75em -0.75em 0.5em 0; text-align: left; }

 .comics > p { margin: 4em 0 5em; }
 body > div > h2 { margin: -0.75em 0 0; }
 h2 span { padding: 0 0.5em 0.1em 0.5em; }
 h2 span { background: black; color: white; text-shadow: 0 0 0.25em yellow; border: solid black; -webkit-border-radius: 0.5em; -moz-border-radius: 0.5em; }
 .data figcaption { text-align: left; margin: 1em 0 0 0; position: relative; z-index: 1; }
 embed { margin: 1em auto 0; }
 .data p { text-align: left; margin: 0; }
 .tickers span { margin: 0 1em; }
 #legend { font-size: smaller; display: block; text-align: right; margin: -0.5em 2em -1.5em 0; }
 #legend span { border-left: 1em solid; padding: 0 0.5em; margin: 0 0 0 1em; }
 #connectionStatus { position: fixed; top: 22px; right: 2em; padding: 0.25em 0.5em; }
 #connectionStatus:not(.connected) { border: dotted black; background: yellow; color: black; }
 #connectionStatus.connected { border: solid transparent; text-shadow: 0 0 0.5em white; color: green; }

 #xkcd-message { white-space: pre-wrap; display: block; margin: 0 10%; }

/*
 @-webkit-keyframes alarm-border-transparent {
   from { border-color: transparent; }
   to { border-color: red; }
 }
 @-webkit-keyframes alarm-border-black {
   from { border-color: black; }
   to { border-color: red; }
 }
 @-webkit-keyframes alarm-shadow {
   from { text-shadow: 0 0 0 transparent; }
   to { text-shadow: 0 0 0.5em red; }
 }
 @-webkit-keyframes alarm-background {
   from { background: black; }
   to { background: maroon; }
 }

 body.in, body.in * {
   -webkit-animation-duration: 1s;
   -webkit-animation-timing-function: ease-in-out;
   -webkit-animation-iteration-count: 3;
   -webkit-animation-direction: alternate;
 }

 body.out { border: solid green; }
 body.out h1 { text-shadow: 0 0 0.5em green; }
 body.out h2 span { background: #006600; color: white; border-color: green; }
 body.out .links, body.out .comics { border-color: green; }

 body.in { border: solid red; -webkit-animation-name: alarm-border-transparent; }
 body.in h1 { text-shadow: 0 0 0.5em red; -webkit-animation-name: alarm-shadow; }
 body.in h2 span { background: maroon; color: white; border-color: red; -webkit-animation-name: alarm-background, alarm-border-black; }
 body.in .links, body.in .comics { border-color: red; -webkit-animation-name: alarm-border-black; }
*/
