@media all and (min-width: 900px) {
  .page-with-toc {
    display: flex;
  }
  .page-with-toc > .main {
    flex: 1;
    min-width: 0;
  }
  .page-with-toc > .toc {
    font-size: 0.8em;
    width: 250px;
    min-width: 250px;
    margin-right: 8px;
  }
}

.page-with-toc > .toc,
.toc-root {
  margin-left: -20px;
}
.page-with-toc > .toc li,
.toc-root li {
  list-style: none;
  margin: 0.5em 0;
}
.page-with-toc > .toc li.toc__link-1,
.toc-root li.toc__link-1 {
  font-weight: bold;
}
.page-with-toc > .toc li.toc__link-3,
.toc-root li.toc__link-3 {
  margin-left: 20px;
}
.page-with-toc > .toc li a:link, .page-with-toc > .toc li a:visited,
.toc-root li a:link,
.toc-root li a:visited {
  color: var(--fg-aside);
  border-bottom: none;
}
.page-with-toc > .toc li a,
.toc-root li a {
  line-height: 1.5em;
  border-bottom: thin var(--fg-aside) dotted;
}

.screenshots-grid {
  list-style: none;
  display: grid;
  gap: 8px;
  margin: 0 0 0.75rem;
}
.screenshots-grid__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  background: color-mix(in srgb, var(--accent) 2%, transparent);
}
.screenshots-grid__item > img {
  cursor: pointer;
  height: auto;
  max-height: 100%;
  width: auto;
  max-width: 100%;
}
.screenshots-grid__primary {
  grid-template-columns: repeat(4, 1fr);
}
@media all and (max-width: 900px) {
  .screenshots-grid__primary {
    grid-template-columns: repeat(2, 1fr);
  }
}
.screenshots-grid__primary > *:first-child {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 3;
}
.screenshots-grid__primary .screenshots-grid__item {
  aspect-ratio: 1;
}

/*! Dark2; http://bytefluent.com/devify/ */
td.linenos .normal {
  color: inherit;
  background-color: transparent;
  padding-left: 5px;
  padding-right: 5px;
}

span.linenos {
  color: inherit;
  background-color: transparent;
  padding-left: 5px;
  padding-right: 5px;
}

td.linenos .special {
  color: #000000;
  background-color: #ffffc0;
  padding-left: 5px;
  padding-right: 5px;
}

span.linenos.special {
  color: #000000;
  background-color: #ffffc0;
  padding-left: 5px;
  padding-right: 5px;
}

.codehilite, .codehilite pre, .codehilite table {
  background: #000000 !important;
  color: #f8f8ff !important;
}

.codehilite .hll {
  background-color: #ffffcc !important;
}

