/* PrismJS 1.23.0
https://prismjs.com/download.html#themes=prism&languages=clike+c+csharp+cpp+gdscript+glsl&plugins=line-numbers+toolbar+copy-to-clipboard */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

/* PrismJS – light mode (default) */

code[class*="language-"],
pre[class*="language-"] {
	color: var(--highlight-default-color);
	background: none;
	font-family: var(--monospace-font-family);
	font-size: 1em;
	font-weight: 300;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;
	tab-size: 4;
	hyphens: none;
	font-variant-ligatures: 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: 0.5em 0;
	overflow: auto;
	border-radius: 6px;
	background: var(--highlight-background-color);
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	background: var(--highlight-background-color);
	padding: 3px 5px;
	border-radius: 4px;
	white-space: normal;
}

/* Comments */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: var(--highlight-comment-color);
	font-style: normal;
}

/* Punctuation + operators */
.token.punctuation {
	color: var(--highlight-operator-color);
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: var(--highlight-operator-color);
}

/* Keywords */
.token.keyword,
.token.atrule,
.token.important {
	color: var(--highlight-keyword-color);
	font-weight: 400;
}

/* Namespaces */
.token.namespace {
	color: var(--highlight-user-type-color);
	opacity: 0.9;
}

/* Numbers / booleans */
.token.number,
.token.boolean {
	color: var(--highlight-number-color);
}

/* Strings */
.token.string,
.token.char,
.token.attr-value {
	color: var(--highlight-string-color);
}

/* Attributes / decorators / annotations */
.token.attr-name,
.token.annotation {
	color: var(--highlight-decorator-color);
}

/* Builtins / types / classes */
.token.builtin {
	color: var(--highlight-engine-type-color);
}

.token.class-name {
	color: var(--highlight-user-type-color);
}

/* Functions */
.token.function {
	color: var(--highlight-function-color);
}

/* Constants / symbols / properties / variables */
.token.constant,
.token.symbol {
	color: var(--highlight-user-type-color);
}

.token.property,
.token.variable {
	color: var(--highlight-member-variable-color);
}

/* Regex */
.token.regex {
	color: var(--highlight-operator-color);
}

/* Diff-ish tokens */
.token.deleted {
	color: var(--highlight-decorator-color);
}

.token.inserted {
	color: var(--highlight-number-color);
}

/* Emphasis */
.token.bold {
	font-weight: 700;
}

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

.token.entity {
	cursor: help;
}

/* Line numbers */
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;
	left: -3.8em;
	width: 3em;
	letter-spacing: -1px;
	border-right: 1px solid var(--highlight-comment-color);
	user-select: none;
}

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

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

/* Toolbar */
div.code-toolbar {
	position: relative;
}

div.code-toolbar > .toolbar {
	position: absolute;
	top: 0.3em;
	right: 0.2em;
	transition: opacity 0.3s ease-in-out;
	opacity: 0;
}

div.code-toolbar:hover > .toolbar,
div.code-toolbar:focus-within > .toolbar {
	opacity: 1;
}

div.code-toolbar > .toolbar .toolbar-item {
	display: inline-block;
}

div.code-toolbar > .toolbar a {
	cursor: pointer;
}

div.code-toolbar > .toolbar button {
	background: none;
	border: 0;
	color: inherit;
	font: inherit;
	line-height: normal;
	overflow: visible;
	padding: 0;
	user-select: none;
}

div.code-toolbar > .toolbar a,
div.code-toolbar > .toolbar button,
div.code-toolbar > .toolbar span {
	color: var(--highlight-default-color);
	font-size: 0.8em;
	padding: 0 0.5em;
	background: rgba(20, 20, 20, 0.08);
	box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.1);
	border-radius: 0.5em;
}

div.code-toolbar > .toolbar a:hover,
div.code-toolbar > .toolbar a:focus,
div.code-toolbar > .toolbar button:hover,
div.code-toolbar > .toolbar button:focus,
div.code-toolbar > .toolbar span:hover,
div.code-toolbar > .toolbar span:focus {
	color: inherit;
	text-decoration: none;
}

:root {
	/* Code block font */
	--monospace-font-family:
		JetBrains Mono, Consolas, Monaco, "Andale Mono", "Ubuntu Mono",
		monospace;
	/* Code block background */
	--highlight-background-color: #f0f0f0;
	--highlight-background-emph-color: #dfdfdf;

	/* Default text */
	--highlight-default-color: #3c3c3c;

	/* Comments */
	--highlight-comment-color: rgba(20, 20, 20, 0.5);
	--highlight-doc-comment-color: rgba(38, 38, 102, 0.7);
	--highlight-region-comment-color: rgba(173, 117, 196, 0.2);

	/* Keywords */
	--highlight-keyword-color: #e62282;
	--highlight-literal-color: var(--highlight-keyword-color);
	--highlight-keyword2-color: #009933;
	--highlight-control-flow-keyword-color: #bd1fcc;

	/* Numbers */
	--highlight-number-color: #008c47;

	/* Decorators / annotations */
	--highlight-decorator-color: #cc5e00;

	/* Types */
	--highlight-base-type-color: #009933;
	--highlight-engine-type-color: #1c8c66;
	--highlight-user-type-color: #2e7366;

	/* Variables */
	--highlight-member-variable-color: #0066ad;

	/* Functions */
	--highlight-function-color: #0039e6;
	--highlight-function-declaration-color: #009999;
	--highlight-global-function-color: #5c2eb8;

	/* Operators / punctuation */
	--highlight-operator-color: #00009c;

	/* Strings */
	--highlight-string-color: #996b00;
	--highlight-get-node-shorthand-color: #2e8c00;
	--highlight-node-path-color: #008000;
	--highlight-string-name-color: #ffc2a6;
}
