/* MAD-65 — minimal stylesheet. Black background, white text, default fonts. */

body {
  background: #000;
  color: #fff;
  max-width: 44em;
  margin: 0 auto;
  padding: 2em 1.2em 6em;
  line-height: 1.5;
}

a         { color: #fff; }
a:visited { color: #bbb; }
a:hover   { background: #fff; color: #000; text-decoration: none; }

h1, h2, h3 { line-height: 1.2; }
h1 { margin-bottom: 0.2em; }
h2 { margin-top: 2em; border-bottom: 1px solid #444; padding-bottom: 0.2em; }

hr { border: 0; border-top: 1px solid #444; margin: 2.5em 0; }

/* Navigation — one plain text line, identical on every page. */
nav          { border-bottom: 1px solid #444; padding-bottom: 0.6em; margin-bottom: 2em; }
nav a,
nav .here    { margin-right: 1em; }   /* both, or the items after the current
                                         page shift left by exactly one em */
nav .here    { color: #888; text-decoration: none; }

/* Everything here is 1-bit pixel art — never smooth it. */
img         { max-width: 100%; height: auto; image-rendering: pixelated; }

/* Screenshots: the 800x600 captures are the console's 400x300 framebuffer
   doubled, so displaying them at half size lands exactly one image pixel on
   one screen pixel and gives back the native picture. The window border was
   cropped off the files for the same reason — a one-pixel frame would have
   knocked the halving off the grid. */
figure      { margin: 1.5em 0; text-align: center; }
figure img  { width: 400px; }
figcaption  { color: #bbb; font-size: 0.9em; margin-top: 0.4em; }

/* The logo, centred on every page, at its native 120x80 — no CSS width, so
   the browser cannot scale it and the pixels stay hard.

   Every page uses the identical a.masthead element, so this spacing is the
   same everywhere — an h1 here would compute the em margins against a 2em
   font and open a visibly different gap on that page alone. */
.masthead        { display: block; text-align: center; margin: 0 auto 1.5em; }
.masthead:hover  { background: none; }

/* The three doors on the front page, and download blocks. */
.door {
  border: 1px solid #444;
  padding: 0.8em 1em;
  margin: 1em 0;
}
.door h3 { margin: 0 0 0.3em; }
.door p  { margin: 0; color: #bbb; }

.download {
  border: 2px solid #fff;
  padding: 1em;
  margin: 1.5em 0;
}
.download a { font-size: 1.2em; }

/* Table of contents on the generated documentation pages. Collapsed by
   default — some of these documents have well over a hundred headings. */
details.toc          { border: 1px solid #444; padding: 0.6em 1em; margin-bottom: 2em; }
details.toc summary  { cursor: pointer; }
details.toc ul       { padding-left: 1.2em; }
details.toc li       { margin: 0.1em 0; }

/* The toc extension appends a "#" permalink to every heading. */
.headerlink { color: #444; text-decoration: none; margin-left: 0.4em; }
.headerlink:hover { background: none; color: #fff; }

blockquote {
  border-left: 2px solid #444;
  margin: 1.5em 0;
  padding-left: 1em;
  color: #bbb;
  font-style: italic;
}

code, pre { font-family: monospace; }
pre {
  border: 1px solid #444;
  padding: 0.8em;
  overflow-x: auto;
}

table { border-collapse: collapse; margin: 1em 0; }
th, td { border: 1px solid #444; padding: 0.3em 0.7em; text-align: left; }

.muted  { color: #bbb; }
.status { color: #bbb; font-size: 0.9em; }

footer {
  border-top: 1px solid #444;
  margin-top: 4em;
  padding-top: 1em;
  color: #bbb;
  font-size: 0.9em;
}
