@layer reset fonts theme layout typography;

@layer reset {
  /* Reset: https://www.joshwcomeau.com/css/custom-css-reset/ */

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  * {
    margin: 0;
  }

  body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }

  img,
  picture,
  video,
  canvas,
  svg {
    display: block;
    max-width: 100%;
  }

  input,
  button,
  textarea,
  select {
    font: inherit;
  }

  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
}

@layer fonts {
  /* Handjet
 * URL: https://github.com/rosettatype/Handjet/
 * License: OFL-1.1
 */

  @font-face {
    font-family: "Handjet";
    font-display: swap;
    font-weight: 100 900;
    font-style: normal;
    src: url("/fonts/Handjet[ELGR,ELSH,wght].woff2") format("woff2");
  }
}

@layer fonts {
  /* stylelint-disable font-family-no-missing-generic-family-keyword */
  @font-face {
    font-family: "KaTeX_AMS";
    src:
      url(/fonts/KaTeX_AMS-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_AMS-Regular.woff) format("woff"),
      url(/fonts/KaTeX_AMS-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Caligraphic";
    src:
      url(/fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),
      url(/fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),
      url(/fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");
    font-weight: bold;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Caligraphic";
    src:
      url(/fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Fraktur";
    src:
      url(/fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),
      url(/fonts/KaTeX_Fraktur-Bold.woff) format("woff"),
      url(/fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");
    font-weight: bold;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Fraktur";
    src:
      url(/fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Fraktur-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Main";
    src:
      url(/fonts/KaTeX_Main-Bold.woff2) format("woff2"),
      url(/fonts/KaTeX_Main-Bold.woff) format("woff"),
      url(/fonts/KaTeX_Main-Bold.ttf) format("truetype");
    font-weight: bold;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Main";
    src:
      url(/fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),
      url(/fonts/KaTeX_Main-BoldItalic.woff) format("woff"),
      url(/fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");
    font-weight: bold;
    font-style: italic;
  }
  @font-face {
    font-family: "KaTeX_Main";
    src:
      url(/fonts/KaTeX_Main-Italic.woff2) format("woff2"),
      url(/fonts/KaTeX_Main-Italic.woff) format("woff"),
      url(/fonts/KaTeX_Main-Italic.ttf) format("truetype");
    font-weight: normal;
    font-style: italic;
  }
  @font-face {
    font-family: "KaTeX_Main";
    src:
      url(/fonts/KaTeX_Main-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Main-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Main-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Math";
    src:
      url(/fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),
      url(/fonts/KaTeX_Math-BoldItalic.woff) format("woff"),
      url(/fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");
    font-weight: bold;
    font-style: italic;
  }
  @font-face {
    font-family: "KaTeX_Math";
    src:
      url(/fonts/KaTeX_Math-Italic.woff2) format("woff2"),
      url(/fonts/KaTeX_Math-Italic.woff) format("woff"),
      url(/fonts/KaTeX_Math-Italic.ttf) format("truetype");
    font-weight: normal;
    font-style: italic;
  }
  @font-face {
    font-family: "KaTeX_SansSerif";
    src:
      url(/fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),
      url(/fonts/KaTeX_SansSerif-Bold.woff) format("woff"),
      url(/fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");
    font-weight: bold;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_SansSerif";
    src:
      url(/fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),
      url(/fonts/KaTeX_SansSerif-Italic.woff) format("woff"),
      url(/fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");
    font-weight: normal;
    font-style: italic;
  }
  @font-face {
    font-family: "KaTeX_SansSerif";
    src:
      url(/fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_SansSerif-Regular.woff) format("woff"),
      url(/fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Script";
    src:
      url(/fonts/KaTeX_Script-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Script-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Script-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Size1";
    src:
      url(/fonts/KaTeX_Size1-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Size1-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Size1-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Size2";
    src:
      url(/fonts/KaTeX_Size2-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Size2-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Size2-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Size3";
    src:
      url(/fonts/KaTeX_Size3-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Size3-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Size3-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Size4";
    src:
      url(/fonts/KaTeX_Size4-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Size4-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Size4-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  @font-face {
    font-family: "KaTeX_Typewriter";
    src:
      url(/fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),
      url(/fonts/KaTeX_Typewriter-Regular.woff) format("woff"),
      url(/fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");
    font-weight: normal;
    font-style: normal;
  }
  .katex {
    font:
      normal 1.21em KaTeX_Main,
      Times New Roman,
      serif;
    line-height: 1.2;
    text-indent: 0;
    text-rendering: auto;
  }
  .katex * {
    -ms-high-contrast-adjust: none !important;
  }
  .katex * {
    border-color: currentColor;
  }
  .katex .katex-version::after {
    content: "0.16.22";
  }
  .katex .katex-mathml {
    /* Accessibility hack to only show to screen readers
   Found at: http://a11yproject.com/posts/how-to-hide-content/ */
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
  }
  .katex .katex-html {
    /* \newline is an empty block at top level, between .base elements */
  }
  .katex .katex-html > .newline {
    display: block;
  }
  .katex .base {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
  }
  .katex .strut {
    display: inline-block;
  }
  .katex .textbf {
    font-weight: bold;
  }
  .katex .textit {
    font-style: italic;
  }
  .katex .textrm {
    font-family: KaTeX_Main;
  }
  .katex .textsf {
    font-family: KaTeX_SansSerif;
  }
  .katex .texttt {
    font-family: KaTeX_Typewriter;
  }
  .katex .mathnormal {
    font-family: KaTeX_Math;
    font-style: italic;
  }
  .katex .mathit {
    font-family: KaTeX_Main;
    font-style: italic;
  }
  .katex .mathrm {
    font-style: normal;
  }
  .katex .mathbf {
    font-family: KaTeX_Main;
    font-weight: bold;
  }
  .katex .boldsymbol {
    font-family: KaTeX_Math;
    font-weight: bold;
    font-style: italic;
  }
  .katex .amsrm {
    font-family: KaTeX_AMS;
  }
  .katex .mathbb,
  .katex .textbb {
    font-family: KaTeX_AMS;
  }
  .katex .mathcal {
    font-family: KaTeX_Caligraphic;
  }
  .katex .mathfrak,
  .katex .textfrak {
    font-family: KaTeX_Fraktur;
  }
  .katex .mathboldfrak,
  .katex .textboldfrak {
    font-family: KaTeX_Fraktur;
    font-weight: bold;
  }
  .katex .mathtt {
    font-family: KaTeX_Typewriter;
  }
  .katex .mathscr,
  .katex .textscr {
    font-family: KaTeX_Script;
  }
  .katex .mathsf,
  .katex .textsf {
    font-family: KaTeX_SansSerif;
  }
  .katex .mathboldsf,
  .katex .textboldsf {
    font-family: KaTeX_SansSerif;
    font-weight: bold;
  }
  .katex .mathsfit,
  .katex .mathitsf,
  .katex .textitsf {
    font-family: KaTeX_SansSerif;
    font-style: italic;
  }
  .katex .mainrm {
    font-family: KaTeX_Main;
    font-style: normal;
  }
  .katex .vlist-t {
    display: inline-table;
    table-layout: fixed;
    border-collapse: collapse;
  }
  .katex .vlist-r {
    display: table-row;
  }
  .katex .vlist {
    display: table-cell;
    vertical-align: bottom;
    position: relative;
  }
  .katex .vlist > span {
    display: block;
    height: 0;
    position: relative;
  }
  .katex .vlist > span > span {
    display: inline-block;
  }
  .katex .vlist > span > .pstrut {
    overflow: hidden;
    width: 0;
  }
  .katex .vlist-t2 {
    margin-right: -2px;
  }
  .katex .vlist-s {
    display: table-cell;
    vertical-align: bottom;
    font-size: 1px;
    width: 2px;
    min-width: 2px;
  }
  .katex .vbox {
    display: inline-flex;
    flex-direction: column;
    align-items: baseline;
  }
  .katex .hbox {
    display: inline-flex;
    flex-direction: row;
    width: 100%;
  }
  .katex .thinbox {
    display: inline-flex;
    flex-direction: row;
    width: 0;
    max-width: 0;
  }
  .katex .msupsub {
    text-align: left;
  }
  .katex .mfrac > span > span {
    text-align: center;
  }
  .katex .mfrac .frac-line {
    display: inline-block;
    width: 100%;
    border-bottom-style: solid;
  }
  .katex .mfrac .frac-line,
  .katex .overline .overline-line,
  .katex .underline .underline-line,
  .katex .hline,
  .katex .hdashline,
  .katex .rule {
    min-height: 1px;
  }
  .katex .mspace {
    display: inline-block;
  }
  .katex .llap,
  .katex .rlap,
  .katex .clap {
    width: 0;
    position: relative;
  }
  .katex .llap > .inner,
  .katex .rlap > .inner,
  .katex .clap > .inner {
    position: absolute;
  }
  .katex .llap > .fix,
  .katex .rlap > .fix,
  .katex .clap > .fix {
    display: inline-block;
  }
  .katex .llap > .inner {
    right: 0;
  }
  .katex .rlap > .inner,
  .katex .clap > .inner {
    left: 0;
  }
  .katex .clap > .inner > span {
    margin-left: -50%;
    margin-right: 50%;
  }
  .katex .rule {
    display: inline-block;
    border: solid 0;
    position: relative;
  }
  .katex .overline .overline-line,
  .katex .underline .underline-line,
  .katex .hline {
    display: inline-block;
    width: 100%;
    border-bottom-style: solid;
  }
  .katex .hdashline {
    display: inline-block;
    width: 100%;
    border-bottom-style: dashed;
  }
  .katex .sqrt > .root {
    /* These values are taken from the definition of `\r@@t`,
   `\mkern 5mu` and `\mkern -10mu`. */
    margin-left: 0.2777777778em;
    margin-right: -0.5555555556em;
  }
  .katex .sizing.reset-size1.size1,
  .katex .fontsize-ensurer.reset-size1.size1 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size1.size2,
  .katex .fontsize-ensurer.reset-size1.size2 {
    /* stylelint-disable-next-line */
    font-size: 1.2em;
  }
  .katex .sizing.reset-size1.size3,
  .katex .fontsize-ensurer.reset-size1.size3 {
    /* stylelint-disable-next-line */
    font-size: 1.4em;
  }
  .katex .sizing.reset-size1.size4,
  .katex .fontsize-ensurer.reset-size1.size4 {
    /* stylelint-disable-next-line */
    font-size: 1.6em;
  }
  .katex .sizing.reset-size1.size5,
  .katex .fontsize-ensurer.reset-size1.size5 {
    /* stylelint-disable-next-line */
    font-size: 1.8em;
  }
  .katex .sizing.reset-size1.size6,
  .katex .fontsize-ensurer.reset-size1.size6 {
    /* stylelint-disable-next-line */
    font-size: 2em;
  }
  .katex .sizing.reset-size1.size7,
  .katex .fontsize-ensurer.reset-size1.size7 {
    /* stylelint-disable-next-line */
    font-size: 2.4em;
  }
  .katex .sizing.reset-size1.size8,
  .katex .fontsize-ensurer.reset-size1.size8 {
    /* stylelint-disable-next-line */
    font-size: 2.88em;
  }
  .katex .sizing.reset-size1.size9,
  .katex .fontsize-ensurer.reset-size1.size9 {
    /* stylelint-disable-next-line */
    font-size: 3.456em;
  }
  .katex .sizing.reset-size1.size10,
  .katex .fontsize-ensurer.reset-size1.size10 {
    /* stylelint-disable-next-line */
    font-size: 4.148em;
  }
  .katex .sizing.reset-size1.size11,
  .katex .fontsize-ensurer.reset-size1.size11 {
    /* stylelint-disable-next-line */
    font-size: 4.976em;
  }
  .katex .sizing.reset-size2.size1,
  .katex .fontsize-ensurer.reset-size2.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.8333333333em;
  }
  .katex .sizing.reset-size2.size2,
  .katex .fontsize-ensurer.reset-size2.size2 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size2.size3,
  .katex .fontsize-ensurer.reset-size2.size3 {
    /* stylelint-disable-next-line */
    font-size: 1.1666666667em;
  }
  .katex .sizing.reset-size2.size4,
  .katex .fontsize-ensurer.reset-size2.size4 {
    /* stylelint-disable-next-line */
    font-size: 1.3333333333em;
  }
  .katex .sizing.reset-size2.size5,
  .katex .fontsize-ensurer.reset-size2.size5 {
    /* stylelint-disable-next-line */
    font-size: 1.5em;
  }
  .katex .sizing.reset-size2.size6,
  .katex .fontsize-ensurer.reset-size2.size6 {
    /* stylelint-disable-next-line */
    font-size: 1.6666666667em;
  }
  .katex .sizing.reset-size2.size7,
  .katex .fontsize-ensurer.reset-size2.size7 {
    /* stylelint-disable-next-line */
    font-size: 2em;
  }
  .katex .sizing.reset-size2.size8,
  .katex .fontsize-ensurer.reset-size2.size8 {
    /* stylelint-disable-next-line */
    font-size: 2.4em;
  }
  .katex .sizing.reset-size2.size9,
  .katex .fontsize-ensurer.reset-size2.size9 {
    /* stylelint-disable-next-line */
    font-size: 2.88em;
  }
  .katex .sizing.reset-size2.size10,
  .katex .fontsize-ensurer.reset-size2.size10 {
    /* stylelint-disable-next-line */
    font-size: 3.4566666667em;
  }
  .katex .sizing.reset-size2.size11,
  .katex .fontsize-ensurer.reset-size2.size11 {
    /* stylelint-disable-next-line */
    font-size: 4.1466666667em;
  }
  .katex .sizing.reset-size3.size1,
  .katex .fontsize-ensurer.reset-size3.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.7142857143em;
  }
  .katex .sizing.reset-size3.size2,
  .katex .fontsize-ensurer.reset-size3.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.8571428571em;
  }
  .katex .sizing.reset-size3.size3,
  .katex .fontsize-ensurer.reset-size3.size3 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size3.size4,
  .katex .fontsize-ensurer.reset-size3.size4 {
    /* stylelint-disable-next-line */
    font-size: 1.1428571429em;
  }
  .katex .sizing.reset-size3.size5,
  .katex .fontsize-ensurer.reset-size3.size5 {
    /* stylelint-disable-next-line */
    font-size: 1.2857142857em;
  }
  .katex .sizing.reset-size3.size6,
  .katex .fontsize-ensurer.reset-size3.size6 {
    /* stylelint-disable-next-line */
    font-size: 1.4285714286em;
  }
  .katex .sizing.reset-size3.size7,
  .katex .fontsize-ensurer.reset-size3.size7 {
    /* stylelint-disable-next-line */
    font-size: 1.7142857143em;
  }
  .katex .sizing.reset-size3.size8,
  .katex .fontsize-ensurer.reset-size3.size8 {
    /* stylelint-disable-next-line */
    font-size: 2.0571428571em;
  }
  .katex .sizing.reset-size3.size9,
  .katex .fontsize-ensurer.reset-size3.size9 {
    /* stylelint-disable-next-line */
    font-size: 2.4685714286em;
  }
  .katex .sizing.reset-size3.size10,
  .katex .fontsize-ensurer.reset-size3.size10 {
    /* stylelint-disable-next-line */
    font-size: 2.9628571429em;
  }
  .katex .sizing.reset-size3.size11,
  .katex .fontsize-ensurer.reset-size3.size11 {
    /* stylelint-disable-next-line */
    font-size: 3.5542857143em;
  }
  .katex .sizing.reset-size4.size1,
  .katex .fontsize-ensurer.reset-size4.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.625em;
  }
  .katex .sizing.reset-size4.size2,
  .katex .fontsize-ensurer.reset-size4.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.75em;
  }
  .katex .sizing.reset-size4.size3,
  .katex .fontsize-ensurer.reset-size4.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.875em;
  }
  .katex .sizing.reset-size4.size4,
  .katex .fontsize-ensurer.reset-size4.size4 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size4.size5,
  .katex .fontsize-ensurer.reset-size4.size5 {
    /* stylelint-disable-next-line */
    font-size: 1.125em;
  }
  .katex .sizing.reset-size4.size6,
  .katex .fontsize-ensurer.reset-size4.size6 {
    /* stylelint-disable-next-line */
    font-size: 1.25em;
  }
  .katex .sizing.reset-size4.size7,
  .katex .fontsize-ensurer.reset-size4.size7 {
    /* stylelint-disable-next-line */
    font-size: 1.5em;
  }
  .katex .sizing.reset-size4.size8,
  .katex .fontsize-ensurer.reset-size4.size8 {
    /* stylelint-disable-next-line */
    font-size: 1.8em;
  }
  .katex .sizing.reset-size4.size9,
  .katex .fontsize-ensurer.reset-size4.size9 {
    /* stylelint-disable-next-line */
    font-size: 2.16em;
  }
  .katex .sizing.reset-size4.size10,
  .katex .fontsize-ensurer.reset-size4.size10 {
    /* stylelint-disable-next-line */
    font-size: 2.5925em;
  }
  .katex .sizing.reset-size4.size11,
  .katex .fontsize-ensurer.reset-size4.size11 {
    /* stylelint-disable-next-line */
    font-size: 3.11em;
  }
  .katex .sizing.reset-size5.size1,
  .katex .fontsize-ensurer.reset-size5.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.5555555556em;
  }
  .katex .sizing.reset-size5.size2,
  .katex .fontsize-ensurer.reset-size5.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.6666666667em;
  }
  .katex .sizing.reset-size5.size3,
  .katex .fontsize-ensurer.reset-size5.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.7777777778em;
  }
  .katex .sizing.reset-size5.size4,
  .katex .fontsize-ensurer.reset-size5.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.8888888889em;
  }
  .katex .sizing.reset-size5.size5,
  .katex .fontsize-ensurer.reset-size5.size5 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size5.size6,
  .katex .fontsize-ensurer.reset-size5.size6 {
    /* stylelint-disable-next-line */
    font-size: 1.1111111111em;
  }
  .katex .sizing.reset-size5.size7,
  .katex .fontsize-ensurer.reset-size5.size7 {
    /* stylelint-disable-next-line */
    font-size: 1.3333333333em;
  }
  .katex .sizing.reset-size5.size8,
  .katex .fontsize-ensurer.reset-size5.size8 {
    /* stylelint-disable-next-line */
    font-size: 1.6em;
  }
  .katex .sizing.reset-size5.size9,
  .katex .fontsize-ensurer.reset-size5.size9 {
    /* stylelint-disable-next-line */
    font-size: 1.92em;
  }
  .katex .sizing.reset-size5.size10,
  .katex .fontsize-ensurer.reset-size5.size10 {
    /* stylelint-disable-next-line */
    font-size: 2.3044444444em;
  }
  .katex .sizing.reset-size5.size11,
  .katex .fontsize-ensurer.reset-size5.size11 {
    /* stylelint-disable-next-line */
    font-size: 2.7644444444em;
  }
  .katex .sizing.reset-size6.size1,
  .katex .fontsize-ensurer.reset-size6.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.5em;
  }
  .katex .sizing.reset-size6.size2,
  .katex .fontsize-ensurer.reset-size6.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.6em;
  }
  .katex .sizing.reset-size6.size3,
  .katex .fontsize-ensurer.reset-size6.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.7em;
  }
  .katex .sizing.reset-size6.size4,
  .katex .fontsize-ensurer.reset-size6.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.8em;
  }
  .katex .sizing.reset-size6.size5,
  .katex .fontsize-ensurer.reset-size6.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.9em;
  }
  .katex .sizing.reset-size6.size6,
  .katex .fontsize-ensurer.reset-size6.size6 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size6.size7,
  .katex .fontsize-ensurer.reset-size6.size7 {
    /* stylelint-disable-next-line */
    font-size: 1.2em;
  }
  .katex .sizing.reset-size6.size8,
  .katex .fontsize-ensurer.reset-size6.size8 {
    /* stylelint-disable-next-line */
    font-size: 1.44em;
  }
  .katex .sizing.reset-size6.size9,
  .katex .fontsize-ensurer.reset-size6.size9 {
    /* stylelint-disable-next-line */
    font-size: 1.728em;
  }
  .katex .sizing.reset-size6.size10,
  .katex .fontsize-ensurer.reset-size6.size10 {
    /* stylelint-disable-next-line */
    font-size: 2.074em;
  }
  .katex .sizing.reset-size6.size11,
  .katex .fontsize-ensurer.reset-size6.size11 {
    /* stylelint-disable-next-line */
    font-size: 2.488em;
  }
  .katex .sizing.reset-size7.size1,
  .katex .fontsize-ensurer.reset-size7.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.4166666667em;
  }
  .katex .sizing.reset-size7.size2,
  .katex .fontsize-ensurer.reset-size7.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.5em;
  }
  .katex .sizing.reset-size7.size3,
  .katex .fontsize-ensurer.reset-size7.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.5833333333em;
  }
  .katex .sizing.reset-size7.size4,
  .katex .fontsize-ensurer.reset-size7.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.6666666667em;
  }
  .katex .sizing.reset-size7.size5,
  .katex .fontsize-ensurer.reset-size7.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.75em;
  }
  .katex .sizing.reset-size7.size6,
  .katex .fontsize-ensurer.reset-size7.size6 {
    /* stylelint-disable-next-line */
    font-size: 0.8333333333em;
  }
  .katex .sizing.reset-size7.size7,
  .katex .fontsize-ensurer.reset-size7.size7 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size7.size8,
  .katex .fontsize-ensurer.reset-size7.size8 {
    /* stylelint-disable-next-line */
    font-size: 1.2em;
  }
  .katex .sizing.reset-size7.size9,
  .katex .fontsize-ensurer.reset-size7.size9 {
    /* stylelint-disable-next-line */
    font-size: 1.44em;
  }
  .katex .sizing.reset-size7.size10,
  .katex .fontsize-ensurer.reset-size7.size10 {
    /* stylelint-disable-next-line */
    font-size: 1.7283333333em;
  }
  .katex .sizing.reset-size7.size11,
  .katex .fontsize-ensurer.reset-size7.size11 {
    /* stylelint-disable-next-line */
    font-size: 2.0733333333em;
  }
  .katex .sizing.reset-size8.size1,
  .katex .fontsize-ensurer.reset-size8.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.3472222222em;
  }
  .katex .sizing.reset-size8.size2,
  .katex .fontsize-ensurer.reset-size8.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.4166666667em;
  }
  .katex .sizing.reset-size8.size3,
  .katex .fontsize-ensurer.reset-size8.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.4861111111em;
  }
  .katex .sizing.reset-size8.size4,
  .katex .fontsize-ensurer.reset-size8.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.5555555556em;
  }
  .katex .sizing.reset-size8.size5,
  .katex .fontsize-ensurer.reset-size8.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.625em;
  }
  .katex .sizing.reset-size8.size6,
  .katex .fontsize-ensurer.reset-size8.size6 {
    /* stylelint-disable-next-line */
    font-size: 0.6944444444em;
  }
  .katex .sizing.reset-size8.size7,
  .katex .fontsize-ensurer.reset-size8.size7 {
    /* stylelint-disable-next-line */
    font-size: 0.8333333333em;
  }
  .katex .sizing.reset-size8.size8,
  .katex .fontsize-ensurer.reset-size8.size8 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size8.size9,
  .katex .fontsize-ensurer.reset-size8.size9 {
    /* stylelint-disable-next-line */
    font-size: 1.2em;
  }
  .katex .sizing.reset-size8.size10,
  .katex .fontsize-ensurer.reset-size8.size10 {
    /* stylelint-disable-next-line */
    font-size: 1.4402777778em;
  }
  .katex .sizing.reset-size8.size11,
  .katex .fontsize-ensurer.reset-size8.size11 {
    /* stylelint-disable-next-line */
    font-size: 1.7277777778em;
  }
  .katex .sizing.reset-size9.size1,
  .katex .fontsize-ensurer.reset-size9.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.2893518519em;
  }
  .katex .sizing.reset-size9.size2,
  .katex .fontsize-ensurer.reset-size9.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.3472222222em;
  }
  .katex .sizing.reset-size9.size3,
  .katex .fontsize-ensurer.reset-size9.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.4050925926em;
  }
  .katex .sizing.reset-size9.size4,
  .katex .fontsize-ensurer.reset-size9.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.462962963em;
  }
  .katex .sizing.reset-size9.size5,
  .katex .fontsize-ensurer.reset-size9.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.5208333333em;
  }
  .katex .sizing.reset-size9.size6,
  .katex .fontsize-ensurer.reset-size9.size6 {
    /* stylelint-disable-next-line */
    font-size: 0.5787037037em;
  }
  .katex .sizing.reset-size9.size7,
  .katex .fontsize-ensurer.reset-size9.size7 {
    /* stylelint-disable-next-line */
    font-size: 0.6944444444em;
  }
  .katex .sizing.reset-size9.size8,
  .katex .fontsize-ensurer.reset-size9.size8 {
    /* stylelint-disable-next-line */
    font-size: 0.8333333333em;
  }
  .katex .sizing.reset-size9.size9,
  .katex .fontsize-ensurer.reset-size9.size9 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size9.size10,
  .katex .fontsize-ensurer.reset-size9.size10 {
    /* stylelint-disable-next-line */
    font-size: 1.2002314815em;
  }
  .katex .sizing.reset-size9.size11,
  .katex .fontsize-ensurer.reset-size9.size11 {
    /* stylelint-disable-next-line */
    font-size: 1.4398148148em;
  }
  .katex .sizing.reset-size10.size1,
  .katex .fontsize-ensurer.reset-size10.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.2410800386em;
  }
  .katex .sizing.reset-size10.size2,
  .katex .fontsize-ensurer.reset-size10.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.2892960463em;
  }
  .katex .sizing.reset-size10.size3,
  .katex .fontsize-ensurer.reset-size10.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.337512054em;
  }
  .katex .sizing.reset-size10.size4,
  .katex .fontsize-ensurer.reset-size10.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.3857280617em;
  }
  .katex .sizing.reset-size10.size5,
  .katex .fontsize-ensurer.reset-size10.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.4339440694em;
  }
  .katex .sizing.reset-size10.size6,
  .katex .fontsize-ensurer.reset-size10.size6 {
    /* stylelint-disable-next-line */
    font-size: 0.4821600771em;
  }
  .katex .sizing.reset-size10.size7,
  .katex .fontsize-ensurer.reset-size10.size7 {
    /* stylelint-disable-next-line */
    font-size: 0.5785920926em;
  }
  .katex .sizing.reset-size10.size8,
  .katex .fontsize-ensurer.reset-size10.size8 {
    /* stylelint-disable-next-line */
    font-size: 0.6943105111em;
  }
  .katex .sizing.reset-size10.size9,
  .katex .fontsize-ensurer.reset-size10.size9 {
    /* stylelint-disable-next-line */
    font-size: 0.8331726133em;
  }
  .katex .sizing.reset-size10.size10,
  .katex .fontsize-ensurer.reset-size10.size10 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .sizing.reset-size10.size11,
  .katex .fontsize-ensurer.reset-size10.size11 {
    /* stylelint-disable-next-line */
    font-size: 1.1996142719em;
  }
  .katex .sizing.reset-size11.size1,
  .katex .fontsize-ensurer.reset-size11.size1 {
    /* stylelint-disable-next-line */
    font-size: 0.2009646302em;
  }
  .katex .sizing.reset-size11.size2,
  .katex .fontsize-ensurer.reset-size11.size2 {
    /* stylelint-disable-next-line */
    font-size: 0.2411575563em;
  }
  .katex .sizing.reset-size11.size3,
  .katex .fontsize-ensurer.reset-size11.size3 {
    /* stylelint-disable-next-line */
    font-size: 0.2813504823em;
  }
  .katex .sizing.reset-size11.size4,
  .katex .fontsize-ensurer.reset-size11.size4 {
    /* stylelint-disable-next-line */
    font-size: 0.3215434084em;
  }
  .katex .sizing.reset-size11.size5,
  .katex .fontsize-ensurer.reset-size11.size5 {
    /* stylelint-disable-next-line */
    font-size: 0.3617363344em;
  }
  .katex .sizing.reset-size11.size6,
  .katex .fontsize-ensurer.reset-size11.size6 {
    /* stylelint-disable-next-line */
    font-size: 0.4019292605em;
  }
  .katex .sizing.reset-size11.size7,
  .katex .fontsize-ensurer.reset-size11.size7 {
    /* stylelint-disable-next-line */
    font-size: 0.4823151125em;
  }
  .katex .sizing.reset-size11.size8,
  .katex .fontsize-ensurer.reset-size11.size8 {
    /* stylelint-disable-next-line */
    font-size: 0.578778135em;
  }
  .katex .sizing.reset-size11.size9,
  .katex .fontsize-ensurer.reset-size11.size9 {
    /* stylelint-disable-next-line */
    font-size: 0.6945337621em;
  }
  .katex .sizing.reset-size11.size10,
  .katex .fontsize-ensurer.reset-size11.size10 {
    /* stylelint-disable-next-line */
    font-size: 0.8336012862em;
  }
  .katex .sizing.reset-size11.size11,
  .katex .fontsize-ensurer.reset-size11.size11 {
    /* stylelint-disable-next-line */
    font-size: 1em;
  }
  .katex .delimsizing.size1 {
    font-family: KaTeX_Size1;
  }
  .katex .delimsizing.size2 {
    font-family: KaTeX_Size2;
  }
  .katex .delimsizing.size3 {
    font-family: KaTeX_Size3;
  }
  .katex .delimsizing.size4 {
    font-family: KaTeX_Size4;
  }
  .katex .delimsizing.mult .delim-size1 > span {
    font-family: KaTeX_Size1;
  }
  .katex .delimsizing.mult .delim-size4 > span {
    font-family: KaTeX_Size4;
  }
  .katex .nulldelimiter {
    display: inline-block;
    width: 0.12em;
  }
  .katex .delimcenter {
    position: relative;
  }
  .katex .op-symbol {
    position: relative;
  }
  .katex .op-symbol.small-op {
    font-family: KaTeX_Size1;
  }
  .katex .op-symbol.large-op {
    font-family: KaTeX_Size2;
  }
  .katex .op-limits > .vlist-t {
    text-align: center;
  }
  .katex .accent > .vlist-t {
    text-align: center;
  }
  .katex .accent .accent-body {
    position: relative;
  }
  .katex .accent .accent-body:not(.accent-full) {
    width: 0;
  }
  .katex .overlay {
    display: block;
  }
  .katex .mtable .vertical-separator {
    display: inline-block;
    min-width: 1px;
  }
  .katex .mtable .arraycolsep {
    display: inline-block;
  }
  .katex .mtable .col-align-c > .vlist-t {
    text-align: center;
  }
  .katex .mtable .col-align-l > .vlist-t {
    text-align: left;
  }
  .katex .mtable .col-align-r > .vlist-t {
    text-align: right;
  }
  .katex .svg-align {
    text-align: left;
  }
  .katex svg {
    display: block;
    position: absolute;
    width: 100%;
    height: inherit;
    fill: currentColor;
    stroke: currentColor;
    fill-rule: nonzero;
    fill-opacity: 1;
    stroke-width: 1;
    stroke-linecap: butt;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    stroke-opacity: 1;
  }
  .katex svg path {
    stroke: none;
  }
  .katex img {
    border-style: none;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none;
  }
  .katex .stretchy {
    width: 100%;
    display: block;
    position: relative;
    overflow: hidden;
  }
  .katex .stretchy::before,
  .katex .stretchy::after {
    content: "";
  }
  .katex .hide-tail {
    width: 100%;
    position: relative;
    overflow: hidden;
  }
  .katex .halfarrow-left {
    position: absolute;
    left: 0;
    width: 50.2%;
    overflow: hidden;
  }
  .katex .halfarrow-right {
    position: absolute;
    right: 0;
    width: 50.2%;
    overflow: hidden;
  }
  .katex .brace-left {
    position: absolute;
    left: 0;
    width: 25.1%;
    overflow: hidden;
  }
  .katex .brace-center {
    position: absolute;
    left: 25%;
    width: 50%;
    overflow: hidden;
  }
  .katex .brace-right {
    position: absolute;
    right: 0;
    width: 25.1%;
    overflow: hidden;
  }
  .katex .x-arrow-pad {
    padding: 0 0.5em;
  }
  .katex .cd-arrow-pad {
    padding: 0 0.55556em 0 0.27778em;
  }
  .katex .x-arrow,
  .katex .mover,
  .katex .munder {
    text-align: center;
  }
  .katex .boxpad {
    padding: 0 0.3em;
  }
  .katex .fbox,
  .katex .fcolorbox {
    box-sizing: border-box;
    border: 0.04em solid;
  }
  .katex .cancel-pad {
    padding: 0 0.2em;
  }
  .katex .cancel-lap {
    margin-left: -0.2em;
    margin-right: -0.2em;
  }
  .katex .sout {
    border-bottom-style: solid;
    border-bottom-width: 0.08em;
  }
  .katex .angl {
    box-sizing: border-box;
    border-top: 0.049em solid;
    border-right: 0.049em solid;
    margin-right: 0.03889em;
  }
  .katex .anglpad {
    padding: 0 0.03889em;
  }
  .katex .eqn-num::before {
    counter-increment: katexEqnNo;
    content: "(" counter(katexEqnNo) ")";
  }
  .katex .mml-eqn-num::before {
    counter-increment: mmlEqnNo;
    content: "(" counter(mmlEqnNo) ")";
  }
  .katex .mtr-glue {
    width: 50%;
  }
  .katex .cd-vert-arrow {
    display: inline-block;
    position: relative;
  }
  .katex .cd-label-left {
    display: inline-block;
    position: absolute;
    right: calc(50% + 0.3em);
    text-align: left;
  }
  .katex .cd-label-right {
    display: inline-block;
    position: absolute;
    left: calc(50% + 0.3em);
    text-align: right;
  }

  .katex-display {
    display: block;
    margin: 1em 0;
    text-align: center;
  }
  .katex-display > .katex {
    display: block;
    text-align: center;
    white-space: nowrap;
  }
  .katex-display > .katex > .katex-html {
    display: block;
    position: relative;
  }
  .katex-display > .katex > .katex-html > .tag {
    position: absolute;
    right: 0;
  }

  .katex-display.leqno > .katex > .katex-html > .tag {
    left: 0;
    right: auto;
  }

  .katex-display.fleqn > .katex {
    text-align: left;
    padding-left: 2em;
  }

  body {
    counter-reset: katexEqnNo mmlEqnNo;
  }
}

