/* BBS Terminal Syntax Highlighting
 * A retro terminal-themed syntax highlighting scheme
 * Compatible with Hugo's Chroma highlighter
 */

/* Code block container */
.highlight {
  background-color: #0a0a0a;
  border: 1px solid #33ff33;
  border-radius: 4px;
  margin: 1.5em 0;
  padding: 0;
  overflow-x: auto;
}

.highlight pre {
  margin: 0;
  padding: 1em;
  background: transparent;
  overflow-x: auto;
}

.highlight code {
  background: transparent;
  color: #33ff33;
  font-family: 'IBM Plex Mono', 'Courier New', monospace;
  font-size: 0.9em;
  line-height: 1.5;
}

/* Inline code */
code:not(.highlight code) {
  background-color: #0a0a0a;
  border: 1px solid #1a5c1a;
  border-radius: 3px;
  padding: 0.2em 0.4em;
  color: #33ff33;
  font-family: 'IBM Plex Mono', 'Courier New', monospace;
  font-size: 0.9em;
}

/* Line numbers */
.highlight .ln {
  color: #1a5c1a;
  margin-right: 1em;
  padding-right: 1em;
  border-right: 1px solid #1a5c1a;
  user-select: none;
}

/* ============================================
   Chroma Syntax Classes - Terminal Theme
   ============================================ */

/* Error */
.highlight .err {
  color: #ff6b6b;
  background-color: #330000;
}

/* LineTableTD */
.highlight .lntd {
  vertical-align: top;
  padding: 0;
  margin: 0;
  border: 0;
}

/* LineTable */
.highlight .lntable {
  border-spacing: 0;
  padding: 0;
  margin: 0;
  border: 0;
  width: auto;
  overflow: auto;
  display: block;
}

/* LineHighlight */
.highlight .hl {
  display: block;
  width: 100%;
  background-color: #1a3a1a;
}

/* LineNumbersTable */
.highlight .lnt {
  color: #1a5c1a;
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
}

/* LineNumbers */
.highlight .ln {
  color: #1a5c1a;
  margin-right: 0.4em;
  padding: 0 0.4em 0 0.4em;
}

/* Line */
.highlight .line {
  display: flex;
}

/* Keyword - bright cyan */
.highlight .k {
  color: #00ffff;
  font-weight: bold;
}

/* KeywordConstant */
.highlight .kc {
  color: #00ffff;
  font-weight: bold;
}

/* KeywordDeclaration */
.highlight .kd {
  color: #00ffff;
  font-weight: bold;
}

/* KeywordNamespace */
.highlight .kn {
  color: #00ffff;
  font-weight: bold;
}

/* KeywordPseudo */
.highlight .kp {
  color: #00ffff;
}

/* KeywordReserved */
.highlight .kr {
  color: #00ffff;
  font-weight: bold;
}

/* KeywordType */
.highlight .kt {
  color: #ffff00;
}

/* Name - default green */
.highlight .n {
  color: #33ff33;
}

/* NameAttribute */
.highlight .na {
  color: #7fff7f;
}

/* NameBuiltin */
.highlight .nb {
  color: #00ffff;
}

/* NameBuiltinPseudo */
.highlight .bp {
  color: #33ff33;
}

/* NameClass - yellow */
.highlight .nc {
  color: #ffff00;
  font-weight: bold;
}

/* NameConstant */
.highlight .no {
  color: #ff9933;
}

/* NameDecorator */
.highlight .nd {
  color: #ff66ff;
}

/* NameEntity */
.highlight .ni {
  color: #ffffff;
  font-weight: bold;
}

/* NameException */
.highlight .ne {
  color: #ff6b6b;
  font-weight: bold;
}

/* NameFunction - bright green */
.highlight .nf {
  color: #7fff7f;
}

/* NameFunctionMagic */
.highlight .fm {
  color: #7fff7f;
}

/* NameLabel */
.highlight .nl {
  color: #ffff00;
}

/* NameNamespace */
.highlight .nn {
  color: #33ff33;
}

/* NameOther */
.highlight .nx {
  color: #7fff7f;
}

/* NameProperty */
.highlight .py {
  color: #33ff33;
}

/* NameTag */
.highlight .nt {
  color: #00ffff;
}

/* NameVariable */
.highlight .nv {
  color: #33ff33;
}

/* NameVariableClass */
.highlight .vc {
  color: #33ff33;
}

/* NameVariableGlobal */
.highlight .vg {
  color: #33ff33;
}

