/*
 * Hand-written highlight.js theme approximating the original site's GeSHi
 * palette — checked against the live rendering of website/html/css's
 * pre.cpp / .kw1 / .kw3 / .kw4 / .co2 / .br0 / .st0 / .nu0 rules, not
 * guessed. hljs and GeSHi tokenize C++ differently (hljs has no separate
 * "bracket" or "member access" token class the way GeSHi's br0/me0 do),
 * so this matches the palette and box styling exactly and the token
 * boundaries approximately.
 *
 * Original reference (from the live site):
 *   pre.cpp { border:1px solid #ddd; background:#f5f5f5; padding:4px 6px; font-size:90%; }
 *   .kw1 (control keywords)      { color:#000; font-weight:bold; }
 *   .kw3 (function calls)        { color:#336699; }
 *   .kw4 (types)                 { color:#666; font-weight:bold; }
 *   .co2 (comments/#include)     { color:#006600; font-weight:bold; }
 *   .st0 (strings)                { color:#666; }
 *   .nu0 (numbers)                { color:#0099cc; }
 */

.hljs {
  /* No box styling here on purpose — .code-block (site.css) owns the
     border/background/padding, so a plain <pre> looks right even before
     JS runs, and there's no double-box once it does. */
  background: transparent;
  color: #1a1a1a;
}

.hljs-comment,
.hljs-quote,
.hljs-meta {
  color: #006600;
  font-weight: bold;
}

.hljs-keyword,
.hljs-selector-tag {
  color: #1a1a1a;
  font-weight: bold;
}

.hljs-built_in,
.hljs-title.function_,
.hljs-title.function_ .hljs-title {
  color: #336699;
}

.hljs-type,
.hljs-class .hljs-title {
  color: #666666;
  font-weight: bold;
}

.hljs-string,
.hljs-char.escape_ {
  color: #666666;
}

.hljs-number,
.hljs-literal {
  color: #0099cc;
}

.hljs-title,
.hljs-title.class_,
.hljs-variable,
.hljs-params {
  color: #1a1a1a;
}

.hljs-operator,
.hljs-punctuation {
  color: #66cc66;
}
