/**
 * Shades of Purple Theme for Prism.js
 *
 * @author Ahmad Awais <https://twitter.com/MrAhmadAwais/>
 * @support Follow/tweet at https://twitter.com/MrAhmadAwais/
 */

code[class*='language-'],
pre[class*='language-'] {
  @apply text-black dark:text-white font-medium;
  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;
}

pre[class*='language-']::-moz-selection,
pre[class*='language-'] ::-moz-selection,
code[class*='language-']::-moz-selection,
code[class*='language-'] ::-moz-selection,
pre[class*='language-']::selection,
pre[class*='language-'] ::selection,
code[class*='language-']::selection,
code[class*='language-'] ::selection {
  color: inherit;
}

/* Code blocks. */
pre[class*='language-'] {
  @apply box-border border-black dark:border-white border-2;
  padding: calc(var(--line-height) - var(--border-thickness)) calc(2ch - var(--border-thickness));
  overflow: auto;
}

/* 
:not(pre)>code[class*='language-'],
pre[class*='language-'] {
}

@media (prefers-color-scheme: dark) {

  :not(pre)>code[class*='language-'],
  pre[class*='language-'] {
    @apply border-white;
  }
} */


/* Inline code */
/* :not(pre)>code[class*='language-'] {

} */

.token {
  font-weight: 400;
}

.token.comment,
.token.prolog,
.token.cdata {
  @apply text-slate-600 dark:text-slate-400;
}

.token.delimiter,
.token.keyword,
.token.selector,
.token.important,
.token.atrule {
  @apply text-black dark:text-white;
}

.token.operator,
.token.attr-name {
  @apply font-medium text-black dark:text-white;
}

.token.punctuation {
  @apply text-slate-500;
}

.token.boolean {
  @apply font-medium text-black dark:text-white;
}

.token.tag,
.token.tag .punctuation,
.token.doctype,
.token.builtin {
  @apply font-medium text-black dark:text-white;
}

.token.entity,
.token.symbol {
  @apply font-medium text-black dark:text-white;

}

.token.number {
  @apply font-medium text-black dark:text-white;
}

.token.property,
.token.constant,
.token.variable {
  @apply font-medium text-black dark:text-white;
}

.token.string,
.token.char {
  @apply text-slate-800 dark:text-slate-200;
  font-style: italic;
}

.token.attr-value,
.token.attr-value .punctuation {
  color: #a5c261;
}

.token.attr-value .punctuation:first-child {
  color: #a9b7c6;
}

.token.url {
  color: #287bde;
  text-decoration: underline;
}

.token.function {
  @apply font-bold text-black dark:text-white;
}

/* .token.regex {

} */

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

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

.token.inserted {
  background: #00ff00;
}

.token.deleted {
  background: #ff000d;
}

code.language-css .token.property,
code.language-css .token.property+.token.punctuation {
  color: #a9b7c6;
}

code.language-css .token.id {
  color: #ffc66d;
}

code.language-css .token.selector>.token.class,
code.language-css .token.selector>.token.attribute,
code.language-css .token.selector>.token.pseudo-class,
code.language-css .token.selector>.token.pseudo-element {
  color: #ffc66d;
}

.token.class-name {
  @apply font-medium text-slate-700 dark:text-slate-300;
  font-style: italic;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
  background: none;
}

.line-highlight.line-highlight {
  margin-top: 36px;
  background: linear-gradient(to right, rgba(179, 98, 255, 0.17), transparent);
}

.line-highlight.line-highlight:before,
.line-highlight.line-highlight[data-end]:after {
  content: '';
}