:root {
    --md-text-font: JetBrains Mono, LXGW WenKai Screen; 
    --md-code-font: JetBrains Mono;
}

.md-typeset h1,
.md-typeset h2 {
    font-weight: 600;
}

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

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
    letter-spacing: 0;
}

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

.md-typeset code:not(pre code) {
    font-size: inherit;
}

[data-md-color-scheme="default"] {
    --md-primary-fg-color: rgba(226, 229, 228, 0.9);
    --md-primary-bg-color: #333;
    --md-typeset-a-color: #555;
    --md-footer-bg-color--dark: rgba(226, 229, 228, 0.9);
    --md-footer-fg-color--light: #222;
    --md-footer-fg-color--lighter: #222;
    --md-footer-fg-color--lightest: #222;
    --md-code-fg-color: var(--md-typeset-color);
}

[data-md-color-scheme="default"] .md-search__form {
    background-color: rgba(210, 210, 210, 0.9);
}

[data-md-color-scheme="default"] .md-search__form:hover {
    background-color: rgba(150, 150, 150, 0.8);
}

[data-md-color-scheme="slate"] {
    --md-default-bg-color: #181818;
    --md-default-bg-color--light: #181818;
    --md-default-bg-color--lighter: #181818;
    --md-default-bg-color--lightest: #181818;
    --md-default-fg-color: rgba(255, 255, 255, 0.9);
    --md-default-fg-color--light: rgba(255, 255, 255, 0.85);
    --md-default-fg-color--lighter: rgba(255, 255, 255, 0.8);
    --md-default-fg-color--lightest: rgba(255, 255, 255, 0.6);
    --md-primary-fg-color: #121212;
    --md-footer-fg-color: #fff;
    --md-footer-bg-color: #0d0d0d;
    --md-footer-bg-color--dark: #0d0d0d;
    --md-footer-fg-color--light: #fff;
    --md-footer-fg-color--lighter: #fff;
    --md-footer-fg-color--lightest: #fff;
    --md-code-bg-color: #121212;
}

[data-md-color-scheme="slate"] .md-typeset figure img {
    background-color: rgba(225, 225, 225);
}

.md-copyright {
    font-size: .55rem;
}

html .md-footer-meta__inner.md-grid a:hover {
    opacity: .7;
    transition: opacity .3s ease-in-out;
}

body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .light-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .system-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .unknown-mode {
    display: none;
}

body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode {
    display: none;
}

body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .dark-mode,
body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .light-mode,
body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .system-mode {
    display: none;
}

body[data-md-prefers-color-scheme=true] .md-icon .dark-mode,
body[data-md-prefers-color-scheme=true] .md-icon .light-mode,
body[data-md-prefers-color-scheme=true] .md-icon .unknown-mode {
    display: none;
}

[data-md-color-scheme="slate"] .md-annotation__index:after {
    background-color: #4c4c4c;
}

.katex {
    -webkit-text-stroke-width: 0.3px;
}

.reference ol {
    counter-reset: li;
}

.reference li {
    padding-left: 0.7em;
    counter-increment: li;
    word-break: break-all;
}

.reference li::marker {
    content: "[" counter(li) "]";
    font-size: 0.8em;
}

.md-typeset .admonition.general,
.md-typeset details.general {
    border-color: rgb(0, 63, 136, 0);
    background-color: hsla(var(--md-hue), 0%, 100%, 0.025);
}

.md-typeset .general>.admonition-title,
.md-typeset .general>summary {
    background-color: rgba(0, 63, 136, 0.1);
}

[data-md-color-scheme="slate"] .md-typeset .general>.admonition-title,
[data-md-color-scheme="slate"] .md-typeset .general>summary {
    background-color: rgba(60, 53, 120, 0.2);
}

.md-typeset .general>.admonition-title::before,
.md-typeset .general>summary::before {
    content: none;
}

.md-typeset :is(.admonition-title, summary, .general) {
    border: 0 solid rgb(0, 63, 136, 0);
}

[dir=ltr] .md-typeset .general>summary {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
}

.md-typeset .general>summary>em {
    color: rgb(0, 114, 255)
}

.md-typeset .tabbed-set {
    margin: 0;
    display: block;
}

th,
td {
    text-align: center !important;
    vertical-align: middle !important;
}

.tikzcd-svg svg{
    display: inline-block;
    vertical-align: middle;
}

.ps-root .ps-algorithm {
    border-top: 2px solid var(--md-default-fg-color);
    border-bottom: 1.5px solid var(--md-default-fg-color);
}

.ps-root .ps-algorithm.with-caption > .ps-line:first-child {
    border-bottom: 1.5px solid var(--md-default-fg-color);
}

@media screen and (max-width: 59.9375em) {
    .md-nav__source {
        background-color: var(--md-primary-fg-color);
    }
}

@media screen and (max-width: 76.1875em) {
    .md-nav--primary .md-nav__title {
        background-color: var(--md-primary-fg-color);
    }
}

@media screen and (min-width: 125em) {
    html {
        font-size: 150%;
    }
    .tikzcd-svg {
        margin: 2.75rem;
        transform:scale(1.5);
    }
    .md-grid {
        max-width: 70%;
    }
}