.fhv-human-verify {
	margin: 10px 0;
}

.fhv-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: 1px solid #d6deea;
	border-radius: 8px;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	color: #172033;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.fhv-button:hover,
.fhv-button:focus {
	border-color: #b7c4d8;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
	outline: none;
}

.fhv-button.is-holding {
	border-color: #2563eb;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.16), 0 10px 24px rgba(37, 99, 235, 0.12);
}

.fhv-button.is-verified {
	border-color: #18a058;
	background: linear-gradient(180deg, #f1fff7 0%, #e7f8ee 100%);
	color: #0f6b3f;
}

.fhv-progress {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--fhv-progress, 0%);
	background: linear-gradient(90deg, rgba(37, 99, 235, 0.28) 0%, rgba(20, 184, 166, 0.36) 100%);
	transition: width 80ms linear;
}

.fhv-button.is-verified .fhv-progress {
	width: 100%;
	background: linear-gradient(90deg, rgba(24, 160, 88, 0.24) 0%, rgba(34, 197, 94, 0.34) 100%);
}

.fhv-mark,
.fhv-text {
	position: relative;
	z-index: 1;
}

.fhv-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: #e2e8f0;
	color: #334155;
	font-size: 11px;
	line-height: 1;
}

.fhv-button.is-verified .fhv-mark {
	background: #18a058;
	color: #ffffff;
}

.fhv-error {
	margin-top: 7px;
	color: #b42318;
	font-size: 13px;
	font-weight: 700;
}

.fhv-hp {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
