@import "https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=Oswald:wght@200;300;400;500;600;700&family=Fira+Mono:wght@400;500;700&display=swap";
:root {
  --breakpoint-medium: 800px;
  --breakpoint-large: 1440px;
  --breakpoint-huge: 2000px;
}

.hidden {
  display: none;
}

*, :before, :after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

img, picture, video, canvas, svg {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

.twemoji, .emojione {
  max-height: 1em;
  display: inline;
}

.ah-typeset img.emojione, .ah-typeset img.twemoji {
  margin-bottom: 0;
}

:root {
  --font-mono: Fira Mono, monospace;
}

.ah-typeset {
  color: var(--clr-text);
  font-family: Open Sans, sans-serif;
  font-size: 1.25rem;
}

@media (max-width: 800px) {
  .ah-typeset {
    margin-bottom: 1rem;
    font-size: 1rem;
  }
}

.ah-typeset h1, .ah-typeset h2, .ah-typeset h3, .ah-typeset h4, .ah-typeset h5, .ah-typeset h6 {
  color: var(--clr-title);
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-family: Oswald, sans-serif;
  font-size: 1.563rem;
  line-height: 1.2;
}

@media (max-width: 800px) {
  .ah-typeset h1, .ah-typeset h2, .ah-typeset h3, .ah-typeset h4, .ah-typeset h5, .ah-typeset h6 {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
}

.ah-typeset h1 {
  font-size: 3.052rem;
}

@media (max-width: 800px) {
  .ah-typeset h1 {
    font-size: 1.953rem;
  }
}

.ah-typeset h2 {
  font-size: 2.441rem;
}

@media (max-width: 800px) {
  .ah-typeset h2 {
    font-size: 1.563rem;
  }
}

.ah-typeset h3 {
  font-size: 1.953rem;
}

@media (max-width: 800px) {
  .ah-typeset h3 {
    font-size: 1.563rem;
  }
}

.ah-typeset p, .ah-typeset img {
  margin-bottom: 1.5rem;
}

.ah-typeset p {
  color: var(--clr-text);
  text-align: justify;
  line-height: 2.2;
}

.ah-typeset a {
  color: var(--clr-text);
  -webkit-text-decoration-color: var(--clr-link);
  text-decoration-color: var(--clr-link);
  word-break: break-word;
}

.ah-typeset a:hover {
  color: var(--clr-link-hover);
}

.ah-typeset img {
  margin-inline: auto;
}

.ah-typeset em {
  color: var(--clr-text-em);
  font-style: italic;
  font-weight: 700;
}

.ah-typeset strong {
  color: var(--clr-text-strong);
  font-weight: 900;
}

.ah-typeset input[type="text"], .ah-typeset input[type="email"], .ah-typeset input[type="password"], .ah-typeset input[type="tel"] {
  padding: .2em .5em;
}

.ah-typeset input[type="text"], .ah-typeset input[type="email"], .ah-typeset input[type="password"], .ah-typeset input[type="tel"], .ah-typeset textarea {
  border: 1px solid var(--clr-input-border);
  background-color: var(--clr-input-background);
  border-radius: .2em;
}

del {
  background: var(--clr-text-del-background);
  -webkit-text-decoration-color: var(--clr-text-del-decoration);
  text-decoration-color: var(--clr-text-del-decoration);
}

ins {
  background: var(--clr-text-ins-background);
  -webkit-text-decoration-color: var(--clr-text-ins-decoration);
  text-decoration-color: var(--clr-text-ins-decoration);
}

mark {
  background: var(--clr-text-mark-background);
}

span.critic.comment {
  background: var(--clr-text-critic-comment-background);
}

.ah-content {
  width: 70ch;
  max-width: 100%;
  isolation: isolate;
  margin: 3em auto 2em;
}

@media (max-width: 800px) {
  .ah-content {
    padding: .5rem 1rem;
  }
}

.ah-content * {
  scroll-margin-top: var(--header-height, 50px);
}

:root {
  --clr-primary: #262f69;
  --clr-highlight: #4477ca;
  --clr-background: #fcfcfd;
  --clr-dim: #abb0d3;
  --clr-text: #090a11;
  --clr-text-dim: #abb0d3;
  --clr-text-dim-hover: #cdd0e5;
  --clr-text-em: #305fab;
  --clr-text-strong: #305fab;
  --clr-text-error: #c30;
  --clr-text-del-background: #ffb399;
  --clr-text-del-decoration: #c30c;
  --clr-text-ins-background: #9beebd;
  --clr-text-ins-decoration: #1ba153cc;
  --clr-text-mark-background: #ffe0a3;
  --clr-text-critic-comment-background: #abb0d3;
  --clr-title: #33408e;
  --clr-subtitle: #4477ca;
  --clr-link: #4477ca;
  --clr-link-hover: #254983;
  --clr-bullet: #4477ca;
  --clr-bullet-level-2: #bbceec;
  --clr-bullet-level-3: #e3ebf7;
  --clr-bullet-level-4: white;
  --clr-btn: #305fab;
  --clr-btn-hover: #6c94d5;
  --clr-btn-text: #305fab;
  --clr-btn-text-hover: #626fc6;
  --clr-btn-text-primary: white;
  --clr-btn-text-primary-hover: white;
  --clr-btn-disabled: #cdd0e5;
  --clr-btn-text-disabled: white;
  --clr-admonition-background: #e1eaf980;
  --clr-admonition-border: #b7cdf0;
  --clr-exercise-background: var(--clr-admonition-background);
  --clr-exercise-disabled-background: #dedede80;
  --clr-exercise-answer-background: #ffe9bd;
  --clr-exercise-answer-correct-background: #c6f5da;
  --clr-exercise-answer-wrong-background: #f9efec;
  --clr-alternative-background: #e3ebf7;
  --clr-alternative-label-background: #6c94d5;
  --clr-alternative-selected-outline: #305fab;
  --clr-alternative-wrong-outline: #ff4000;
  --clr-alternative-correct-outline: #00f064;
  --clr-parsons-line-border: #305fab;
  --clr-parsons-drop-background: #d6e0f0;
  --clr-parsons-drop-border: #94b1e1;
  --clr-parsons-drop-indent-block: #c0cfe8;
  --clr-tabbed-background: #f7f9fd;
  --clr-tabbed-border: #8db0e8;
  --clr-tabbed-disabled-background: #cdd2dbb3;
  --clr-tabbed-disabled-border: #cdd2db;
  --clr-tabbed-disabled-text: #737373;
  --clr-input-background: white;
  --clr-input-border: #8b8b8d;
  --clr-table-head-border: #626fc6;
  --clr-table-background-1: #dedfed;
  --clr-table-background-2: #eeeff6;
  --clr-footnote-background: #ecf1f8;
  --clr-footnote-shadow: #a8b6ccb3;
  --clr-editor-inner-border: #abb0d3;
  --clr-editor-border: #abb0d3;
  --clr-code-background: #f0f3ff;
  --clr-code-comment: #8b919c;
  --clr-code-error-background: #ffe0f1;
  --clr-code-error-text: #94004f;
  --clr-code-keyword: #006ce0;
  --clr-code-literal: #7c55c3;
  --clr-code-name: #0d0d07;
  --clr-code-punctuation: #5f7386;
  --clr-code-builtin: #f92472;
  --clr-code-operator: #f92472;
  --clr-code-generic: #090;
  --clr-code-string: #db800f;
}

div.highlight, :not(.highlight) > pre {
  background: var(--clr-code-background);
  border-radius: .2em;
  margin: 0 0 1.5rem;
  padding: 1rem 1.5rem;
  overflow: auto;
}

div.highlight code, :not(.highlight) > pre code {
  background: none;
  border-radius: 0;
  padding: 0;
}

.admonition div.highlight, .admonition :not(.highlight) > pre, .tabbed-content div.highlight, .tabbed-content :not(.highlight) > pre {
  margin: 0 0 1.5rem;
  padding-inline: .75rem;
}

:not(.highlight) :not(pre) > code {
  color: inherit;
  background: none;
  padding: 0;
  font-style: italic;
  font-weight: bold;
}

code {
  color: var(--clr-code-name);
  background: var(--clr-code-background);
  border-radius: .2em;
  padding: .2em .5em;
  font-family: Fira Mono, monospace;
}

.highlight .highlighttable {
  margin: 0;
  padding: 0;
}

.highlight .highlighttable td {
  padding: 0;
}

.highlight .highlighttable pre {
  margin: 0;
  padding: 0;
}

.highlight .highlighttable .linenos {
  padding-right: 1em;
}

.highlight .highlighttable .linenodiv a {
  color: var(--clr-link);
  text-decoration: none;
}

.highlight .hll {
  background-color: var(--clr-code-background);
}

.highlight {
  background: var(--clr-code-background);
  color: var(--clr-code-name);
}

.highlight .c {
  color: var(--clr-code-comment);
}

.highlight .err {
  color: var(--clr-code-error-text);
  background-color: var(--clr-code-error-background);
}

.highlight .k, .hljs-keyword, .hljs-attribute, .hljs-meta .hljs-keyword {
  color: var(--clr-code-keyword);
}

.highlight .l {
  color: var(--clr-code-literal);
}

.highlight .n {
  color: var(--clr-code-name);
}

.highlight .o, .hljs-template-tag, .hljs-section, .hljs-bullet, .hljs-code, .hljs-title.function_.invoke__, .hljs-operator {
  color: var(--clr-code-operator);
}

.highlight .p, .hljs-punctuation, .hljs-tag {
  color: var(--clr-code-punctuation);
}

.highlight .ch, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: var(--clr-code-comment);
}

.highlight .gd {
  color: var(--clr-code-operator);
}

.highlight .ge {
  font-style: italic;
}

.highlight .gi {
  color: var(--clr-code-generic);
}

.highlight .gs {
  font-weight: bold;
}

.highlight .gu {
  color: var(--clr-code-comment);
}

.highlight .kc, .highlight .kd {
  color: var(--clr-code-keyword);
}

.highlight .kn {
  color: var(--clr-code-operator);
}

.highlight .kp, .highlight .kr, .highlight .kt {
  color: var(--clr-code-keyword);
}

.highlight .ld {
  color: var(--clr-code-string);
}

.highlight .m {
  color: var(--clr-code-literal);
}

.highlight .s {
  color: var(--clr-code-string);
}

.highlight .na, .hljs-selector-id, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-attr, .hljs-subst {
  color: var(--clr-code-generic);
}

.highlight .nb, .hljs-built_in {
  color: var(--clr-code-builtin);
}

.highlight .nc {
  color: var(--clr-code-generic);
}

.highlight .no {
  color: var(--clr-code-keyword);
}

.highlight .nd {
  color: var(--clr-code-generic);
}

.highlight .ni {
  color: var(--clr-code-name);
}

.highlight .ne, .highlight .nf, .hljs-title.function_ {
  color: var(--clr-code-generic);
}

.highlight .nl, .highlight .nn {
  color: var(--clr-code-name);
}

.highlight .nx {
  color: var(--clr-code-generic);
}

.highlight .py {
  color: var(--clr-code-name);
}

.highlight .nt, .hljs-name, .hljs-selector-tag {
  color: var(--clr-code-operator);
}

.highlight .nv {
  color: var(--clr-code-name);
}

.highlight .ow {
  color: var(--clr-code-operator);
}

.highlight .w {
  color: var(--clr-code-name);
}

.highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .mo {
  color: var(--clr-code-literal);
}

.highlight .sa, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2 {
  color: var(--clr-code-string);
}

.highlight .se {
  color: var(--clr-code-literal);
}

.highlight .sh, .highlight .si, .highlight .sx, .highlight .sr, .highlight .s1, .hljs-string, .highlight .ss {
  color: var(--clr-code-string);
}

.highlight .bp {
  color: var(--clr-code-name);
}

.highlight .fm {
  color: var(--clr-code-generic);
}

.highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: var(--clr-code-name);
}

