/* Default colors (light theme) */
.debug {
  --color: #33a;
  --colorBg: #f5f2f0;
  --textShadow: #fff;
  --comment: #6e6e6e;
  --punctuation: #4e4e4e;
  --property: #905;
  --operator: #70b;
  --selector: #487b00;
  --url: #8d6640;
  --urlBg: hsla(0, 0%, 100%, .5);
  --boolean: #905;
  --atRule: #0075a8;
  --keyword: #0075a8;
  --null: #999;
  --function: #c93654;
  --regex: #860;
  // --boxShadow: hsla(0,0%,0%,.3);
  // --focusOutline: hsla(214, 100%, 85%, 1);
  // --codeBgImg: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 64'%3E%3Ccircle stroke='rgba(0,64,0,.3)' stroke-width='2' fill='none' cx='20' cy='49' r='12'/%3E%3Cpath fill='%23fcfcfa' fill-rule='evenodd' d='M1920 64H0V0h1920v64zM20 36a11 11 0 110 22 11 11 0 010-22z'/%3E%3Cpath stroke='%23edf3ed' stroke-width='2' d='M0 1h1920M0 5h1920M0 9h1920M0 13h1920M0 17h1920M0 21h1920M0 25h1920M0 29h1920'/%3E%3Cpath stroke='%23e4ede4' stroke-dasharray='2 6 2 6' stroke-width='2' d='M40 2v60'/%3E%3C/svg%3E");
}

.debug[data-theme=dark] {
  --color: #6ae;
  --colorBg: #222;
  --textShadow: #000;
  --comment: #9ab;
  --punctuation: #ccc;
  --property: #e70;
  --operator: #d7f;
  --selector: #8b2;
  --url: #cde;
  --urlBg: rgba(0,0,0,.5);
  --boolean: #a8f;
  --atRule: #ffb;
  --keyword: #fe6;
  --function: #f55;
  --regex: #f91;
  // --boxShadow: #000;
  // --focusOutline: hsla(214, 100%, 85%, .6);
  // --codeBgImg: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 64'%3E%3Ccircle stroke='rgba(0,0,0,.7)' stroke-width='2' fill='none' cx='20' cy='49' r='12'/%3E%3Cpath fill='%23101610' fill-rule='evenodd' d='M1920 64H0V0h1920v64zM20 36a11 11 0 110 22 11 11 0 010-22z'/%3E%3Cpath stroke='%23121' stroke-width='2' d='M0 1h1920M0 5h1920M0 9h1920M0 13h1920M0 17h1920M0 21h1920M0 25h1920M0 29h1920'/%3E%3Cpath stroke='%23131' stroke-dasharray='2 6 2 6' stroke-width='2' d='M40 2v60'/%3E%3C/svg%3E");
}

/* PrismJS 1.29.0
https://prismjs.com/download.html?#themes=prism&languages=markup+css+clike+javascript+javadoclike+json+markup-templating+php+phpdoc+php-extras+sql&plugins=line-highlight+line-numbers */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

 code[class*="language-"],
 pre[class*="language-"] {
   color: var(--color);
   background: none;
   text-shadow: 0 1px var(--textShadow);
   font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
   font-size: 1em;
   text-align: left;
   white-space: pre;
   word-spacing: normal;
   word-break: normal;
   word-wrap: normal;
   line-height: 1.5;

   -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 {
   text-shadow: none;
   background: #b3d4fc;
 }

 pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
 code[class*="language-"]::selection, code[class*="language-"] ::selection {
   text-shadow: none;
   background: #b3d4fc;
 }

 @media print {
   code[class*="language-"],
   pre[class*="language-"] {
     text-shadow: none;
   }
 }

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

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

 /* Inline code */
 :not(pre) > code[class*="language-"] {
   padding: .1em;
   border-radius: .3em;
   white-space: normal;
 }

 .token.atrule,
 .token.attr-value,
 .token.keyword {
   color: var(--atRule);
 }

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

 .token.punctuation {
   color: var(--punctuation);
 }

 .token.namespace {
   opacity: .7;
 }

 .token.boolean {
  color: var(--boolean);
 }
 .token.null {
  color: var(--null);
 }
 .token.number {
    color: var(--color-numeric);
 }
 .token.constant,
 .token.deleted,
 .token.property,
 .token.symbol,
 .token.tag {
   color: var(--property);
 }

 .token.attr-name,
 .token.builtin,
 .token.char,
 .token.inserted,
 .token.selector,
 .token.string {
   color: var(--selector);
 }

 .token.operator {
  color: var(--operator);
 }
 .token.entity,
 .token.url,
 .language-css .token.string,
 .style .token.string {
   color: var(--url);
   /* This background color was intended by the author of this theme. */
   background: var(--urlBg);
 }

 .token.function,
 .token.class-name {
   color: var(--function);
 }

 .token.regex,
 .token.important,
 .token.variable {
   color: var(--regex);
 }

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

 .token.entity {
   cursor: help;
 }

 pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em;
}

.line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  width: 100% !important;
  padding: inherit 0;
  margin-top: 1em; /* Same as .prism’s padding-top */

  background: hsla(24, 20%, 50%,.08);
  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));

  pointer-events: none;

  line-height: inherit;
  white-space: pre;
}

@media print {
  .line-highlight {
    /*
     * This will prevent browsers from replacing the background color with white.
     * It's necessary because the element is layered on top of the displayed code.
     */
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
  }
}

  .line-highlight:before,
  .line-highlight[data-end]:after {
    content: attr(data-start);
    position: absolute;
    top: .4em;
    left: .6em;
    min-width: 1em;
    padding: 0 .5em;
    background-color: hsla(24, 20%, 50%,.4);
    color: hsl(24, 20%, 95%);
    font: bold 65%/1.5 sans-serif;
    text-align: center;
    vertical-align: .3em;
    border-radius: 999px;
    text-shadow: none;
    box-shadow: 0 1px white;
  }

  .line-highlight[data-end]:after {
    content: attr(data-end);
    top: auto;
    bottom: .4em;
  }

.line-numbers .line-highlight:before,
.line-numbers .line-highlight:after {
  content: none;
}

pre[id].linkable-line-numbers span.line-numbers-rows {
  pointer-events: all;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
  cursor: pointer;
}
pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
  background-color: rgba(128, 128, 128, .2);
}

pre[class*="language-"].line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber;
}

pre[class*="language-"].line-numbers > code {
  position: relative;
  white-space: inherit;
}

.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.8em;
  width: 3em; /* works for line-numbers below 1000 lines */
  letter-spacing: -1px;
  border-right: 1px solid #999;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

}

  .line-numbers-rows > span {
    display: block;
    counter-increment: linenumber;
  }

    .line-numbers-rows > span:before {
      content: counter(linenumber);
      color: #999;
      display: block;
      padding-right: 0.8em;
      text-align: right;
    }
