* {
  margin: 0;
  padding: 0;
}

body {
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  color: #222;
  background-color: #fefefe;
  line-height: 1.4;
  font-family: Times New Roman, serif;
  font-size: 14pt;
  overflow-x: hidden;
}

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

footer img {
  width: 1.4em;
  padding: 0.4em;
}

.e-content > pre {
  overflow-x: auto;
}

article {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
}

main, .e-content {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: grid;
  grid-template-columns: auto min(80ch, 95vw) auto;
}

p, dl {
  margin-top: 1em;
}

h1 + p, h2 + p, h3 + p, h4 + p {
  margin-top: 0em;
}

/* Headlines */
h1, h2, h3, h4 {
  margin-top: 1em;
}

article > h2, article > .by-line {
  display: block;
  text-align: center;
  margin-left: 1em;
}

/* Do not highlight links in headlines */
h1 > a, h2 > a, h3 > a, h4 > a {
  color: #222;
  text-decoration: none;
}

figure {
  margin-top: 1em;
}

figure > img, figure > video, figure > svg, figure > picture > img, figure > .asciicast {
  display: block;
  max-width: 90vw;
  max-height: 95vh;
  margin: 0 auto;
  height: auto;
  object-fit: contain;
}

figure > figcaption {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  text-align: center;
  font-style: italic;
}

.large_pixelart {
  width: 10em;
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

.pixelart {
  image-rendering: pixelated;
  image-rendering: -moz-crisp-edges;
  image-rendering: crisp-edges;
}

figure.highlight {
  padding: 0.5em;
}

figure.highlight > pre {
  overflow: auto;
}

code, figure.highlight {
  border-radius: 4px;
  /*    padding: 0.2em;*/
  font-size: 12pt;
  font-family: monospace;
}

div.highlight {
  margin-top: 1em;
  padding: 0.5em;
  border-radius: 4px;
  overflow-x: auto;
}

p > code, li > code {
  background-color: #ededed;
}

table {
  margin-top: 1em;
  display: block;
  overflow-x: auto;
}

a {
  color: rgb(20, 70, 245);
  text-decoration: none;
}

blockquote {
  margin-top: 1em;
  margin-left: 1em;
  padding: 0.5em;
  border-left: 0.8em #3d7e9a solid;
  border-radius: 4px;
  background-color: rgb(220, 240, 255);
  color: #111;
}

blockquote > p {
  margin-top: 0em;
}

blockquote .source {
  display: block;
  text-align: right;
  margin-right: 2em;
  font-style: italic;
}

th {
  background-color: #111;
  color: #eee;
  padding: 0.2em;
}

tr:nth-child(2n) {
  background-color: #999;
}

td {
  padding: 0.2em;
}

ul, ol {
  margin-left: 2em;
}

/* Index site */
#posts {
  list-style-type: none;
  margin-left: 0;
}

#posts li {
  margin-top: 3em;
}

#posts time {
  display: block;
  color: #666;
}

/* Navigation */
header {
  width: min(90vw, 100ch);
  margin: 3em auto;
  display: table;
}

header h1, header a, header details {
  display: inline;
}

nav {
  display: flex;
  align-items: center;
}

nav a {
  text-decoration: none;
  color: #333;
  margin-right: 1em;
}

nav > ul {
  margin-left: auto;
  list-style-type: none;
}

nav > ul > li {
  display: inline-block;
}

/* Do not show hamburger menu on desktop devices */
@media (min-width: 960px) {
  .e-content > figure:not(.noexpand) {
    margin: 1em auto 0 auto;
    grid-column: 1/4;
    max-width: 95vw;
  }
}
main > *, .e-content > *, .noexpand {
  grid-column: 2;
}

.noexpand img {
  max-width: 100%;
}

.inline {
  display: inline;
}

#logo {
  font-size: 160%;
}

#logo > span {
  font-weight: bolder;
}

.comments {
  max-width: 80ch;
  margin: 1em auto 0em auto;
}

.tags {
  text-align: center;
}

label {
  margin-top: 1em;
  display: block;
}

input {
  display: block;
  margin-left: 1.5em;
}

input[type=submit] {
  margin-left: 0;
  margin-top: 1em;
}

@media (prefers-color-scheme: dark) {
  body {
    color: #f1f1f1;
    background-color: #1f1f1f;
  }
  .darkmode-inverted {
    filter: invert(1);
  }
  a {
    color: #94c1e8;
  }
  p > code, li > code {
    background-color: #101010;
  }
  nav details summary {
    filter: invert(1);
  }
  nav > details[open] {
    background-color: #1f1f1f;
  }
  nav a {
    color: #f1f1f1;
  }
  h1 > a, h2 > a, h3 > a, h4 > a {
    color: #f1f1f1;
  }
  blockquote a {
    color: #403bf2;
  }
}
div.danger {
  margin-top: 1em;
  color: #721c24;
  background-color: #f5c6cb;
  padding: 1em;
  border-radius: 4px;
}

