.aiag {
	--aiag-ink: #16181d;
	--aiag-muted: #616a7a;
	--aiag-surface: #ffffff;
	--aiag-field: #f3f4f7;
	--aiag-line: #d9dce4;
	--aiag-accent: #6b2d5c;
	--aiag-accent-ink: #ffffff;
	--aiag-warn: #8a4a12;

	box-sizing: border-box;
	max-width: 30rem;
	margin: 0 auto;
	padding: 1.75rem;
	border: 1px solid var(--aiag-line);
	border-radius: 6px;
	background: var(--aiag-surface);
	color: var(--aiag-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.5;
}

.aiag *,
.aiag *::before,
.aiag *::after {
	box-sizing: inherit;
}

.aiag__eyebrow {
	margin: 0 0 0.5rem;
	color: var(--aiag-accent);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.aiag__title {
	margin: 0 0 0.5rem;
	font-size: 1.5rem;
	font-weight: 650;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.aiag__text {
	margin: 0 0 1.25rem;
	color: var(--aiag-muted);
	font-size: 0.9375rem;
}

/* Photo chooser */
.aiag__drop {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.875rem;
	padding: 0.875rem;
	border: 1px dashed var(--aiag-line);
	border-radius: 4px;
	background: var(--aiag-field);
	cursor: pointer;
	overflow: hidden;
}

.aiag__drop:hover {
	border-color: var(--aiag-accent);
}

.aiag__input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.aiag__drop:focus-within {
	outline: 2px solid var(--aiag-accent);
	outline-offset: 2px;
}

.aiag__preview {
	position: relative;
	flex: 0 0 auto;
	width: 3.5rem;
	height: 3.5rem;
	border: 1px solid var(--aiag-line);
	border-radius: 3px;
	background-color: #e7e9ee;
	background-position: center;
	background-size: cover;
	overflow: hidden;
}

.aiag__drop-text {
	font-size: 0.9375rem;
	word-break: break-word;
}

/* One deliberate motion moment: a line sweeping the photo while the check runs */
.aiag[data-checking] .aiag__preview::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--aiag-accent);
	animation: aiag-sweep 1.1s ease-in-out infinite;
}

@keyframes aiag-sweep {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(3.5rem);
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.aiag[data-checking] .aiag__preview::after {
		animation: none;
		opacity: 0.6;
	}
}

/* Consent */
.aiag__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 1.125rem 0;
	color: var(--aiag-muted);
	font-size: 0.8125rem;
}

.aiag__consent input {
	margin: 0.2rem 0 0;
	accent-color: var(--aiag-accent);
	flex: 0 0 auto;
}

.aiag__consent a {
	color: inherit;
	text-decoration: underline;
}

/* Action */
.aiag__submit {
	display: block;
	width: 100%;
	padding: 0.8125rem 1rem;
	border: 0;
	border-radius: 4px;
	background: var(--aiag-accent);
	color: var(--aiag-accent-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s ease;
}

.aiag__submit:hover:not( :disabled ) {
	opacity: 0.9;
}

.aiag__submit:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.aiag__submit:focus-visible {
	outline: 2px solid var(--aiag-ink);
	outline-offset: 2px;
}

/* Messages */
.aiag__status {
	margin: 0.875rem 0 0;
	min-height: 1.25rem;
	font-size: 0.875rem;
}

.aiag__status[data-tone="warn"] {
	color: var(--aiag-warn);
}

.aiag__status[data-tone="fail"],
.aiag__status[data-tone="pass"] {
	color: var(--aiag-ink);
	font-weight: 600;
}

.aiag__note {
	margin: 0.5rem 0 0;
	color: var(--aiag-muted);
	font-size: 0.75rem;
}

@media ( prefers-color-scheme: dark ) {
	.aiag {
		--aiag-ink: #eef0f4;
		--aiag-muted: #9aa3b4;
		--aiag-surface: #17191f;
		--aiag-field: #1f222a;
		--aiag-line: #333844;
		--aiag-accent: #d38fc0;
		--aiag-accent-ink: #1a1016;
		--aiag-warn: #e3b273;
	}

	.aiag__preview {
		background-color: #2a2e38;
	}
}

/* ---------------------------------------------------------------
   Blocking overlay: sits over the page until the check passes
   --------------------------------------------------------------- */
.aiag-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 1rem;
	overflow-y: auto;
	background: rgba(14, 16, 21, 0.88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.aiag-overlay__inner {
	width: 100%;
	max-width: 30rem;
	margin: auto;
}

html.aiag-locked,
body.aiag-locked {
	overflow: hidden !important;
}

/* Refused: the form is taken away so there is nothing to retry with. */
.aiag[data-refused] .aiag__drop,
.aiag[data-refused] .aiag__consent,
.aiag[data-refused] .aiag__submit,
.aiag[data-refused] .aiag__note {
	display: none;
}

/* ---------------------------------------------------------------
   Full-page interstitial: the only thing an unverified visitor gets
   --------------------------------------------------------------- */
body.aiag-page {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	margin: 0;
	padding: 2rem 1rem;
	background: #ebedf1;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

body.aiag-page .aiag-page__inner {
	width: 100%;
}

@media ( prefers-color-scheme: dark ) {
	body.aiag-page {
		background: #0f1115;
	}
}