.highlight .il {
  color: var(--clr-code-literal);
}

body {
  background-color: var(--clr-background);
}

details, .admonition {
  border: .1rem solid var(--clr-admonition-border);
  border-radius: .2em;
  margin: 0 0 2rem;
  padding: .5rem 1.5rem;
}

.admonition .admonition-title, details summary {
  background: var(--clr-admonition-background);
  border-bottom: .1rem solid var(--clr-admonition-border);
  color: var(--clr-black);
  margin: -.5rem -1.5rem 1rem;
  padding: .5rem 1.5rem;
  font-family: Oswald, sans-serif;
  font-size: 1.563rem;
  font-weight: 700;
  line-height: 1.5;
}

@media (max-width: 800px) {
  .admonition .admonition-title, details summary {
    font-size: 1.25rem;
  }
}

details summary {
  border-bottom: none;
}

details summary::marker {
  color: var(--clr-text-dim);
}

details[open] summary {
  border-bottom: .1rem solid var(--clr-admonition-border);
  margin-bottom: 1.5rem;
}

.admonition.note {
  border-color: #00b0ff;
}

.note > .admonition-title {
  background-color: #00b0ff4d;
  border-color: #00b0ff;
}

.note > .admonition-title:after {
  color: #00b0ff;
}

.admonition.abstract {
  border-color: #ffab40;
}

.abstract > .admonition-title {
  background-color: #ffab404d;
  border-color: #ffab40;
}

.abstract > .admonition-title:after {
  color: #ffab40;
}

.admonition.info {
  border-color: #00b8d4;
}

