@charset "UTF-8";
@import url(Fira/fira.css);
@import url("Roboto Slab/stylesheet.css");
@media (prefers-color-scheme: dark) {
  :root {
    --main-bg: #103c48;
    --main-text: #adbcbc;
    --main-bg-em: #184956;
    --main-text-em: #cad8d9;
    --main-text-deem: #72898f;
    --main-red: #fa5750;
    --main-green: #75b938;
    --main-yellow: #dbb32d;
    --main-blue: #4695f7;
    --main-magenta: #f275be;
    --main-cyan: #41c7b9;
    --main-orange: #ed8649;
    --main-violet: #af88eb;
    --code-bg: #181818;
    --code-text: #b9b9b9;
    --code-bg-em: #252525;
    --code-text-em: #dedede;
    --code-text-deem: #777777;
    --code-red: #ed4a46;
    --code-green: #70b433;
    --code-yellow: #dbb32d;
    --code-blue: #368aeb;
    --code-magenta: #eb6eb7;
    --code-cyan: #3fc5b7;
    --code-orange: #e67f43;
    --code-violet: #a580e2;
  }
}
@media (prefers-color-scheme: light) {
  :root {
    --main-bg: #fbf3db;
    --main-text: #53676d;
    --main-bg-em: #ece3cc;
    --main-text-em: #3a4d53;
    --main-text-deem: #909995;
    --main-red: #d2212d;
    --main-green: #489100;
    --main-yellow: #ad8900;
    --main-blue: #0072d4;
    --main-magenta: #ca4898;
    --main-cyan: #009c8f;
    --main-orange: #c25d1e;
    --main-violet: #8762c6;
    --code-bg: #ffffff;
    --code-text: #474747;
    --code-bg-em: #ebebeb;
    --code-text-em: #282828;
    --code-text-deem: #878787;
    --code-red: #d6000c;
    --code-green: #1d9700;
    --code-yellow: #c49700;
    --code-blue: #0064e4;
    --code-magenta: #dd0f9d;
    --code-cyan: #00ad9c;
    --code-orange: #d04a00;
    --code-violet: #7f51d6;
  }
}
.figure__text {
  font-family: monospace;
  fill: #53676d;
  fill: var(--main-text);
}
.figure__text--yellow {
  fill: #ad8900;
  fill: var(--main-yellow);
}
.figure__text--orange {
  fill: #c25d1e;
  fill: var(--main-orange);
}
.figure__text--red {
  fill: #d2212d;
  fill: var(--main-red);
}
.figure__text--magenta {
  fill: #ca4898;
  fill: var(--main-magenta);
}
.figure__text--violet {
  fill: #8762c6;
  fill: var(--main-violet);
}
.figure__text--blue {
  fill: #0072d4;
  fill: var(--main-blue);
}
.figure__text--cyan {
  fill: #009c8f;
  fill: var(--main-cyan);
}
.figure__text--green {
  fill: #489100;
  fill: var(--main-green);
}
.figure__line {
  stroke: #53676d;
  stroke: var(--main-text);
}
.figure__line--yellow {
  stroke: #ad8900;
  stroke: var(--main-yellow);
}
.figure__line--orange {
  stroke: #c25d1e;
  stroke: var(--main-orange);
}
.figure__line--red {
  stroke: #d2212d;
  stroke: var(--main-red);
}
.figure__line--magenta {
  stroke: #ca4898;
  stroke: var(--main-magenta);
}
.figure__line--violet {
  stroke: #8762c6;
  stroke: var(--main-violet);
}
.figure__line--blue {
  stroke: #0072d4;
  stroke: var(--main-blue);
}
.figure__line--cyan {
  stroke: #009c8f;
  stroke: var(--main-cyan);
}
.figure__line--green {
  stroke: #489100;
  stroke: var(--main-green);
}
.figure__fill--yellow {
  fill: #ad8900;
  fill: var(--main-yellow);
}
.figure__fill--orange {
  fill: #c25d1e;
  fill: var(--main-orange);
}
.figure__fill--red {
  fill: #d2212d;
  fill: var(--main-red);
}
.figure__fill--magenta {
  fill: #ca4898;
  fill: var(--main-magenta);
}
.figure__fill--violet {
  fill: #8762c6;
  fill: var(--main-violet);
}
.figure__fill--blue {
  fill: #0072d4;
  fill: var(--main-blue);
}
.figure__fill--cyan {
  fill: #009c8f;
  fill: var(--main-cyan);
}
.figure__fill--green {
  fill: #489100;
  fill: var(--main-green);
}

a:link {
  color: #0072d4;
  color: var(--main-blue);
}

a:visited {
  color: #8762c6;
  color: var(--main-violet);
}

