.hgctts-replay-button {
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	margin: 2px 0;
	padding: 6px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .08);
	background: color-mix(in srgb, currentColor 10%, transparent);
	color: var(--helper-bot-message-color, currentColor);
	cursor: pointer;
	opacity: .72;
	transition: opacity .15s ease, transform .15s ease, background-color .15s ease;
}

.hgctts-replay-button:hover,
.hgctts-replay-button:focus-visible {
	opacity: 1;
	transform: scale(1.06);
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.hgctts-replay-button svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.hgctts-replay-button[data-state="playing"] {
	opacity: 1;
	background: color-mix(in srgb, currentColor 18%, transparent);
}

.hgctts-replay-button[data-state="loading"] svg {
	animation: hgctts-pulse .8s ease-in-out infinite alternate;
}

.hgctts-replay-button[data-state="error"] {
	opacity: 1;
}

@keyframes hgctts-pulse {
	from { opacity: .35; }
	to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.hgctts-replay-button,
	.hgctts-replay-button[data-state="loading"] svg {
		animation: none;
		transition: none;
	}
}