@layer fonts {
  /* Iosevka
 * URL: https://typeof.net/Iosevka/
 * License: OFL-1.1
 */

  /* The below has been modified from the Iosevka.css file shipped with the web font release package. */

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 100;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Thin.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 100;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-ThinOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 100;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-ThinItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 200;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-ExtraLight.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 200;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-ExtraLightOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 200;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-ExtraLightItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 300;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Light.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 300;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-LightOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 300;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-LightItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Regular.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 400;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-Oblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 400;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-Italic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Medium.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 500;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-MediumOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 500;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-MediumItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-SemiBold.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 600;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-SemiBoldOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 600;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-SemiBoldItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 700;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Bold.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 700;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-BoldOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 700;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-BoldItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 800;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-ExtraBold.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 800;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-ExtraBoldOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 800;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-ExtraBoldItalic.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 900;
    font-stretch: normal;
    font-style: normal;
    src: url("/fonts/Iosevka-Heavy.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 900;
    font-stretch: normal;
    font-style: oblique;
    src: url("/fonts/Iosevka-HeavyOblique.woff2") format("woff2");
  }

  @font-face {
    font-family: "Iosevka Web";
    font-display: swap;
    font-weight: 900;
    font-stretch: normal;
    font-style: italic;
    src: url("/fonts/Iosevka-HeavyItalic.woff2") format("woff2");
  }
}

