:root {
  --avenue-paper: #faf9f5;
  --avenue-paper-strong: #f4f1ea;
  --avenue-ink: #141413;
  --avenue-muted: #6f6b63;
  --avenue-line: #e8e6dc;
  --avenue-link: #141413;
  --avenue-blue: #6a9bcc;
  --avenue-clay: #d97757;
  --avenue-ochre: #c58b5a;
  --avenue-olive: #788c5d;
}

html:not([data-avenue-language-ready]) .md-tabs,
html:not([data-avenue-language-ready]) .md-sidebar,
html:not([data-avenue-language-ready]) .md-top,
html[data-avenue-page-lang="en"]:not([data-avenue-language-ready]) .md-header {
  visibility: hidden;
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #faf9f5;
  --md-default-fg-color: var(--avenue-ink);
  --md-default-fg-color--light: var(--avenue-muted);
  --md-primary-fg-color: var(--avenue-paper);
  --md-accent-fg-color: var(--avenue-link);
  --md-code-bg-color: #f5f3ed;
  --md-typeset-a-color: var(--avenue-link);
}

body {
  background: var(--avenue-paper);
  letter-spacing: 0;
}

.md-header,
.md-tabs {
  background: var(--avenue-paper) !important;
  color: var(--avenue-ink) !important;
  box-shadow: none !important;
}

.md-header {
  border-bottom: 1px solid var(--avenue-paper-strong) !important;
}

.md-tabs {
  border-bottom: 1px solid var(--avenue-paper-strong) !important;
}

.md-header .md-logo img {
  filter: none;
  opacity: 1;
}

.md-header__title,
.md-header__button,
.md-header__topic,
.md-tabs__link,
.md-tabs__item {
  color: var(--avenue-ink) !important;
}

.md-header__button svg,
.md-search__icon svg {
  fill: var(--avenue-ink) !important;
}

.md-search__form {
  height: 1.9rem;
  border: 1px solid var(--avenue-line);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.72) !important;
}

.avenue-language-toggle {
  margin-left: auto;
  margin-right: 0.6rem;
  padding: 0.28rem 0.58rem;
  border: 1px solid var(--avenue-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--avenue-ink);
  font: inherit;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.avenue-language-toggle:hover,
.avenue-language-toggle:focus {
  background: #ffffff;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.md-search__input,
.md-search__icon {
  color: var(--avenue-ink) !important;
}

.md-search__input::placeholder {
  color: var(--avenue-muted) !important;
}

.md-main {
  background: #ffffff;
}

.md-content__inner {
  padding-top: 1.6rem;
}

.md-sidebar__scrollwrap {
  background: #ffffff;
  border-radius: 0;
}

.md-nav__title {
  color: var(--avenue-ink);
  font-weight: 700;
}

.md-nav__link {
  border-radius: 0;
  padding: 0.2rem 0;
}

.md-nav__link:hover,
.md-nav__link:focus {
  color: var(--avenue-link);
  background: transparent;
  text-decoration: underline;
}

.md-nav__link--active,
.md-nav__item .md-nav__link--active {
  color: var(--avenue-ink);
  background: transparent;
  border-left: 2px solid var(--avenue-ink);
  font-weight: 700;
  padding-left: 0.45rem;
}

.md-typeset {
  color: var(--avenue-ink);
  font-size: 0.78rem;
  line-height: 1.75;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 {
  color: var(--avenue-ink);
  letter-spacing: 0;
}

.md-typeset h1 {
  margin-bottom: 0.9rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--avenue-line);
  font-weight: 720;
}

.md-typeset h2 {
  margin-top: 2.1rem;
  padding-bottom: 0.32rem;
  border-bottom: 1px solid rgba(22, 22, 24, 0.1);
  font-weight: 680;
}

.md-typeset h3 {
  font-weight: 660;
}

.md-typeset a {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.md-typeset table:not([class]) {
  border-collapse: collapse;
  background: #ffffff;
  box-shadow: none;
}

.md-typeset table:not([class]) th,
.md-typeset table:not([class]) td {
  border: 1px solid var(--avenue-line);
}

.md-typeset table:not([class]) th {
  background: var(--avenue-paper);
  color: var(--avenue-ink);
  font-weight: 700;
}

.md-typeset code {
  border-radius: 0;
}

.md-typeset pre > code {
  border-radius: 0;
}

.md-typeset img {
  display: block;
  border: 1px solid var(--avenue-line);
  border-radius: 0;
  box-shadow: none;
}

.md-typeset .grid.cards > ul > li {
  border: 1px solid var(--avenue-line);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

.md-typeset .avenue-mermaid {
  margin: 1.25rem 0 1.6rem;
  padding: 1.05rem;
  overflow-x: auto;
  border: 1px solid var(--avenue-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(250, 249, 245, 0.96)),
    #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  scrollbar-color: #b0aea5 transparent;
  scrollbar-width: thin;
}

.md-typeset .avenue-mermaid svg {
  display: block;
  width: 80% !important;
  min-width: min(720px, 100%);
  max-width: none;
  height: auto !important;
  margin: 0 auto;
  overflow: visible;
}

.md-typeset .avenue-mermaid--linear-large svg {
  transform: scale(1.22);
  transform-origin: center center;
}

.md-typeset .avenue-mermaid text,
.md-typeset .avenue-mermaid .nodeLabel,
.md-typeset .avenue-mermaid .edgeLabel {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  line-height: 1.35;
}

.md-typeset .avenue-mermaid .edgeLabel {
  padding: 0.08rem 0.22rem;
  border-radius: 999px;
  background: rgba(250, 249, 245, 0.92) !important;
  color: var(--avenue-ink) !important;
}

.md-typeset .avenue-mermaid .node rect,
.md-typeset .avenue-mermaid .node polygon,
.md-typeset .avenue-mermaid .node circle,
.md-typeset .avenue-mermaid .node ellipse {
  rx: 12px;
  ry: 12px;
}

@media screen and (max-width: 640px) {
  .md-typeset .avenue-mermaid {
    margin-right: -0.8rem;
    margin-left: -0.8rem;
    padding: 0.8rem;
    border-radius: 0;
  }

  .md-typeset .avenue-mermaid svg {
    width: auto !important;
    min-width: 700px;
  }
}

.md-typeset .avenue-mermaid--error {
  white-space: pre-wrap;
  color: #b85c4a;
}

@media screen and (max-width: 76.2344em) {
  .md-sidebar__scrollwrap {
    border-radius: 0;
  }
}
