:root {
    --md-border-color: hsl(214.3 31.8% 91.4%);
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

[data-md-color-scheme="default"] {
    --md-default-fg-color: hsl(0 0% 0%);
    --md-typeset-color: hsl(0 0% 0%);
    --md-typeset-a-color: hsl(0 0% 0%);
    --md-default-bg-color: hsl(0 0% 100%);
}

/* Dark theme */
[data-md-color-scheme="slate"] {
    --md-default-fg-color: hsl(0 0% 92%);
    --md-typeset-color: hsl(0 0% 92%);
    --md-typeset-a-color: hsl(0 0% 96%);
    --md-default-bg-color: hsl(222 47% 11%);
}

.md-typeset {
    font-size: 15px;
    line-height: 1.65;
    color: var(--md-typeset-color);
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
    font-weight: 600;
    color: var(--md-default-fg-color);
}

.md-typeset a {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--md-typeset-a-color);
}

@media screen and (min-width: 76.25em) {
    .md-header__inner.md-grid,
    .md-main__inner.md-grid {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }

    .md-main__inner {
        display: flex;
        justify-content: space-between;
    }

    .md-sidebar--primary {
        margin-left: 0;
    }

    .md-sidebar--secondary {
        margin-right: 0;
    }

    .md-content {
        flex: 1;
        min-width: 0;
        max-width: none;
    }

    .md-content__inner {
        max-width: 1200px;
        margin: 0 auto;
        padding: 2rem;
    }
}

.md-banner--warning {
    background: hsl(210 40% 96%);
    color: hsl(222.2 47.4% 11.2%);
    border-bottom: 1px solid var(--md-border-color);
}

.md-banner--warning a {
    color: inherit;
    text-decoration: underline;
}

.md-typeset table {
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--md-border-color);
    border-radius: 0.75rem;
    overflow: hidden;
}

.md-typeset th,
.md-typeset td {
    border-bottom: 1px solid var(--md-border-color);
}

.md-typeset tr:last-child td {
    border-bottom: none;
}

.admonition {
    border: 1px solid var(--md-border-color);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--md-default-bg-color);
}

/* Header */
.admonition > .admonition-title,
.admonition > summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;

    padding: 0.3rem 1rem;
    font-weight: 600;
    font-size: 0.875rem;

    color: var(--md-default-fg-color);
    background: hsl(210 40% 96%);
    border-bottom: 1px solid var(--md-border-color);
}

[data-md-color-scheme="slate"] .admonition > .admonition-title,
[data-md-color-scheme="slate"] .admonition > summary {
    background: hsl(222 47% 15%);
}

.admonition > .admonition-title::before,
.admonition > summary::before {
    position: static;
    transform: none;
    margin: 0;
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
}

.admonition > :not(.admonition-title):not(summary) {
    padding: 0.875rem 1rem 1rem 1rem;
}

.admonition ul,
.admonition ol {
    padding-left: 1.25rem;
}

.admonition.note,
.admonition.abstract {
    border-left: 1px solid hsl(217 91% 60%);
}

.admonition.info {
    border-left: 1px solid hsl(199 89% 48%);
}

.admonition.tip,
.admonition.success,
.admonition.hint {
    border-left: 1px solid hsl(142 71% 45%);
}

.admonition.warning,
.admonition.caution {
    border-left: 1px solid hsl(38 92% 50%);
}

.admonition.failure,
.admonition.danger,
.admonition.error,
.admonition.bug {
    border-left: 1px solid hsl(0 84% 60%);
}

.admonition.example,
.admonition.quote {
    border-left: 1px solid hsl(215 16% 47%);
}

figure {
    text-align: center;
    margin: 1.5rem 0;
}

figure img {
    display: block;
    margin: 0 auto;
    border-radius: 0.75rem;
}

figure figcaption {
    margin-top: 0.5rem;
    color: hsl(215 15% 40%);
    font-size: 0.875rem;
}

@media print {
    * {
        font-family: Inter, sans-serif !important;
        color: #333 !important;
        html,
        body,
        .md-typeset {
            font-family: "Inter", sans-serif !important;
            font-weight: 300 !important;
            font-size: 11pt !important;
            line-height: 1.4 !important;
            color: #333 !important;
        }

        h1 {
            font-weight: 600 !important;
        }
        h2 {
            font-weight: 600 !important;
        }
        h3 {
            font-weight: 500 !important;
        }
        h4,
        h5,
        h6 {
            font-weight: 500 !important;
        }

        strong,
        b {
            font-weight: 400 !important;
        }
        section + section ul {
            break-before: auto !important;
            break-inside: auto !important;
        }
        section + section ol {
            break-before: auto !important;
            break-inside: auto !important;
        }
        section + section pre {
            break-before: avoid !important;
            break-inside: auto !important;
        }
        code {
            break-inside: auto !important;
        }
        pre + span {
            break-inside: avoid !important;
        }
        span + code {
            break-inside: avoid !important;
        }
        p {
            break-inside: avoid !important;
        }
        p + table {
            break-before: avoid !important;
            break-inside: auto !important;
        }
        ul {
            break-inside: auto !important;
        }
        h2 + table {
            break-inside: auto !important;
        }
        table {
            break-inside: auto !important;
        }
        p + div.highlight {
            break-before: auto !important;
            break-inside: avoid !important;
        }
        div.highlight {
            break-before: avoid !important;
            break-inside: auto !important;
        }
        section p + figure {
            break-before: auto !important;
            break-inside: avoid !important;
            break-after: auto !important;
        }
        section h4 + div.highlight {
            break-before: avoid !important;
            break-inside: avoid !important;
        }

        article * + div.highlight,
        article * + div.tabbed-set,
        section + section * + div.highlight,
        section + section * + div.tabbed-set {
            page-break-before: avoid !important;
            break-inside: auto !important;
        }

        .admonition {
            border: 1px solid #ddd !important;
            background: #fafafa !important;
        }

        pre {
            border: 1px solid #ddd !important;
        }
    }
}
