.itmk-xfft {
	--itmk-xfft-accent: #e72f3d;
	--itmk-xfft-border: color-mix(in srgb, currentColor 18%, transparent);
	margin-block: 1.25rem;
}

.itmk-xfft__panel {
	border: 1px solid var(--itmk-xfft-border);
	border-radius: 12px;
	background: color-mix(in srgb, currentColor 3%, transparent);
	padding: clamp(.85rem, 2vw, 1.25rem);
}

.itmk-xfft__title {
	margin: 0;
	font-size: clamp(1.1rem, 2.3vw, 1.35rem);
}

.itmk-xfft__intro {
	margin: .35rem 0 .8rem;
	font-size: .9rem;
	opacity: .78;
}

.itmk-xfft__label {
	display: block;
	margin-bottom: .3rem;
	font-size: .875rem;
	font-weight: 700;
}

.itmk-xfft__textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 6rem;
	max-height: 14rem;
	resize: vertical;
	border: 1px solid var(--itmk-xfft-border);
	border-radius: 10px;
	background: var(--bs-body-bg, Canvas);
	color: inherit;
	padding: .7rem .8rem;
	font: inherit;
	font-size: .925rem;
	line-height: 1.55;
}

.itmk-xfft__textarea:focus {
	border-color: var(--itmk-xfft-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--itmk-xfft-accent) 18%, transparent);
	outline: 0;
}

.itmk-xfft__actions {
	display: flex;
	align-items: center;
	gap: .9rem 1rem;
	margin-top: .65rem;
}

.itmk-xfft__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 9px;
	background: var(--itmk-xfft-accent);
	color: #fff;
	padding: .58rem .85rem;
	font: inherit;
	font-size: .875rem;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.itmk-xfft__button:hover,
.itmk-xfft__button:focus {
	background: color-mix(in srgb, var(--itmk-xfft-accent) 86%, #000);
	color: #fff;
}

.itmk-xfft__button:disabled {
	opacity: .6;
	cursor: wait;
}

.itmk-xfft__hint {
	margin: 0;
	max-width: 38rem;
	font-size: .8rem;
	opacity: .7;
}

.itmk-xfft__status {
	min-height: 1.3em;
	margin-top: .5rem;
	font-size: .825rem;
	font-weight: 650;
}

.itmk-xfft__status.is-error {
	color: #c52331;
}

.itmk-xfft__notice {
	border-left: 4px solid #2f8f5b;
	background: color-mix(in srgb, #2f8f5b 10%, transparent);
	padding: .7rem .8rem;
	font-size: .875rem;
}

.itmk-xfft__notice--warning {
	border-left-color: #c88400;
	background: color-mix(in srgb, #c88400 11%, transparent);
}

.itmk-xfft__notice a {
	margin-left: .35rem;
}

.itmk-xfft__history {
	margin-top: 1rem;
	border: 1px solid var(--itmk-xfft-border);
	border-radius: 10px;
	padding: .8rem 1rem;
}

.itmk-xfft__history summary {
	font-weight: 700;
	cursor: pointer;
}

.itmk-xfft__connected {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem 1.25rem;
}

.itmk-xfft__connected .itmk-xfft__intro {
	margin-bottom: 0;
}

.itmk-xfft__connected .itmk-xfft__button {
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.itmk-xfft__actions,
	.itmk-xfft__connected {
		align-items: flex-start;
		flex-direction: column;
	}
}
