/* GitLab Mono (a variable font based on JetBrains Mono, SIL OFL 1.1) is embedded
   in the binary and served from /fonts/. A single woff2 covers every weight via
   the variable font's weight axis; the italic file carries the italic styles. */
@font-face {
    font-family: "GitLab Mono";
    src: url("/fonts/GitLabMono.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "GitLab Mono";
    src: url("/fonts/GitLabMono-Italic.woff2") format("woff2");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}

.markdown-body code,
.markdown-body pre,
.markdown-body kbd,
.markdown-body samp {
    font-family: "GitLab Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo,
        Consolas, "Liberation Mono", monospace;
}

.markdown-body table {
    border-collapse: collapse;
    width: 100%;
    margin: 1em 0;
}
.markdown-body th,
.markdown-body td {
    border: 1px solid #d0d7de;
    padding: 0.5em 0.75em;
}
.markdown-body tr:nth-child(2n) {
    background: #f6f8fa;
}
.markdown-body code {
    background: #f6f8fa;
    padding: 0.2em 0.4em;
    border-radius: 4px;
    font-size: 100%;
}
.markdown-body pre {
    background: #f6f8fa;
    padding: 1em;
    overflow: auto;
    border-radius: 6px;
    border: 1px solid #d0d7de;
}
.markdown-body pre code {
    background: transparent;
    padding: 0;
    font-size: 100%;
}

/* Mermaid diagrams are emitted as <pre class="mermaid"> and replaced by an
   <svg> at runtime. Strip the code-block styling and centre the diagram. */
.markdown-body pre.mermaid {
    background: none;
    padding: 0;
    text-align: center;
    border: none;
}
.markdown-body pre.mermaid svg {
    display: block;
    margin: 0 auto;
    height: auto;
}

/* GitHub-style alerts: "> [!NOTE]" blockquotes rendered as coloured callouts.
   Class names match GitHub's so the markup reads the same. */
.markdown-body .markdown-alert {
    padding: 0.5rem 1rem;
    margin: 1em 0;
    border-left: 0.25em solid #888;
    border-radius: 6px;
}
.markdown-body .markdown-alert > :first-child {
    margin-top: 0;
}
.markdown-body .markdown-alert > :last-child {
    margin-bottom: 0;
}
.markdown-body .markdown-alert-title {
    display: flex;
    align-items: center;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0.5rem;
}
.markdown-body .markdown-alert-title svg {
    margin-right: 0.5rem;
    fill: currentColor;
}
.markdown-body .markdown-alert-note {
    border-left-color: #0969da;
    background-color: rgba(9, 105, 218, 0.06);
}
.markdown-body .markdown-alert-note .markdown-alert-title {
    color: #0969da;
}
.markdown-body .markdown-alert-tip {
    border-left-color: #1a7f37;
    background-color: rgba(26, 127, 55, 0.06);
}
.markdown-body .markdown-alert-tip .markdown-alert-title {
    color: #1a7f37;
}
.markdown-body .markdown-alert-important {
    border-left-color: #8250df;
    background-color: rgba(130, 80, 223, 0.06);
}
.markdown-body .markdown-alert-important .markdown-alert-title {
    color: #8250df;
}
.markdown-body .markdown-alert-warning {
    border-left-color: #9a6700;
    background-color: rgba(154, 103, 0, 0.06);
}
.markdown-body .markdown-alert-warning .markdown-alert-title {
    color: #9a6700;
}
.markdown-body .markdown-alert-caution {
    border-left-color: #cf222e;
    background-color: rgba(207, 34, 46, 0.06);
}
.markdown-body .markdown-alert-caution .markdown-alert-title {
    color: #cf222e;
}

/* Superscript and subscript ("^2^", "~2~"). Keep them from nudging line
   height, matching how browsers style <sup>/<sub> in body text. */
.markdown-body sub,
.markdown-body sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
.markdown-body sup {
    top: -0.5em;
}
.markdown-body sub {
    bottom: -0.25em;
}

/* Definition lists ("Term" / ": definition"). */
.markdown-body dl dt {
    font-weight: 600;
    margin-top: 0.75em;
}
.markdown-body dl dd {
    margin: 0 0 0 1.5em;
}

/* Footnotes: the reference superscripts and the generated list at the page
   foot, separated by a rule. Class names match goldmark's footnote output. */
.markdown-body .footnotes {
    margin-top: 2em;
    padding-top: 0.5em;
    border-top: 1px solid #d0d7de;
    font-size: 90%;
    color: #57606a;
}
.markdown-body [id^="fnref"] {
    text-decoration: none;
}

/* Table of contents (frontmatter "toc: true"). Boxed and lightly shaded so it
   reads as navigation rather than body content. */
.markdown-body #toc {
    margin: 1em 0;
    padding: 0.5em 1.5em;
    background: #f6f8fa;
    border: 1px solid #d0d7de;
    border-radius: 6px;
}
.markdown-body #toc ul {
    margin: 0.25em 0;
}
