/* body {
  max-width: 90%;
  margin: auto;
  padding: 2em;
  line-height: 1.5;
}


body {
  font-family: system-ui, 'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
  'Segoe UI Emoji', 'Segoe UI Symbol';
  color: rgba(0, 0, 0, 0.87);
}


pre, code {
  background: #f5f5f5;
  border-radius: 4px;
}
pre {
  overflow-x: auto;
  padding: 0.4em;
}

div.sourceCode {
  margin: 2rem 0 !important;
}

h2 {
  margin-top: 3rm !important;
} */

/* Solarized Light Color Scheme */
/* Define palette */
:root {
  --base03: #002b36;
  --base02: #073642;
  --base01: #586e75;
  --base00: #657b83;
  --base0: #839496;
  --base1: #93a1a1;
  --base2: #eee8d5;
  --base3: #fdf6e3;
  --yellow: #b58900;
  --orange: #cb4b16;
  --red: #dc322f;
  --magenta: #d33682;
  --violet: #6c71c4;
  --blue: #268bd2;
  --cyan: #2aa198;
  --green: #859900;
}

/* Layout and text */
body {
  max-width: 90%;
  margin: auto;
  padding: 2em;
  line-height: 1.5;
  font-family: system-ui, 'Segoe UI', helvetica, arial, sans-serif,
    'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
  background-color: var(--base3);
  color: var(--base02);
}

/* General elements */
code {
  white-space: pre-wrap;
}

span.smallcaps {
  font-variant: small-caps;
}

div.columns {
  display: flex;
  gap: min(4vw, 1.5em);
}

div.column {
  flex: auto;
  overflow-x: auto;
}

div.hanging-indent {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

/* Task lists */
ul.task-list[class] {
  list-style: none;
}

ul.task-list li input[type="checkbox"] {
  font-size: inherit;
  width: 0.8em;
  margin: 0 0.8em 0.2em -1.6em;
  vertical-align: middle;
}

/* Code‐block background */
pre,
code {
  background: var(--base2);
  border-radius: 4px;
  color: inherit;
}

pre {
  overflow-x: auto;
  padding: 0.4em;
}

div.sourceCode {
  margin: 2rem 0 !important;
}

h2 {
  margin-top: 2rem !important;

  border-top: 1px dashed var(--magenta);
  padding-top: 1em; 
}

/* Syntax highlighting base rules */
code.sourceCode>span {
  display: inline-block;
  line-height: 1.25;
}

pre.sourceCode,
div.sourceCode {
  overflow: visible;
  margin: 0;
}

@media screen {
  div.sourceCode {
    overflow: auto;
  }

  pre>code.sourceCode>span>a:first-child::before {
    text-decoration: underline;
  }
}

@media print {
  pre>code.sourceCode {
    white-space: pre-wrap;
  }

  pre>code.sourceCode>span {
    text-indent: -5em;
    padding-left: 5em;
  }
}

/* Line numbers */
pre.numberSource code {
  counter-reset: source-line 0;
}

pre.numberSource code>span {
  position: relative;
  left: -4em;
  counter-increment: source-line;
}

pre.numberSource code>span>a:first-child::before {
  content: counter(source-line);
  position: relative;
  left: -1em;
  text-align: right;
  vertical-align: baseline;
  border: none;
  display: inline-block;
  user-select: none;
  padding: 0 4px;
  width: 4em;
  color: var(--base1);
}

pre.numberSource {
  margin-left: 3em;
  border-left: 1px solid var(--base1);
  padding-left: 4px;
}

/* Token colors */
code span.al {
  color: var(--red);
  font-weight: bold;
}

/* Alert */
code span.an {
  color: var(--magenta);
  font-weight: bold;
  font-style: italic;
}

/* Annotation */
code span.at {
  color: var(--blue);
}

/* Attribute */
code span.bn {
  color: var(--magenta);
}

/* BaseN */
code span.bu {
  color: var(--yellow);
}

/* BuiltIn */
code span.cf {
  color: var(--green);
  font-weight: bold;
}

/* ControlFlow */
code span.ch {
  color: var(--cyan);
}

/* Char */
code span.cn {
  color: var(--violet);
}

/* Constant */
code span.co {
  color: var(--base1);
  font-style: italic;
}

/* Comment */
code span.cv {
  color: var(--base1);
  font-weight: bold;
  font-style: italic;
}

/* CommentVar */
code span.do {
  color: var(--blue);
  font-style: italic;
}

/* Documentation */
code span.dt {
  color: var(--cyan);
}

/* DataType */
code span.dv {
  color: var(--magenta);
}

/* DecVal */
code span.er {
  color: var(--red);
  font-weight: bold;
}

/* Error */
code span.ex {
  color: var(--violet);
}

/* Extension */
code span.fl {
  color: var(--magenta);
}

/* Float */
code span.fu {
  color: var(--blue);
}

/* Function */
code span.im {
  color: var(--green);
  font-weight: bold;
}

/* Import */
code span.in {
  color: var(--violet);
  font-weight: bold;
  font-style: italic;
}

/* Information */
code span.kw {
  color: var(--green);
  font-weight: bold;
}

/* Keyword */
code span.op {
  color: var(--base00);
}

/* Operator */
code span.ot {
  color: var(--base00);
}

/* Other */
code span.pp {
  color: var(--orange);
}

/* Preprocessor */
code span.sc {
  color: var(--base00);
}

/* SpecialChar */
code span.ss {
  color: var(--cyan);
}

/* SpecialString */
code span.st {
  color: var(--cyan);
}

/* String */
code span.va {
  color: var(--base00);
}

/* Variable */
code span.vs {
  color: var(--cyan);
}

/* VerbatimString */
code span.wa {
  color: var(--yellow);
  font-weight: bold;
  font-style: italic;
}

/* Warning */