a:active {
  color: #d2212d;
  color: var(--main-red);
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  font-family: "Fira Sans", sans-serif;
}

body {
  background-color: #fbf3db;
  background-color: var(--main-bg);
  color: #53676d;
  color: var(--main-text);
  font-size: 18px;
  margin: 2.2em auto;
  max-width: 40em;
  line-height: 1.6;
  padding: 0 0.5em;
  font-family: "Roboto Slab", serif;
}

.align-right {
  float: right;
}

.centered {
  display: block;
  margin: auto;
}

.paginator__link--disabled {
  color: #909995;
  color: var(--main-text-deem);
}

.nav-menu {
  background-color: #ece3cc;
  background-color: var(--main-bg-em);
  color: #3a4d53;
  color: var(--main-text-em);
  display: flex;
  list-style: none;
  margin: 0 auto;
  font-family: "Fira Sans", sans-serif;
  border-radius: 0.4em;
  border-style: solid;
  border-color: #489100;
  border-color: var(--main-green);
  border-width: 0.25em;
  padding: 0;
}
.nav-menu__link {
  vertical-align: middle;
  display: flex;
}
.nav-menu__link:first-child {
  border-radius: 0.15em 0 0 0.15em;
  padding-left: 0.3em;
}
.nav-menu__link:last-child {
  border-radius: 0 0.15em 0.15em 0;
  padding-right: 0.3em;
}
.nav-menu__link:not(:last-child)::after, .nav-menu__link:not(:first-child)::before {
  content: "";
  border-style: solid;
  border-color: #489100;
  border-color: var(--main-green);
  border-width: 0.0625em;
  margin: 0.1em 0;
}
.nav-menu__link:not(:last-child)::after {
  border-radius: 0.4em 0 0 0.4em;
  margin-left: 0.3em;
}
.nav-menu__link:not(:first-child)::before {
  border-radius: 0 0.4em 0.4em 0;
  margin-right: 0.3em;
}
.nav-menu__link--active {
  font-weight: bold;
}
.nav-menu__link--spacer {
  align-self: stretch;
  flex-grow: 1;
}
.nav-menu__link--category, .nav-menu__link--tag {
  align-self: flex-end;
}
.nav-menu__internal-spacer {
  flex-grow: 1;
}

.footer__social-list {
  list-style: none;
  font-family: "Fira Sans", sans-serif;
}

.footer__feed-list {
  list-style: none;
  font-family: "Fira Sans", sans-serif;
}

.category-nav__links {
  display: flex;
  justify-content: space-between;
}
.category-nav__link--disabled {
  color: #909995;
  color: var(--main-text-deem);
}
.category-nav__separator {
  height: 0.25em;
  border-radius: 0.125em;
  border: none;
  background: #ad8900;
  background: var(--main-yellow);
}

.entry__content {
  border-style: solid;
  border-color: #ca4898;
  border-color: var(--main-magenta);
}

.page__content {
  border-style: solid;
  border-color: #009c8f;
  border-color: var(--main-cyan);
}

.entry__content, .page__content {
  border-radius: 0.4em;
  border-width: 0.25em;
  padding: 0.3em;
  overflow-wrap: break-word;
  overflow-x: auto;
}
.entry__content hr, .page__content hr {
  height: 0.25em;
  border-radius: 0.125em;
  border: none;
}
.entry__content hr:nth-child(8n+1), .page__content hr:nth-child(8n+1) {
  background: #ad8900;
  background: var(--main-yellow);
}
.entry__content hr:nth-child(8n+2), .page__content hr:nth-child(8n+2) {
  background: #c25d1e;
  background: var(--main-orange);
}
.entry__content hr:nth-child(8n+3), .page__content hr:nth-child(8n+3) {
  background: #d2212d;
  background: var(--main-red);
}
.entry__content hr:nth-child(8n+4), .page__content hr:nth-child(8n+4) {
  background: #ca4898;
  background: var(--main-magenta);
}
.entry__content hr:nth-child(8n+5), .page__content hr:nth-child(8n+5) {
  background: #8762c6;
  background: var(--main-violet);
}
.entry__content hr:nth-child(8n+6), .page__content hr:nth-child(8n+6) {
  background: #0072d4;
  background: var(--main-blue);
}
.entry__content hr:nth-child(8n+7), .page__content hr:nth-child(8n+7) {
  background: #009c8f;
  background: var(--main-cyan);
}
.entry__content hr:nth-child(8n+8), .page__content hr:nth-child(8n+8) {
  background: #489100;
  background: var(--main-green);
}

