/* Grok generated code styling */

/* Base color for all text in code blocks */
div.sourceCode,
.sourceCode span {
    color: #ABB2BF; /* Default text color */
}

.sourceCode span.al { /* Alert */
    color: #FF6B6B;
    background-color: #330000;
    font-weight: bold;
}

.sourceCode span.an { /* Annotation */
    color: #88C0D0;
}

.sourceCode span.at { /* Attribute */
    color: #56B6C2;
}

.sourceCode span.bn { /* BaseN */
    color: #D19A66;
}

.sourceCode span.bu { /* BuiltIn */
    color: #61AFEF;
}

.sourceCode span.ch { /* Char */
    color: #98C379;
}

.sourceCode span.co { /* Comment */
    color: #5C6370;
    font-style: italic;
}

.sourceCode span.cv { /* CommentVar */
    color: #E06C75;
}

.sourceCode span.cn { /* Constant */
    color: #E5C07B;
}

.sourceCode span.cf { /* ControlFlow */
    color: #C678DD;
    font-weight: bold;
}

.sourceCode span.dt { /* DataType */
    color: #EBCB8B;
}

.sourceCode span.dv { /* DecVal */
    color: #D19A66;
}

.sourceCode span.do { /* Documentation */
    color: #5C6370;
}

.sourceCode span.er { /* Error */
    color: #FF6B6B;
    text-decoration: underline;
}

.sourceCode span.ex { /* Extension */
    color: #56B6C2;
    font-weight: bold;
}

.sourceCode span.fl { /* Float */
    color: #D19A66;
}

.sourceCode span.fu { /* Function */
    color: #61AFEF;
}

.sourceCode span.im { /* Import */
    color: #61AFEF;
}

.sourceCode span.in { /* Information */
    color: #88C0D0;
}

.sourceCode span.kw { /* Keyword */
    color: #C678DD;
    font-weight: bold;
}

.sourceCode span.op { /* Operator */
    color: #ABB2BF;
}

.sourceCode span.ot { /* Other */
    color: #56B6C2;
}

.sourceCode span.pp { /* Preprocessor */
    color: #D19A66;
}

.sourceCode span.re { /* Region marker */
    background-color: #282C34;
    color: #56B6C2;
}

.sourceCode span.sc { /* SpecialChar */
    color: #98C379;
}

.sourceCode span.ss { /* SpecialString */
    color: #98C379;
}

.sourceCode span.st { /* String */
    color: #98C379;
}

.sourceCode span.va { /* Variable */
    color: #E06C75;
}

.sourceCode span.vs { /* VerbatimString */
    color: #98C379;
}

.sourceCode span.wa { /* Warning */
    color: #EBCB8B;
}

/* Ensure pre blocks have the correct background */
div.sourceCode {
    background-color: #1a1a1a; /* Slightly lighter than pure black for depth */
    border-radius: 4px;
    padding: 10px;
    overflow-x: auto;
}

/* Adjusting for pre > code if needed */
pre.sourceCode {
    background-color: transparent;
    padding: 0;
}

/* This might not be necessary if the above covers all, but included for completeness */
.sourceCode pre {
    color: inherit;
}

code span.al { /* Alert, typically for errors or warnings */
    color: #FF6B6B; /* Vibrant red */
    background-color: #330000; /* Dark red background for emphasis */
    font-weight: bold;
}

code span.an { /* Annotation */
    color: #88C0D0; /* Light blue for annotations */
}

code span.at { /* Attribute */
    color: #56B6C2; /* Cyan for attributes */
}

code span.bn { /* BaseN */
    color: #D19A66; /* Warm orange for numbers */
}

code span.bu { /* BuiltIn */
    color: #61AFEF; /* Bright blue for built-ins */
}

code span.ch { /* Char */
    color: #98C379; /* Green for characters */
}

code span.co { /* Comment */
    color: #5C6370; /* Muted gray for comments */
    font-style: italic;
}

code span.cv { /* CommentVar */
    color: #E06C75; /* Soft red for comment variables */
}

code span.cn { /* Constant */
    color: #E5C07B; /* Light orange for constants */
}

code span.cf { /* ControlFlow */
    color: #C678DD; /* Purple for control flow */
    font-weight: bold;
}

code span.dt { /* DataType */
    color: #EBCB8B; /* Yellow for data types */
}

code span.dv { /* DecVal */
    color: #D19A66; /* Same as bn for decimal values */
}

code span.do { /* Documentation */
    color: #5C6370; /* Same as comments for documentation strings */
}

code span.er { /* Error */
    color: #FF6B6B; /* Red for errors */
    text-decoration: underline;
}

code span.ex { /* Extension */
    color: #56B6C2; /* Cyan, same as at for extensions */
    font-weight: bold;
}

code span.fl { /* Float */
    color: #D19A66; /* Same as bn for floats */
}

code span.fu { /* Function */
    color: #61AFEF; /* Bright blue for function names */
}

code span.im { /* Import */
    color: #61AFEF; /* Same as function for imports */
}

code span.in { /* Information */
    color: #88C0D0; /* Light blue, similar to an */
}

code span.kw { /* Keyword */
    color: #C678DD; /* Purple for keywords */
    font-weight: bold;
}

code span.op { /* Operator */
    color: #ABB2BF; /* Light gray for operators */
}

code span.ot { /* Other */
    color: #56B6C2; /* Cyan for other special tokens */
}

code span.pp { /* Preprocessor */
    color: #D19A66; /* Orange for preprocessor commands */
}

code span.re { /* Region marker */
    background-color: #282C34; /* Darker background for region markers */
    color: #56B6C2; /* Cyan for visibility */
}

code span.sc { /* SpecialChar */
    color: #98C379; /* Green for special characters */
}

code span.ss { /* SpecialString */
    color: #98C379; /* Green for special strings */
}

code span.st { /* String */
    color: #98C379; /* Green for strings */
}

code span.va { /* Variable */
    color: #E06C75; /* Soft red for variables */
}

code span.vs { /* VerbatimString */
    color: #98C379; /* Same as string for verbatim */
}

code span.wa { /* Warning */
    color: #EBCB8B; /* Yellow for warnings */
}

/* General code coloring to ensure readability on dark background */
pre > code.sourceCode > span,
code span,
code.sourceCode > span,
div.sourceCode,
div.sourceCode pre.sourceCode {
    color: #ABB2BF; /* Light gray for general text */
}

.prevent-inlining {
    content: "</";
}