@layer fonts {
  /* Space Grotesk
 * URL: https://floriankarsten.github.io/space-grotesk/
 * License: OFL-1.1
 */

  @font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/SpaceGrotesk-Light.woff2) format("woff2");
  }

  @font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/SpaceGrotesk-Regular.woff2) format("woff2");
  }

  @font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/SpaceGrotesk-Medium.woff2) format("woff2");
  }

  @font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/SpaceGrotesk-Bold.woff2) format("woff2");
  }
}

@layer theme {
  :root {
    --ctp-latte-rosewater: #dc8a78;
    --ctp-latte-rosewater-rgb: 220 138 120;
    --ctp-latte-rosewater-hsl: 10.8 58.824% 66.667%;
    --ctp-latte-flamingo: #dd7878;
    --ctp-latte-flamingo-rgb: 221 120 120;
    --ctp-latte-flamingo-hsl: 0 59.763% 66.863%;
    --ctp-latte-pink: #ea76cb;
    --ctp-latte-pink-rgb: 234 118 203;
    --ctp-latte-pink-hsl: 316.034 73.418% 69.02%;
    --ctp-latte-mauve: #8839ef;
    --ctp-latte-mauve-rgb: 136 57 239;
    --ctp-latte-mauve-hsl: 266.044 85.047% 58.039%;
    --ctp-latte-red: #d20f39;
    --ctp-latte-red-rgb: 210 15 57;
    --ctp-latte-red-hsl: 347.077 86.667% 44.118%;
    --ctp-latte-maroon: #e64553;
    --ctp-latte-maroon-rgb: 230 69 83;
    --ctp-latte-maroon-hsl: 354.783 76.303% 58.627%;
    --ctp-latte-peach: #fe640b;
    --ctp-latte-peach-rgb: 254 100 11;
    --ctp-latte-peach-hsl: 21.975 99.184% 51.961%;
    --ctp-latte-yellow: #df8e1d;
    --ctp-latte-yellow-rgb: 223 142 29;
    --ctp-latte-yellow-hsl: 34.948 76.984% 49.412%;
    --ctp-latte-green: #40a02b;
    --ctp-latte-green-rgb: 64 160 43;
    --ctp-latte-green-hsl: 109.231 57.635% 39.804%;
    --ctp-latte-teal: #179299;
    --ctp-latte-teal-rgb: 23 146 153;
    --ctp-latte-teal-hsl: 183.231 73.864% 34.51%;
    --ctp-latte-sky: #04a5e5;
    --ctp-latte-sky-rgb: 4 165 229;
    --ctp-latte-sky-hsl: 197.067 96.567% 45.686%;
    --ctp-latte-sapphire: #209fb5;
    --ctp-latte-sapphire-rgb: 32 159 181;
    --ctp-latte-sapphire-hsl: 188.859 69.953% 41.765%;
    --ctp-latte-blue: #1e66f5;
    --ctp-latte-blue-rgb: 30 102 245;
    --ctp-latte-blue-hsl: 219.907 91.489% 53.922%;
    --ctp-latte-lavender: #7287fd;
    --ctp-latte-lavender-rgb: 114 135 253;
    --ctp-latte-lavender-hsl: 230.935 97.203% 71.961%;
    --ctp-latte-text: #4c4f69;
    --ctp-latte-text-rgb: 76 79 105;
    --ctp-latte-text-hsl: 233.793 16.022% 35.49%;
    --ctp-latte-subtext1: #5c5f77;
    --ctp-latte-subtext1-rgb: 92 95 119;
    --ctp-latte-subtext1-hsl: 233.333 12.796% 41.373%;
    --ctp-latte-subtext0: #6c6f85;
    --ctp-latte-subtext0-rgb: 108 111 133;
    --ctp-latte-subtext0-hsl: 232.8 10.373% 47.255%;
    --ctp-latte-overlay2: #7c7f93;
    --ctp-latte-overlay2-rgb: 124 127 147;
    --ctp-latte-overlay2-hsl: 232.174 9.623% 53.137%;
    --ctp-latte-overlay1: #8c8fa1;
    --ctp-latte-overlay1-rgb: 140 143 161;
    --ctp-latte-overlay1-hsl: 231.429 10.048% 59.02%;
    --ctp-latte-overlay0: #9ca0b0;
    --ctp-latte-overlay0-rgb: 156 160 176;
    --ctp-latte-overlay0-hsl: 228 11.236% 65.098%;
    --ctp-latte-surface2: #acb0be;
    --ctp-latte-surface2-rgb: 172 176 190;
    --ctp-latte-surface2-hsl: 226.667 12.162% 70.98%;
    --ctp-latte-surface1: #bcc0cc;
    --ctp-latte-surface1-rgb: 188 192 204;
    --ctp-latte-surface1-hsl: 225 13.559% 76.863%;
    --ctp-latte-surface0: #ccd0da;
    --ctp-latte-surface0-rgb: 204 208 218;
    --ctp-latte-surface0-hsl: 222.857 15.909% 82.745%;
    --ctp-latte-base: #eff1f5;
    --ctp-latte-base-rgb: 239 241 245;
    --ctp-latte-base-hsl: 220 23.077% 94.902%;
    --ctp-latte-mantle: #e6e9ef;
    --ctp-latte-mantle-rgb: 230 233 239;
    --ctp-latte-mantle-hsl: 220 21.951% 91.961%;
    --ctp-latte-crust: #dce0e8;
    --ctp-latte-crust-rgb: 220 224 232;
    --ctp-latte-crust-hsl: 220 20.69% 88.627%;
  }

  :root {
    --ctp-frappe-rosewater: #f2d5cf;
    --ctp-frappe-rosewater-rgb: 242 213 207;
    --ctp-frappe-rosewater-hsl: 10.286 57.377% 88.039%;
    --ctp-frappe-flamingo: #eebebe;
    --ctp-frappe-flamingo-rgb: 238 190 190;
    --ctp-frappe-flamingo-hsl: 0 58.537% 83.922%;
    --ctp-frappe-pink: #f4b8e4;
    --ctp-frappe-pink-rgb: 244 184 228;
    --ctp-frappe-pink-hsl: 316 73.171% 83.922%;
    --ctp-frappe-mauve: #ca9ee6;
    --ctp-frappe-mauve-rgb: 202 158 230;
    --ctp-frappe-mauve-hsl: 276.667 59.016% 76.078%;
    --ctp-frappe-red: #e78284;
    --ctp-frappe-red-rgb: 231 130 132;
    --ctp-frappe-red-hsl: 358.812 67.785% 70.784%;
    --ctp-frappe-maroon: #ea999c;
    --ctp-frappe-maroon-rgb: 234 153 156;
    --ctp-frappe-maroon-hsl: 357.778 65.854% 75.882%;
    --ctp-frappe-peach: #ef9f76;
    --ctp-frappe-peach-rgb: 239 159 118;
    --ctp-frappe-peach-hsl: 20.331 79.085% 70%;
    --ctp-frappe-yellow: #e5c890;
    --ctp-frappe-yellow-rgb: 229 200 144;
    --ctp-frappe-yellow-hsl: 39.529 62.044% 73.137%;
    --ctp-frappe-green: #a6d189;
    --ctp-frappe-green-rgb: 166 209 137;
    --ctp-frappe-green-hsl: 95.833 43.902% 67.843%;
    --ctp-frappe-teal: #81c8be;
    --ctp-frappe-teal-rgb: 129 200 190;
    --ctp-frappe-teal-hsl: 171.549 39.227% 64.51%;
    --ctp-frappe-sky: #99d1db;
    --ctp-frappe-sky-rgb: 153 209 219;
    --ctp-frappe-sky-hsl: 189.091 47.826% 72.941%;
    --ctp-frappe-sapphire: #85c1dc;
    --ctp-frappe-sapphire-rgb: 133 193 220;
    --ctp-frappe-sapphire-hsl: 198.621 55.414% 69.216%;
    --ctp-frappe-blue: #8caaee;
    --ctp-frappe-blue-rgb: 140 170 238;
    --ctp-frappe-blue-hsl: 221.633 74.242% 74.118%;
    --ctp-frappe-lavender: #babbf1;
    --ctp-frappe-lavender-rgb: 186 187 241;
    --ctp-frappe-lavender-hsl: 238.909 66.265% 83.725%;
    --ctp-frappe-text: #c6d0f5;
    --ctp-frappe-text-rgb: 198 208 245;
    --ctp-frappe-text-hsl: 227.234 70.149% 86.863%;
    --ctp-frappe-subtext1: #b5bfe2;
    --ctp-frappe-subtext1-rgb: 181 191 226;
    --ctp-frappe-subtext1-hsl: 226.667 43.689% 79.804%;
    --ctp-frappe-subtext0: #a5adce;
    --ctp-frappe-subtext0-rgb: 165 173 206;
    --ctp-frappe-subtext0-hsl: 228.293 29.496% 72.745%;
    --ctp-frappe-overlay2: #949cbb;
    --ctp-frappe-overlay2-rgb: 148 156 187;
    --ctp-frappe-overlay2-hsl: 227.692 22.286% 65.686%;
    --ctp-frappe-overlay1: #838ba7;
    --ctp-frappe-overlay1-rgb: 131 139 167;
    --ctp-frappe-overlay1-hsl: 226.667 16.981% 58.431%;
    --ctp-frappe-overlay0: #737994;
    --ctp-frappe-overlay0-rgb: 115 121 148;
    --ctp-frappe-overlay0-hsl: 229.091 13.36% 51.569%;
    --ctp-frappe-surface2: #626880;
    --ctp-frappe-surface2-rgb: 98 104 128;
    --ctp-frappe-surface2-hsl: 228 13.274% 44.314%;
    --ctp-frappe-surface1: #51576d;
    --ctp-frappe-surface1-rgb: 81 87 109;
    --ctp-frappe-surface1-hsl: 227.143 14.737% 37.255%;
    --ctp-frappe-surface0: #414559;
    --ctp-frappe-surface0-rgb: 65 69 89;
    --ctp-frappe-surface0-hsl: 230 15.584% 30.196%;
    --ctp-frappe-base: #303446;
    --ctp-frappe-base-rgb: 48 52 70;
    --ctp-frappe-base-hsl: 229.091 18.644% 23.137%;
    --ctp-frappe-mantle: #292c3c;
    --ctp-frappe-mantle-rgb: 41 44 60;
    --ctp-frappe-mantle-hsl: 230.526 18.812% 19.804%;
    --ctp-frappe-crust: #232634;
    --ctp-frappe-crust-rgb: 35 38 52;
    --ctp-frappe-crust-hsl: 229.412 19.54% 17.059%;
  }

  :root {
    --ctp-macchiato-rosewater: #f4dbd6;
    --ctp-macchiato-rosewater-rgb: 244 219 214;
    --ctp-macchiato-rosewater-hsl: 10 57.692% 89.804%;
    --ctp-macchiato-flamingo: #f0c6c6;
    --ctp-macchiato-flamingo-rgb: 240 198 198;
    --ctp-macchiato-flamingo-hsl: 0 58.333% 85.882%;
    --ctp-macchiato-pink: #f5bde6;
    --ctp-macchiato-pink-rgb: 245 189 230;
    --ctp-macchiato-pink-hsl: 316.071 73.684% 85.098%;
    --ctp-macchiato-mauve: #c6a0f6;
    --ctp-macchiato-mauve-rgb: 198 160 246;
    --ctp-macchiato-mauve-hsl: 266.512 82.692% 79.608%;
    --ctp-macchiato-red: #ed8796;
    --ctp-macchiato-red-rgb: 237 135 150;
    --ctp-macchiato-red-hsl: 351.176 73.913% 72.941%;
    --ctp-macchiato-maroon: #ee99a0;
    --ctp-macchiato-maroon-rgb: 238 153 160;
    --ctp-macchiato-maroon-hsl: 355.059 71.429% 76.667%;
    --ctp-macchiato-peach: #f5a97f;
    --ctp-macchiato-peach-rgb: 245 169 127;
    --ctp-macchiato-peach-hsl: 21.356 85.507% 72.941%;
    --ctp-macchiato-yellow: #eed49f;
    --ctp-macchiato-yellow-rgb: 238 212 159;
    --ctp-macchiato-yellow-hsl: 40.253 69.912% 77.843%;
    --ctp-macchiato-green: #a6da95;
    --ctp-macchiato-green-rgb: 166 218 149;
    --ctp-macchiato-green-hsl: 105.217 48.252% 71.961%;
    --ctp-macchiato-teal: #8bd5ca;
    --ctp-macchiato-teal-rgb: 139 213 202;
    --ctp-macchiato-teal-hsl: 171.081 46.835% 69.02%;
    --ctp-macchiato-sky: #91d7e3;
    --ctp-macchiato-sky-rgb: 145 215 227;
    --ctp-macchiato-sky-hsl: 188.78 59.42% 72.941%;
    --ctp-macchiato-sapphire: #7dc4e4;
    --ctp-macchiato-sapphire-rgb: 125 196 228;
    --ctp-macchiato-sapphire-hsl: 198.641 65.605% 69.216%;
    --ctp-macchiato-blue: #8aadf4;
    --ctp-macchiato-blue-rgb: 138 173 244;
    --ctp-macchiato-blue-hsl: 220.189 82.813% 74.902%;
    --ctp-macchiato-lavender: #b7bdf8;
    --ctp-macchiato-lavender-rgb: 183 189 248;
    --ctp-macchiato-lavender-hsl: 234.462 82.278% 84.51%;
    --ctp-macchiato-text: #cad3f5;
    --ctp-macchiato-text-rgb: 202 211 245;
    --ctp-macchiato-text-hsl: 227.442 68.254% 87.647%;
    --ctp-macchiato-subtext1: #b8c0e0;
    --ctp-macchiato-subtext1-rgb: 184 192 224;
    --ctp-macchiato-subtext1-hsl: 228 39.216% 80%;
    --ctp-macchiato-subtext0: #a5adcb;
    --ctp-macchiato-subtext0-rgb: 165 173 203;
    --ctp-macchiato-subtext0-hsl: 227.368 26.761% 72.157%;
    --ctp-macchiato-overlay2: #939ab7;
    --ctp-macchiato-overlay2-rgb: 147 154 183;
    --ctp-macchiato-overlay2-hsl: 228.333 20% 64.706%;
    --ctp-macchiato-overlay1: #8087a2;
    --ctp-macchiato-overlay1-rgb: 128 135 162;
    --ctp-macchiato-overlay1-hsl: 227.647 15.455% 56.863%;
    --ctp-macchiato-overlay0: #6e738d;
    --ctp-macchiato-overlay0-rgb: 110 115 141;
    --ctp-macchiato-overlay0-hsl: 230.323 12.351% 49.216%;
    --ctp-macchiato-surface2: #5b6078;
    --ctp-macchiato-surface2-rgb: 91 96 120;
    --ctp-macchiato-surface2-hsl: 229.655 13.744% 41.373%;
    --ctp-macchiato-surface1: #494d64;
    --ctp-macchiato-surface1-rgb: 73 77 100;
    --ctp-macchiato-surface1-hsl: 231.111 15.607% 33.922%;
    --ctp-macchiato-surface0: #363a4f;
    --ctp-macchiato-surface0-rgb: 54 58 79;
    --ctp-macchiato-surface0-hsl: 230.4 18.797% 26.078%;
    --ctp-macchiato-base: #24273a;
    --ctp-macchiato-base-rgb: 36 39 58;
    --ctp-macchiato-base-hsl: 231.818 23.404% 18.431%;
    --ctp-macchiato-mantle: #1e2030;
    --ctp-macchiato-mantle-rgb: 30 32 48;
    --ctp-macchiato-mantle-hsl: 233.333 23.077% 15.294%;
    --ctp-macchiato-crust: #181926;
    --ctp-macchiato-crust-rgb: 24 25 38;
    --ctp-macchiato-crust-hsl: 235.714 22.581% 12.157%;
  }

  :root {
    --ctp-mocha-rosewater: #f5e0dc;
    --ctp-mocha-rosewater-rgb: 245 224 220;
    --ctp-mocha-rosewater-hsl: 9.6 55.556% 91.176%;
    --ctp-mocha-flamingo: #f2cdcd;
    --ctp-mocha-flamingo-rgb: 242 205 205;
    --ctp-mocha-flamingo-hsl: 0 58.73% 87.647%;
    --ctp-mocha-pink: #f5c2e7;
    --ctp-mocha-pink-rgb: 245 194 231;
    --ctp-mocha-pink-hsl: 316.471 71.831% 86.078%;
    --ctp-mocha-mauve: #cba6f7;
    --ctp-mocha-mauve-rgb: 203 166 247;
    --ctp-mocha-mauve-hsl: 267.407 83.505% 80.98%;
    --ctp-mocha-red: #f38ba8;
    --ctp-mocha-red-rgb: 243 139 168;
    --ctp-mocha-red-hsl: 343.269 81.25% 74.902%;
    --ctp-mocha-maroon: #eba0ac;
    --ctp-mocha-maroon-rgb: 235 160 172;
    --ctp-mocha-maroon-hsl: 350.4 65.217% 77.451%;
    --ctp-mocha-peach: #fab387;
    --ctp-mocha-peach-rgb: 250 179 135;
    --ctp-mocha-peach-hsl: 22.957 92% 75.49%;
    --ctp-mocha-yellow: #f9e2af;
    --ctp-mocha-yellow-rgb: 249 226 175;
    --ctp-mocha-yellow-hsl: 41.351 86.047% 83.137%;
    --ctp-mocha-green: #a6e3a1;
    --ctp-mocha-green-rgb: 166 227 161;
    --ctp-mocha-green-hsl: 115.455 54.098% 76.078%;
    --ctp-mocha-teal: #94e2d5;
    --ctp-mocha-teal-rgb: 148 226 213;
    --ctp-mocha-teal-hsl: 170 57.353% 73.333%;
    --ctp-mocha-sky: #89dceb;
    --ctp-mocha-sky-rgb: 137 220 235;
    --ctp-mocha-sky-hsl: 189.184 71.014% 72.941%;
    --ctp-mocha-sapphire: #74c7ec;
    --ctp-mocha-sapphire-rgb: 116 199 236;
    --ctp-mocha-sapphire-hsl: 198.5 75.949% 69.02%;
    --ctp-mocha-blue: #89b4fa;
    --ctp-mocha-blue-rgb: 137 180 250;
    --ctp-mocha-blue-hsl: 217.168 91.87% 75.882%;
    --ctp-mocha-lavender: #b4befe;
    --ctp-mocha-lavender-rgb: 180 190 254;
    --ctp-mocha-lavender-hsl: 231.892 97.368% 85.098%;
    --ctp-mocha-text: #cdd6f4;
    --ctp-mocha-text-rgb: 205 214 244;
    --ctp-mocha-text-hsl: 226.154 63.934% 88.039%;
    --ctp-mocha-subtext1: #bac2de;
    --ctp-mocha-subtext1-rgb: 186 194 222;
    --ctp-mocha-subtext1-hsl: 226.667 35.294% 80%;
    --ctp-mocha-subtext0: #a6adc8;
    --ctp-mocha-subtext0-rgb: 166 173 200;
    --ctp-mocha-subtext0-hsl: 227.647 23.611% 71.765%;
    --ctp-mocha-overlay2: #9399b2;
    --ctp-mocha-overlay2-rgb: 147 153 178;
    --ctp-mocha-overlay2-hsl: 228.387 16.757% 63.725%;
    --ctp-mocha-overlay1: #7f849c;
    --ctp-mocha-overlay1-rgb: 127 132 156;
    --ctp-mocha-overlay1-hsl: 229.655 12.775% 55.49%;
    --ctp-mocha-overlay0: #6c7086;
    --ctp-mocha-overlay0-rgb: 108 112 134;
    --ctp-mocha-overlay0-hsl: 230.769 10.744% 47.451%;
    --ctp-mocha-surface2: #585b70;
    --ctp-mocha-surface2-rgb: 88 91 112;
    --ctp-mocha-surface2-hsl: 232.5 12% 39.216%;
    --ctp-mocha-surface1: #45475a;
    --ctp-mocha-surface1-rgb: 69 71 90;
    --ctp-mocha-surface1-hsl: 234.286 13.208% 31.176%;
    --ctp-mocha-surface0: #313244;
    --ctp-mocha-surface0-rgb: 49 50 68;
    --ctp-mocha-surface0-hsl: 236.842 16.239% 22.941%;
    --ctp-mocha-base: #1e1e2e;
    --ctp-mocha-base-rgb: 30 30 46;
    --ctp-mocha-base-hsl: 240 21.053% 14.902%;
    --ctp-mocha-mantle: #181825;
    --ctp-mocha-mantle-rgb: 24 24 37;
    --ctp-mocha-mantle-hsl: 240 21.311% 11.961%;
    --ctp-mocha-crust: #11111b;
    --ctp-mocha-crust-rgb: 17 17 27;
    --ctp-mocha-crust-hsl: 240 22.727% 8.627%;
  }
}

