:root {
  --sh-keyword: #007693;
  --sh-char: #8a5151;
  --sh-func: #bd1635;
  --sh-comment: #6a6580;
  --sh-operator: #6253a3;
  --sh-number: #924e4e;
  --sh-sel-fg: #ffffff;
  --sh-sel-bg: var(--sh-char);
}

@font-face {
  font-family: 'Primal Skill Term';
  src: url('/assets/fonts/primal-skill-term/primal-skill-term-regular.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Primal Skill Term';
  src: url('/assets/fonts/primal-skill-term/primal-skill-term-bold.woff2') format('woff2');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Primal Skill Term';
  src: url('/assets/fonts/primal-skill-term/primal-skill-term-italic.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

pre[class*='language-'] {
  max-width: 1280px;
  margin: 0 auto;
  border-left: 1px dotted #999;
}

code[class*='language-'],
pre[class*='language-'] {
  color: var(--sh-char);
  font-family: 'Primal Skill Term', monospace;
  font-size: 15px;
  line-height: 2;
  direction: ltr;
  text-align: left;
  white-space: pre-wrap;
  word-spacing: normal;
  word-break: break-all;
  overflow-wrap: break-word;

  -moz-tab-size: 2;
  -o-tab-size: 2;
  tab-size: 2;

  -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 {
  color: var(--sh-sel-fg);
  background: var(--sh-sel-bg);
}

pre[class*='language-']::selection,
pre[class*='language-'] ::selection,
code[class*='language-']::selection,
code[class*='language-'] ::selection {
  color: var(--sh-sel-fg);
  background: var(--sh-sel-bg);
}

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

:not(pre) > code[class*='language-'],
pre[class*='language-'] {
  background: var(--color-bg);
}

/* Inline code */
:not(pre) > code[class*='language-'] {
  padding: 0.1em;
  border-radius: 0.3em;
  background: var(--color-text-50);
  font-size: 17px;
}

.token.comment,
.token.prolog,
.token.cdata {
  color: var(--sh-comment);
}

.token.delimiter,
.token.boolean,
.token.keyword,
.token.selector,
.token.important,
.token.atrule {
  color: var(--sh-keyword);
}

.token.operator,
.token.punctuation,
.token.attr-name {
  color: var(--sh-operator);
}

.token.tag,
.token.tag .punctuation,
.token.doctype,
.token.builtin {
  color: var(--sh-func);
}

.token.entity,
.token.number,
.token.symbol {
  color: var(--sh-number);
}

.token.property,
.token.constant,
.token.variable {
  color: var(--sh-keyword);
}

.token.string,
.token.char {
  color: var(--sh-char);
}

.token.attr-value,
.token.attr-value .punctuation {
  color: var(--sh-comment);
}

.token.url {
  color: vae(--sh-char);
  text-decoration: underline;
}

.token.function {
  color: var(--sh-func);
}

.token.regex {
  background: var(--sh-char);
}

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

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

.token.inserted {
  background: var(--sh-comment);
}

.token.deleted {
  background: var(--sh-keyword);
}
