/**
 * AP Top Proxy Providers — standalone plugin styles (scoped).
 */

.ap-top-container {
	--ap-top-bg: #0a0e17;
	--ap-top-surface: #121a2a;
	--ap-top-surface-2: #182236;
	--ap-top-border: rgba(255, 255, 255, 0.09);
	--ap-top-text: #e8f0fb;
	--ap-top-muted: #8fa3bc;
	--ap-top-accent: #36c4ff;
	--ap-top-accent-glow: rgba(54, 196, 255, 0.35);
	--ap-top-neon-green: #27c93f;
	--ap-top-neon-green-glow: rgba(39, 201, 63, 0.45);
	--ap-top-neon-yellow: #ffbd2e;
	--ap-top-neon-yellow-glow: rgba(255, 189, 46, 0.4);
	--ap-top-shadow: 0 22px 54px rgba(0, 0, 0, 0.45);
	--ap-top-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);

	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	max-width: 1200px;
	margin: 1.75rem auto;
}

@media (min-width: 768px) {
	.ap-top-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.ap-top-container {
		grid-template-columns: repeat(3, 1fr);
	}
}

.ap-top-card {
	display: flex;
	flex-direction: column;
	background:
		radial-gradient(circle at 88% 8%, rgba(54, 196, 255, 0.07), transparent 42%),
		linear-gradient(165deg, var(--ap-top-surface) 0%, var(--ap-top-bg) 100%);
	border: 1px solid var(--ap-top-border);
	border-radius: 16px;
	box-shadow: var(--ap-top-shadow);
	color: var(--ap-top-text);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;
	overflow: hidden;
	transition:
		transform var(--ap-top-transition),
		border-color var(--ap-top-transition),
		box-shadow var(--ap-top-transition);
}

.ap-top-card:hover {
	transform: translateY(-4px);
	border-color: rgba(54, 196, 255, 0.28);
	box-shadow:
		var(--ap-top-shadow),
		0 0 24px var(--ap-top-accent-glow);
}

.ap-top-card__badge {
	display: inline-flex;
	align-self: flex-start;
	margin: 1rem 1rem 0;
	padding: 0.32rem 0.65rem;
	border-radius: 999px;
	background: rgba(54, 196, 255, 0.12);
	border: 1px solid rgba(54, 196, 255, 0.28);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #b8e8ff;
}

.ap-top-card__badge--gold {
	background: rgba(255, 189, 71, 0.14);
	border-color: rgba(255, 189, 71, 0.38);
	color: #ffe3a0;
}

.ap-top-card__badge--silver {
	background: rgba(200, 214, 230, 0.12);
	border-color: rgba(200, 214, 230, 0.32);
	color: #dce8f5;
}

.ap-top-card__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem 0.65rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ap-top-card__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	background: linear-gradient(90deg, #ffffff 0%, #b8d4f0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ap-top-card__price {
	flex-shrink: 0;
	padding: 0.28rem 0.55rem;
	border-radius: 8px;
	background: var(--ap-top-surface-2);
	border: 1px solid var(--ap-top-border);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--ap-top-accent);
	text-shadow: 0 0 12px var(--ap-top-accent-glow);
}

.ap-top-card__body {
	flex: 1;
	padding: 0.85rem 1rem 1rem;
}

.ap-top-card__desc {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--ap-top-muted);
}

.ap-top-scores {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.ap-top-score__label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.38rem;
	font-size: 0.78rem;
	color: var(--ap-top-muted);
}

.ap-top-score__label span:last-child {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	font-weight: 700;
	color: var(--ap-top-text);
}

.ap-top-score__bar {
	height: 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	overflow: hidden;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
}

.ap-top-score__fill {
	width: 0;
	height: 100%;
	border-radius: inherit;
	transition: width 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.ap-top-score__fill--high {
	background: linear-gradient(90deg, #1fa832 0%, var(--ap-top-neon-green) 100%);
	box-shadow: 0 0 10px var(--ap-top-neon-green-glow);
}

.ap-top-score__fill--mid {
	background: linear-gradient(90deg, #d99a12 0%, var(--ap-top-neon-yellow) 100%);
	box-shadow: 0 0 10px var(--ap-top-neon-yellow-glow);
}

.ap-top-container--animated .ap-top-score__fill {
	width: var(--ap-top-fill-width, 0%);
}

.ap-top-card__footer {
	padding: 0 1rem 1.1rem;
	margin-top: auto;
}

.ap-top-btn {
	display: block;
	width: 100%;
	padding: 0.68rem 1rem;
	border-radius: 10px;
	border: 1px solid transparent;
	font-size: 0.88rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--ap-top-transition),
		border-color var(--ap-top-transition),
		box-shadow var(--ap-top-transition),
		transform var(--ap-top-transition);
}

.ap-top-btn--primary {
	background: linear-gradient(135deg, rgba(54, 196, 255, 0.22) 0%, rgba(54, 196, 255, 0.12) 100%);
	border-color: rgba(54, 196, 255, 0.45);
	color: #d6f3ff;
	box-shadow: 0 0 18px rgba(54, 196, 255, 0.18);
}

.ap-top-btn--primary:hover {
	background: linear-gradient(135deg, rgba(54, 196, 255, 0.32) 0%, rgba(54, 196, 255, 0.18) 100%);
	box-shadow: 0 0 22px var(--ap-top-accent-glow);
	transform: translateY(-1px);
	color: #ffffff;
}

.ap-top-btn--secondary {
	background: var(--ap-top-surface-2);
	border-color: var(--ap-top-border);
	color: var(--ap-top-text);
}

.ap-top-btn--secondary:hover {
	border-color: rgba(54, 196, 255, 0.35);
	color: #ffffff;
	transform: translateY(-1px);
}
