/*
 * Monokai Dark for Hexo's highlight.js renderer and Butterfly's code-block UI.
 * Palette derived from the Monokai syntax theme.
 */
:root,
[data-theme='dark'] {
  --hl-color: #f8f8f2;
  --hl-bg: #272822;
  --hltools-bg: #1e1f1c;
  --hltools-color: #f8f8f2;
  --hlnumber-bg: #272822;
  --hlnumber-color: #90908a;
  --hlscrollbar-bg: #75715e;
  --hlexpand-bg: linear-gradient(180deg, rgb(39 40 34 / 60%), rgb(39 40 34 / 95%));
}

#article-container figure.highlight,
#article-container figure.highlight .highlight-tools,
#article-container figure.highlight .gutter {
  background: var(--hl-bg);
  color: var(--hl-color);
}

#article-container figure.highlight .highlight-tools {
  background: var(--hltools-bg);
  color: var(--hltools-color);
}

#article-container figure.highlight .gutter pre {
  color: var(--hlnumber-color);
}

#article-container figure.highlight ::selection {
  background: #49483e;
}

/* Hexo highlight.js token classes. */
#article-container figure.highlight .comment,
#article-container figure.highlight .quote {
  color: #75715e;
}

#article-container figure.highlight .keyword,
#article-container figure.highlight .selector-tag,
#article-container figure.highlight .literal,
#article-container figure.highlight .section,
#article-container figure.highlight .link {
  color: #f92672;
}

#article-container figure.highlight .function .keyword,
#article-container figure.highlight .meta .keyword,
#article-container figure.highlight .subst {
  color: #f8f8f2;
}

#article-container figure.highlight .string,
#article-container figure.highlight .title,
#article-container figure.highlight .name,
#article-container figure.highlight .type,
#article-container figure.highlight .attribute,
#article-container figure.highlight .symbol,
#article-container figure.highlight .bullet,
#article-container figure.highlight .addition,
#article-container figure.highlight .variable,
#article-container figure.highlight .template-variable {
  color: #a6e22e;
}

#article-container figure.highlight .number,
#article-container figure.highlight .built_in,
#article-container figure.highlight .builtin-name,
#article-container figure.highlight .params,
#article-container figure.highlight .deletion {
  color: #ae81ff;
}

#article-container figure.highlight .title.function_,
#article-container figure.highlight .function .title,
#article-container figure.highlight .selector-id,
#article-container figure.highlight .selector-class {
  color: #a6e22e;
}

#article-container figure.highlight .meta,
#article-container figure.highlight .meta .string,
#article-container figure.highlight .regexp {
  color: #fd971f;
}

#article-container figure.highlight .attr,
#article-container figure.highlight .selector-attr,
#article-container figure.highlight .selector-pseudo {
  color: #66d9ef;
}

#article-container figure.highlight .emphasis {
  font-style: italic;
}

#article-container figure.highlight .strong {
  font-weight: 700;
}