@layer theme {
  code.hljs {
    color: var(--ctp-text);
    background: var(--ctp-base);
  }
  code .hljs-keyword {
    color: var(--ctp-mauve);
  }
  code .hljs-built_in {
    color: var(--ctp-red);
  }
  code .hljs-type {
    color: var(--ctp-yellow);
  }
  code .hljs-literal {
    color: var(--ctp-peach);
  }
  code .hljs-number {
    color: var(--ctp-peach);
  }
  code .hljs-operator {
    color: var(--ctp-sky);
  }
  code .hljs-punctuation {
    color: var(--ctp-subtext1);
  }
  code .hljs-property {
    color: var(--ctp-teal);
  }
  code .hljs-regexp {
    color: var(--ctp-pink);
  }
  code .hljs-string {
    color: var(--ctp-green);
  }
  code .hljs-char.escape_ {
    color: var(--ctp-green);
  }
  code .hljs-subst {
    color: var(--ctp-subtext0);
  }
  code .hljs-symbol {
    color: var(--ctp-flamingo);
  }
  code .hljs-variable {
    color: var(--ctp-mauve);
  }
  code .hljs-variable.language_ {
    color: var(--ctp-mauve);
  }
  code .hljs-variable.constant_ {
    color: var(--ctp-peach);
  }
  code .hljs-title {
    color: var(--ctp-blue);
  }
  code .hljs-title.class_ {
    color: var(--ctp-yellow);
  }
  code .hljs-title.function_ {
    color: var(--ctp-blue);
  }
  code .hljs-params {
    color: var(--ctp-text);
  }
  code .hljs-comment {
    color: var(--ctp-overlay2);
  }
  code .hljs-doctag {
    color: var(--ctp-red);
  }
  code .hljs-meta {
    color: var(--ctp-peach);
  }
  code .hljs-section {
    color: var(--ctp-blue);
  }
  code .hljs-tag {
    color: var(--ctp-teal);
  }
  code .hljs-name {
    color: var(--ctp-mauve);
  }
  code .hljs-attr {
    color: var(--ctp-blue);
  }
  code .hljs-attribute {
    color: var(--ctp-green);
  }
  code .hljs-bullet {
    color: var(--ctp-teal);
  }
  code .hljs-code {
    color: var(--ctp-green);
  }
  code .hljs-emphasis {
    color: var(--ctp-red);
    font-style: italic;
  }
  code .hljs-strong {
    color: var(--ctp-red);
    font-weight: bold;
  }
  code .hljs-formula {
    color: var(--ctp-teal);
  }
  code .hljs-link {
    color: var(--ctp-sapphire);
    font-style: italic;
  }
  code .hljs-quote {
    color: var(--ctp-green);
    font-style: italic;
  }
  code .hljs-selector-tag {
    color: var(--ctp-yellow);
  }
  code .hljs-selector-id {
    color: var(--ctp-blue);
  }
  code .hljs-selector-class {
    color: var(--ctp-teal);
  }
  code .hljs-selector-attr {
    color: var(--ctp-mauve);
  }
  code .hljs-selector-pseudo {
    color: var(--ctp-teal);
  }
  code .hljs-template-tag {
    color: var(--ctp-flamingo);
  }
  code .hljs-template-variable {
    color: var(--ctp-flamingo);
  }
  code .hljs-addition {
    color: var(--ctp-green);
    background: rgb(from var(--ctp-green) r g b/15%);
  }
  code .hljs-deletion {
    color: var(--ctp-red);
    background: rgb(from var(--ctp-red) r g b/15%);
  }
}

