@use "@db-ux/core-foundations/build/styles/variables";
@use "@db-ux/core-foundations/build/styles/colors";

pre:has(.hljs):not(:has(.language-shell)) {
	@extend %db-neutral-bg-basic-transparent-full;

	.hljs {
		@extend %db-neutral-bg-basic-transparent-full;
	}
}

.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
	/* prettylights-syntax-keyword */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
}

.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
	/* prettylights-syntax-entity */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
}

.hljs-attribute,
.hljs-literal,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
	/* prettylights-syntax-constant */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
}

.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
	/* prettylights-syntax-string */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
}

.hljs-built_in,
.hljs-symbol {
	/* prettylights-syntax-variable */
	color: colors.$db-warning-on-bg-basic-emphasis-90-default;
}

.hljs-attr {
	color: colors.$db-informational-on-bg-basic-emphasis-90-default;
}

.hljs-meta,
.hljs-comment,
.hljs-code,
.hljs-formula {
	/* prettylights-syntax-comment */
	color: colors.$db-adaptive-on-bg-basic-emphasis-100-default;
}

.hljs-tag,
.hljs-name {
	color: colors.$db-warning-on-bg-basic-emphasis-90-default;
}

.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
	/* prettylights-syntax-entity-tag */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
}

.hljs-subst {
	/* prettylights-syntax-storage-modifier-import */
	color: colors.$db-warning-on-bg-basic-emphasis-90-default;
}

.hljs-section {
	/* prettylights-syntax-markup-heading */
	color: colors.$db-informational-on-bg-basic-emphasis-90-default;
	font-weight: bold;
}

.hljs-bullet {
	/* prettylights-syntax-markup-list */
	color: colors.$db-warning-on-bg-basic-emphasis-90-default;
}

.hljs-emphasis {
	/* prettylights-syntax-markup-italic */
	color: colors.$db-adaptive-on-bg-basic-emphasis-100-default;
	font-style: italic;
}

.hljs-strong {
	/* prettylights-syntax-markup-bold */
	color: colors.$db-adaptive-on-bg-basic-emphasis-100-default;
	font-weight: bold;
}

.hljs-addition {
	/* prettylights-syntax-markup-inserted */
	color: colors.$db-successful-on-bg-basic-emphasis-90-default;
	background-color: colors.$db-neutral-on-bg-basic-emphasis-90-default;
}

.hljs-deletion {
	/* prettylights-syntax-markup-deleted */
	color: colors.$db-critical-on-bg-basic-emphasis-90-default;
	background-color: colors.$db-neutral-on-bg-basic-emphasis-90-default;
}

.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation {
	/* purposely ignored */
}