.info > .admonition-title {
  background-color: #00b8d44d;
  border-color: #00b8d4;
}

.info > .admonition-title:after {
  color: #00b8d4;
}

.admonition.tip {
  border-color: #00bfa5;
}

.tip > .admonition-title {
  background-color: #00bfa54d;
  border-color: #00bfa5;
}

.tip > .admonition-title:after {
  color: #00bfa5;
}

.admonition.success {
  border-color: #00c853;
}

.success > .admonition-title {
  background-color: #00c8534d;
  border-color: #00c853;
}

.success > .admonition-title:after {
  color: #00c853;
}

.admonition.question {
  border-color: #64dd17;
}

.question > .admonition-title {
  background-color: #64dd174d;
  border-color: #64dd17;
}

.question > .admonition-title:after {
  color: #64dd17;
}

.admonition.warning {
  border-color: #ff9100;
}

.warning > .admonition-title {
  background-color: #ff91004d;
  border-color: #ff9100;
}

.warning > .admonition-title:after {
  color: #ff9100;
}

.admonition.failure {
  border-color: #f48fb1;
}

.failure > .admonition-title {
  background-color: #f48fb14d;
  border-color: #f48fb1;
}

.failure > .admonition-title:after {
  color: #f48fb1;
}

.admonition.danger {
  border-color: #e91e63;
}

.danger > .admonition-title {
  background-color: #e91e634d;
  border-color: #e91e63;
}

.danger > .admonition-title:after {
  color: #e91e63;
}

.admonition.bug {
  border-color: #f48fb1;
}

.bug > .admonition-title {
  background-color: #f48fb14d;
  border-color: #f48fb1;
}

.bug > .admonition-title:after {
  color: #f48fb1;
}

.admonition.example {
  border-color: #ce93d8;
}

.example > .admonition-title {
  background-color: #ce93d84d;
  border-color: #ce93d8;
}

.example > .admonition-title:after {
  color: #ce93d8;
}

.admonition.quote {
  border-color: #9e9e9e;
}

.quote > .admonition-title {
  background-color: #9e9e9e4d;
  border-color: #9e9e9e;
}

.quote > .admonition-title:after {
  color: #9e9e9e;
}

.ah-button, a.ah-button {
  --btn-background-color: transparent;
  --btn-background-hover-color: transparent;
  --btn-border-color: var(--clr-btn);
  --btn-border-hover-color: var(--clr-btn-hover);
  --btn-text-color: var(--clr-btn-text);
  --btn-text-hover-color: var(--clr-btn-text-hover);
  background: var(--btn-background-color);
  color: var(--btn-text-color);
  border: 1px solid var(--btn-border-color);
  border-radius: .2em;
  padding: .2em .6em;
  font-weight: normal;
  text-decoration: none;
}

.ah-button:not(:disabled):hover, .ah-button:not(:disabled):active, .ah-button:not(:disabled):focus, a.ah-button:not(:disabled):hover, a.ah-button:not(:disabled):active, a.ah-button:not(:disabled):focus {
  --btn-background-color: var(--btn-background-hover-color);
  --btn-border-color: var(--btn-border-hover-color);
  --btn-text-color: var(--btn-text-hover-color);
  cursor: pointer;
}

.ah-button:not(:disabled):active, a.ah-button:not(:disabled):active {
  transform: scale(.99);
}

.ah-button:disabled, a.ah-button:disabled {
  --clr-btn: var(--clr-btn-disabled);
  --clr-btn-text: var(--clr-btn-text-disabled);
  cursor: default;
}

.ah-button--primary, a.ah-button--primary {
  --btn-background-color: var(--clr-btn);
  --btn-background-hover-color: var(--clr-btn-hover);
  --btn-text-color: var(--clr-btn-text-primary);
  --btn-text-hover-color: var(--clr-btn-text-primary-hover);
  border: none;
}

.ah-button--borderless, a.ah-button--borderless {
  border: none;
}

.ah-btn-group {
  gap: .5em;
  display: flex;
}

.ah-btn-group--right {
  justify-content: flex-end;
}

.ah-typeset blockquote {
  border-inline-start: .2em solid #9e9e9e;
}

.ah-typeset blockquote p {
  color: #9e9e9e;
  margin-inline: 10px;
  padding-inline-start: .2em;
}

.dashboard-container {
  display: none;
}

.dashboard-container.ready {
  display: inherit;
}

.ah-dashboard {
  width: 70ch;
  max-width: 100%;
  margin: 0 0 1.5rem;
}

.ah-dashboard h1, .ah-dashboard h2, .ah-dashboard h3, .ah-dashboard h4, .ah-dashboard h5, .ah-dashboard h6, .ah-dashboard p, .ah-dashboard li {
  margin: 0 0 .5rem;
  line-height: 1.1;
}

.ah-dashboard--container {
  grid-template-rows: auto 1fr;
  grid-template-areas: "tree summary"
                       "tree timeline";
  gap: 1.5rem;
  margin-top: 1.5rem;
  display: grid;
}

@media (max-width: 800px) {
  .ah-dashboard--container {
    grid-template-rows: auto auto 1fr;
    grid-template-areas: "summary"
                         "timeline"
                         "tree";
  }
}

.ah-dashboard--summary {
  background-color: var(--clr-admonition-background);
  border-radius: .2em;
  flex-direction: column;
  grid-area: summary;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  font-weight: bold;
  display: flex;
}

.ah-dashboard--summary--total {
  color: var(--clr-subtitle);
  font-family: Oswald, sans-serif;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
}

.ah-dashboard--timeline {
  grid-area: timeline;
}

.ah-dashboard--timeline--chart-container {
  min-height: 5rem;
}

.ah-dashboard--tree {
  grid-area: tree;
}

.ah-dashboard--tree--0 {
  filter: opacity();
  font-size: 2rem;
}

.ah-dashboard--tree--1 {
  filter: opacity(.8);
  font-size: 1.8rem;
}

.ah-dashboard--tree--2 {
  filter: opacity(.6);
  font-size: 1.6rem;
}

.ah-dashboard--tree--3 {
  filter: opacity(.4);
  font-size: 1.4rem;
}

.ah-dashboard--tree--4 {
  filter: opacity(.4);
  font-size: 1.2rem;
}

.ah-dashboard--tree--5, .ah-dashboard--tree--6, .ah-dashboard--tree--7, .ah-dashboard--tree--8, .ah-dashboard--tree--9, .ah-dashboard--tree--10 {
  filter: opacity(.4);
  font-size: 1rem;
}

.ah-dashboard--tree--title-container {
  border-bottom: 3px dotted var(--clr-highlight);
  grid-template-areas: "title percent"
                       "subtitle percent";
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.5rem;
  font-family: Oswald, sans-serif;
  line-height: 1;
  display: grid;
}

