/* FusionToolkit code surface: one quiet console frame, with token colour doing the work. */
pre.wp-block-fusiontoolkit-code,
.editor-styles-wrapper pre.wp-block-fusiontoolkit-code {
	position: relative;
	max-width: 100%;
	margin-block: 1.6rem;
	padding: clamp(1rem, 3vw, 1.6rem) !important;
	border: 1px solid var(--ft-border, #2c3947) !important;
	border-left: 4px solid var(--ft-amber, #f7b32b) !important;
	border-radius: 4px !important;
	background: var(--ft-console, #121923) !important;
	color: var(--ft-text, #e6edf3) !important;
	font: 0.88rem/1.65 var(--ft-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace) !important;
	text-align: left;
	white-space: pre !important;
	overflow: auto !important;
	box-shadow: none !important;
	tab-size: 4;
}

pre.wp-block-fusiontoolkit-code:focus-visible {
	outline: 3px solid var(--ft-amber, #f7b32b) !important;
	outline-offset: 4px;
}

pre.wp-block-fusiontoolkit-code code,
.editor-styles-wrapper pre.wp-block-fusiontoolkit-code code,
.editor-styles-wrapper pre.wp-block-fusiontoolkit-code textarea {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
	white-space: inherit !important;
	box-shadow: none !important;
}

.editor-styles-wrapper pre.wp-block-fusiontoolkit-code textarea {
	display: block;
	width: 100%;
	min-height: 8rem;
	resize: vertical;
}

pre.wp-block-fusiontoolkit-code.line-numbers {
	padding-left: clamp(3.8rem, 8vw, 4.8rem) !important;
	counter-reset: linenumber;
}

pre.wp-block-fusiontoolkit-code .line-numbers-rows {
	position: absolute;
	top: clamp(1rem, 3vw, 1.6rem);
	bottom: clamp(1rem, 3vw, 1.6rem);
	left: 0;
	width: 3.2rem;
	border-right: 1px solid var(--ft-border, #2c3947);
	pointer-events: none;
	user-select: none;
}

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

pre.wp-block-fusiontoolkit-code .line-numbers-rows > span::before {
	display: block;
	padding-right: 0.8rem;
	color: var(--ft-muted, #9ba8b5);
	content: counter(linenumber);
	text-align: right;
}

.wp-block-fusiontoolkit-code .token.comment,
.wp-block-fusiontoolkit-code .token.prolog,
.wp-block-fusiontoolkit-code .token.doctype,
.wp-block-fusiontoolkit-code .token.cdata { color: var(--ft-muted, #9ba8b5); }
.wp-block-fusiontoolkit-code .token.punctuation { color: #c7d0d9; }
.wp-block-fusiontoolkit-code .token.namespace { opacity: 0.8; }
.wp-block-fusiontoolkit-code .token.property,
.wp-block-fusiontoolkit-code .token.tag,
.wp-block-fusiontoolkit-code .token.constant,
.wp-block-fusiontoolkit-code .token.symbol,
.wp-block-fusiontoolkit-code .token.deleted { color: var(--ft-danger, #ff6b72); }
.wp-block-fusiontoolkit-code .token.boolean,
.wp-block-fusiontoolkit-code .token.number { color: #ff9b71; }
.wp-block-fusiontoolkit-code .token.selector,
.wp-block-fusiontoolkit-code .token.attr-name,
.wp-block-fusiontoolkit-code .token.string,
.wp-block-fusiontoolkit-code .token.char,
.wp-block-fusiontoolkit-code .token.builtin,
.wp-block-fusiontoolkit-code .token.inserted { color: var(--ft-success, #57c785); }
.wp-block-fusiontoolkit-code .token.operator,
.wp-block-fusiontoolkit-code .token.entity,
.wp-block-fusiontoolkit-code .token.url,
.wp-block-fusiontoolkit-code .token.variable { color: #8bd5ff; }
.wp-block-fusiontoolkit-code .token.atrule,
.wp-block-fusiontoolkit-code .token.attr-value,
.wp-block-fusiontoolkit-code .token.function,
.wp-block-fusiontoolkit-code .token.class-name { color: #ffd06b; }
.wp-block-fusiontoolkit-code .token.keyword { color: var(--ft-amber, #f7b32b); }
.wp-block-fusiontoolkit-code .token.regex,
.wp-block-fusiontoolkit-code .token.important { color: #d9a7ff; }
.wp-block-fusiontoolkit-code .token.important,
.wp-block-fusiontoolkit-code .token.bold { font-weight: 700; }
.wp-block-fusiontoolkit-code .token.italic { font-style: italic; }

@media (max-width: 600px) {
	pre.wp-block-fusiontoolkit-code,
	.editor-styles-wrapper pre.wp-block-fusiontoolkit-code {
		font-size: 0.8rem !important;
	}
}
