.ailab-cve-tool {
	--ailab-cve-ink: #14213d;
	--ailab-cve-muted: #526079;
	--ailab-cve-brand: #175cd3;
	--ailab-cve-brand-dark: #103f91;
	--ailab-cve-border: #d7dfeb;
	--ailab-cve-surface: #ffffff;
	--ailab-cve-tint: #f3f7fc;
	--ailab-cve-focus: #f5b700;
	box-sizing: border-box;
	width: min(100%, 1120px);
	margin: clamp(1.5rem, 4vw, 4rem) auto;
	padding: clamp(1.25rem, 4vw, 3rem);
	color: var(--ailab-cve-ink);
	background: var(--ailab-cve-surface);
	border: 1px solid var(--ailab-cve-border);
	border-radius: 24px;
	box-shadow: 0 20px 60px rgb(20 33 61 / 9%);
	font-family: inherit;
	line-height: 1.65;
}

.ailab-cve-tool *,
.ailab-cve-tool *::before,
.ailab-cve-tool *::after {
	box-sizing: inherit;
}

.ailab-cve-tool__intro { max-width: 760px; }

.ailab-cve-tool__eyebrow {
	margin: 0 0 .5rem;
	color: var(--ailab-cve-brand);
	font-size: .8rem;
	font-weight: 750;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ailab-cve-tool h2 {
	margin: 0;
	font-size: clamp(1.75rem, 4vw, 3rem);
	line-height: 1.15;
	letter-spacing: -.025em;
}

.ailab-cve-tool__intro > p:last-child {
	margin: 1rem 0 0;
	color: var(--ailab-cve-muted);
	font-size: 1.05rem;
}

.ailab-cve-tool__form { margin-top: 2rem; }

.ailab-cve-tool__form label {
	display: block;
	margin-bottom: .5rem;
	font-weight: 700;
}

.ailab-cve-tool__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: .75rem;
}

.ailab-cve-tool input,
.ailab-cve-tool button {
	min-height: 52px;
	border-radius: 12px;
	font: inherit;
}

.ailab-cve-tool input {
	width: 100%;
	padding: .75rem 1rem;
	color: var(--ailab-cve-ink);
	background: #fff;
	border: 1px solid #aebbd0;
}

.ailab-cve-tool button {
	padding: .75rem 1.4rem;
	color: #fff;
	background: var(--ailab-cve-brand);
	border: 1px solid var(--ailab-cve-brand);
	font-weight: 750;
	cursor: pointer;
}

.ailab-cve-tool button:hover {
	background: var(--ailab-cve-brand-dark);
	border-color: var(--ailab-cve-brand-dark);
}

.ailab-cve-tool button:disabled { opacity: .65; cursor: wait; }

.ailab-cve-tool :is(input, button, a):focus-visible {
	outline: 3px solid var(--ailab-cve-focus);
	outline-offset: 3px;
}

.ailab-cve-tool__status {
	min-height: 1.65em;
	margin: .75rem 0 0;
	color: var(--ailab-cve-muted);
	font-weight: 650;
}

.ailab-cve-tool__result {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ailab-cve-border);
}

.ailab-cve-tool__result[hidden] { display: none; }

.ailab-cve-tool__summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
}

.ailab-cve-tool__summary > div {
	min-width: 0;
	padding: 1rem;
	background: var(--ailab-cve-tint);
	border: 1px solid var(--ailab-cve-border);
	border-radius: 14px;
}

.ailab-cve-tool__summary span,
.ailab-cve-tool__summary strong { display: block; }

.ailab-cve-tool__summary span {
	color: var(--ailab-cve-muted);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ailab-cve-tool__summary strong {
	margin-top: .25rem;
	font-size: 1.1rem;
	overflow-wrap: anywhere;
}

.ailab-cve-tool__details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.ailab-cve-tool__details section { min-width: 0; }
.ailab-cve-tool h3 { margin: 0 0 .6rem; font-size: 1.08rem; }

.ailab-cve-tool__details p,
.ailab-cve-tool__details ul,
.ailab-cve-tool__details ol {
	margin: 0;
	color: var(--ailab-cve-muted);
}

.ailab-cve-tool__details :is(ul, ol) { padding-left: 1.3rem; }
.ailab-cve-tool__details li + li { margin-top: .45rem; }

.ailab-cve-tool__facts {
	margin-top: 1.5rem;
	padding: 1rem;
	background: var(--ailab-cve-tint);
	border-radius: 14px;
}

.ailab-cve-tool__facts p { margin: 0; overflow-wrap: anywhere; }
.ailab-cve-tool__facts p + p { margin-top: .4rem; }

.ailab-cve-tool__links {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1rem;
	margin-top: 1.25rem;
}

.ailab-cve-tool__links a {
	color: var(--ailab-cve-brand-dark);
	font-weight: 700;
	text-underline-offset: .2em;
}

@media (max-width: 820px) {
	.ailab-cve-tool__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ailab-cve-tool__details { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	.ailab-cve-tool { border-radius: 16px; }
	.ailab-cve-tool__controls,
	.ailab-cve-tool__summary { grid-template-columns: 1fr; }
	.ailab-cve-tool button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.ailab-cve-tool *,
	.ailab-cve-tool *::before,
	.ailab-cve-tool *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
