body { background-color: #000; color: #8f8; font-family: sans-serif; margin-left: 3vw; margin-right: 3vw; margin-top: 10px; margin-bottom: 10px; }
.todo { color: #f00; background-color: #fff; }
hr, td, th, pre code, figure, p.update { border-color: #035; border-width: 1px; border-style: solid; }
hr.feint { border-color: #010; }
h1, h2, h3, h4, code:not([class]), strong, th, td, a:link, a:visited { color: #4fc; }
a:focus, a:hover, a:active { color: #fff; }
.todo, p.update { font-weight: bold; }
h1, h2, h3, h4 { font-style: normal; margin-bottom: 0; }
time, tr:has(:nth-last-child(n+3)) { font-size: smaller; }
h1 { font-size: 2em; }
th { text-align: left; }
p, time { margin-top: 1ex; }
h1, h2:first-child, h3, h4 { margin-top: 0; }
header { margin-bottom: 1lh; }
footer { margin-top: 1lh; }
table { margin-top: 0; border-collapse: collapse; }
td, th, pre code, figure, p.update { padding: 1em; margin: 0; }
p, table { margin-bottom: 1ex; }
img { margin-bottom: 2ex; width: 100%; display: block; }
hr { margin-top: 1lh; margin-bottom: 1lh; }
code:not(pre code) { white-space: nowrap; }
h1 span, p.tag-line span, p.aliases span { display: inline-block; }
#cover-pic {
 margin-top: 1lh;
 margin-bottom: 1lh;
}
#cover-pic img { max-height: 70vh; max-width: 100%; width: auto; margin-left: auto; margin-right: auto; }
section, header, footer {
 display: grid;
 -moz-column-gap: 6vw;
      column-gap: 6vw;
 justify-self: center;
 grid-template-columns: min( 41vw, 70ch ) min( 41vw, 70ch );
}
@media (width < 1000px) {
section, header, footer { grid-template-columns: min( 94vw, 70ch );
} }
@media (width >= 1000px) {
 h1, time, footer div { grid-column: span 2; }
}
section:not(.front-page) { margin-bottom: 2lh; }
section.front-page { row-gap: 5lh; }
aside {
 overflow-x: auto;
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
}
aside  > figure,aside  > pre,aside  > table { max-width: 100%; }
pre code { width: -moz-fit-content; width: fit-content; display: block; overflow-x: auto; }
.hljs-class { font-weight: bold; }
.hljs-string { color: #ffb; }
.hljs-comment { color: #777; }
.hljs-attr, .hljs-property, .hljs-variable { color: #5fd; }
.hljs-params { color: #fc7; }
.hljs-built_in, .hljs-punctuation, .hljs-keyword { color: #f4a; }
.hljs-subst { color: #44f; }
.hljs-number, .hljs-literal { color: #88f; }
.hljs-function { color: #f0f; }
.hljs-title { color: #fa0; }
.hljs-meta { color: #ff6; }
