:root {
    /* Main Background & Borders to match your site */
    --syn-bg: #050000;          /* Very deep, near-black red for code block backgrounds */
    --syn-border: #600;      /* Muted dark red for code block borders */
    --syn-text: #f0e6e6;        /* Off-white terminal text for standard code */
    
    /* Syntax Highlighting Tokens */
    --syn-comment: #a44;     /* Dimmed, ash-red for comments */
    --syn-keyword: #ff3333;     /* Vibrant red for core control keywords (if, return, etc.) */
    --syn-string: #ffb3b3;      /* Soft, pastel pink-red for strings */
    --syn-number: #ff8000;      /* Amber/Orange for integers, floats, and constants */
    --syn-type: #df80ff;        /* Neon purple for data types and classes */
    --syn-function: #33ff99;    /* Matrix green for functions and methods */
    --syn-operator: #ff5555;    /* Medium red for operators (=, +, &&) */
    --syn-alert: #ff0000;       /* Warning/Alert blocks */
}

/* Base structural alignment with your existing theme */
div.sourceCode {
    background-color: var(--syn-bg);
    color: var(--syn-text);
    border: 1px solid var(--syn-border);
    border-radius: 0;           /* Kept sharp/brutalist like your main layout */
    margin: 1.5rem 0;
}

pre.sourceCode {
    margin: 0;
}
pre code {
    padding: 0.8rem !important;
}

/* Pandoc Target Tokens mapped to your variables */
code span.al { color: var(--syn-text); font-weight: bold; background-color: var(--syn-alert); } /* Alert */
code span.an { color: var(--syn-comment); font-weight: bold; } /* Annotation */
code span.at { color: var(--syn-text); }                      /* Attribute */
code span.bn { color: var(--syn-number); }                    /* BaseN */
code span.bu { color: var(--syn-function); }                  /* BuiltIn */
code span.cf { color: var(--syn-keyword); font-weight: bold; } /* ControlFlow */
code span.ch { color: var(--syn-string); }                     /* Char */
code span.cn { color: var(--syn-number); font-weight: bold; }  /* Constant */
code span.co { color: var(--syn-comment); font-style: italic; }/* Comment */
code span.cv { color: var(--syn-comment); font-weight: bold; } /* CommentVar */
code span.do { color: var(--syn-comment); }                    /* Documentation */
code span.dt { color: var(--syn-type); }                       /* DataType */
code span.dv { color: var(--syn-number); }                    /* DecVal */
code span.er { color: var(--syn-alert); font-weight: bold; }   /* Error */
code span.ex { color: var(--syn-function); }                  /* Extension */
code span.fl { color: var(--syn-number); }                    /* Float */
code span.fu { color: var(--syn-function); }                  /* Function */
code span.im { color: var(--syn-string); font-weight: bold; }  /* Import */
code span.in { color: var(--syn-comment); font-weight: bold; } /* Information */
code span.kw { color: var(--syn-keyword); font-weight: bold; } /* Keyword */
code span.op { color: var(--syn-operator); }                  /* Operator */
code span.ot { color: var(--syn-text); }                      /* Other */
code span.pp { color: var(--syn-keyword); }                    /* Preprocessor */
code span.sc { color: var(--syn-string); }                     /* SpecialChar */
code span.ss { color: var(--syn-string); }                     /* SpecialString */
code span.st { color: var(--syn-string); }                     /* String */
code span.va { color: var(--syn-text); }                      /* Variable */
code span.vs { color: var(--syn-string); }                     /* VerbatimString */
code span.wa { color: var(--syn-alert); font-weight: bold; }   /* Warning */

pre.numberSource a.sourceLine { position: relative; left: -4em; }
pre.numberSource a.sourceLine::before { content: attr(title); position: relative; left: -1em; text-align: right; vertical-align: baseline; border: none; pointer-events: all; display: inline-block; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 0 4px; width: 4em; color: var(--syn-comment); }
pre.numberSource { margin-left: 3em; border-left: 1px solid var(--syn-border); padding-left: 4px; }