.ah-dashboard--tree--title {
  color: var(--clr-title);
  grid-area: title;
  font-family: Oswald, sans-serif;
}

.ah-dashboard--tree--subtitle {
  color: var(--clr-subtitle);
  grid-area: subtitle;
  font-family: Open Sans, sans-serif;
  font-size: .8em;
  font-weight: 400;
  display: block;
}

.ah-dashboard--tree--progress {
  color: var(--clr-subtitle);
  grid-area: percent;
  justify-self: end;
  margin-left: .5em;
  font-family: Oswald, sans-serif;
  font-size: 1.5em;
  font-weight: bold;
}

.ah-dashboard--tree--chart-container {
  margin-bottom: 1.5rem;
}

.ah-dashboard--tree--chart-container:not(:first-child) {
  margin-top: -1.5rem;
}

.admonition.exercise {
  --clr-admonition-background: var(--clr-exercise-background);
  position: relative;
}

.admonition.exercise, .admonition.exercise * {
  transition: background .1s ease-in-out;
}

.admonition.exercise.uploaded > .admonition-title .upload-indicator {
  float: right;
  width: 1em;
  height: 1em;
  background-image: url("cloud-done.652e20d6.svg");
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  position: relative;
}

.admonition.exercise.uploaded > .admonition-title .upload-indicator:hover:after {
  content: "Uploaded";
  color: #fff;
  background: #0006;
  border-radius: .2em;
  padding: .2em .4em;
  font-family: Open Sans, sans-serif;
  font-size: 1rem;
  position: absolute;
  top: calc(100% + .2em);
  right: 0;
}

.admonition.exercise.done > * {
  filter: grayscale(.7);
}

.admonition.exercise.done .alternative:hover, .admonition.exercise.done .alternative:active, .admonition.exercise.done .alternative:focus {
  cursor: inherit;
  transform: none;
}

.admonition.exercise.done .admonition.answer {
  --answer-hue-rotate: 180deg;
  display: inherit;
  filter: hue-rotate(var(--answer-hue-rotate));
}

.admonition.exercise.done.correct .admonition.answer {
  --answer-hue-rotate: 260deg;
}

.admonition.exercise.done.wrong .admonition.answer {
  --answer-hue-rotate: 100deg;
}

.admonition.exercise.wrong {
  animation-name: shakeIt;
  animation-duration: .25s;
  animation-iteration-count: 2;
}

.admonition.exercise form {
  display: grid;
}

@keyframes shakeIt {
  from {
    top: 0;
    left: 0;
  }

  25% {
    left: -40px;
  }

  75% {
    left: 40px;
  }

  to {
    top: 0;
    left: 0;
  }
}

.admonition.answer {
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 2rem;
  margin-bottom: -1rem;
  display: none;
}

.form-elements {
  counter-reset: alternative-counter;
  flex-direction: column;
  margin-bottom: 1rem;
  display: flex;
}

.form-elements input[type="submit"] {
  border-radius: .25rem;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
  padding: .5rem 1rem;
  font-weight: bold;
  display: flex;
}

.form-elements .ah-btn-group, .form-elements input[type="submit"] {
  align-self: flex-end;
  display: flex;
}

.form-elements .alternative-set {
  max-width: 100%;
  grid-template-columns: 1fr;
  gap: .5rem;
  display: grid;
}

.form-elements .alternative-set:has(.alternative.selected) .alternative:not(.selected), .form-elements .alternative-set .alternative:is(.correct, .wrong) {
  filter: brightness(.95);
}

.form-elements .alternative {
  background: var(--clr-alternative-background);
  counter-increment: alternative-counter;
  max-width: 100%;
  border-radius: .2em;
  grid-template-columns: auto 1fr;
  align-items: center;
  padding-right: 1.5rem;
  transition: transform .1s ease-in-out;
  display: grid;
}

.form-elements .alternative.selected {
  outline: .3em solid var(--clr-alternative-selected-outline);
}

.form-elements .alternative:hover, .form-elements .alternative:active, .form-elements .alternative:focus {
  cursor: pointer;
  transform: scale(1.01);
}

.form-elements .alternative.correct:before {
  content: "✓";
  background: var(--clr-alternative-correct-outline);
}

.form-elements .alternative.correct.selected {
  outline-color: var(--clr-alternative-correct-outline);
}

.form-elements .alternative.wrong:before {
  content: "✕";
}

.form-elements .alternative.wrong.selected {
  outline-color: var(--clr-alternative-wrong-outline);
}

.form-elements .alternative input[type="radio"] {
  display: none;
}

.form-elements .alternative .content {
  margin-top: 0;
  padding-block: 1rem;
}

.form-elements .alternative .content div.highlight {
  grid-template-columns: 0;
  display: grid;
}

.form-elements .alternative:before {
  content: counter(alternative-counter, upper-alpha);
  background: var(--clr-alternative-label-background);
  width: calc(2rem + 1em);
  height: 100%;
  color: #fff;
  border-radius: .2em 0 0 .2em;
  place-items: center;
  margin-right: 1rem;
  padding: 1rem;
  font-weight: 900;
  display: inline-grid;
}

.form-elements .alternative .highlight:last-child {
  margin-bottom: 0;
}

@media (min-width: 800px) {
  .two-cols .alternative-set {
    grid-template-columns: 1fr 1fr;
  }
}

.admonition.answer {
  margin-inline: -1.5rem;
}

.ah-footer-nav {
  max-width: 70ch;
  border-top: 1px solid var(--clr-dim);
  justify-content: space-between;
  margin: 2rem auto;
  padding-top: 1.5rem;
  display: flex;
}

@media (max-width: 800px) {
  .ah-footer-nav {
    padding-inline: 1rem;
  }
}

.ah-footer-nav a {
  color: var(--clr-text);
  background: none;
  align-items: center;
  column-gap: 1em;
  font-weight: 400;
  text-decoration: none;
  display: grid;
}

.ah-footer-nav .nav-label, .ah-footer-nav .nav-title {
  line-height: 1.1;
}

.ah-footer-nav .nav-label {
  color: var(--clr-link);
  grid-area: label;
}

.ah-footer-nav .nav-title {
  color: var(--clr-title);
  grid-area: title;
}

.ah-footer-nav .ah-prev {
  grid-template-areas: "arrow label"
                       "arrow title";
  justify-items: start;
}

.ah-footer-nav .ah-prev:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H109.3l105.3-105.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z'/%3E%3C/svg%3E");
  width: 1em;
  height: 1em;
  grid-area: arrow;
  display: block;
}

.ah-footer-nav .ah-next {
  grid-template-areas: "label arrow"
                       "title arrow";
  justify-items: end;
  margin-left: auto;
}

.ah-footer-nav .ah-next:after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h306.7L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
  width: 1em;
  height: 1em;
  grid-area: arrow;
  display: block;
}

