@font-face {
  font-display: swap;font-family: "Ruda";font-style:normal;font-weight: 400;src: url(../fonts/woff2/ruda-v28-latin_latin-ext-regular.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"Ruda";font-style:normal;font-weight:700;src:url(../fonts/woff2/ruda-v28-latin_latin-ext-700.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"Titillium Web";font-style:normal;font-weight:400;src:url(../fonts/woff2/titillium-web-v17-latin_latin-ext-regular.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"Titillium Web";font-style:italic;font-weight:400;src:url(../fonts/woff2/titillium-web-v17-latin_latin-ext-italic.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"Titillium Web";font-style:normal;font-weight:700;src:url(../fonts/woff2/titillium-web-v17-latin_latin-ext-700.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"Titillium Web";font-style:italic;font-weight:700;src:url(../fonts/woff2/titillium-web-v17-latin_latin-ext-700italic.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"EB Garamond";font-style:normal;font-weight:400;src:url(../fonts/woff2/eb-garamond-v27-latin_latin-ext-regular.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"EB Garamond";font-style:italic;font-weight:400;src:url(../fonts/woff2/eb-garamond-v27-latin_latin-ext-italic.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"EB Garamond";font-style:normal;font-weight:700;src:url(../fonts/woff2/eb-garamond-v27-latin_latin-ext-700.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"EB Garamond";font-style:italic;font-weight:700;src:url(../fonts/woff2/eb-garamond-v27-latin_latin-ext-700italic.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"IBM Plex Mono";font-style:normal;font-weight:400;src:url(../fonts/woff2/ibm-plex-mono-v19-latin_latin-ext-regular.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"IBM Plex Mono";font-style:italic;font-weight:400;src:url(../fonts/woff2/ibm-plex-mono-v19-latin_latin-ext-italic.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"IBM Plex Mono";font-style:normal;font-weight:700;src:url(../fonts/woff2/ibm-plex-mono-v19-latin_latin-ext-700.woff2)format("woff2")
}
@font-face {
  font-display:swap;font-family:"IBM Plex Mono";font-style:italic;font-weight:700;src:url(../fonts/woff2/ibm-plex-mono-v19-latin_latin-ext-700italic.woff2)format("woff2")
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
  font-family: "Titillium Web",sans-serif;
  line-height: 1.15
}
body {
  font-size: 15pt;
  line-height: 1.4rem;
  font-family: "EB Garamond",serif;
  color: #fff;
  background: #222;
  margin: 0 auto;
  width: 95%;
  overflow-x: hidden
}
.org-src-container:hover>pre:before,details,main {
  display: block
}
h1 {
  font-size: 2em;
  margin: .67em 0
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
code,kbd,pre,samp {
  font-size: 1em;
  font-family: "IBM Plex Mono",monospace;
  font-size: 1rem
}
a {
  background-color: transparent;
  color: #ad8265;
  text-decoration: none
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted
}
b,strong {
  font-weight: bolder
}
#footer p,#posts-footer p,small {
  font-size: 80%
}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
img {
  border-style: none;
  max-width: 100%;
  vertical-align: middle
}
button,input,optgroup,select,textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}
button,input {
  overflow: visible
}
button,select {
  text-transform: none
}
[type=button],[type=reset],[type=submit],button {
  -webkit-appearance: button
}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
  border-style: none;
  padding: 0
}
[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
  outline: 1pt dotted ButtonText
}
fieldset {
  padding: .35em .75em .625em
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}
progress {
  vertical-align: baseline
}
.org-src-container>pre,textarea {
  overflow: auto
}
[type=checkbox],[type=radio],legend {
  box-sizing: border-box;
  padding: 0
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2pt
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
summary {
  display: list-item
}
[hidden],template {
  display: none
}
.org-ul li::marker {
  content: "★"
}
h1,h2,h3,h4,h5,h6 {
  font-family: "Ruda",sans-serif;
  color: #5aa8c1;
  line-height: 1.7rem
}
#content h2::before,#content h3::before,#content h4::before,#content h5::before,#content h6::before {
  content: "¶ ";
  margin-left: -2ch
}
h1 {
  font-size: 2rem;
  margin: .67rem 0
}
h2 {
  font-size: 1.5rem
}
h3 {
  font-size: 1.3rem
}
h4,h5,h6 {
  font-size: 1.1rem
}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
  color: #5aa8c1
}
h1 a:active,h1 a:hover,h2 a:active,h2 a:hover,h3 a:active,h3 a:hover,h4 a:active,h4 a:hover,h5 a:active,h5 a:hover,h6 a:active,h6 a:hover {
  color: #5aa8c1;
  filter: brightness(1.25)
}
a:hover {
  color: #fca;
  border-bottom: 1pt dotted;
  text-decoration: underline
}
a:active,a:hover {
  outline-width: 0
}
.content header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  margin: 1.5rem 0 0
}
.subtitle {
  margin: 0;
  color: #ccc;
  background: #111;
  border: #777 solid;
  border-width: 0 3pt;
  padding: 0 .2rem;
  margin: 0 .2rem;
  font-size: 70%;
  font-family: "IBM Plex Mono",monospace
}
.content {
  margin: 0 auto;
  width: 90%
}
#posts p,.title {
  margin: 0
}
.content>:not(header) {
  margin-left: 1ch
}
#footer,#posts-footer {
  margin: 0 auto;
  width: 90%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 2rem;
  border-top: 2pt #777 solid;
  gap: 1rem
}
#footer>*,#posts-footer>* {
  filter: brightness(.7);
  margin: .1rem
}
#posts-footer {
  border-color: #444
}
.tag {
  font-family: "IBM Plex Mono",monospace;
  font-size: 1.1rem
}
.tag span {
  padding: .3rem .5rem;
  background-color: #444;
  line-height: 1;
}
#posts>.outline-2:not(:last-child),#tags-index>.outline-2 {
  border-bottom: 1pt solid #444
}
figcaption {
  filter: brightness(.7);
  margin: 1rem 5rem
}
#footnotes,figcaption {
  font-size: 90%
}
.footpara {
  display: inline;
  margin: .2rem auto .2rem 0
}
.footdef {
  margin-bottom: 1rem;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: baseline
}
.footdef sup {
  padding-right: .5rem
}
blockquote {
  margin: 1.25rem 2rem;
  padding: .1rem 1rem .1rem 2rem;
  border: dashed #555;
  border-width: 1.5pt 1.5pt 1.5pt 5pt;
  border-left: 5pt solid #555;
  box-shadow: 5pt 5pt 5pt #111;
  background: #132
}
blockquote>*,blockquote>*>* {
  margin: .75rem auto
}
.published {
  width: fit-content
}
#posts>.outline-2>h2 {
  margin-bottom: 0;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  text-align: center;
  display: flex
}
#posts .tag::before {
  content: url(/static/resources/symbols/tag.svg);
  margin: auto .35rem auto 0;
  display: inherit;
  filter: brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(4243%) hue-rotate(54deg) brightness(91%) contrast(89%);
}
.tag > span:last-child {
  border-radius: 0 3pt 3pt 0;
}
h2 > .tag > span > a {
  color: #ada;
}
h2 > .tag > span > a:hover {
  color: #beb;
}
.tag > span:nth-of-type(2n+1) {
  background: #233;
}
#tags-index {
  margin: 0 auto 2rem
}
#tags-index>.outline-2>h2 {
  margin: .5rem;
  display: flex
}
#tags-index>.outline-2>h2>img {
  margin: 0 .5rem;
  filter: invert(63%) sepia(26%) saturate(652%) hue-rotate(148deg) brightness(91%) contrast(96%)
}
#tags-index>header {
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  flex-basis: 100%;
  margin-bottom: 1rem
}
#posts .tag,#tags-index>.outline-2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 48%
}
#tags-index>.outline-2>.outline-text-2 {
  display: flex;
  align-items: center;
  background: #111;
  border-radius: 3pt;
  padding: 0 0 0 .7rem;
  border: 1pt solid #777
}
#tags-index>.outline-2>.outline-text-2>p {
  font-size: 80%;
  margin: 0
}
#tags-index>.outline-2>.outline-text-2>.count>p {
  padding: .3rem .7rem;
  float: right;
  margin: 0 0 0 .7rem;
  border-radius: 0 3pt 3pt 0;
  background-clip: padding-box;
  color: #ada;
  background-color: #444;
  line-height: 1;
  font-size: 80%;
  text-align: center
}
#posts .tag {
  justify-content: flex-end;
  flex-wrap: wrap;
  line-height: 2.2rem;
  margin-bottom: .5rem;
  background: #111;
  width: fit-content;
  padding: 0 0 0 .5rem;
  border-radius: 3pt;
  align-items: center;
  border: 1pt solid #777;
  font-size: 60%;
  margin-left: .5rem;
  flex: 0 0 auto;
  height: fit-content;
}
#posts .outline-text-2 {
  margin: 0 .5rem 1.5rem;
}
.published,.timestamp {
  color: #ccc;
  background: #111;
  border: #777 solid;
  border-width: 0 3pt;
  padding: 0 .2rem;
  margin: 0 .2rem;
  font-size: 70%;
  font-family: "IBM Plex Mono",monospace
}
[type=checkbox],[type=radio] {
  pointer-events: none
}
.mobile-nav-toggle {
  all: unset;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  padding: 0
}
.line {
  fill: none;
  stroke: #ad8265;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(.4,0,.2,1),stroke-dashoffset 600ms cubic-bezier(.4,0,.2,1)
}
.mobile-nav-toggle:hover .hamburger-icon .line {
  stroke: #fca
}
.line1,.line2,.line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6
}
.line2,.line3 {
  stroke-dasharray: 60 60
}
.line3 {
  stroke-dasharray: 60 207
}
.mobile-nav-toggle[aria-expanded=true] .hamburger-icon :is(.line1) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6
}
.mobile-nav-toggle[aria-expanded=true] .hamburger-icon :is(.line2) {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6
}
.mobile-nav-toggle[aria-expanded=true] .hamburger-icon :is(.line3) {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6
}
#nav,.primary-navigation {
  display: flex;
  flex-direction: column
}
#nav,#nav nav {
  border-radius: 0 0 1rem 1rem
}
#nav {
  justify-content: space-between;
  background: #112;
  border: 1pt solid #333;
  box-shadow: 5pt 5pt 5pt #111;
  z-index: 10;
  position: sticky;
  top: 0
}
#nav nav {
  background: #113;
  border: 0
}
.primary-navigation {
  list-style: none;
  gap: .5rem;
  padding: 1rem;
  margin: 0;
  align-items: flex-end;
  border-top: 2pt #444 dashed
}
.primary-navigation[data-visible=true] {
  opacity: unset;
  position: unset;
  transform: translateX(0);
  transition: transform 400ms ease-in
}
.primary-navigation[data-visible=false] {
  opacity: 0;
  position: absolute;
  transform: translateX(100%);
  transition: transform 400ms ease-out
}
.mobile-nav-toggle {
  width: 2.5rem;
  padding: .3rem .4rem
}
.logo-home,.logo-nav {
  display: flex;
  align-items: center
}
.logo-nav {
  justify-content: space-between
}
.logo-home h2 {
  margin: 0;
  white-space: nowrap;
  font-size: 1.8rem
}
.logo-home img {
  object-fit: contain;
  max-width: 2.5rem;
  margin: .5rem
}
.logo-home {
  height: auto;
  padding: 0 1rem
}
.primary-navigation li>a {
  padding: 0 .5em;
  border-right: 2pt #444 solid
}
.primary-navigation li>a:hover {
  border-color: #fca
}
.logo-home:hover {
  border-bottom: unset;
  color: #5aa8c1;
  filter: brightness(1.25)
}
::selection {
  background: #444
}
:not(pre)>code {
  padding: 0 .2rem;
  margin: auto 1pt;
  border: 2pt solid #444;
  border-radius: 3pt;
  background-clip: padding-box;
  color: #ccc
}
.org-src-container {
  border: 1.5pt dashed #333;
  box-shadow: 5pt 5pt 5pt #111;
  font-family: "IBM Plex Mono",Lucida Console,monospace;
  font-size: 70%;
  margin: 1rem auto;
  padding: .1rem .5rem;
  position: relative;
  background: #111;
  line-height: 1.3rem
}
.org-src-container>pre:before {
  display: none;
  position: absolute;
  background-color: #111;
  top: -1rem;
  right: .5rem;
  padding: .25rem .5rem;
  border: 1pt solid #555;
  color: #fff
}
.org-src-container>pre.src-sh:before {
  content: "sh"
}
.org-src-container>pre.src-bash:before {
  content: "bash"
}
.org-src-container>pre.src-emacs-lisp:before {
  content: "Emacs Lisp"
}
.org-src-container>pre.src-R:before {
  content: "R"
}
.org-src-container>pre.src-cpp:before {
  content: "C++"
}
.org-src-container>pre.src-c:before {
  content: "C"
}
.org-src-container>pre.src-html:before {
  content: "HTML"
}
.org-src-container>pre.src-javascript:before,.org-src-container>pre.src-js:before {
  content: "Javascript"
}
.org-src-container>pre.src-asymptote:before {
  content: "Asymptote"
}
.org-src-container>pre.src-awk:before {
  content: "Awk"
}
.org-src-container>pre.src-C:before {
  content: "C"
}
.org-src-container>pre.src-calc:before {
  content: "Calc"
}
.org-src-container>pre.src-clojure:before {
  content: "Clojure"
}
.org-src-container>pre.src-comint:before {
  content: "comint"
}
.org-src-container>pre.src-css:before {
  content: "CSS"
}
.org-src-container>pre.src-D:before {
  content: "D"
}
.org-src-container>pre.src-ditaa:before {
  content: "Ditaa"
}
.org-src-container>pre.src-dot:before {
  content: "Dot"
}
.org-src-container>pre.src-ebnf:before {
  content: "ebnf"
}
.org-src-container>pre.src-forth:before {
  content: "Forth"
}
.org-src-container>pre.src-F90:before {
  content: "Fortran"
}
.org-src-container>pre.src-gnuplot:before {
  content: "Gnuplot"
}
.org-src-container>pre.src-haskell:before {
  content: "Haskell"
}
.org-src-container>pre.src-io:before {
  content: "Io"
}
.org-src-container>pre.src-java:before {
  content: "Java"
}
.org-src-container>pre.src-latex:before {
  content: "LaTeX"
}
.org-src-container>pre.src-ledger:before {
  content: "Ledger"
}
.org-src-container>pre.src-ly:before {
  content: "Lilypond"
}
.org-src-container>pre.src-lisp:before {
  content: "Lisp"
}
.org-src-container>pre.src-makefile:before {
  content: "Make"
}
.org-src-container>pre.src-matlab:before {
  content: "Matlab"
}
.org-src-container>pre.src-max:before {
  content: "Maxima"
}
.org-src-container>pre.src-mscgen:before {
  content: "Mscgen"
}
.org-src-container>pre.src-Caml:before {
  content: "Objective"
}
.org-src-container>pre.src-octave:before {
  content: "Octave"
}
.org-src-container>pre.src-org:before {
  content: "Org"
}
.org-src-container>pre.src-perl:before {
  content: "Perl"
}
.org-src-container>pre.src-picolisp:before {
  content: "Picolisp"
}
.org-src-container>pre.src-plantuml:before {
  content: "PlantUML"
}
.org-src-container>pre.src-python:before {
  content: "Python"
}
.org-src-container>pre.src-ruby:before {
  content: "Ruby"
}
.org-src-container>pre.src-sass:before {
  content: "Sass"
}
.org-src-container>pre.src-scala:before {
  content: "Scala"
}
.org-src-container>pre.src-scheme:before {
  content: "Scheme"
}
.org-src-container>pre.src-screen:before {
  content: "Screen"
}
.org-src-container>pre.src-sed:before {
  content: "Sed"
}
.org-src-container>pre.src-shell:before {
  content: "shell"
}
.org-src-container>pre.src-shen:before {
  content: "Shen"
}
.org-src-container>pre.src-sql:before {
  content: "SQL"
}
.org-src-container>pre.src-sqlite:before {
  content: "SQLite"
}
.org-src-container>pre.src-stan:before {
  content: "Stan"
}
.org-src-container>pre.src-vala:before {
  content: "Vala"
}
.org-src-container>pre.src-axiom:before {
  content: "Axiom"
}
.org-src-container>pre.src-browser:before {
  content: "HTML"
}
.org-src-container>pre.src-cypher:before {
  content: "Neo4j"
}
.org-src-container>pre.src-elixir:before {
  content: "Elixir"
}
.org-src-container>pre.src-request:before {
  content: "http"
}
.org-src-container>pre.src-ipython:before {
  content: "iPython"
}
.org-src-container>pre.src-kotlin:before {
  content: "Kotlin"
}
.org-src-container>pre.src-mongo:before {
  content: "MongoDB"
}
.org-src-container>pre.src-prolog:before {
  content: "Prolog"
}
.org-src-container>pre.src-rec:before {
  content: "rec"
}
.org-src-container>pre.src-ML sml:before {
  content: "Standard"
}
.org-src-container>pre.src-Translate translate:before {
  content: "Google"
}
.org-src-container>pre.src-typescript:before {
  content: "Typescript"
}
.org-src-container>pre.src-rust:before {
  content: "Rust"
}
@media screen and (min-width:792pt) {
  .content,body {
    width: 725pt;
    margin: 0 auto
  }
  .content {
    width: 90%
  }
  #tags-index {
    margin: 0 auto 2rem;
    display: flex;
    flex-wrap: wrap
  }
  .content header {
    flex-direction: row;
    align-items: center
  }
  #footer {
    gap: unset
  }
  #footer>*,#posts-footer>* {
    margin: .2rem 1rem
  }
  #footer,#posts-footer {
    flex-direction: row;
    width: 90%;
    margin: 0 auto
  }
  #nav {
    flex-direction: row;
    align-items: center
  }
  #nav nav {
    background: #113;
    border: 0;
    border-radius: unset;
    background: unset
  }
  .primary-navigation {
    border-top: unset;
    flex-direction: row;
    padding: 0 1rem;
    margin: 0
  }
  .primary-navigation li>a {
    border-right: unset;
    border-left: 2pt #444 solid
  }
  .primary-navigation li>a:hover {
    border-right: unset;
    border-left: 2pt #fca solid
  }
  .mobile-nav-toggle {
    display: none
  }
  #posts > .outline-2 > h2 {
    flex-direction: row;
    align-items: unset;
  }
}
