/**
 * Catppuccin Theme for Prism.js
 * ( modified from https://github.com/ArmandPhilippot/coldark-prism )
 * Theme variation: Mocha
 * Tested with RUST
 * @author Cyteon
 * @homepage https://github.com/cyteon/assets/blob/main/prismjs/css/mocha.css
 */

 code[class*="language-"],
 pre[class*="language-"] {
     color: #cdd6f4;
     background: none;
     font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
     text-align: left;
     white-space: pre;
     word-spacing: normal;
     word-break: normal;
     word-wrap: normal;
     font-size: 1.2rem;
     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 {
     background: #3c526d;
 }
 
 pre[class*="language-"]::selection,
 pre[class*="language-"] ::selection,
 code[class*="language-"]::selection,
 code[class*="language-"] ::selection {
     background: #3c526d;
 }
 
 /* Code blocks */
 pre[class*="language-"] {
     padding: 0.5em 0.75em;
     margin: 0.5em 0;
     overflow: auto;
 }
 
 :not(pre) > code[class*="language-"],
 pre[class*="language-"] {
     background: #181825;
 }
 
 /* Inline code */
 :not(pre) > code[class*="language-"] {
     padding: 0.1em 0.3em;
     border-radius: 0.3em;
     white-space: normal;
 }
 
 .token.comment,
 .token.prolog,
 .token.doctype,
 .token.cdata {
     color: #a6adc8;
 }
 
 .token.punctuation {
     color: #e3eaf2;
 }
 
 .token.delimiter.important,
 .token.selector .parent,
 .token.tag,
 .token.tag .token.punctuation {
     color: #89dceb;
 }
 
 .token.attr-name,
 .token.boolean,
 .token.boolean.important,
 .token.number,
 .token.constant,
 .token.selector .token.attribute {
     color: #f9e2af;
 }
 
 .token.class-name,
 .token.key,
 .token.parameter,
 .token.property,
 .token.property-access,
 .token.variable {
     color: #89dceb;
 }
 
 .token.attr-value,
 .token.inserted,
 .token.color,
 .token.selector .token.value,
 .token.string,
 .token.string .token.url-link {
     color: #a6e3a1;
 }
 
 .token.builtin,
 .token.keyword-array,
 .token.package,
 .token.regex {
     color: #f5c2e7;
 }
 
 .token.function,
 .token.selector .token.class,
 .token.selector .token.id {
     color: #cba6f7;
 }
 
 .token.atrule .token.rule,
 .token.combinator,
 .token.keyword,
 .token.operator,
 .token.pseudo-class,
 .token.pseudo-element,
 .token.selector,
 .token.unit {
     color: #fab387;
 }
 
 .token.deleted,
 .token.important {
     color: #f38ba8;
 }
 
 .token.keyword-this,
 .token.this {
     color: #6cb8e6;
 }
 
 .token.important,
 .token.keyword-this,
 .token.this,
 .token.bold {
     font-weight: bold;
 }
 
 .token.delimiter.important {
     font-weight: inherit;
 }
 
 .token.italic {
     font-style: italic;
 }
 
 .token.entity {
     cursor: help;
 }
 
 .language-markdown .token.title,
 .language-markdown .token.title .token.punctuation {
     color: #89dceb;
     font-weight: bold;
 }
 
 .language-markdown .token.blockquote.punctuation {
     color: #f5c2e7;
 }
 
 .language-markdown .token.code {
     color: #89dceb;
 }
 
 .language-markdown .token.hr.punctuation {
     color: #89dceb;
 }
 
 .language-markdown .token.url .token.content {
     color: #a6e3a1;
 }
 
 .language-markdown .token.url-link {
     color: #f9e2af;
 }
 
 .language-markdown .token.list.punctuation {
     color: #f5c2e7;
 }
 
 .language-markdown .token.table-header {
     color: #e3eaf2;
 }
 
 .language-json .token.operator {
     color: #e3eaf2;
 }
 
 .language-scss .token.variable {
     color: #89dceb;
 }
 
 /* overrides color-values for the Show Invisibles plugin
  * https://prismjs.com/plugins/show-invisibles/
  */
 .token.token.tab:not(:empty):before,
 .token.token.cr:before,
 .token.token.lf:before,
 .token.token.space:before {
     color: #a6adc8;
 }
 
 /* overrides color-values for the Toolbar plugin
  * https://prismjs.com/plugins/toolbar/
  */
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > a,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > button {
     color: #11111b;
     background: #8aadf4;
     margin-left: 0.5em;
     transition: all 0.3s ease-in-out;
 }
 
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus {
     color: #11111b;
     background: #8aadf4;
     text-decoration: none;
 }
 
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > span,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover,
 div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus {
     color: #111b27;
     background: #a6adc8;
 }
 
 /* overrides color-values for the Line Highlight plugin
  * http://prismjs.com/plugins/line-highlight/
  */
 .line-highlight.line-highlight {
     background: #3c526d5f;
     background: linear-gradient(to right, #3c526d5f 70%, #3c526d55);
 }
 
 .line-highlight.line-highlight:before,
 .line-highlight.line-highlight[data-end]:after {
     background-color: #181825;
     color: #111b27;
     box-shadow: 0 1px #3c526d;
 }
 
 pre[id].linkable-line-numbers.linkable-line-numbers
     span.line-numbers-rows
     > span:hover:before {
     background-color: #181825;
 }
 
 /* overrides color-values for the Line Numbers plugin
  * http://prismjs.com/plugins/line-numbers/
  */
 .line-numbers.line-numbers .line-numbers-rows {
     border-right: 1px solid #0b121b;
     background: #0b121b7a;
 }
 
 .line-numbers .line-numbers-rows > span:before {
     color: #a6adc8da;
 }
 
 /* overrides color-values for the Match Braces plugin
  * https://prismjs.com/plugins/match-braces/
  */
 .rainbow-braces .token.token.punctuation.brace-level-1,
 .rainbow-braces .token.token.punctuation.brace-level-5,
 .rainbow-braces .token.token.punctuation.brace-level-9 {
     color: #f9e2af;
 }
 
 .rainbow-braces .token.token.punctuation.brace-level-2,
 .rainbow-braces .token.token.punctuation.brace-level-6,
 .rainbow-braces .token.token.punctuation.brace-level-10 {
     color: #f5c2e7;
 }
 
 .rainbow-braces .token.token.punctuation.brace-level-3,
 .rainbow-braces .token.token.punctuation.brace-level-7,
 .rainbow-braces .token.token.punctuation.brace-level-11 {
     color: #89dceb;
 }
 
 .rainbow-braces .token.token.punctuation.brace-level-4,
 .rainbow-braces .token.token.punctuation.brace-level-8,
 .rainbow-braces .token.token.punctuation.brace-level-12 {
     color: #cba6f7;
 }
 
 /* overrides color-values for the Diff Highlight plugin
  * https://prismjs.com/plugins/diff-highlight/
  */
 pre.diff-highlight > code .token.token.deleted:not(.prefix),
 pre > code.diff-highlight .token.token.deleted:not(.prefix) {
     background-color: #f38ba866;
     display: block;
     color: #cdd6f4 !important;

 }
 
 pre.diff-highlight > code .token.token.inserted:not(.prefix),
 pre > code.diff-highlight .token.token.inserted:not(.prefix) {
     background-color: #a6e3a166;
     display: block;
     color: #cdd6f4 !important;
 }
 
 /* overrides color-values for the Command Line plugin
  * https://prismjs.com/plugins/command-line/
  */
 .command-line .command-line-prompt {
     border-right: 1px solid #0b121b;
 }
 
 .command-line .command-line-prompt > span:before {
     color: #a6adc8da;
 }