/* NameVariableInstance */
.highlight .vi {
  color: #33ff33;
}

/* NameVariableMagic */
.highlight .vm {
  color: #33ff33;
}

/* Literal */
.highlight .l {
  color: #ff9933;
}

/* LiteralDate */
.highlight .ld {
  color: #ff9933;
}

/* LiteralString - orange/amber */
.highlight .s {
  color: #ff9933;
}

/* LiteralStringAffix */
.highlight .sa {
  color: #ff9933;
}

/* LiteralStringBacktick */
.highlight .sb {
  color: #ff9933;
}

/* LiteralStringChar */
.highlight .sc {
  color: #ff9933;
}

/* LiteralStringDelimiter */
.highlight .dl {
  color: #ff9933;
}

/* LiteralStringDoc */
.highlight .sd {
  color: #7f7f7f;
  font-style: italic;
}

/* LiteralStringDouble */
.highlight .s2 {
  color: #ff9933;
}

/* LiteralStringEscape */
.highlight .se {
  color: #ffcc00;
  font-weight: bold;
}

/* LiteralStringHeredoc */
.highlight .sh {
  color: #ff9933;
}

/* LiteralStringInterpol */
.highlight .si {
  color: #ffcc00;
}

/* LiteralStringOther */
.highlight .sx {
  color: #ff9933;
}

/* LiteralStringRegex */
.highlight .sr {
  color: #ff66ff;
}

/* LiteralStringSingle */
.highlight .s1 {
  color: #ff9933;
}

/* LiteralStringSymbol */
.highlight .ss {
  color: #ff9933;
}

/* LiteralNumber - magenta */
.highlight .m {
  color: #ff66ff;
}

/* LiteralNumberBin */
.highlight .mb {
  color: #ff66ff;
}

/* LiteralNumberFloat */
.highlight .mf {
  color: #ff66ff;
}

/* LiteralNumberHex */
.highlight .mh {
  color: #ff66ff;
}

/* LiteralNumberInteger */
.highlight .mi {
  color: #ff66ff;
}

/* LiteralNumberIntegerLong */
.highlight .il {
  color: #ff66ff;
}

/* LiteralNumberOct */
.highlight .mo {
  color: #ff66ff;
}

/* Operator */
.highlight .o {
  color: #ffffff;
}

/* OperatorWord */
.highlight .ow {
  color: #00ffff;
  font-weight: bold;
}

/* Punctuation */
.highlight .p {
  color: #33ff33;
}

/* Comment - dim green */
.highlight .c {
  color: #1a8c1a;
  font-style: italic;
}

/* CommentHashbang */
.highlight .ch {
  color: #1a8c1a;
  font-style: italic;
}

/* CommentMultiline */
.highlight .cm {
  color: #1a8c1a;
  font-style: italic;
}

/* CommentSingle */
.highlight .c1 {
  color: #1a8c1a;
  font-style: italic;
}

/* CommentSpecial */
.highlight .cs {
  color: #1a8c1a;
  font-style: italic;
  font-weight: bold;
}

/* CommentPreproc */
.highlight .cp {
  color: #ff66ff;
}

/* CommentPreprocFile */
.highlight .cpf {
  color: #ff9933;
}

/* Generic */
.highlight .g {
  color: #33ff33;
}

/* GenericDeleted */
.highlight .gd {
  color: #ff6b6b;
  background-color: #330000;
}

/* GenericEmph */
.highlight .ge {
  font-style: italic;
}

/* GenericError */
.highlight .gr {
  color: #ff6b6b;
}

/* GenericHeading */
.highlight .gh {
  color: #ffffff;
  font-weight: bold;
}

/* GenericInserted */
.highlight .gi {
  color: #33ff33;
  background-color: #003300;
}

/* GenericOutput */
.highlight .go {
  color: #888888;
}

/* GenericPrompt */
.highlight .gp {
  color: #00ffff;
  font-weight: bold;
}

/* GenericStrong */
.highlight .gs {
  font-weight: bold;
}

/* GenericSubheading */
.highlight .gu {
  color: #00ffff;
  font-weight: bold;
}

/* GenericTraceback */
.highlight .gt {
  color: #ff6b6b;
}

/* GenericUnderline */
.highlight .gl {
  text-decoration: underline;
}

/* TextWhitespace */
.highlight .w {
  color: #333333;
}

/* Other */
.highlight .x {
  color: #33ff33;
}
