:root {
  --code-bg-color: #1e1e1e;
  --code-text-color: #ccc;
  --light-yellow: #e5c07b;
  --dark-yellow: #d19a66;
  --blue: #61afef;
  --cyan: #56b6c2;
  --light-red: #e06c75;
  --dark-red: #be5046;
  --comment-gray: #5c6370;
  --magenta: #c678dd;
}

pre {
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  padding: 10px 5px;
}

pre > code {
  background: var(--code-bg-color);
  color: var(--code-text-color);
  line-height: normal;
}

/* generic language */
code .comment {
  color: var(--comment-gray);
}

/* zine ziggy */

code.ziggy {
  color: var(--cyan);
}

code.ziggy .keyword,
code.ziggy .type {
  color: var(--light-yellow);
}

code.ziggy .string {
  color: var(--dark-yellow);
}

code.ziggy .numeric.constant {
  color: var(--magenta);
}

code.ziggy .function {
  color: var(--blue);
}


/* ziglang */

/*
  pre > code,
  samp {
    background: #1e1e1e;
    color: #ccc;
    line-height: normal;
  }

  .tok-kw {
    color: #eee;
  }

  .tok-str {
    color: #2e5;
  }

  .tok-builtin {
    color: #ff894c;
  }

  code.zig {
    color: #aa7;
  }

  .tok-fn {
    color: #B1A0F8;
  }

  .tok-null {
    color: #ff8080;
  }

  .tok-number {
    color: #ff8080;
  }

  .tok-type {
    color: #68f;
  }
*/

code.zig {}

code.zig .number,
code.zig .string {
  color: var(--dark-yellow);
}

code.zig .variable,
code.zig .field {
  color: var(--light-yellow);
}

code.zig .keyword,
code.zig .keyword_modifier,
code.zig .keyword_return,
code.zig .keyword_exception,
code.zig .keyword_repeat, /* while loop */
code.zig .keyword_conditional, /* if */
code.zig .keyword_import,
code.zig .keyword_function {
  color: var(--light-red);
}

code.zig .bracket {
  color: var(--cyan);
}

code.zig .function_builtin, /* @ functions */
code.zig .function {
  color: var(--blue);
}

code.zig .builtin {
  color: var(--magenta);
}

code.zig .operator,
code.zig .qualifier,
code.zig .attribute {
  color: var(--light-red);
}
