/*!
  Theme: VS Code Dark+
  Description: A faithful port of Visual Studio Code's default "Dark+" theme for highlight.js
  Maintainer: a7med.dev (Phase 4 reader overhaul)
  Palette source: VS Code "Default Dark+" TextMate token colors
    editor.background        #1e1e1e
    editor.foreground        #d4d4d4
    comment                  #6a9955
    string                   #ce9178
    number / constant        #b5cea8
    keyword / storage        #569cd6
    control keyword          #c586c0
    function (declaration)   #dcdcaa
    type / class / struct    #4ec9b0
    variable / parameter     #9cdcfe
    regexp                   #d16969
    operator                 #d4d4d4
    tag                      #569cd6
    tag name (html)          #569cd6
    attribute name           #9cdcfe
    constant.language        #569cd6
    meta / preprocessor      #c586c0 / #569cd6
*/

/* Base block + inline code surface */
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
}
code.hljs {
  padding: 3px 5px;
}

.hljs {
  color: #d4d4d4;
  background: #1e1e1e;
}

/* Comments & quotes */
.hljs-comment,
.hljs-quote {
  color: #6a9955;
  font-style: italic;
}

/* Keywords, storage, language constants, control flow */
.hljs-keyword,
.hljs-literal,
.hljs-selector-tag {
  color: #569cd6;
}

/* Control-flow / module keywords (import, return, if, for…) — VS Code magenta */
.hljs-meta .hljs-keyword,
.hljs-section {
  color: #c586c0;
}

/* Variables, attributes, parameters, properties */
.hljs-variable,
.hljs-template-variable,
.hljs-attr,
.hljs-attribute,
.hljs-variable.language_,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-property {
  color: #9cdcfe;
}

/* Names / built-ins / classes / types — VS Code teal */
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-class .hljs-title,
.hljs-type,
.hljs-built_in,
.hljs-selector-class {
  color: #4ec9b0;
}

/* Function & method names — VS Code yellow */
.hljs-title,
.hljs-title.function_,
.hljs-function .hljs-title {
  color: #dcdcaa;
}

/* Strings */
.hljs-string,
.hljs-meta .hljs-string,
.hljs-char.escape_ {
  color: #ce9178;
}

/* Numbers, constants, symbols */
.hljs-number,
.hljs-symbol,
.hljs-bullet {
  color: #b5cea8;
}

/* Regular expressions */
.hljs-regexp {
  color: #d16969;
}

/* Doctags / meta / preprocessor */
.hljs-doctag,
.hljs-meta,
.hljs-meta .hljs-string {
  color: #9cdcfe;
}
.hljs-meta {
  color: #569cd6;
}

/* Operators & punctuation-ish */
.hljs-operator {
  color: #d4d4d4;
}

/* HTML/XML tags & names */
.hljs-tag {
  color: #808080;
}
.hljs-name {
  color: #569cd6;
}
.hljs-selector-id {
  color: #d7ba7d;
}

/* Markdown / structural */
.hljs-subst {
  color: #d4d4d4;
}
.hljs-formula {
  color: #ce9178;
  font-style: italic;
}
.hljs-link {
  color: #569cd6;
  text-decoration: underline;
}
.hljs-code {
  color: #ce9178;
}

/* Template tags */
.hljs-template-tag {
  color: #569cd6;
}

/* Params */
.hljs-params {
  color: #9cdcfe;
}

/* Emphasis */
.hljs-emphasis {
  font-style: italic;
}
.hljs-strong {
  font-weight: 700;
}

/* Diffs */
.hljs-addition {
  color: #b5cea8;
  background-color: rgba(155, 185, 85, 0.12);
}
.hljs-deletion {
  color: #ce9178;
  background-color: rgba(255, 0, 0, 0.12);
}
