/* Theme-aware Rouge syntax highlighting for GitHub Pages / Jekyll */

.highlight {
  display: block;
  background: var(--code-bg);
  color: var(--code-text);
  border: 1px solid var(--border);
  border-radius: 6px;
  margin: 0 0 1.25rem 0;
  overflow: hidden;
}

.highlight + .highlight {
  margin-top: 0;
}

.highlight pre {
  display: block;
  background: transparent;
  color: inherit;
  margin: 0;
  padding: 1em;
  overflow-x: auto;
  border: 0;
  border-radius: 0;
  line-height: 1.5;
}

.highlight code {
  background: transparent;
  color: inherit;
  border: 0;
}

/* Highlighted line */
.highlight .hll {
  background-color: var(--accent-light);
}

/* Base text */
.highlight,
.highlight .w {
  color: var(--code-text);
}

/* Comments */
.highlight .c,
.highlight .ch,
.highlight .cm,
.highlight .cp,
.highlight .cpf,
.highlight .c1,
.highlight .cs {
  color: var(--syntax-comment);
  font-style: italic;
}

/* Preprocessor */
.highlight .cp {
  color: var(--syntax-keyword);
  font-style: normal;
}

/* Keywords */
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt {
  color: var(--syntax-keyword);
}

/* Strings */
.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss {
  color: var(--syntax-string);
}

/* Numbers */
.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .il,
.highlight .mo {
  color: var(--syntax-number);
}

/* Functions / methods */
.highlight .nf,
.highlight .fm {
  color: var(--syntax-function);
}

/* Classes / types / exceptions / tags */
.highlight .nc,
.highlight .nn,
.highlight .ne,
.highlight .nt {
  color: var(--syntax-type);
}

/* Variables */
.highlight .vi,
.highlight .vm,
.highlight .vg {
  color: var(--syntax-variable);
}

/* General names */
.highlight .n,
.highlight .no,
.highlight .na,
.highlight .nb,
.highlight .bp,
.highlight .vc {
  color: var(--syntax-variable);
}

/* Operators / words */
.highlight .o,
.highlight .ow {
  color: var(--syntax-operator);
}

/* Generic text styles */
.highlight .gd {
  color: var(--syntax-deleted);
}

.highlight .gi {
  color: var(--syntax-inserted);
}

.highlight .ge {
  font-style: italic;
}

.highlight .gs {
  font-weight: 700;
}

.highlight .gu {
  color: var(--syntax-type);
}

.highlight .err {
  color: var(--syntax-error);
  background: transparent;
}

/* Punctuation */
.highlight .p {
  color: var(--code-text);
}

/* Bash / Shell tweaks */
.highlight .nb,
.highlight .k {
  color: var(--syntax-keyword);
  font-weight: 600;
}

.highlight .nv,
.highlight .nx {
  color: var(--syntax-function);
}

.highlight .vg,
.highlight .vi,
.highlight .vm {
  color: var(--syntax-variable);
}

.highlight .s,
.highlight .s1,
.highlight .s2 {
  color: var(--syntax-string);
}

.highlight .m {
  color: var(--syntax-number);
}

.highlight .o {
  color: var(--syntax-operator);
}

.highlight .na {
  color: var(--syntax-type);
}

.highlight .gp {
  color: var(--syntax-prompt);
  font-weight: 700;
}