.codehilite .c {
  color: #80CC80 !important;
} /* Comment */
.codehilite .err {
  color: #f8f8ff !important;
} /* Error */
.codehilite .g {
  color: #f8f8ff !important;
} /* Generic */
.codehilite .k {
  color: #d2b48c !important;
} /* Keyword */
.codehilite .l {
  color: #f8f8ff !important;
} /* Literal */
.codehilite .n, .codehilite .h {
  color: #f8f8ff !important;
} /* Name */
.codehilite .o {
  color: #f8f8ff !important;
} /* Operator */
.codehilite .x {
  color: #f8f8ff !important;
} /* Other */
.codehilite .p {
  color: #f8f8ff !important;
} /* Punctuation */
.codehilite .cm {
  color: #80CC80 !important;
} /* Comment.Multiline */
.codehilite .cp {
  color: #FF7070 !important;
} /* Comment.Preproc */
.codehilite .c1 {
  color: #80CC80 !important;
} /* Comment.Single */
.codehilite .cs {
  color: #80CC80 !important;
} /* Comment.Special */
.codehilite .gd {
  color: #f8f8ff !important;
} /* Generic.Deleted */
.codehilite .ge {
  color: #f8f8ff !important;
} /* Generic.Emph */
.codehilite .gr {
  color: #f8f8ff !important;
  background-color: #cd0000 !important;
} /* Generic.Error */
.codehilite .gh {
  color: #f8f8ff !important;
} /* Generic.Heading */
.codehilite .gi {
  color: #f8f8ff !important;
} /* Generic.Inserted */
.codehilite .go {
  color: #cdcd00 !important;
  background-color: #1a1a1a !important;
} /* Generic.Output */
.codehilite .gp {
  color: #f8f8ff !important;
} /* Generic.Prompt */
.codehilite .gs {
  color: #f8f8ff !important;
} /* Generic.Strong */
.codehilite .gu {
  color: #f8f8ff !important;
} /* Generic.Subheading */
.codehilite .gt {
  color: #f8f8ff !important;
} /* Generic.Traceback */
.codehilite .kc {
  color: #d2b48c !important;
} /* Keyword.Constant */
.codehilite .kd {
  color: #d2b48c !important;
} /* Keyword.Declaration */
.codehilite .kn {
  color: #d2b48c !important;
} /* Keyword.Namespace */
.codehilite .kp {
  color: #d2b48c !important;
} /* Keyword.Pseudo */
.codehilite .kr {
  color: #d2b48c !important;
} /* Keyword.Reserved */
.codehilite .kt {
  color: #efface !important;
} /* Keyword.Type */
.codehilite .ld {
  color: #f8f8ff !important;
} /* Literal.Date */
.codehilite .m {
  color: #f8f8ff !important;
} /* Literal.Number */
.codehilite .s {
  color: #ee9a00 !important;
} /* Literal.String */
.codehilite .na {
  color: #87ceeb !important;
} /* Name.Attribute */
.codehilite .nb {
  color: #f8f8ff !important;
} /* Name.Builtin */
.codehilite .nc {
  color: #f8f8ff !important;
} /* Name.Class */
.codehilite .no {
  color: #f8f8ff !important;
} /* Name.Constant */
.codehilite .nd {
  color: #f8f8ff !important;
} /* Name.Decorator */
.codehilite .ni {
  color: #DDDD00 !important;
} /* Name.Entity */
.codehilite .ne {
  color: #efface !important;
} /* Name.Exception */
.codehilite .nf {
  color: #87ceeb !important;
} /* Name.Function */
.codehilite .nl {
  color: #efface !important;
} /* Name.Label */
.codehilite .nn {
  color: #f8f8ff !important;
} /* Name.Namespace */
.codehilite .nx {
  color: #f8f8ff !important;
} /* Name.Other */
.codehilite .py {
  color: #f8f8ff !important;
} /* Name.Property */
.codehilite .nt {
  color: #d2b48c !important;
} /* Name.Tag */
.codehilite .nv {
  color: #87ceeb !important;
} /* Name.Variable */
.codehilite .ow {
  color: #efface !important;
} /* Operator.Word */
.codehilite .w {
  color: #f8f8ff !important;
} /* Text.Whitespace */
.codehilite .mf {
  color: #f8f8ff !important;
} /* Literal.Number.Float */
.codehilite .mh {
  color: #f8f8ff !important;
} /* Literal.Number.Hex */
.codehilite .mi {
  color: #f8f8ff !important;
} /* Literal.Number.Integer */
.codehilite .mo {
  color: #f8f8ff !important;
} /* Literal.Number.Oct */
.codehilite .sb {
  color: #ee9a00 !important;
} /* Literal.String.Backtick */
.codehilite .sc {
  color: #ee9a00 !important;
} /* Literal.String.Char */
.codehilite .sd {
  color: #ee9a00 !important;
} /* Literal.String.Doc */
.codehilite .s2 {
  color: #ee9a00 !important;
} /* Literal.String.Double */
.codehilite .se {
  color: #ee9a00 !important;
} /* Literal.String.Escape */
.codehilite .sh {
  color: #ee9a00 !important;
} /* Literal.String.Heredoc */
.codehilite .si {
  color: #ee9a00 !important;
} /* Literal.String.Interpol */
.codehilite .sx {
  color: #ee9a00 !important;
} /* Literal.String.Other */
.codehilite .sr {
  color: #ee9a00 !important;
} /* Literal.String.Regex */
.codehilite .s1 {
  color: #ee9a00 !important;
} /* Literal.String.Single */
.codehilite .ss {
  color: #ee9a00 !important;
} /* Literal.String.Symbol */
.codehilite .bp {
  color: #f8f8ff !important;
} /* Name.Builtin.Pseudo */
.codehilite .vc {
  color: #87ceeb !important;
} /* Name.Variable.Class */
.codehilite .vg {
  color: #87ceeb !important;
} /* Name.Variable.Global */
.codehilite .vi {
  color: #87ceeb !important;
} /* Name.Variable.Instance */
.codehilite .il {
  color: #f8f8ff !important;
} /* Literal.Number.Integer.Long */
.tabs-root {
  margin: 0 0 0.75rem;
}
.tabs-root__switcher {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  display: flex;
  gap: 8px;
  user-select: none;
  position: relative;
  top: 1px;
}
.tabs-root__switcher > li {
  display: block;
  padding: 6px 12px;
  margin: 0 !important;
  cursor: pointer;
  border-bottom: 2px transparent solid;
}
.tabs-root__switcher > li.active {
  color: var(--accent-no-white);
  border-bottom: 2px var(--accent-no-white) solid;
}
.tabs-root > section {
  padding: 16px;
  border-radius: 8px;
  border: thin var(--border-transparent) solid;
}

.fact-grid-root {
  display: grid;
  gap: 8px;
  margin-bottom: 0.75em;
  grid-template-columns: repeat(3, 1fr);
}
@media all and (max-width: 900px) {
  .fact-grid-root {
    grid-template-columns: 1fr;
  }
}
.fact-grid-root > section {
  border: 2px var(--border-transparent) solid;
  border-radius: 8px;
  padding: 12px 12px 0;
  text-align: center;
}
.fact-grid-root > section > header {
  font-weight: bold;
  margin-bottom: 0.4em;
  font-size: 1.4em;
}

.blog-post-header {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.blog-post-header aside {
  opacity: 0.7;
  line-height: 24px;
}
.blog-post-header aside a.tag {
  margin-right: 4px;
}
.blog-post-header aside .material-symbols-outlined {
  position: relative;
  font-size: 20px;
  width: 20px;
  overflow: hidden;
  top: 0.2em;
  margin-right: 4px;
}
.blog-post-header h1 {
  font-size: 2.2rem;
  margin: 0 0 0.5em;
  font-weight: normal;
  color: var(--fg-page);
}

/*# sourceMappingURL=content-page.css.map */
