/*! purgecss start ignore */
/* Light mode syntax highlighting (default/github style) - Scoped to avoid leaking into dark mode */
:where(:root:not([data-bs-theme="dark"])) .highlight,
:where(:root:not([data-bs-theme="dark"])) pre,
:where(:root:not([data-bs-theme="dark"])) code[class*="language-"] {
    background-color: #f6f8fa;
    color: #24292e;
}

:where(:root:not([data-bs-theme="dark"])) .highlight pre {
    background-color: #f6f8fa;
    padding: 16px;
    border-radius: 6px;
    overflow-x: auto;
}

/* Chroma syntax highlighting tokens - Light mode */
:where(:root:not([data-bs-theme="dark"])) .chroma {
    background-color: #f6f8fa;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .err {
    color: #a61717;
    background-color: #e3d2d2;
}

/* Error */
:where(:root:not([data-bs-theme="dark"])) .chroma .lntd {
    vertical-align: top;
    padding: 0;
    margin: 0;
    border: 0;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .lntable {
    border-spacing: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .hl {
    display: block;
    width: 100%;
    background-color: #ffffcc;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .lnt {
    color: #7f7f7f;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .ln {
    color: #7f7f7f;
}

:where(:root:not([data-bs-theme="dark"])) .chroma .k {
    color: #d73a49;
    font-weight: bold;
}

/* Keyword */
:where(:root:not([data-bs-theme="dark"])) .chroma .kc {
    color: #005cc5;
}

/* Keyword.Constant */
:where(:root:not([data-bs-theme="dark"])) .chroma .kd {
    color: #d73a49;
    font-weight: bold;
}

/* Keyword.Declaration */
:where(:root:not([data-bs-theme="dark"])) .chroma .kn {
    color: #d73a49;
    font-weight: bold;
}

/* Keyword.Namespace */
:where(:root:not([data-bs-theme="dark"])) .chroma .kp {
    color: #d73a49;
    font-weight: bold;
}

/* Keyword.Pseudo */
:where(:root:not([data-bs-theme="dark"])) .chroma .kr {
    color: #d73a49;
    font-weight: bold;
}

/* Keyword.Reserved */
:where(:root:not([data-bs-theme="dark"])) .chroma .kt {
    color: #d73a49;
}

/* Keyword.Type */
:where(:root:not([data-bs-theme="dark"])) .chroma .na {
    color: #6f42c1;
}

/* Name.Attribute */
:where(:root:not([data-bs-theme="dark"])) .chroma .nb {
    color: #005cc5;
}

/* Name.Builtin */
:where(:root:not([data-bs-theme="dark"])) .chroma .nc {
    color: #6f42c1;
}

/* Name.Class */
:where(:root:not([data-bs-theme="dark"])) .chroma .no {
    color: #005cc5;
}

/* Name.Constant */
:where(:root:not([data-bs-theme="dark"])) .chroma .nd {
    color: #6f42c1;
}

/* Name.Decorator */
:where(:root:not([data-bs-theme="dark"])) .chroma .ni {
    color: #005cc5;
}

/* Name.Entity */
:where(:root:not([data-bs-theme="dark"])) .chroma .ne {
    color: #005cc5;
}

/* Name.Exception */
:where(:root:not([data-bs-theme="dark"])) .chroma .nf {
    color: #6f42c1;
}

/* Name.Function */
:where(:root:not([data-bs-theme="dark"])) .chroma .nl {
    color: #005cc5;
}

/* Name.Label */
:where(:root:not([data-bs-theme="dark"])) .chroma .nn {
    color: #6f42c1;
}

/* Name.Namespace */
:where(:root:not([data-bs-theme="dark"])) .chroma .nt {
    color: #22863a;
}

/* Name.Tag */
:where(:root:not([data-bs-theme="dark"])) .chroma .nv {
    color: #24292e;
}

/* Name.Variable */
:where(:root:not([data-bs-theme="dark"])) .chroma .s {
    color: #032f62;
}

/* String */
:where(:root:not([data-bs-theme="dark"])) .chroma .sa {
    color: #032f62;
}

/* String.Affix */
:where(:root:not([data-bs-theme="dark"])) .chroma .sb {
    color: #032f62;
}

/* String.Backtick */
:where(:root:not([data-bs-theme="dark"])) .chroma .sc {
    color: #032f62;
}

/* String.Char */
:where(:root:not([data-bs-theme="dark"])) .chroma .dl {
    color: #032f62;
}

/* String.Delimiter */
:where(:root:not([data-bs-theme="dark"])) .chroma .sd {
    color: #032f62;
}

/* String.Doc */
:where(:root:not([data-bs-theme="dark"])) .chroma .s2 {
    color: #032f62;
}

/* String.Double */
:where(:root:not([data-bs-theme="dark"])) .chroma .se {
    color: #032f62;
}

/* String.Escape */
:where(:root:not([data-bs-theme="dark"])) .chroma .sh {
    color: #032f62;
}

/* String.Heredoc */
:where(:root:not([data-bs-theme="dark"])) .chroma .si {
    color: #032f62;
}

/* String.Interpol */
:where(:root:not([data-bs-theme="dark"])) .chroma .sx {
    color: #032f62;
}

/* String.Other */
:where(:root:not([data-bs-theme="dark"])) .chroma .sr {
    color: #032f62;
}

/* String.Regex */
:where(:root:not([data-bs-theme="dark"])) .chroma .s1 {
    color: #032f62;
}

/* String.Single */
:where(:root:not([data-bs-theme="dark"])) .chroma .ss {
    color: #032f62;
}

/* String.Symbol */
:where(:root:not([data-bs-theme="dark"])) .chroma .m {
    color: #005cc5;
}

/* Number */
:where(:root:not([data-bs-theme="dark"])) .chroma .mb {
    color: #005cc5;
}

/* Number.Bin */
:where(:root:not([data-bs-theme="dark"])) .chroma .mf {
    color: #005cc5;
}

/* Number.Float */
:where(:root:not([data-bs-theme="dark"])) .chroma .mh {
    color: #005cc5;
}

/* Number.Hex */
:where(:root:not([data-bs-theme="dark"])) .chroma .mi {
    color: #005cc5;
}

/* Number.Integer */
:where(:root:not([data-bs-theme="dark"])) .chroma .il {
    color: #005cc5;
}

/* Number.Integer.Long */
:where(:root:not([data-bs-theme="dark"])) .chroma .mo {
    color: #005cc5;
}

/* Number.Oct */
:where(:root:not([data-bs-theme="dark"])) .chroma .o {
    color: #d73a49;
}

/* Operator */
:where(:root:not([data-bs-theme="dark"])) .chroma .ow {
    color: #d73a49;
    font-weight: bold;
}

/* Operator.Word */
:where(:root:not([data-bs-theme="dark"])) .chroma .p {
    color: #24292e;
}

/* Punctuation */
:where(:root:not([data-bs-theme="dark"])) .chroma .c {
    color: #6a737d;
    font-style: italic;
}

/* Comment */
:where(:root:not([data-bs-theme="dark"])) .chroma .ch {
    color: #6a737d;
    font-style: italic;
}

/* Comment.Hashbang */
:where(:root:not([data-bs-theme="dark"])) .chroma .cm {
    color: #6a737d;
    font-style: italic;
}

/* Comment.Multiline */
:where(:root:not([data-bs-theme="dark"])) .chroma .cp {
    color: #6a737d;
    font-style: italic;
}

/* Comment.Preproc */
:where(:root:not([data-bs-theme="dark"])) .chroma .cpf {
    color: #6a737d;
    font-style: italic;
}

/* Comment.PreprocFile */
:where(:root:not([data-bs-theme="dark"])) .chroma .c1 {
    color: #6a737d;
    font-style: italic;
}

/* Comment.Single */
:where(:root:not([data-bs-theme="dark"])) .chroma .cs {
    color: #6a737d;
    font-style: italic;
}

/* Comment.Special */
:where(:root:not([data-bs-theme="dark"])) .chroma .gd {
    color: #b31d28;
    background-color: #ffeef0;
}

/* Generic.Deleted */
:where(:root:not([data-bs-theme="dark"])) .chroma .ge {
    font-style: italic;
}

/* Generic.Emph */
:where(:root:not([data-bs-theme="dark"])) .chroma .gr {
    color: #b31d28;
}

/* Generic.Error */
:where(:root:not([data-bs-theme="dark"])) .chroma .gh {
    color: #005cc5;
    font-weight: bold;
}

/* Generic.Heading */
:where(:root:not([data-bs-theme="dark"])) .chroma .gi {
    color: #22863a;
    background-color: #f0fff4;
}

/* Generic.Inserted */
:where(:root:not([data-bs-theme="dark"])) .chroma .go {
    color: #6a737d;
}

/* Generic.Output */
:where(:root:not([data-bs-theme="dark"])) .chroma .gp {
    color: #6a737d;
}

/* Generic.Prompt */
:where(:root:not([data-bs-theme="dark"])) .chroma .gs {
    font-weight: bold;
}

/* Generic.Strong */
:where(:root:not([data-bs-theme="dark"])) .chroma .gu {
    color: #6f42c1;
    font-weight: bold;
}

/* Generic.Subheading */
:where(:root:not([data-bs-theme="dark"])) .chroma .gt {
    color: #b31d28;
}

/* Generic.Traceback */

/* Dark mode syntax highlighting */
[data-bs-theme="dark"] .highlight,
[data-bs-theme="dark"] pre,
[data-bs-theme="dark"] code[class*="language-"] {
    background-color: #1e1e1e !important;
    color: #d4d4d4 !important;
}

/* Inline code in dark mode */
[data-bs-theme="dark"] code:not([class*="language-"]) {
    background-color: #2d2d30 !important;
    color: #d4d4d4 !important;
    padding: 2px 6px;
    border-radius: 3px;
}

/* Code block container */
[data-bs-theme="dark"] .highlight pre {
    background-color: #1e1e1e !important;
    padding: 16px;
    border-radius: 6px;
    overflow-x: auto;
}

/* Chroma syntax highlighting tokens - Dark mode */
[data-bs-theme="dark"] .highlight .chroma {
    background-color: #1e1e1e !important;
    color: #d4d4d4 !important;
}

[data-bs-theme="dark"] .highlight .chroma .err {
    color: #f48771 !important;
}

/* Error */
[data-bs-theme="dark"] .highlight .chroma .lntd {
    vertical-align: top;
    padding: 0;
    margin: 0;
    border: 0;
}

[data-bs-theme="dark"] .highlight .chroma .lntable {
    border-spacing: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

[data-bs-theme="dark"] .highlight .chroma .hl {
    background-color: #3a3d41 !important;
}

[data-bs-theme="dark"] .highlight .chroma .lnt {
    color: #6e7681 !important;
    padding: 0 4px;
}

[data-bs-theme="dark"] .highlight .chroma .ln {
    color: #6e7681 !important;
    padding: 0 4px;
}

[data-bs-theme="dark"] .highlight .chroma .line {
    display: flex;
}

/* Keywords */
[data-bs-theme="dark"] .highlight .chroma .k {
    color: #569cd6 !important;
    font-weight: normal;
}

[data-bs-theme="dark"] .highlight .chroma .kc {
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .kd {
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .kn {
    color: #c586c0 !important;
}

[data-bs-theme="dark"] .highlight .chroma .kp {
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .kr {
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .kt {
    color: #4ec9b0 !important;
}

/* Names */
[data-bs-theme="dark"] .highlight .chroma .n {
    color: #f0f0f0 !important;
}

[data-bs-theme="dark"] .highlight .chroma .na {
    color: #f0f0f0 !important;
}

[data-bs-theme="dark"] .highlight .chroma .nb {
    /* Builtin - keeping yellow/beige but ensuring !important */
    color: #dcdcaa !important;
}

[data-bs-theme="dark"] .highlight .chroma .nc {
    /* Class - requested Green */
    color: #50fa7b !important;
}

[data-bs-theme="dark"] .highlight .chroma .nd {
    /* Decorator - Green */
    color: #50fa7b !important;
}

[data-bs-theme="dark"] .highlight .chroma .ne {
    /* Exception - Green */
    color: #50fa7b !important;
}

[data-bs-theme="dark"] .highlight .chroma .nf {
    /* Function - Yellow/Beige */
    color: #dcdcaa !important;
}

[data-bs-theme="dark"] .highlight .chroma .ni {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .highlight .chroma .nl {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .highlight .chroma .nn {
    /* Namespace (e.g. Cryptodome) - requested Green */
    color: #50fa7b !important;
}

[data-bs-theme="dark"] .highlight .chroma .no {
    /* Constant - Green */
    color: #50fa7b !important;
}

[data-bs-theme="dark"] .highlight .chroma .nt {
    /* Tag - Blue */
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .nv {
    color: #f0f0f0 !important;
}

[data-bs-theme="dark"] .highlight .chroma .nx {
    color: #f0f0f0 !important;
}

/* Strings */
[data-bs-theme="dark"] .highlight .chroma .s {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .s1 {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .s2 {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .sa {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .sb {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .sc {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .dl {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .sd {
    color: #608b4e !important;
}

[data-bs-theme="dark"] .highlight .chroma .se {
    color: #d7ba7d !important;
}

[data-bs-theme="dark"] .highlight .chroma .sh {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .si {
    color: #d7ba7d !important;
}

[data-bs-theme="dark"] .highlight .chroma .sr {
    color: #d16969 !important;
}

[data-bs-theme="dark"] .highlight .chroma .ss {
    color: #ce9178 !important;
}

[data-bs-theme="dark"] .highlight .chroma .sx {
    color: #ce9178 !important;
}

/* Numbers */
[data-bs-theme="dark"] .highlight .chroma .m {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .mb {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .mf {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .mh {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .mi {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .il {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .mo {
    color: #b5cea8 !important;
}

/* Comments */
[data-bs-theme="dark"] .highlight .chroma .c {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .c1 {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .ch {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .cm {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .cp {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .cpf {
    color: #6a9955 !important;
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .cs {
    color: #6a9955 !important;
    font-style: italic;
}

/* Operators */
[data-bs-theme="dark"] .highlight .chroma .o {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .highlight .chroma .ow {
    color: #569cd6 !important;
}

/* Punctuation */
[data-bs-theme="dark"] .highlight .chroma .p {
    color: #ffffff !important;
}

/* Generic */
[data-bs-theme="dark"] .highlight .chroma .gd {
    color: #f48771 !important;
}

[data-bs-theme="dark"] .highlight .chroma .ge {
    font-style: italic;
}

[data-bs-theme="dark"] .highlight .chroma .gh {
    color: #569cd6 !important;
    font-weight: bold;
}

[data-bs-theme="dark"] .highlight .chroma .gi {
    color: #b5cea8 !important;
}

[data-bs-theme="dark"] .highlight .chroma .go {
    color: #808080 !important;
}

[data-bs-theme="dark"] .highlight .chroma .gp {
    color: #6e7681 !important;
}

[data-bs-theme="dark"] .highlight .chroma .gr {
    color: #f48771 !important;
}

[data-bs-theme="dark"] .highlight .chroma .gs {
    font-weight: bold;
}

[data-bs-theme="dark"] .highlight .chroma .gt {
    color: #569cd6 !important;
}

[data-bs-theme="dark"] .highlight .chroma .gu {
    color: #4ec9b0 !important;
}

/* Variables */
[data-bs-theme="dark"] .highlight .chroma .w {
    color: #ffffff !important;
}

/* Ensure pre tags have proper styling */
[data-bs-theme="dark"] pre code {
    background-color: transparent !important;
    color: inherit !important;
    padding: 0 !important;
}

/* Light mode - ensure it still works */
[data-bs-theme="light"] .highlight,
[data-bs-theme="light"] pre code {
    background-color: #f6f8fa;
    color: #24292e;
}

[data-bs-theme="light"] .highlight pre {
    background-color: #f6f8fa;
    padding: 16px;
    border-radius: 6px;
}

/*! purgecss end ignore */