.info {
  text-align: right;
}
.info__tags {
  display: flex;
}
.info__taglist {
  list-style: none;
  display: flex;
  max-width: 100%;
}
.info__tag {
  max-width: 100%;
  align-items: flex-start;
  display: flex;
}
.info__tag:not(:last-child)::after {
  content: ", ";
  align-self: flex-end;
}

.footnote-reference {
  vertical-align: super;
  font-size: smaller;
}

pre {
  font-family: "Fira Mono", monospace;
  margin-top: 0;
  margin-bottom: 0;
}

.smiley .admonition-title {
  text-indent: -999em;
  width: 48px;
  height: 48px;
}
.smiley.admonition .admonition-title {
  background-color: #fbf3db;
  background-color: var(--main-bg);
  margin-left: auto;
  margin-right: auto;
}
.smiley-normal .admonition-title {
  background: url("../images/yellow-smiley-light.png");
}
@media (prefers-color-scheme: dark) {
  .smiley-normal .admonition-title {
    background: url("../images/yellow-smiley-dark.png");
  }
}
@media (prefers-color-scheme: light) {
  .smiley-normal .admonition-title {
    background: url("../images/yellow-smiley-light.png");
  }
}
.smiley-glitchy .admonition-title {
  background: url("../images/yellow-smiley-glitchy-light.png");
}
@media (prefers-color-scheme: dark) {
  .smiley-glitchy .admonition-title {
    background: url("../images/yellow-smiley-glitchy-dark.png");
  }
}
@media (prefers-color-scheme: light) {
  .smiley-glitchy .admonition-title {
    background: url("../images/yellow-smiley-glitchy-light.png");
  }
}
.smiley-glitchier .admonition-title {
  background: url("../images/yellow-smiley-glitchier-light.png");
}
@media (prefers-color-scheme: dark) {
  .smiley-glitchier .admonition-title {
    background: url("../images/yellow-smiley-glitchier-dark.png");
  }
}
@media (prefers-color-scheme: light) {
  .smiley-glitchier .admonition-title {
    background: url("../images/yellow-smiley-glitchier-light.png");
  }
}

.admonition {
  border-style: solid;
  border-color: #0072d4;
  border-color: var(--main-blue);
  border-radius: 0.4em;
  border-width: 0.25em !important;
  padding: 0.3em;
  overflow-x: auto;
}
.admonition.attention {
  border-color: #c25d1e;
  border-color: var(--main-orange);
}
.admonition.important {
  border-color: #0072d4;
  border-color: var(--main-blue);
}
.admonition.hint, .admonition.note, .admonition.tip {
  border-color: #489100;
  border-color: var(--main-green);
}
.admonition.caution, .admonition.danger, .admonition.warning {
  border-color: #ad8900;
  border-color: var(--main-yellow);
}
.admonition.error {
  border-color: #d2212d;
  border-color: var(--main-red);
}
.admonition.smiley {
  border-color: #ad8900;
  border-color: var(--main-yellow);
}
.admonition .admonition-title {
  background-color: #ece3cc;
  background-color: var(--main-bg-em);
  font-family: "Fira Sans", sans-serif;
  font-weight: bold;
}

.admonition + .admonition {
  margin-top: 0.3em;
}

.admonition + .highlighttable {
  margin-top: 0.3em;
}

.admonition + .highlight {
  margin-top: 0.3em;
}

.highlighttable + .admonition {
  margin-top: 0.3em;
}

.highlighttable + .highlighttable {
  margin-top: 0.3em;
}

.highlighttable + .highlight {
  margin-top: 0.3em;
}

.highlight + .admonition {
  margin-top: 0.3em;
}

.highlight + .highlighttable {
  margin-top: 0.3em;
}

.highlight + .highlight {
  margin-top: 0.3em;
}

.entry__content > .highlighttable, .page__content > .highlighttable, .entry__content > .highlight, .page__content > .highlight {
  border-style: solid;
  border-color: #8762c6;
  border-color: var(--main-violet);
  border-radius: 0.4em;
  border-width: 0.25em;
  padding: 0.3em;
  display: flex;
  overflow-x: auto;
  background-color: #ffffff;
  background-color: var(--code-bg);
}

.highlighttable {
  padding-left: 0;
}

.linenos {
  position: sticky;
  left: 0;
  background-color: #ebebeb;
  background-color: var(--code-bg-em);
}

.code, .linenos {
  vertical-align: top;
}

