/* xcodedark-esq style */

/*  wrapper / pre block */
pre.chroma,
.highlight pre {
  color: #ffffff;
  background-color: #171717;
  border-radius: 20px;
  padding: 1.1em 1.4em;
  overflow-x: auto;
  font-family: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  font-size: 0.85em;
  line-height: 1.6;
}

/* transparent wrapper so the pre bg shows cleanly */
.highlight {
  background: transparent;
}

/*  line structures (used when lineNos = true)  */
.chroma .lntable {
  border-spacing: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
.chroma .lntd {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: 0;
}
.chroma .lntd:last-child {
  width: 100%;
}
.chroma .lnt {
  white-space: pre;
  user-select: none;
  margin-right: 0.75em;
  color: #6c6c6c;
}
.chroma .ln {
  white-space: pre;
  user-select: none;
  margin-right: 0.75em;
  color: #6c6c6c;
}
.chroma .line {
  display: flex;
}
.chroma .hl {
  background-color: #3a3b40;
  display: block;
  width: 100%;
}

/*  base / plain text */
.chroma {
  color: #ffffff;
} /* background / default foreground */
.chroma .w {
  color: #ffffff;
} /* whitespace */

/*  errors  */
.chroma .err {
  color: #960050;
}

/*  keywords  */

/* pink/magenta — if, else, return, let, var, func, class … */
.chroma .k,
.chroma .kc,
.chroma .kd,
.chroma .kn,
.chroma .kp,
.chroma .kr {
  color: #f4718b;
}

/*  names */
.chroma .n {
  color: #ffffff;
} /* generic name */
.chroma .na {
  color: #ffffff;
} /* attribute */
.chroma .nb {
  color: #b281eb;
} /* built-in (int, string, bool …) */
.chroma .bp {
  color: #b281eb;
} /* built-in pseudo (self, super) */
.chroma .nc {
  color: #b29dff;
} /* class / type declarations */
.chroma .no {
  color: #ffffff;
} /* constant name */
.chroma .nd {
  color: #ffffff;
} /* decorator */
.chroma .ni {
  color: #ffffff;
} /* entity */
.chroma .ne {
  color: #ffffff;
} /* exception */
.chroma .nf {
  color: #78c2b3;
} /* function / method declarations */
.chroma .fm {
  color: #78c2b3;
} /* function magic */
.chroma .py {
  color: #ffffff;
} /* property */
.chroma .nl {
  color: #ffffff;
} /* label */
.chroma .nn {
  color: #ffffff;
} /* namespace */
.chroma .nx {
  color: #78c2b3;
} /* other names (function calls) */
.chroma .nt {
  color: #ffffff;
} /* tag */
.chroma .nv {
  color: #4eb0cc;
}
.chroma .vc,
.chroma .vg,
.chroma .vi,
.chroma .vm {
  color: #ffffff;
} /* variables */

/*  literals  */
.chroma .l,
.chroma .ld {
  color: #ffffff;
}

/* strings — orange/warm */
.chroma .s,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .dl,
.chroma .sd,
.chroma .s2,
.chroma .se,
.chroma .sh,
.chroma .sx,
.chroma .sr,
.chroma .s1,
.chroma .ss {
  color: limegreen;
}

/* string interpolation — back to plain text */
.chroma .si {
  color: #ffffff;
}

/* numbers — teal/green */
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .mo,
.chroma .il {
  color: #ff7ab2;
}

/*  comments  */
.chroma .c,
.chroma .ch,
.chroma .cm,
.chroma .c1 {
  color: #7f8c98;
}
.chroma .cs {
  color: #7f8c98;
  font-style: italic;
} /* special */
.chroma .cp,
.chroma .cpf {
  color: #ffa14f;
} /* preprocessor (#if, #define) */

/*  operators / punctuation */
.chroma .o,
.chroma .ow {
  color: #ffffff;
}
.chroma .p {
  color: #ffffff;
}

/*  generic tokens  */
.chroma .g {
  color: #ffffff;
}
.chroma .gd {
  color: #ff7ab2;
} /* deleted (diff) */
.chroma .ge {
  color: #ffffff;
  font-style: italic;
}
.chroma .gr {
  color: #ff7ab2;
}
.chroma .gh {
  color: #ffffff;
  font-weight: bold;
}
.chroma .gi {
  color: #78c2b3;
} /* inserted (diff) */
.chroma .go {
  color: #ffffff;
}
.chroma .gp {
  color: #ffffff;
}
.chroma .gs {
  color: #ffffff;
  font-weight: bold;
}
.chroma .gu {
  color: #ffffff;
}
.chroma .gt {
  color: #ff7ab2;
}
.chroma .gl {
  color: #ffffff;
  text-decoration: underline;
}
