.highlight {

/* Map Rouge / Pygments Tokens to work with 'Base 16' themes */

background: $code-00;
color: $code-05;

/**
 * Comments
 */

.c,       /* Comment */
.cm,      /* Comment.Multiline */
.cp,      /* Comment.Preproc */
.c1,      /* Comment.Single */
.cs {     /* Comment.Special */
  color: $code-03;
}

/**
 * Keywords
 */

.k,       /* Keyword */
.kc,      /* Keyword.Constant */
.kd,      /* Keyword.Declaration */
.kp,      /* Keyword.Pseudo */
.kr {     /* Keyword.Reserved */
  color: $code-0E;
}

.kn {     /* Keyword.Namespace */
  color: $code-0C;
}

.kt {     /* Keyword.Type */
  color: $code-0A;
} 

/**
 * Operators
 */

.o,       /* Operator */
.ow {     /* Operator.Word */
  color: $code-0C
}

/**
 * Names
 */

.n,       /* Name */
.nb,      /* Name.Builtin */
.bp,      /* Name.Builtin.Pseudo */
.ni,      /* Name.Entity */
.nl,      /* Name.Label */
.py {     /* Name.Property */
  // Default styling
}

.nc,      /* Name.Class */
.nn {     /* Name.Namespace */
  color: $code-0A;
}

.na,      /* Name.Attribute */
.nf {     /* Name.Function */
  color: $code-0D;
}

.nv,      /* Name.Variable */
.no,      /* Name.Constant */
.vc,      /* Name.Variable.Class */
.vg,      /* Name.Variable.Global */
.vi {     /* Name.Variable.Instance */
  color: $code-08;
}

.nd {     /* Name.Decorator */
  color: $code-0C;
}

.nt,      /* Name.Tag */  
.nx {     /* Name.Other */
  color: $code-09;
}

.ne {     /* Name.Exception */
  color: $code-0F;
}

/**
 * Literals
 */

.l  {     /* Literal */
  color: $code-09;
}

.ld {     /* Literal.Date */
  color: $code-0B;
}

.m,       /* Literal.Number */
.mf,      /* Literal.Number.Float */
.mh,      /* Literal.Number.Hex */
.mi,      /* Literal.Number.Integer */
.il,      /* Literal.Number.Integer.Long */
.mo {     /* Literal.Number.Oct */
  color: $code-09;
}

.s,       /* Literal.String */
.sb,      /* Literal.String.Backtick */
.s2,      /* Literal.String.Double */
.sh {     /* Literal.String.Heredoc */
  color: $code-0B;
}

.sx,      /* Literal.String.Other */
.sr,      /* Literal.String.Regex */
.s1,      /* Literal.String.Single */
.ss {     /* Literal.String.Symbol */
  color: $code-0B;
}

.se,      /* Literal.String.Escape */
.si {     /* Literal.String.Interpol */
  color: $code-09;
}

.sd {     /* Literal.String.Doc */
  color: $code-03
}

.sc {     /* Literal.String.Char */
  // Default styling
}

/**
 * Diffs
 */

.gi {     /* Generic.Inserted */
  background-color: $code-insert-bg;
}

.gd {     /* Generic.Deleted */
  background-color: $code-delete-bg;
}

/**
 * Misc
 */

.p {      /* Punctuation */
  // Default styling
}

.w {      /* Text.Whitespace */
  // Default styling
}

.hll {    /* Highlight */
  background-color: $code-02;
}

.err,     /* Error */
.gr,      /* Generic.Error */
.gt {     /* Generic.Traceback */
  color: $code-0F;
}

.gs {     /* Generic.Strong */
  font-weight: bold;
}

.ge {     /* Generic.Emph */
  font-style: italic;
}

.gh {     /* Generic.Heading */
  font-weight: bold;
}

.gu {     /* Generic.Subheading */
  color: $code-0A;
  font-weight: bold;
}

.gp {     /* Generic.Prompt */
  color: $code-03;
  font-weight: bold
}

}