/* ============================================================
   CHATGPT / PREMIER IDE SYNTAX HIGHLIGHTING THEME
   Vibrant, High-Contrast, Pixel-Perfect Token Colors
   ============================================================ */

/* ─── DARK MODE (ChatGPT / GitHub Dark Default / OneDark) ─── */
pre {
  background: #171717 !important;
}

.hljs {
  background: #171717 !important;
  color: #ECECF1 !important;
  font-family: var(--blyx-font-mono) !important;
}

/* Keywords (fn, let, mut, match, if, else, struct, impl, pub, use, return) */
.hljs-keyword,
.hljs-selector-tag {
  color: #FF7B72 !important; /* ChatGPT vibrant coral-red keyword */
  font-weight: 600 !important;
}

/* Functions & Macro Calls (println!, main, parse, new) */
.hljs-title.function_,
.hljs-function,
.hljs-title.function_.invoke__,
.hljs-built_in {
  color: #D2A8FF !important; /* ChatGPT / GitHub purple */
  font-weight: 500 !important;
}

/* Types, Structs & Traits (String, i32, Vec, Option, Result) */
.hljs-type,
.hljs-title.class_,
.hljs-title.class_.inherited__ {
  color: #FFA657 !important; /* Warm amber/gold type color */
  font-weight: 600 !important;
}

/* String Literals ("Hello world", "42") */
.hljs-string {
  color: #A5D6FF !important; /* Crisp sky-blue / cyan string */
}

/* Numbers & Booleans (42, 3.14, true, false) */
.hljs-number,
.hljs-literal {
  color: #79C0FF !important; /* Electric blue */
}

/* Comments (// ..., /* ... * /) */
.hljs-comment,
.hljs-quote {
  color: #8B949E !important; /* Sleek muted gray */
  font-style: italic !important;
}

/* Variables, Parameters & Attributes */
.hljs-variable,
.hljs-params,
.hljs-attr,
.hljs-attribute {
  color: #E6EDF3 !important; /* Crisp off-white */
}

/* Macro Annotations & Meta Attributes (#[derive(Debug)]) */
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-meta .hljs-string {
  color: #E8734A !important; /* Blyx signature terracotta */
}

/* Lifetimes & Symbols ('a, :label) */
.hljs-symbol {
  color: #7EE787 !important; /* Vivid mint green */
}

/* Punctuation & Operators (+, -, *, =, ->, ::, ;) */
.hljs-punctuation,
.hljs-operator {
  color: #C9D1D9 !important;
}

/* Console Prompt & Output ($ cargo run) */
pre code.language-console,
pre code.language-terminal,
pre code.language-shell,
pre code.language-text {
  color: #ECECF1 !important;
}

/* ─── LIGHT MODE (ChatGPT Light / GitHub Light) ─── */
html.blyx-light pre,
.blyx-light pre,
.light pre {
  background: #F7F7F8 !important;
}

html.blyx-light .hljs,
.blyx-light .hljs,
.light .hljs {
  background: #F7F7F8 !important;
  color: #24292F !important;
}

/* Keywords in light mode */
html.blyx-light .hljs-keyword,
html.blyx-light .hljs-selector-tag,
.blyx-light .hljs-keyword,
.light .hljs-keyword {
  color: #CF222E !important; /* Crisp Ruby Red */
  font-weight: 600 !important;
}

/* Functions & Macros in light mode */
html.blyx-light .hljs-title.function_,
html.blyx-light .hljs-function,
html.blyx-light .hljs-built_in,
.blyx-light .hljs-built_in,
.light .hljs-built_in {
  color: #8250DF !important; /* Deep Purple */
  font-weight: 500 !important;
}

/* Types & Structs in light mode */
html.blyx-light .hljs-type,
html.blyx-light .hljs-title.class_,
.blyx-light .hljs-type,
.light .hljs-type {
  color: #953800 !important; /* Deep Bronze / Sienna */
  font-weight: 600 !important;
}

/* Strings in light mode */
html.blyx-light .hljs-string,
.blyx-light .hljs-string,
.light .hljs-string {
  color: #0A3069 !important; /* Deep Navy Blue */
}

/* Numbers & Literals in light mode */
html.blyx-light .hljs-number,
html.blyx-light .hljs-literal,
.blyx-light .hljs-number,
.light .hljs-number {
  color: #0550AE !important; /* Royal Blue */
}

/* Comments in light mode */
html.blyx-light .hljs-comment,
html.blyx-light .hljs-quote,
.blyx-light .hljs-comment,
.light .hljs-comment {
  color: #6E7781 !important; /* Slate Gray */
  font-style: italic !important;
}

/* Variables & Params in light mode */
html.blyx-light .hljs-variable,
html.blyx-light .hljs-params,
html.blyx-light .hljs-attr,
.blyx-light .hljs-params,
.light .hljs-params {
  color: #24292F !important;
}

/* Meta in light mode */
html.blyx-light .hljs-meta,
.blyx-light .hljs-meta,
.light .hljs-meta {
  color: #BC4419 !important;
}

/* Symbols in light mode */
html.blyx-light .hljs-symbol,
.blyx-light .hljs-symbol,
.light .hljs-symbol {
  color: #116329 !important; /* Forest Green */
}

/* Operators in light mode */
html.blyx-light .hljs-punctuation,
html.blyx-light .hljs-operator,
.blyx-light .hljs-operator,
.light .hljs-operator {
  color: #57606A !important;
}