img.round {
  border-radius: 50%;
}

.watchface {
  width: 10em;
  height: 10em;
  box-shadow: 0.2em 0.2em 0.5em gray;
}
@media (prefers-color-scheme: dark) {
  .watchface {
    box-shadow: 0.2em 0.2em 0.5em #111;
  }
}

.imagegrid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.imagegrid img {
  margin: 0.5em;
}

.border {
  border: solid 1px black;
}

.medium_width {
  max-width: 30em;
}

@font-face {
  font-family: Latin Modern Math;
  src: local("Latin Modern Math"), local("LatinModernMath-Regular"), url("fonts/latinmodern-math.otf");
}
math {
  font-family: Latin Modern Math;
  font-size: 110%;
}

dt {
  font-weight: bold;
}

dd {
  margin-bottom: 1em;
  margin-left: 1em;
}

/* Syntax highlighting */
/* Theme name: Thankful Eyes
https://raw.githubusercontent.com/rouge-ruby/rouge/master/lib/rouge/themes/thankful_eyes.rb
*/
.highlight table td {
  padding: 5px;
}

.highlight table pre {
  margin: 0;
}

.highlight {
  color: #faf6e4;
  background-color: #122b3b;
}

.highlight .gl {
  color: #dee5e7;
  background-color: #4e5d62;
}

.highlight .gp {
  color: #a8e1fe;
  font-weight: bold;
}

.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: #6c8b9f;
  font-style: italic;
}

.highlight .cp {
  color: #b2fd6d;
  font-weight: bold;
}

/* Do not highlight errors
.highlight .err {
  color: #fefeec;
  background-color: #cc0000;
} */
.highlight .gr {
  color: #cc0000;
  font-weight: bold;
  font-style: italic;
}

.highlight .k, .highlight .kd, .highlight .kv {
  color: #f6dd62;
  font-weight: bold;
}

.highlight .o, .highlight .ow {
  color: #4df4ff;
  font-weight: bold;
}

.highlight .p, .highlight .pi {
  color: #4df4ff;
}

.highlight .gd {
  color: #cc0000;
}

.highlight .gi {
  color: #b2fd6d;
}

.highlight .ge {
  font-style: italic;
}

.highlight .gs {
  font-weight: bold;
}

.highlight .gt {
  color: #dee5e7;
  background-color: #4e5d62;
}

.highlight .kc {
  color: #f696db;
  font-weight: bold;
}

.highlight .kn {
  color: #ffb000;
  font-weight: bold;
}

.highlight .kp {
  color: #ffb000;
  font-weight: bold;
}

.highlight .kr {
  color: #ffb000;
  font-weight: bold;
}

.highlight .gh {
  color: #ffb000;
  font-weight: bold;
}

.highlight .gu {
  color: #ffb000;
  font-weight: bold;
}

.highlight .kt {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .no {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .nc {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .nd {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .nn {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .bp {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .ne {
  color: #b2fd6d;
  font-weight: bold;
}

.highlight .nl {
  color: #ffb000;
  font-weight: bold;
}

.highlight .nt {
  color: #ffb000;
  font-weight: bold;
}

.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: #f696db;
  font-weight: bold;
}

.highlight .ld {
  color: #f696db;
  font-weight: bold;
}

.highlight .ss {
  color: #f696db;
  font-weight: bold;
}

.highlight .s, .highlight .sa, .highlight .sb, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .sr, .highlight .s1 {
  color: #fff0a6;
  font-weight: bold;
}

.highlight .se {
  color: #4df4ff;
  font-weight: bold;
}

.highlight .sc {
  color: #4df4ff;
  font-weight: bold;
}

.highlight .si {
  color: #4df4ff;
  font-weight: bold;
}

.highlight .nb {
  font-weight: bold;
}

.highlight .ni {
  color: #999999;
  font-weight: bold;
}

.highlight .w {
  color: #BBBBBB;
}

.highlight .go {
  color: #BBBBBB;
}

.highlight .nf, .highlight .fm {
  color: #a8e1fe;
}

.highlight .py {
  color: #a8e1fe;
}

.highlight .na {
  color: #a8e1fe;
}

.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: #a8e1fe;
  font-weight: bold;
}

/*# sourceMappingURL=main.css.map */