@layer theme {
  :root {
    --ctp-rosewater: var(--ctp-mocha-rosewater);
    --ctp-rosewater-rgb: var(--ctp-mocha-rosewater-rgb);
    --ctp-rosewater-hsl: var(--ctp-mocha-rosewater-hsl);
    --ctp-flamingo: var(--ctp-mocha-flamingo);
    --ctp-flamingo-rgb: var(--ctp-mocha-flamingo-rgb);
    --ctp-flamingo-hsl: var(--ctp-mocha-flamingo-hsl);
    --ctp-pink: var(--ctp-mocha-pink);
    --ctp-pink-rgb: var(--ctp-mocha-pink-rgb);
    --ctp-pink-hsl: var(--ctp-mocha-pink-hsl);
    --ctp-mauve: var(--ctp-mocha-mauve);
    --ctp-mauve-rgb: var(--ctp-mocha-mauve-rgb);
    --ctp-mauve-hsl: var(--ctp-mocha-mauve-hsl);
    --ctp-red: var(--ctp-mocha-red);
    --ctp-red-rgb: var(--ctp-mocha-red-rgb);
    --ctp-red-hsl: var(--ctp-mocha-red-hsl);
    --ctp-maroon: var(--ctp-mocha-maroon);
    --ctp-maroon-rgb: var(--ctp-mocha-maroon-rgb);
    --ctp-maroon-hsl: var(--ctp-mocha-maroon-hsl);
    --ctp-peach: var(--ctp-mocha-peach);
    --ctp-peach-rgb: var(--ctp-mocha-peach-rgb);
    --ctp-peach-hsl: var(--ctp-mocha-peach-hsl);
    --ctp-yellow: var(--ctp-mocha-yellow);
    --ctp-yellow-rgb: var(--ctp-mocha-yellow-rgb);
    --ctp-yellow-hsl: var(--ctp-mocha-yellow-hsl);
    --ctp-green: var(--ctp-mocha-green);
    --ctp-green-rgb: var(--ctp-mocha-green-rgb);
    --ctp-green-hsl: var(--ctp-mocha-green-hsl);
    --ctp-teal: var(--ctp-mocha-teal);
    --ctp-teal-rgb: var(--ctp-mocha-teal-rgb);
    --ctp-teal-hsl: var(--ctp-mocha-teal-hsl);
    --ctp-sky: var(--ctp-mocha-sky);
    --ctp-sky-rgb: var(--ctp-mocha-sky-rgb);
    --ctp-sky-hsl: var(--ctp-mocha-sky-hsl);
    --ctp-sapphire: var(--ctp-mocha-sapphire);
    --ctp-sapphire-rgb: var(--ctp-mocha-sapphire-rgb);
    --ctp-sapphire-hsl: var(--ctp-mocha-sapphire-hsl);
    --ctp-blue: var(--ctp-mocha-blue);
    --ctp-blue-rgb: var(--ctp-mocha-blue-rgb);
    --ctp-blue-hsl: var(--ctp-mocha-blue-hsl);
    --ctp-lavender: var(--ctp-mocha-lavender);
    --ctp-lavender-rgb: var(--ctp-mocha-lavender-rgb);
    --ctp-lavender-hsl: var(--ctp-mocha-lavender-hsl);
    --ctp-text: var(--ctp-mocha-text);
    --ctp-text-rgb: var(--ctp-mocha-text-rgb);
    --ctp-text-hsl: var(--ctp-mocha-text-hsl);
    --ctp-subtext1: var(--ctp-mocha-subtext1);
    --ctp-subtext1-rgb: var(--ctp-mocha-subtext1-rgb);
    --ctp-subtext1-hsl: var(--ctp-mocha-subtext1-hsl);
    --ctp-subtext0: var(--ctp-mocha-subtext0);
    --ctp-subtext0-rgb: var(--ctp-mocha-subtext0-rgb);
    --ctp-subtext0-hsl: var(--ctp-mocha-subtext0-hsl);
    --ctp-overlay2: var(--ctp-mocha-overlay2);
    --ctp-overlay2-rgb: var(--ctp-mocha-overlay2-rgb);
    --ctp-overlay2-hsl: var(--ctp-mocha-overlay2-hsl);
    --ctp-overlay1: var(--ctp-mocha-overlay1);
    --ctp-overlay1-rgb: var(--ctp-mocha-overlay1-rgb);
    --ctp-overlay1-hsl: var(--ctp-mocha-overlay1-hsl);
    --ctp-overlay0: var(--ctp-mocha-overlay0);
    --ctp-overlay0-rgb: var(--ctp-mocha-overlay0-rgb);
    --ctp-overlay0-hsl: var(--ctp-mocha-overlay0-hsl);
    --ctp-surface2: var(--ctp-mocha-surface2);
    --ctp-surface2-rgb: var(--ctp-mocha-surface2-rgb);
    --ctp-surface2-hsl: var(--ctp-mocha-surface2-hsl);
    --ctp-surface1: var(--ctp-mocha-surface1);
    --ctp-surface1-rgb: var(--ctp-mocha-surface1-rgb);
    --ctp-surface1-hsl: var(--ctp-mocha-surface1-hsl);
    --ctp-surface0: var(--ctp-mocha-surface0);
    --ctp-surface0-rgb: var(--ctp-mocha-surface0-rgb);
    --ctp-surface0-hsl: var(--ctp-mocha-surface0-hsl);
    --ctp-base: var(--ctp-mocha-base);
    --ctp-base-rgb: var(--ctp-mocha-base-rgb);
    --ctp-base-hsl: var(--ctp-mocha-base-hsl);
    --ctp-mantle: var(--ctp-mocha-mantle);
    --ctp-mantle-rgb: var(--ctp-mocha-mantle-rgb);
    --ctp-mantle-hsl: var(--ctp-mocha-mantle-hsl);
    --ctp-crust: var(--ctp-mocha-crust);
    --ctp-crust-rgb: var(--ctp-mocha-crust-rgb);
    --ctp-crust-hsl: var(--ctp-mocha-crust-hsl);
  }

  @media (prefers-color-scheme: light) {
    :root {
      --ctp-rosewater: var(--ctp-latte-rosewater);
      --ctp-rosewater-rgb: var(--ctp-latte-rosewater-rgb);
      --ctp-rosewater-hsl: var(--ctp-latte-rosewater-hsl);
      --ctp-flamingo: var(--ctp-latte-flamingo);
      --ctp-flamingo-rgb: var(--ctp-latte-flamingo-rgb);
      --ctp-flamingo-hsl: var(--ctp-latte-flamingo-hsl);
      --ctp-pink: var(--ctp-latte-pink);
      --ctp-pink-rgb: var(--ctp-latte-pink-rgb);
      --ctp-pink-hsl: var(--ctp-latte-pink-hsl);
      --ctp-mauve: var(--ctp-latte-mauve);
      --ctp-mauve-rgb: var(--ctp-latte-mauve-rgb);
      --ctp-mauve-hsl: var(--ctp-latte-mauve-hsl);
      --ctp-red: var(--ctp-latte-red);
      --ctp-red-rgb: var(--ctp-latte-red-rgb);
      --ctp-red-hsl: var(--ctp-latte-red-hsl);
      --ctp-maroon: var(--ctp-latte-maroon);
      --ctp-maroon-rgb: var(--ctp-latte-maroon-rgb);
      --ctp-maroon-hsl: var(--ctp-latte-maroon-hsl);
      --ctp-peach: var(--ctp-latte-peach);
      --ctp-peach-rgb: var(--ctp-latte-peach-rgb);
      --ctp-peach-hsl: var(--ctp-latte-peach-hsl);
      --ctp-yellow: var(--ctp-latte-yellow);
      --ctp-yellow-rgb: var(--ctp-latte-yellow-rgb);
      --ctp-yellow-hsl: var(--ctp-latte-yellow-hsl);
      --ctp-green: var(--ctp-latte-green);
      --ctp-green-rgb: var(--ctp-latte-green-rgb);
      --ctp-green-hsl: var(--ctp-latte-green-hsl);
      --ctp-teal: var(--ctp-latte-teal);
      --ctp-teal-rgb: var(--ctp-latte-teal-rgb);
      --ctp-teal-hsl: var(--ctp-latte-teal-hsl);
      --ctp-sky: var(--ctp-latte-sky);
      --ctp-sky-rgb: var(--ctp-latte-sky-rgb);
      --ctp-sky-hsl: var(--ctp-latte-sky-hsl);
      --ctp-sapphire: var(--ctp-latte-sapphire);
      --ctp-sapphire-rgb: var(--ctp-latte-sapphire-rgb);
      --ctp-sapphire-hsl: var(--ctp-latte-sapphire-hsl);
      --ctp-blue: var(--ctp-latte-blue);
      --ctp-blue-rgb: var(--ctp-latte-blue-rgb);
      --ctp-blue-hsl: var(--ctp-latte-blue-hsl);
      --ctp-lavender: var(--ctp-latte-lavender);
      --ctp-lavender-rgb: var(--ctp-latte-lavender-rgb);
      --ctp-lavender-hsl: var(--ctp-latte-lavender-hsl);
      --ctp-text: var(--ctp-latte-text);
      --ctp-text-rgb: var(--ctp-latte-text-rgb);
      --ctp-text-hsl: var(--ctp-latte-text-hsl);
      --ctp-subtext1: var(--ctp-latte-subtext1);
      --ctp-subtext1-rgb: var(--ctp-latte-subtext1-rgb);
      --ctp-subtext1-hsl: var(--ctp-latte-subtext1-hsl);
      --ctp-subtext0: var(--ctp-latte-subtext0);
      --ctp-subtext0-rgb: var(--ctp-latte-subtext0-rgb);
      --ctp-subtext0-hsl: var(--ctp-latte-subtext0-hsl);
      --ctp-overlay2: var(--ctp-latte-overlay2);
      --ctp-overlay2-rgb: var(--ctp-latte-overlay2-rgb);
      --ctp-overlay2-hsl: var(--ctp-latte-overlay2-hsl);
      --ctp-overlay1: var(--ctp-latte-overlay1);
      --ctp-overlay1-rgb: var(--ctp-latte-overlay1-rgb);
      --ctp-overlay1-hsl: var(--ctp-latte-overlay1-hsl);
      --ctp-overlay0: var(--ctp-latte-overlay0);
      --ctp-overlay0-rgb: var(--ctp-latte-overlay0-rgb);
      --ctp-overlay0-hsl: var(--ctp-latte-overlay0-hsl);
      --ctp-surface2: var(--ctp-latte-surface2);
      --ctp-surface2-rgb: var(--ctp-latte-surface2-rgb);
      --ctp-surface2-hsl: var(--ctp-latte-surface2-hsl);
      --ctp-surface1: var(--ctp-latte-surface1);
      --ctp-surface1-rgb: var(--ctp-latte-surface1-rgb);
      --ctp-surface1-hsl: var(--ctp-latte-surface1-hsl);
      --ctp-surface0: var(--ctp-latte-surface0);
      --ctp-surface0-rgb: var(--ctp-latte-surface0-rgb);
      --ctp-surface0-hsl: var(--ctp-latte-surface0-hsl);
      --ctp-base: var(--ctp-latte-base);
      --ctp-base-rgb: var(--ctp-latte-base-rgb);
      --ctp-base-hsl: var(--ctp-latte-base-hsl);
      --ctp-mantle: var(--ctp-latte-mantle);
      --ctp-mantle-rgb: var(--ctp-latte-mantle-rgb);
      --ctp-mantle-hsl: var(--ctp-latte-mantle-hsl);
      --ctp-crust: var(--ctp-latte-crust);
      --ctp-crust-rgb: var(--ctp-latte-crust-rgb);
      --ctp-crust-hsl: var(--ctp-latte-crust-hsl);
    }
  }
}

