.captcha-group {
	display: flex;
	justify-content: center;
}

.slider-captcha {
	width: 300px;
	max-width: 100%;
	margin: 0 auto;
	user-select: none;
}

.slider-captcha-stage {
	position: relative;
	width: 300px;
	max-width: 100%;
	height: 150px;
	overflow: hidden;
	border-radius: 10px;
	background: #eef5ff;
	box-shadow: inset 0 0 0 1px rgba(30, 64, 175, 0.16);
}

.slider-captcha-bg,
.slider-captcha-piece {
	position: absolute;
	display: block;
}

.slider-captcha-bg {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slider-captcha-piece {
	left: 0;
	width: 42px;
	height: 42px;
	filter: drop-shadow(0 6px 10px rgba(15, 23, 42, 0.28));
}

.slider-captcha-refresh {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: rgba(15, 23, 42, 0.42);
	cursor: pointer;
	font-size: 18px;
	line-height: 30px;
}

.slider-captcha-track {
	position: relative;
	height: 42px;
	margin-top: 10px;
	border-radius: 21px;
	background: #edf2f7;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.42);
}

.slider-captcha-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 42px;
	height: 42px;
	background: linear-gradient(90deg, rgba(14, 165, 233, 0.24), rgba(34, 197, 94, 0.28));
}

.slider-captcha-text {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	font-size: 14px;
	pointer-events: none;
}

.slider-captcha-handle {
	position: absolute;
	left: 0;
	top: 0;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #0284c7;
	cursor: grab;
	font-size: 20px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
}

.slider-captcha-handle:active {
	cursor: grabbing;
}

.slider-captcha.is-success .slider-captcha-track {
	background: #dcfce7;
}

.slider-captcha.is-success .slider-captcha-handle {
	color: #16a34a;
}

.slider-captcha.is-error .slider-captcha-track {
	background: #fee2e2;
}

.slider-captcha.is-error .slider-captcha-handle {
	color: #dc2626;
}

.slider-captcha.is-loading {
	opacity: 0.72;
}
