@mixin theme-dark {
  code[class*="language-"],
    pre[class*="language-"] {
      color: #d6deeb;
      font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
      text-align: left;
      white-space: pre;
      word-spacing: normal;
      word-break: normal;
      word-wrap: normal;
      min-width: 100%;
      font-size: $code-font-size;
      line-height: 1.5em;

      -moz-tab-size: 4;
      -o-tab-size: 4;
      tab-size: 4;

      -webkit-hyphens: none;
      -moz-hyphens: none;
      -ms-hyphens: none;
      hyphens: none;
    }

    pre[class*="language-"]::-moz-selection,
    pre[class*="language-"] ::-moz-selection,
    code[class*="language-"]::-moz-selection,
    code[class*="language-"] ::-moz-selection {
      text-shadow: none;
      background: rgba(29, 59, 83, 0.99);
    }

    pre[class*="language-"]::selection,
    pre[class*="language-"] ::selection,
    code[class*="language-"]::selection,
    code[class*="language-"] ::selection {
      text-shadow: none;
      background: rgba(29, 59, 83, 0.99);
    }

    @media print {
      code[class*="language-"],
      pre[class*="language-"] {
        text-shadow: none;
      }
    }

    .token.comment,
    .token.prolog,
    .token.cdata {
      color: rgb(99, 119, 119);
      font-style: italic;
    }

    .token.punctuation {
      color: rgb(199, 146, 234);
    }

    .namespace {
      color: rgb(178, 204, 214);
    }

    .token.deleted {
      color: rgba(239, 83, 80, 0.56);
      font-style: italic;
    }

    .token.symbol,
    .token.property {
      color: rgb(130, 170, 255);
    }

    .token.tag,
    .token.operator,
    .token.keyword {
      color: #ffa7c4;
    }

    .token.boolean {
      color: rgb(240, 98, 146);
    }

    .token.number {
      color: rgb(247, 140, 108);
    }

    .token.constant,
    .token.function,
    .token.builtin,
    .token.char {
      color: rgb(130, 170, 255);
    }

    .token.selector,
    .token.doctype {
      color: rgb(199, 146, 234);
      font-style: italic;
    }

    .token.attr-name,
    .token.inserted {
      color: rgb(173, 219, 103);
      font-style: italic;
    }

    .token.string,
    .token.url,
    .token.entity,
    .language-css .token.string,
    .style .token.string {
      color: rgb(173, 219, 103);
    }

    .token.class-name,
    .token.atrule,
    .token.attr-value {
      color: #ffa7c4;
    }

    .token.regex,
    .token.important,
    .token.variable {
      color: rgb(214, 222, 235);
    }

    .token.important,
    .token.bold {
      font-weight: bold;
    }

    .token.italic {
      font-style: italic;
    }

    .langague-cpp .token.string {
      color: #8be9fd;
    }

    .langague-c .token.string {
      color: #8be9fd;
    }

    .language-css .token.selector {
      color: rgba(80, 250, 123, 1);
    }

    .language-css .token.property {
      color: rgba(255, 184, 108, 1);
    }

    .language-java span.token.class-name {
      color: #8be9fd;
    }

    .language-java .token.class-name {
      color: #8be9fd;
    }

    .language-markup .token.attr-value {
      color: rgba(102, 217, 239, 1);
    }

    .language-markup .token.tag {
      color: rgba(80, 250, 123, 1);
    }

    .language-objectivec .token.property {
      color: #66d9ef;
    }

    .language-objectivec .token.string {
      color: #50fa7b;
    }

    .language-php .token.boolean {
      color: #8be9fd;
    }

    .language-php .token.function {
      color: #ff79c6;
    }

    .language-php .token.keyword {
      color: #66d9ef;
    }

    .language-ruby .token.symbol {
      color: #8be9fd;
    }

    .language-ruby .token.class-name {
      color: #cfcfc2;
    }

    pre.line-numbers {
      position: relative;
      padding-left: 3.8em;
      counter-reset: linenumber;
    }

    pre.line-numbers > code {
      position: relative;
      white-space: inherit;
    }

    .line-numbers .line-numbers-rows {
      position: absolute;
      pointer-events: none;
      top: 0;
      left: -3.8em;
      width: 3em;
      /* works for line-numbers below 1000 lines */
      letter-spacing: -1px;
      border-right: 1px solid #999;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }

    .line-numbers-rows > span {
      pointer-events: none;
      display: block;
      counter-increment: linenumber;
    }

    .line-numbers-rows > span:before {
      content: counter(linenumber);
      color: #999;
      display: block;
      padding-right: 0.8em;
      text-align: right;
    }

    div.code-toolbar {
      position: relative;
    }

    div.code-toolbar > .toolbar {
      position: absolute;
      top: 0.3em;
      right: 0.2em;
      transition: opacity 0.3s ease-in-out;
      opacity: 0;
    }

    div.code-toolbar:hover > .toolbar {
      opacity: 1;
    }

    div.code-toolbar > .toolbar .toolbar-item {
      display: inline-block;
      padding-right: 20px;
    }

    div.code-toolbar > .toolbar a {
      cursor: pointer;
    }

    div.code-toolbar > .toolbar button {
      background: none;
      border: 0;
      color: inherit;
      font: inherit;
      line-height: normal;
      overflow: visible;
      padding: 0;
      -webkit-user-select: none;
      /* for button */
      -moz-user-select: none;
      -ms-user-select: none;
    }

    div.code-toolbar > .toolbar a,
    div.code-toolbar > .toolbar button,
    div.code-toolbar > .toolbar span {
      color: #ccc;
      padding: 0.5em;
      background: rgba(98, 114, 164, 1);
      border-radius: 0.5em;
    }

    div.code-toolbar > .toolbar a:hover,
    div.code-toolbar > .toolbar a:focus,
    div.code-toolbar > .toolbar button:hover,
    div.code-toolbar > .toolbar button:focus,
    div.code-toolbar > .toolbar span:hover,
    div.code-toolbar > .toolbar span:focus {
      color: inherit;
      text-decoration: none;
      background-color: var(--verde);
    }
}