/* Colors, from Catppuccin */

@layer theme {
  :root {
    /* a multiplier to increase contrast, for better legibility */
    --foreground-multiplier: 1.25;

    /* background colors */
    --background: var(--ctp-base);
    --background-callout: var(--ctp-crust);
    --highlighted: var(--ctp-peach);

    /* foreground colors */
    --text: var(--ctp-text); /* fallback; see below */
    --title: var(--ctp-pink);
    --heading: var(--ctp-green);
    --subheading: var(--ctp-yellow);
    --bold: var(--ctp-peach);
    --muted: var(--ctp-subtext1); /* fallback; see below */
    --link: var(--ctp-blue);
    --link-hover: var(--ctp-sky);
    --link-visited: var(--ctp-sapphire);
  }

  /* adjust foreground colours to increase contrast, if the browser supports this */
  @supports (color: hsl(from white h s l)) {
    :root {
      --text: hsl(from var(--ctp-text) h s calc(l * var(--foreground-multiplier)));
      --muted: hsl(from var(--ctp-subtext1) h s calc(l * var(--foreground-multiplier)));
    }
  }

  @media (prefers-color-scheme: light) {
    :root {
      --foreground-multiplier: 0.8;
    }
  }
}

/* Layout */

@layer layout {
  body {
    padding: 1rem;
  }

  @media screen and (min-width: 960px) {
    body {
      padding: 4rem;
    }
  }

  main {
    margin: 0 auto;
    max-width: 720px;
  }

  nav {
    margin: 0 auto;
    max-width: 720px;
  }

  nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
  }

  nav ul > li {
    padding: 0 0 0 0.5em;
  }

  nav ul > li:first-child {
    padding-left: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  dl,
  ol,
  ul,
  figcaption {
    margin-top: 1em;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: balance;
    break-after: avoid;
  }

  h1 + h2,
  h2 + h3,
  h3 + h4,
  h4 + h5,
  h5 + h6 {
    margin-top: 0;
  }

  hr {
    margin: 3em auto;
  }

  img {
    margin: 0 auto;
  }

  li {
    margin-top: 0.5em;
  }
  ol ol,
  ol ul,
  ul ol,
  ul ul {
    margin-top: 0;
  }

  @media screen and (min-width: 960px), print {
    dl {
      display: grid;
      grid-template-columns: max-content 1fr;
      column-gap: 1em;
      row-gap: 0.5em;
    }
  }

  dt::after {
    content: ":";
  }

  @media (max-width: 960px) {
    dd {
      margin-left: 1em;
    }
  }

  .info {
    margin-top: 0;
  }

  blockquote,
  pre,
  .katex-display {
    margin-top: 1em;
    padding: 0.5em;
  }

  pre,
  .katex-display {
    overflow-x: auto;
  }

  @media (min-width: 960px) {
    blockquote,
    pre,
    .asset {
      margin: 1em;
      padding: 1em;
    }
  }

  blockquote *:first-child {
    margin-top: 0;
  }

  blockquote *:last-child {
    margin-bottom: 0;
  }
  table td {
    padding: 0.25em;
  }

  .cp_embed_wrapper /* Codepen */ {
    margin-top: 1em;
  }

  @media print {
    body {
      padding: 0 4rem;
    }

    main {
      margin: 0 auto;
      max-width: unset;
    }

    li {
      margin-top: 0;
    }
  }
}

