/* Common table styles */
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }

/* Light theme (default) - GitHub style */
.highlight, .highlight .w {
  color: #24292f;
  background-color: #f6f8fa;
}
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
  color: #cf222e;
}
.highlight .gr {
  color: #f6f8fa;
}
.highlight .gd {
  color: #82071e;
  background-color: #ffebe9;
}
.highlight .nb {
  color: #953800;
}
.highlight .nc {
  color: #953800;
}
.highlight .no {
  color: #953800;
}
.highlight .nn {
  color: #953800;
}
.highlight .sr {
  color: #116329;
}
.highlight .na {
  color: #116329;
}
.highlight .nt {
  color: #116329;
}
.highlight .gi {
  color: #116329;
  background-color: #dafbe1;
}
.highlight .ges {
  font-weight: bold;
  font-style: italic;
}
.highlight .kc {
  color: #0550ae;
}
.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
  color: #0550ae;
}
.highlight .sb {
  color: #0550ae;
}
.highlight .bp {
  color: #0550ae;
}
.highlight .ne {
  color: #0550ae;
}
.highlight .nl {
  color: #0550ae;
}
.highlight .py {
  color: #0550ae;
}
.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: #0550ae;
}
.highlight .o, .highlight .ow {
  color: #0550ae;
}
.highlight .gh {
  color: #0550ae;
  font-weight: bold;
}
.highlight .gu {
  color: #0550ae;
  font-weight: bold;
}
.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
  color: #0a3069;
}
.highlight .nd {
  color: #8250df;
}
.highlight .nf, .highlight .fm {
  color: #8250df;
}
.highlight .err {
  color: #f6f8fa;
  background-color: #82071e;
}
.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: #6e7781;
}
.highlight .gl {
  color: #6e7781;
}
.highlight .gt {
  color: #6e7781;
}
.highlight .ni {
  color: #24292f;
}
.highlight .si {
  color: #24292f;
}
.highlight .ge {
  color: #24292f;
  font-style: italic;
}
.highlight .gs {
  color: #24292f;
  font-weight: bold;
}

/* Dark theme - Material Design inspired */
@media (prefers-color-scheme: dark) {
  .highlight, .highlight .w {
    color: #eeffff;
    background-color: #263238;
  }

  /* Keywords */
  .highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv {
    color: #c792ea;
  }

  /* Keyword type */
  .highlight .kt {
    color: #89ddff;
  }

  /* Comments */
  .highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
    color: #546e7a;
    font-style: italic;
  }

  /* Strings */
  .highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss, .highlight .sr {
    color: #c3e88d;
  }

  /* Numbers */
  .highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
    color: #f78c6c;
  }

  /* Built-ins, Classes, Names */
  .highlight .nb, .highlight .nc, .highlight .no, .highlight .nn, .highlight .bp {
    color: #82aaff;
  }

  /* Functions */
  .highlight .nf, .highlight .fm {
    color: #82aaff;
  }

  /* Decorators */
  .highlight .nd {
    color: #c792ea;
  }

  /* Attributes, Tags */
  .highlight .na, .highlight .nt {
    color: #f07178;
  }

  /* Variables */
  .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm, .highlight .py {
    color: #eeffff;
  }

  /* Operators */
  .highlight .o, .highlight .ow {
    color: #89ddff;
  }

  /* Constants */
  .highlight .kc {
    color: #c792ea;
  }

  /* Interpolation, Special */
  .highlight .ni, .highlight .si, .highlight .sb {
    color: #c3e88d;
  }

  /* Errors */
  .highlight .err {
    color: #ff5370;
    background-color: rgba(255, 83, 112, 0.1);
  }

  /* Diff additions */
  .highlight .gi {
    color: #c3e88d;
    background-color: rgba(195, 232, 141, 0.1);
  }

  /* Diff deletions */
  .highlight .gd {
    color: #ff5370;
    background-color: rgba(255, 83, 112, 0.1);
  }

  /* Generic */
  .highlight .gr, .highlight .gl, .highlight .gt {
    color: #546e7a;
  }

  /* Headers */
  .highlight .gh, .highlight .gu {
    color: #89ddff;
    font-weight: bold;
  }

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

  .highlight .gs {
    font-weight: bold;
  }

  .highlight .ges {
    font-weight: bold;
    font-style: italic;
  }

  .highlight .nl, .highlight .ne {
    color: #82aaff;
  }
}
