:root {
  /* --h1: 250;
  --h2: 30; */
  /* --h1: 250;
  --h2: 190; */
  /* --h1: 230;
  --h2: 330; */
  /* --h1: 270;
  --h2: 20; */
  --h1: 250;
  --h2: 5;
}

code[class*="language-"],
pre[class*="language-"] {
  font-family:
    Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
  font-size: 14px;
  line-height: 1.375;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;

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

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  background: hsl(var(--h1), 14%, 18%);
  color: hsl(var(--h1), 97%, 76%);
}

pre > code[class*="language-"] {
  font-size: 1em;
}

pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: hsl(var(--h1), 75%, 61%);
}

pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  text-shadow: none;
  background: hsl(var(--h1), 75%, 61%);
}

/* Code blocks */
pre[class*="language-"] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: 0.1em;
  border-radius: 0.3em;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: hsl(var(--h1), 12%, 46%);
}

.token.punctuation {
  color: hsl(var(--h1), 12%, 46%);
}

.token.namespace {
  opacity: 0.7;
}

.token.tag,
.token.operator,
.token.number {
  color: hsl(var(--h2), 72%, 67%);
}

.token.property,
.token.function {
  color: hsl(var(--h1), 97%, 84%);
}

.token.tag-id,
.token.selector,
.token.atrule-id {
  color: hsl(var(--h1), 100%, 96%);
}

code.language-javascript,
.token.attr-name {
  color: hsl(var(--h1), 97%, 78%);
}

code.language-css,
code.language-scss,
.token.boolean,
.token.string,
.token.entity,
.token.url,
.language-css .token.string,
.language-scss .token.string,
.style .token.string,
.token.attr-value,
.token.keyword,
.token.control,
.token.directive,
.token.unit,
.token.statement,
.token.regex,
.token.atrule {
  color: hsl(var(--h2), 100%, 83%);
}

.token.placeholder,
.token.variable {
  color: hsl(var(--h2), 100%, 80%);
}

.token.deleted {
  text-decoration: line-through;
}

.token.inserted {
  border-bottom: 1px dotted hsl(var(--h1), 100%, 96%);
  text-decoration: none;
}

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

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

.token.important {
  color: hsl(var(--h1), 97%, 86%);
}

.token.entity {
  cursor: help;
}

pre > code.highlight {
  outline: 0.4em solid hsl(var(--h1), 86%, 71%);
  outline-offset: 0.4em;
}

/* overrides color-values for the Line Numbers plugin
 * http://prismjs.com/plugins/line-numbers/
 */
.line-numbers.line-numbers .line-numbers-rows {
  border-right-color: hsl(var(--h1), 15%, 19%);
}

.line-numbers .line-numbers-rows > span:before {
  color: hsl(var(--h1), 12%, 25%);
}

/* overrides color-values for the Line Highlight plugin
* http://prismjs.com/plugins/line-highlight/
*/
.line-highlight.line-highlight {
  background: hsla(var(--h2), 72%, 57%, 0.2);
  background: -webkit-linear-gradient(
    left,
    hsla(var(--h2), 72%, 57%, 0.2) 70%,
    hsla(var(--h2), 72%, 57%, 0)
  );
  background: linear-gradient(
    to right,
    hsla(var(--h2), 72%, 57%, 0.2) 70%,
    hsla(var(--h2), 72%, 57%, 0)
  );
}