/* Typography */

@layer typography {
  body {
    background-color: var(--background);
    color: var(--text);
    font-family: "Space Grotesk", sans-serif;
    font-weight: 300;
  }

  @media print {
    body {
      line-height: 1.25;
    }
  }

  @media (min-width: 640px) {
    body {
      font-size: 1.25rem;
    }
  }
  nav ul > li {
    list-style: none;
  }

  nav ul > li:not(:first-child) {
    list-style: inside disc;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  strong,
  dt,
  th {
    font-weight: 400;
  }

  h1 {
    color: var(--title);
    font-size: 2em;
  }

  h1 small {
    color: var(--heading);
  }

  h2 {
    color: var(--heading);
    font-size: 1.5em;
  }

  h3 {
    color: var(--subheading);
    font-size: 1.2em;
  }

  h4,
  h5,
  h6 {
    font-size: 1em;
  }

  @media screen {
    h1,
    h2,
    h3 {
      font-family: "Handjet", sans-serif; /* using the default properties */
      font-weight: 300;
      line-height: 1.2;
    }

    h1 {
      font-size: 4em;
    }

    h2 {
      font-size: 3em;
    }

    h3 {
      font-size: 2em;
    }

    h4 {
      font-size: 1.5em;
    }
  }

  strong,
  dt,
  th {
    color: var(--bold);
  }

  strong.shout {
    display: block;
    font-size: larger;
    font-weight: inherit;
    color: inherit;
  }

  a {
    color: var(--link);
    text-decoration: underline;
  }

  a:hover {
    color: var(--link-hover);
    text-decoration: underline;
  }

  a:visited {
    color: var(--link-visited);
  }

  @media screen {
    a[href^="https:"]::after {
      content: url(/assets/external-link.svg);
      display: inline-block;
      padding-left: 0.25em;
      width: 1em;
      height: 1em;
    }

    @media (prefers-color-scheme: dark) {
      a[href^="https:"]::after {
        filter: invert(100%);
      }
    }
  }

  nav a,
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a,
  h6 a {
    text-decoration: none;
  }

  blockquote {
    background-color: var(--background-callout);
    border-left: 1px solid var(--highlighted);
    font-style: italic;
  }

  .code,
  code,
  pre code {
    font-family: "Iosevka Web", monospace;
    font-size: 1em;
  }

  pre,
  code.hljs,
  p code {
    background-color: var(--background-callout);
  }

  p code {
    padding: 0 2px;
    border: 1px solid var(--background-callout);
    border-radius: 4px;
  }

  pre[data-lang]::before {
    display: block;
    margin-top: -0.5em;
    font-family: "Space Grotesk", sans-serif;
    font-size: 0.67em;
    content: attr(data-lang);
  }

  figcaption,
  .asset {
    text-align: center;
  }

  figcaption {
    font-style: italic;
  }

  figcaption em {
    font-style: normal;
  }

  .info {
    font-size: 0.83em;
    color: var(--muted);
  }

  .trailer {
    font-size: 0.8em;
  }

  .citation {
    text-align: right;
  }

  .citation::before {
    content: "— ";
  }

  .series-list li[aria-current]::after {
    content: "  ←  you are here";
    font-style: italic;
    color: var(--muted);
  }

  .enable-codepen {
    font-size: small;
    font-style: italic;
  }

  .enable-codepen .enable-codepen-button {
    text-align: center;
    font-style: normal;
  }

  @media print {
    body {
      font-size: 1rem;
    }

    a {
      color: var(--text);
      text-decoration: none;
    }

    a:hover {
      color: var(--text);
    }

    a:visited {
      color: var(--text);
    }
  }
}