.highlight pre {
  background-color: #ffffff;
  background-color: var(--code-bg);
  color: #474747;
  color: var(--code-text);
  overflow-x: auto;
}
.highlight pre .esc {
  /* Escape */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .c {
  /* Comment */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .err {
  /* Error */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .g {
  /* Generic */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .k {
  /* Keyword */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .l {
  /* Literal */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .n {
  /* Name */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .o {
  /* Operator */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .x {
  /* Other */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .p {
  /* Punctuation */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .cm {
  /* Comment.Multiline */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .cp {
  /* Comment.Preproc */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .cpf {
  /* Comment.PreprocFile */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .c1 {
  /* Comment.Single */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .ch {
  /* Comment.Hashbang */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .cs {
  /* Comment.Special */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .gd {
  /* Generic.Deleted */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .ge {
  /* Generic.Emph */
  color: #282828;
  color: var(--code-text-em);
  font-style: italic;
}
.highlight pre .gr {
  /* Generic.Error */
  color: #d6000c;
  color: var(--code-red);
}
.highlight pre .gh {
  /* Generic.Heading */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .gi {
  /* Generic.Inserted */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .go {
  /* Generic.Output */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .gp {
  /* Generic.Prompt */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .gs {
  /* Generic.Strong */
  color: #282828;
  color: var(--code-text-em);
  font-weight: bold;
}
.highlight pre .gu {
  /* Generic.Subheading */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .gt {
  /* Generic.Traceback */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .kc {
  /* Keyword.Constant */
  color: #d04a00;
  color: var(--code-orange);
  font-style: italic;
  font-weight: bold;
}
.highlight pre .kd {
  /* Keyword.Declaration */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .kn {
  /* Keyword.Namespace */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .kp {
  /* Keyword.Pseudo */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .kr {
  /* Keyword.Reserved */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .kt {
  /* Keyword.Type */
  color: #d6000c;
  color: var(--code-red);
}
.highlight pre .ld {
  /* Literal.Date */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .m {
  /* Literal.Number */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .s {
  /* Literal.String */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .na {
  /* Name.Attribute */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .nb {
  /* Name.Builtin */
  color: #c49700;
  color: var(--code-yellow);
  font-style: italic;
}
.highlight pre .nc {
  /* Name.Class */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .no {
  /* Name.Constant */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .nd {
  /* Name.Decorator */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .ni {
  /* Name.Entity */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .ne {
  /* Name.Exception */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .nf {
  /* Name.Function */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .fm {
  /* Name.Function.Magic */
  color: #7f51d6;
  color: var(--code-violet);
  font-style: italic;
  font-weight: bold;
}
.highlight pre .nl {
  /* Name.Label */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .nn {
  /* Name.Namespace */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .nx {
  /* Name.Other */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .py {
  /* Name.Property */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .nt {
  /* Name.Tag */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .nv {
  /* Name.Variable */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .vm {
  /* Name.Variable.Magic */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .ow {
  /* Operator.Word */
  color: #c49700;
  color: var(--code-yellow);
}
.highlight pre .w {
  /* Text.Whitespace */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .mb {
  /* Literal.Number.Bin */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .mf {
  /* Literal.Number.Float */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .mh {
  /* Literal.Number.Hex */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .mi {
  /* Literal.Number.Integer */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .mo {
  /* Literal.Number.Oct */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .sa {
  /* Literal.String.Affix */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .sb {
  /* Literal.String.Backtick */
  color: #878787;
  color: var(--code-text-deem);
}
.highlight pre .sc {
  /* Literal.String.Char */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .dl {
  /* Literal.String.Delimiter */
  color: #dd0f9d;
  color: var(--code-magenta);
}
.highlight pre .sd {
  /* Literal.String.Doc */
  color: #282828;
  color: var(--code-text-em);
  font-style: italic;
}
.highlight pre .s2 {
  /* Literal.String.Double */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .se {
  /* Literal.String.Escape */
  color: #d04a00;
  color: var(--code-orange);
}
.highlight pre .sh {
  /* Literal.String.Heredoc */
  color: #282828;
  color: var(--code-text-em);
}
.highlight pre .si {
  /* Literal.String.Interpol */
  color: #00ad9c;
  color: var(--code-cyan);
  font-weight: 100;
}
.highlight pre .sx {
  /* Literal.String.Other */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .sr {
  /* Literal.String.Regex */
  color: #d6000c;
  color: var(--code-red);
}
.highlight pre .s1 {
  /* Literal.String.Single */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .ss {
  /* Literal.String.Symbol */
  color: #00ad9c;
  color: var(--code-cyan);
}
.highlight pre .bp {
  /* Name.Builtin.Pseudo */
  color: #0064e4;
  color: var(--code-blue);
  font-weight: bold;
}
.highlight pre .vc {
  /* Name.Variable.Class */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .vg {
  /* Name.Variable.Global */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .vi {
  /* Name.Variable.Instance */
  color: #0064e4;
  color: var(--code-blue);
}
.highlight pre .il {
  /* Literal.Number.Integer.Long */
  color: #00ad9c;
  color: var(--code-cyan);
}