.ah-footer-nav .ah-next .nav-title {
  text-align: right;
}

.footnote hr, .footnote-backref, .footnote-ref {
  display: none;
}

.footnote-container {
  --clr-background: var(--clr-footnote-background);
  border-radius: .2em;
  line-height: 1.7;
  display: inline-block;
  position: relative;
}

.footnote-container a.footnote-anchor {
  color: var(--clr-text-strong);
  -webkit-text-decoration: 5px underline dashed var(--clr-background);
  text-decoration: 5px underline dashed var(--clr-background);
  background: none;
}

.footnote-container.opened {
  border: 2px solid var(--clr-background);
}

.footnote-container.opened .footnote-card {
  height: auto;
  left: var(--dist-x);
  z-index: 1000;
  padding-top: 2rem;
  padding-bottom: 1rem;
}

@media (max-width: 1440px) {
  .footnote-container.opened .footnote-card {
    top: 1.5em;
    left: calc(var(--offset-x) * -1);
    max-width: min(100vw, 70ch);
    margin-left: 0;
  }
}

.footnote-container.opened .footnote-card li.footnote-content:before {
  width: calc(var(--dist-x)  + 1.5 * 1.5rem);
}

@media (max-width: 1440px) {
  .footnote-container.opened .footnote-card li.footnote-content:before {
    display: none;
  }
}

.footnote-container.opened .footnote-close-btn {
  display: inherit;
}

.footnote-container.opened a.footnote-anchor {
  text-decoration: none;
}

.footnote-card {
  background: var(--clr-background);
  box-shadow: 0 0 1rem var(--clr-footnote-shadow);
  max-width: calc(50vw - 35ch - 4.5rem);
  height: 0;
  width: 100vw;
  border-radius: .2em;
  margin: 0 0 1rem 2.25rem;
  padding: 0 1.5rem;
  transition: all .2s ease-in;
  position: absolute;
  top: 100%;
  left: 0;
  transform: translate(0, -50%);
}

@media (max-width: 1440px) {
  .footnote-card {
    transition: none;
    transform: none;
  }
}

.footnote-card li.footnote-content {
  height: 100%;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  list-style: none;
  overflow: hidden;
}

.footnote-card li.footnote-content:before {
  content: "";
  height: 5px;
  width: 0;
  background: var(--clr-background);
  transition: all .2s ease-in;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
}

.footnote-card li.footnote-content pre {
  margin-inline: 0;
}

.footnote-card li.footnote-content p {
  text-align: start;
  margin-bottom: 1em;
}

.footnote-card li.footnote-content p img:first-child, .footnote-card li.footnote-content > :last-child {
  margin-bottom: 0;
}

.footnote-close-btn {
  padding: .5em;
  display: none;
  position: absolute;
  top: 0;
  right: 0;
}

.footnote-close-btn svg {
  height: 1.2rem;
  width: 1.2rem;
}

.ah-header {
  width: 100%;
  background: var(--clr-background);
  z-index: 999;
  padding: .5em 1em;
  font-family: Open Sans, sans-serif;
  font-size: 1.25rem;
  display: flex;
  position: fixed;
  top: 0;
}

.ah-header--right {
  margin-left: auto;
  display: flex;
}

.ah-logo {
  color: var(--clr-title);
  font-weight: 700;
  text-decoration: none;
}

.ah-typeset ol, .ah-typeset ul {
  color: var(--clr-text);
  counter-reset: ah-item-counter;
  margin-bottom: 1.5rem;
  padding-left: 1em;
  line-height: 2;
  list-style: none;
}

.ah-typeset ol li, .ah-typeset ul li {
  counter-increment: ah-item-counter;
  padding-left: .5em;
}

.ah-typeset ol li p, .ah-typeset ul li p {
  margin-bottom: 0;
}

.ah-typeset ol li::marker, .ah-typeset ul li::marker {
  color: var(--clr-bullet);
  font-family: Oswald, sans-serif;
  font-weight: bold;
}

.ah-typeset ol li li::marker, .ah-typeset ul li li::marker {
  color: var(--clr-bullet-level-2);
}

.ah-typeset ol li li li::marker, .ah-typeset ul li li li::marker {
  color: var(--clr-bullet-level-3);
}

.ah-typeset ol li li li li::marker, .ah-typeset ul li li li li::marker {
  color: var(--clr-bullet-level-4);
}

.ah-typeset ol li::marker {
  content: counter(ah-item-counter) ".";
}

.ah-typeset ul li::marker {
  content: "✦";
}

.ah-menu-btn {
  margin-right: 1em;
  padding: 0;
}

.ah-menu-btn svg {
  width: 1em;
  height: 1em;
}

.ah-navigation {
  top: var(--header-height, 50px);
  z-index: 1000;
  isolation: isolate;
  width: 0%;
  height: 100%;
  color: var(--clr-title);
  max-height: 100vh;
  max-height: calc(var(--vh, 1vh) * 100);
  font-family: Open Sans, sans-serif;
  font-size: 1.25rem;
  transition: width .2s ease-in-out;
  position: fixed;
  overflow: hidden;
}

.ah-navigation .close-menu {
  width: 1em;
  height: 1em;
  margin: .25em 0 1em;
  display: none;
}

@media (max-width: 1440px) {
  .ah-navigation .close-menu {
    display: block;
  }
}

.ah-navigation .ah-nav-container {
  width: max(300px, 50vw - 35ch - 2.5rem);
  height: 100%;
  padding: .5em 0 .5em 1em;
  position: relative;
}

.ah-navigation:after {
  content: "";
  background: var(--clr-background);
  z-index: -1;
  position: absolute;
  inset: 0;
}

@media (max-width: 1440px) {
  .ah-navigation {
    top: 0;
  }

  .ah-navigation:before {
    content: "";
    -webkit-backdrop-filter: blur();
    backdrop-filter: blur();
    width: 0%;
    height: 100%;
    z-index: -2;
    background: none;
    position: fixed;
    top: 0;
    left: 0;
  }
}

.ah-navigation.show {
  width: max(300px, 50vw - 35ch - 2.5rem);
}

@media (max-width: 1440px) {
  .ah-navigation.show:before {
    width: 100%;
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px);
    background: #3d3d3d3d;
    transition: background .2s ease-in-out, -webkit-backdrop-filter .2s ease-in-out, backdrop-filter .2s ease-in-out;
  }
}

.ah-navigation.preload {
  transition: none;
}

.ah-navigation ul {
  padding: 0;
  list-style: none;
}

.ah-navigation ul li {
  margin-bottom: .5em;
}

.ah-navigation ul li.active {
  font-weight: 700;
}

.ah-navigation ul li.active ul {
  border-left: 2px dotted var(--clr-subtitle);
  margin-left: .1em;
  font-weight: normal;
}

.ah-navigation ul ul {
  padding-left: 1.5em;
}

