/*
 * Verdant overrides for the Enlighter syntax highlighter (EnlighterJS 3.x).
 *
 * The plugin's active theme class is .enlighter-t-enlighter (default) with
 * token spans .enlighter-c0..c2,c9 (comments), -k0..k11 (keywords),
 * -e0..e4 (constants), -s0..s5 (strings), -n0..n5 (numbers),
 * -m0..m3 (markup), -g0,g1 + -t0..t8 (generic / tags), -text.
 *
 * All colors come from the theme's :root token set (see style.css).
 * !important is scoped to Enlighter selectors only, to beat the plugin's
 * own theme specificity.
 */

/* Container */
.enlighter,
.enlighter-t-enlighter {
	background: var(--code-bg) !important;
	border: 1px solid var(--moss) !important;
	border-radius: 8px !important;
	color: var(--ink) !important;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	margin: 28px 0 !important;
}

/* Inner line wrapper: transparent, no double border */
.enlighter .enlighter {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
}

/* Plain text */
.enlighter .enlighter-text { color: var(--ink) !important; }

/* Comments -> --code-cmt */
.enlighter .enlighter-c0,
.enlighter .enlighter-c1,
.enlighter .enlighter-c2,
.enlighter .enlighter-c9,
.enlighter .enlighter-g0,
.enlighter .enlighter-g1,
.enlighter .enlighter-t0,
.enlighter .enlighter-t8 { color: var(--code-cmt) !important; }

/* Keywords and constants -> --code-key */
.enlighter .enlighter-k0,
.enlighter .enlighter-k1,
.enlighter .enlighter-k2,
.enlighter .enlighter-k3,
.enlighter .enlighter-k4,
.enlighter .enlighter-k5,
.enlighter .enlighter-k6,
.enlighter .enlighter-k7,
.enlighter .enlighter-k8,
.enlighter .enlighter-k9,
.enlighter .enlighter-k10,
.enlighter .enlighter-k11,
.enlighter .enlighter-e0,
.enlighter .enlighter-e1,
.enlighter .enlighter-e2,
.enlighter .enlighter-e3,
.enlighter .enlighter-e4,
.enlighter .enlighter-t2,
.enlighter .enlighter-t7 { color: var(--code-key) !important; }

/* Strings -> --code-str (the scheme's muted terracotta) */
.enlighter .enlighter-s0,
.enlighter .enlighter-s1,
.enlighter .enlighter-s2,
.enlighter .enlighter-s3,
.enlighter .enlighter-s4,
.enlighter .enlighter-s5 { color: var(--code-str) !important; }

/* Numbers and markup -> --moss-deep */
.enlighter .enlighter-n0,
.enlighter .enlighter-n1,
.enlighter .enlighter-n2,
.enlighter .enlighter-n3,
.enlighter .enlighter-n4,
.enlighter .enlighter-n5,
.enlighter .enlighter-m0,
.enlighter .enlighter-m1,
.enlighter .enlighter-m2,
.enlighter .enlighter-m3,
.enlighter .enlighter-t3 { color: var(--moss-deep) !important; }

/* Line numbers / generic gutter */
.enlighter .enlighter-linenumbers div::before { color: var(--ink-faint) !important; }

/* Tag tokens for markup languages */
.enlighter .enlighter-t1,
.enlighter .enlighter-t4,
.enlighter .enlighter-t5,
.enlighter .enlighter-t6 { color: var(--code-key) !important; }

/* Special (hover) lines */
.enlighter .enlighter-special { background-color: var(--paper-card) !important; }
.enlighter .enlighter-special:hover { background-color: var(--code-bg) !important; }

/* Raw-code view toggle */
.enlighter .enlighter-raw {
	background: transparent !important;
	color: var(--ink) !important;
}

/* Toolbar buttons */
.enlighter .enlighter-btn {
	background-color: var(--paper-card) !important;
	border: 1px solid var(--moss) !important;
	border-radius: 4px !important;
}

/* Inline code (code.EnlighterJSRAW -> span.enlighter enlighter-v-inline) */
.enlighter-v-inline {
	background: var(--code-bg) !important;
	border-radius: 5px !important;
	color: var(--ink) !important;
	padding: 1px 5px !important;
}

/* Un-highlighted pre fallback (before JS runs, or if JS fails) */
pre.EnlighterJSRAW {
	background: var(--code-bg);
	border: 1px solid var(--moss);
	border-radius: 8px;
	color: var(--ink);
	padding: 18px 20px;
	overflow-x: auto;
	font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
	font-size: 14px;
	line-height: 1.7;
}