.ah-navigation a:not(.ah-logo) {
  color: var(--clr-link);
  text-decoration: none;
}

.ah-navigation a:not(.ah-logo):hover {
  color: var(--clr-link-hover);
}

ul.ah-nav-body {
  height: 100%;
  padding: 0 1em 2em 0;
  font-size: 1rem;
  overflow-y: auto;
}

.ah-togglable-item .ah-togglable-handle {
  cursor: pointer;
  position: relative;
}

.ah-togglable-item .ah-togglable-handle:before {
  content: "▸";
  color: var(--clr-title);
  margin-right: .5em;
  transition: transform .1s linear;
  display: inline-block;
}

.ah-togglable-item.opened > .ah-togglable-handle:before {
  transform: rotate(90deg);
}

.ah-togglable-item.opened > ul {
  max-height: -moz-fit-content;
  max-height: fit-content;
  overflow: auto;
}

.ah-togglable-item > ul {
  max-height: 0;
  overflow: hidden;
}

.parsons {
  position: relative;
}

.parsons .correct-answer, .parsons .wrong-answer, .parsons pre.parsons-answer {
  display: none;
}

.parsons.correct .correct-answer, .parsons.wrong .wrong-answer {
  display: inherit;
}

.parsons-outer-container {
  grid-template-rows: auto 1fr;
  display: grid;
}

.parsons-container {
  border: .1rem solid var(--clr-parsons-line-border);
  font-size: 1rem;
  display: grid;
}

.parsons-container pre {
  white-space: inherit;
}

.admonition div.highlight.parsons-container {
  background: var(--clr-background);
  padding: .4em;
  overflow: visible;
}

.parsons-area {
  width: 100%;
  min-height: 100%;
  flex-direction: column;
  gap: .2em;
  display: flex;
}

.parsons-code {
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  display: grid;
}

@media (max-width: 800px) {
  .parsons-code {
    grid-template-columns: 1fr;
  }
}

.parsons-line-container {
  display: flex;
}

.parsons-line {
  background: var(--clr-code-background);
  white-space: pre-wrap;
  line-break: anywhere;
  cursor: move;
  flex-grow: 1;
  padding: .1em .4em;
}

.indent-btn {
  padding-inline: .2em;
}

.indent-btn:disabled {
  color: var(--clr-btn-disabled);
}

section.progress-section {
  display: none;
}

section.progress-section:first-child, section.progress-section.show {
  display: inherit;
}

.ah-title-box + section.progress-section :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}

.ah-progress-container {
  width: 100%;
  padding: 2rem 0 1rem;
  display: flex;
}

.ah-progress-container.hide {
  display: none;
}

.ah-button.progress {
  margin: 0 auto;
}

#resetHandoutButton {
  float: right;
  cursor: pointer;
  background-color: #0000;
  border: 0;
  flex-direction: row;
  align-items: center;
  display: flex;
}

#resetHandoutButton:after {
  content: "Reset";
  max-width: 0;
  transition: max-width .5s;
  overflow: hidden;
}

#resetHandoutButton:hover:after {
  max-width: 10ch;
  transition: max-width .5s;
}

#resetHandoutButton .icon {
  display: flex;
}

#resetHandoutButton .icon svg {
  width: 1em;
  vertical-align: middle;
  display: inline;
}

.tabbed-alternate {
  flex-flow: column wrap;
  margin: 0 0 1.5rem;
  display: flex;
  position: relative;
}

.tabbed-alternate > input {
  display: none;
}

.tabbed-alternate .tabbed-content {
  width: 100%;
  background: var(--clr-tabbed-background);
  border-radius: 0 .2em .2em;
}

.tabbed-alternate .tabbed-labels.tabbed-scroll .tabbed-content {
  border-radius: 0 0 .2em .2em;
}

.tabbed-alternate .tabbed-block {
  border: .1rem solid var(--clr-tabbed-border);
  border-top: none;
  padding: 1rem 1.5rem;
  display: none;
}

.tabbed-alternate input:nth-child(1):checked ~ .tabbed-content > :nth-child(1), .tabbed-alternate input:nth-child(2):checked ~ .tabbed-content > :nth-child(2), .tabbed-alternate input:nth-child(3):checked ~ .tabbed-content > :nth-child(3), .tabbed-alternate input:nth-child(4):checked ~ .tabbed-content > :nth-child(4), .tabbed-alternate input:nth-child(5):checked ~ .tabbed-content > :nth-child(5), .tabbed-alternate input:nth-child(6):checked ~ .tabbed-content > :nth-child(6), .tabbed-alternate input:nth-child(7):checked ~ .tabbed-content > :nth-child(7), .tabbed-alternate input:nth-child(8):checked ~ .tabbed-content > :nth-child(8), .tabbed-alternate input:nth-child(9):checked ~ .tabbed-content > :nth-child(9), .tabbed-alternate input:nth-child(10):checked ~ .tabbed-content > :nth-child(10), .tabbed-alternate input:nth-child(11):checked ~ .tabbed-content > :nth-child(11), .tabbed-alternate input:nth-child(12):checked ~ .tabbed-content > :nth-child(12), .tabbed-alternate input:nth-child(13):checked ~ .tabbed-content > :nth-child(13), .tabbed-alternate input:nth-child(14):checked ~ .tabbed-content > :nth-child(14), .tabbed-alternate input:nth-child(15):checked ~ .tabbed-content > :nth-child(15), .tabbed-alternate input:nth-child(16):checked ~ .tabbed-content > :nth-child(16), .tabbed-alternate input:nth-child(17):checked ~ .tabbed-content > :nth-child(17), .tabbed-alternate input:nth-child(18):checked ~ .tabbed-content > :nth-child(18), .tabbed-alternate input:nth-child(19):checked ~ .tabbed-content > :nth-child(19), .tabbed-alternate input:nth-child(20):checked ~ .tabbed-content > :nth-child(20) {
  display: block;
}

.tabbed-labels {
  width: 100%;
  scrollbar-width: none;
  display: flex;
  overflow: auto;
}

.tabbed-labels::-webkit-scrollbar {
  display: none;
}

.tabbed-labels > label {
  width: auto;
  white-space: nowrap;
  scroll-snap-align: start;
  cursor: pointer;
  background: var(--clr-tabbed-disabled-background);
  color: var(--clr-tabbed-disabled-text);
  border-bottom: .1rem solid #0000;
  border: .1rem solid var(--clr-tabbed-disabled-border);
  border-radius: .2em .2em 0 0;
  padding: 1rem 1.5rem;
  font-size: .84em;
  font-weight: 700;
  transition: background-color .25s, color .25s;
}

.tabbed-labels.tabbed-scroll-left:before {
  color: gray;
  background: linear-gradient(to right, var(--clr-tabbed-disabled-background) 75%, #fff0);
  content: "◀";
  cursor: pointer;
  padding: 1rem 0;
  font-size: .9em;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.tabbed-labels.tabbed-scroll-right:after {
  color: gray;
  background: linear-gradient(to right, #fff0, var(--clr-tabbed-disabled-background) 25%);
  content: "▶";
  cursor: pointer;
  padding: 1rem 0;
  font-size: .9em;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
}

.tabbed-labels > label:nth-child(1) {
  order: 1;
}

.tabbed-labels > label:nth-child(2) {
  order: 2;
}

.tabbed-labels > label:nth-child(3) {
  order: 3;
}

.tabbed-labels > label:nth-child(4) {
  order: 4;
}

.tabbed-labels > label:nth-child(5) {
  order: 5;
}

.tabbed-labels > label:nth-child(6) {
  order: 6;
}

.tabbed-labels > label:nth-child(7) {
  order: 7;
}

.tabbed-labels > label:nth-child(8) {
  order: 8;
}

.tabbed-labels > label:nth-child(9) {
  order: 9;
}

.tabbed-labels > label:nth-child(10) {
  order: 10;
}

.tabbed-labels > label:nth-child(11) {
  order: 11;
}

.tabbed-labels > label:nth-child(12) {
  order: 12;
}

.tabbed-labels > label:nth-child(13) {
  order: 13;
}

.tabbed-labels > label:nth-child(14) {
  order: 14;
}

.tabbed-labels > label:nth-child(15) {
  order: 15;
}

.tabbed-labels > label:nth-child(16) {
  order: 16;
}

.tabbed-labels > label:nth-child(17) {
  order: 17;
}

.tabbed-labels > label:nth-child(18) {
  order: 18;
}

.tabbed-labels > label:nth-child(19) {
  order: 19;
}

.tabbed-labels > label:nth-child(20) {
  order: 20;
}

@media screen {
  .tabbed-alternate input:nth-child(1):checked ~ .tabbed-labels > :nth-child(1), .tabbed-alternate input:nth-child(2):checked ~ .tabbed-labels > :nth-child(2), .tabbed-alternate input:nth-child(3):checked ~ .tabbed-labels > :nth-child(3), .tabbed-alternate input:nth-child(4):checked ~ .tabbed-labels > :nth-child(4), .tabbed-alternate input:nth-child(5):checked ~ .tabbed-labels > :nth-child(5), .tabbed-alternate input:nth-child(6):checked ~ .tabbed-labels > :nth-child(6), .tabbed-alternate input:nth-child(7):checked ~ .tabbed-labels > :nth-child(7), .tabbed-alternate input:nth-child(8):checked ~ .tabbed-labels > :nth-child(8), .tabbed-alternate input:nth-child(9):checked ~ .tabbed-labels > :nth-child(9), .tabbed-alternate input:nth-child(10):checked ~ .tabbed-labels > :nth-child(10), .tabbed-alternate input:nth-child(11):checked ~ .tabbed-labels > :nth-child(11), .tabbed-alternate input:nth-child(12):checked ~ .tabbed-labels > :nth-child(12), .tabbed-alternate input:nth-child(13):checked ~ .tabbed-labels > :nth-child(13), .tabbed-alternate input:nth-child(14):checked ~ .tabbed-labels > :nth-child(14), .tabbed-alternate input:nth-child(15):checked ~ .tabbed-labels > :nth-child(15), .tabbed-alternate input:nth-child(16):checked ~ .tabbed-labels > :nth-child(16), .tabbed-alternate input:nth-child(17):checked ~ .tabbed-labels > :nth-child(17), .tabbed-alternate input:nth-child(18):checked ~ .tabbed-labels > :nth-child(18), .tabbed-alternate input:nth-child(19):checked ~ .tabbed-labels > :nth-child(19), .tabbed-alternate input:nth-child(20):checked ~ .tabbed-labels > :nth-child(20) {
    color: var(--clr-text);
    background: var(--clr-tabbed-background);
    border: .1rem solid var(--clr-tabbed-border);
    z-index: 10;
    border-bottom: none;
    margin-bottom: -.2em;
  }

  .tabbed-labels {
    isolation: isolate;
    position: relative;
  }

  .tabbed-labels:after {
    content: "";
    width: 100%;
    height: .1rem;
    background-color: var(--clr-tabbed-border);
    z-index: 1;
    position: absolute;
    bottom: 0;
  }

  .tabbed-labels > label:hover {
    color: var(--clr-text-default-hover);
  }

  .tabbed-labels > label + label {
    margin-left: .1rem;
  }
}

@media print {
  .tabbed-alternate .tabbed-content {
    display: contents;
  }

  .tabbed-alternate .tabbed-block {
    border: 1px solid gray;
    border-top: none;
    border-radius: 0 0 .2em .2em;
    margin-bottom: 1em;
    display: block;
  }

  .tabbed-alternate .tabbed-block:nth-child(1) {
    order: 1;
  }

  .tabbed-alternate .tabbed-block:nth-child(2) {
    order: 2;
  }

  .tabbed-alternate .tabbed-block:nth-child(3) {
    order: 3;
  }

  .tabbed-alternate .tabbed-block:nth-child(4) {
    order: 4;
  }

  .tabbed-alternate .tabbed-block:nth-child(5) {
    order: 5;
  }

  .tabbed-alternate .tabbed-block:nth-child(6) {
    order: 6;
  }

  .tabbed-alternate .tabbed-block:nth-child(7) {
    order: 7;
  }

  .tabbed-alternate .tabbed-block:nth-child(8) {
    order: 8;
  }

  .tabbed-alternate .tabbed-block:nth-child(9) {
    order: 9;
  }

  .tabbed-alternate .tabbed-block:nth-child(10) {
    order: 10;
  }

  .tabbed-alternate .tabbed-block:nth-child(11) {
    order: 11;
  }

  .tabbed-alternate .tabbed-block:nth-child(12) {
    order: 12;
  }

  .tabbed-alternate .tabbed-block:nth-child(13) {
    order: 13;
  }

  .tabbed-alternate .tabbed-block:nth-child(14) {
    order: 14;
  }

  .tabbed-alternate .tabbed-block:nth-child(15) {
    order: 15;
  }

  .tabbed-alternate .tabbed-block:nth-child(16) {
    order: 16;
  }

  .tabbed-alternate .tabbed-block:nth-child(17) {
    order: 17;
  }

  .tabbed-alternate .tabbed-block:nth-child(18) {
    order: 18;
  }

  .tabbed-alternate .tabbed-block:nth-child(19) {
    order: 19;
  }

  .tabbed-alternate .tabbed-block:nth-child(20) {
    order: 20;
  }

  .tabbed-labels {
    display: contents;
  }

  .tabbed-labels > label {
    border: 1px solid gray;
    border-bottom: none;
    border-radius: .2em .2em 0 0;
  }
}

.ah-typeset .task-list {
  margin-bottom: 1.5rem;
  padding-left: 0;
}

.ah-typeset .task-list-item::marker {
  content: "";
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled {
  display: none;
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled + .task-list-indicator {
  isolation: isolate;
  width: 1em;
  height: 1em;
  position: relative;
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled + .task-list-indicator:before {
  content: "";
  width: .9em;
  height: .9em;
  border: 2px solid var(--clr-bullet);
  z-index: -1;
  border-radius: .2em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-60%, -50%);
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled + .task-list-indicator:after {
  content: "✓";
  color: #0000;
  font-size: 1.5em;
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled:checked + .task-list-indicator:after {
  color: var(--clr-title);
}

.ah-typeset .task-list .task-list-control input[type="checkbox"]:disabled:not(:checked) + .task-list-indicator:after {
  color: #0000;
}

.grow-wrap {
  display: grid;
}

.grow-wrap:after {
  content: attr(data-replicated-value) " ";
  white-space: pre-wrap;
  visibility: hidden;
}

.grow-wrap > textarea {
  resize: none;
  overflow: hidden;
}

.grow-wrap > textarea, .grow-wrap:after {
  border: 1px solid var(--clr-input-border);
  font: inherit;
  border-radius: .2em;
  grid-area: 1 / 1 / 2 / 2;
  padding: .5rem;
}

.ah-title-box h1 {
  margin-top: -.5rem;
}

.ah-title-box h2 {
  color: var(--clr-subtitle);
  margin-top: -.8em;
  font-size: 1.953rem;
}

@media (max-width: 800px) {
  .ah-title-box h2 {
    margin-top: -.8rem;
    font-size: 1.563rem;
  }
}

.ah-title-box .ah-breadcrumbs {
  color: var(--clr-text-dim);
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}

@media (max-width: 800px) {
  .ah-title-box .ah-breadcrumbs {
    display: none;
  }
}

.ah-title-box .ah-breadcrumbs li {
  margin-bottom: .5rem;
  padding: 0;
  line-height: 1;
  display: inline;
}

.ah-title-box .ah-breadcrumbs li:first-child:before {
  content: "";
  margin-inline: 0;
}

.ah-title-box .ah-breadcrumbs li:before {
  content: "»";
  color: inherit;
  margin-inline: .5em;
}

.ah-title-box .ah-breadcrumbs li a {
  color: var(--clr-text-dim);
}

.ah-title-box .ah-breadcrumbs li a:hover {
  color: var(--clr-text-dim-hover);
}

.file-editor {
  border: .1rem solid var(--clr-editor-border);
  background-color: #f7f3f7;
  border-radius: .2em;
  grid-template-rows: auto 1fr auto;
  display: grid;
}

.file-editor [data-readonly="true"] {
  filter: grayscale(.9);
}

.file-editor .hidden-file {
  display: none;
}

ul.file-tab {
  border-bottom: 1px solid var(--clr-editor-inner-border);
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 0;
  padding-left: 1rem;
  padding-right: 1rem;
  display: flex;
}

ul.file-tab .tab {
  color: var(--clr-tabbed-disabled-text);
  cursor: pointer;
  align-items: center;
  gap: .2rem;
  margin: .5rem 1rem -1.5px 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

ul.file-tab .tab ~ ul.file-tab .tab {
  margin-left: 1rem;
}

ul.file-tab .tab:last-child {
  margin-right: 0;
}

ul.file-tab .tab:only-child {
  display: none;
}

ul.file-tab .tab.active {
  color: var(--clr-text);
  border-bottom: 3px solid var(--clr-link);
}

ul.file-tab .tab:before {
  display: none;
}

.file-content-container {
  max-height: 80vh;
  display: flex;
  overflow-x: hidden;
}

.file-content {
  background-color: var(--clr-code-background);
  font-family: var(--font-mono);
  transform: translateX(calc(var(--current-file, 0) * -100%) );
  width: 100%;
  min-width: 100%;
  border-radius: .2em;
  padding: 1rem;
}

.file-content pre.readonly-code {
  margin: -1rem;
  padding: 1rem;
}

.editor-controls {
  border-top: 1px solid var(--clr-editor-inner-border);
  justify-content: flex-end;
  display: flex;
}

.editor-reset-btn svg {
  width: 1em;
  height: 1em;
}

.svg-icon {
  width: 1em;
  height: 1em;
  display: inline;
}

h1 .headerlink, h2 .headerlink, h3 .headerlink, h4 .headerlink, h5 .headerlink, h6 .headerlink {
  display: none;
}

h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
  color: var(--clr-text-dim);
  -webkit-text-decoration-color: #0000;
  text-decoration-color: #0000;
  display: inline;
}

.ah-main-container {
  min-height: 100vh;
  flex-direction: column;
  display: flex;
}

.ah-content {
  flex-grow: 1;
}

.ah-typeset table {
  margin-inline: auto;
  border-collapse: collapse;
  table-layout: fixed;
  border-radius: .2em;
  margin-bottom: 1.5rem;
  padding: 2em;
  overflow: hidden;
}

.ah-typeset thead {
  border-bottom: .3em solid var(--clr-table-background-1);
}

.ah-typeset td, .ah-typeset th {
  border-bottom: .1em solid var(--clr-table-background-2);
  padding: 1em;
}

.ah-table-container {
  margin-bottom: 2rem;
}

.ah-table-container table {
  border-collapse: collapse;
  border-radius: .2em;
  margin-inline: auto;
  overflow: hidden;
}

.ah-table-container thead {
  border-bottom: none;
}

.ah-table-container.full-width {
  width: 100%;
}

.ah-table-container.full-width table {
  min-width: 100%;
}

.ah-table-container .table-same-width {
  table-layout: fixed;
}

.ah-table-container .table-centered td {
  text-align: center;
}

.ah-table-container .table-compact td {
  padding: .5rem;
}

.ah-table-container .table-alternating-cols td {
  background-color: var(--clr-table-background-1);
}

.ah-table-container .table-alternating-cols td:nth-child(2n) {
  background-color: var(--clr-table-background-2);
}

.admonition.exercise .editable-button {
  float: right;
  width: 1em;
  height: 1em;
  cursor: pointer;
  background: url("edit-paper.ce503733.svg");
  border: none;
  position: relative;
}

.clipboard {
  float: right;
  display: block;
  position: relative;
  top: 0;
}

.btn-clipboard {
  cursor: pointer;
  width: 1em;
  height: 1em;
  stroke: #cdd0e5;
  fill: #cdd0e5;
  display: block;
  position: relative;
  top: -1.5rem;
  right: 0;
}

.btn-clipboard:hover {
  stroke: #000;
  fill: #000;
  transition: stroke .1s;
}

/*# sourceMappingURL=main.css.map */
