.frequent-flyer-section {
	margin: 28px auto 18px;
	max-width: 1240px;
	padding: 24px;
	border: 2px solid #ffb07452;
	border-radius: 28px;
	background:
		radial-gradient(circle at top left, #ff7b331f, transparent 26%),
		radial-gradient(circle at top right, #ffffff14, transparent 20%),
		linear-gradient(180deg, #190806e8, #31100ed9 55%, #160907ed);
	box-shadow: 0 16px 40px #00000042;
	text-align: left;
}

.frequent-flyer-heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 18px;
}

.frequent-flyer-heading h2 {
	margin: 0;
	color: white;
	font-family: Recursive;
	font-size: 42px;
}

.frequent-flyer-heading p {
	margin: 8px 0 0;
	font-size: 19px;
	color: #ffe4d4;
}

.frequent-flyer-note {
	padding: 10px 14px;
	border: 1px solid #ffd0ac45;
	border-radius: 999px;
	background-color: #ffffff0a;
	color: #ffd8b2;
	font-family: "Space Mono", monospace;
	font-size: 14px;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

.frequent-flyer-disclaimer {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-left: 4px solid #ffb561;
	background: #ffffff0d;
	color: #ffe5d0;
	font-size: 16px;
	line-height: 1.5;
}

.frequent-flyer-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto;
	gap: 14px;
	align-items: end;
	margin-bottom: 14px;
}

.frequent-flyer-form label {
	display: grid;
	gap: 7px;
	color: #ffd9c6;
	font-family: sans-serif;
	font-size: 13px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-form input {
	padding: 16px 18px;
	border: 2px solid #ffd5bf3d;
	border-radius: 16px;
	background: #fff6f0e8;
	color: #2f0f0d;
	font-size: 20px;
}

.frequent-flyer-submit {
	height: fit-content;
	margin: 0;
	white-space: nowrap;
}

.frequent-flyer-status-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.frequent-flyer-status {
	color: #ffe8d8;
	font-family: "Space Mono", monospace;
	font-size: 15px;
}

.frequent-flyer-clear {
	padding: 8px 14px;
	border: 1px solid #ffcba259;
	border-radius: 999px;
	background: #00000030;
	color: white;
	cursor: pointer;
	font-family: sans-serif;
	font-size: 15px;
}

.frequent-flyer-error,
.frequent-flyer-empty,
.frequent-flyer-card,
.frequent-flyer-hero {
	border: 1px solid #ffd4bf29;
	border-radius: 22px;
	background: #fff7f00d;
}

.frequent-flyer-error {
	margin-bottom: 14px;
	padding: 14px 16px;
	color: #ffd0c4;
	font-family: sans-serif;
	font-size: 16px;
}

.frequent-flyer-empty {
	padding: 22px;
	color: #ffe7d4;
	font-family: sans-serif;
	font-size: 18px;
}

.frequent-flyer-results {
	display: grid;
	gap: 14px;
}

.frequent-flyer-hero {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 18px;
	padding: 22px;
	background:
		radial-gradient(circle at 18% 26%, #ff7b4b7a, transparent 28%),
		linear-gradient(135deg, #2b0f10d4, #491715d1 48%, #17080ce6);
}

.frequent-flyer-kicker {
	color: #ffd09f;
	font-family: "Space Mono", monospace;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-hero h3,
.frequent-flyer-card h3 {
	margin: 8px 0 0;
	color: white;
	font-family: Recursive;
}

.frequent-flyer-hero h3 {
	font-size: 34px;
}

.frequent-flyer-name-hidden {
	filter: blur(16px);
	user-select: none;
}

.frequent-flyer-identity-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.frequent-flyer-eye {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid #ffd6b56b;
	border-radius: 999px;
	background: #ffffff12;
	color: #ffe2cd;
	cursor: pointer;
}

.frequent-flyer-eye svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.frequent-flyer-hero p {
	margin: 10px 0 0;
	color: #fff0e6;
	font-size: 20px;
}

.frequent-flyer-summary-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.frequent-flyer-summary-grid article,
.frequent-flyer-card {
	padding: 18px;
}

.frequent-flyer-summary-grid article {
	border-radius: 18px;
	background: #fff8f00f;
}

.frequent-flyer-summary-grid span {
	display: block;
	margin-bottom: 6px;
	color: #ffd8c4;
	font-family: "Space Mono", monospace;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-summary-grid strong {
	color: white;
	font-family: sans-serif;
	font-size: 22px;
}

.frequent-flyer-card-note {
	margin: 8px 0 0;
	color: #ffe1cf;
	font-size: 16px;
}

.frequent-flyer-mission-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.frequent-flyer-mission-card {
	display: flex;
	gap: 14px;
	padding: 16px;
	border-radius: 20px;
	background: linear-gradient(180deg, #ffffff10, #00000026);
}

.frequent-flyer-mission-media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 92px;
}

.frequent-flyer-mission-image {
	display: block;
	max-width: 92px;
	max-height: 92px;
	filter: drop-shadow(0 10px 18px #00000052);
}

.frequent-flyer-mission-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	height: 58px;
	border-radius: 18px;
	background: linear-gradient(135deg, #ff8f47, #d44516);
	color: #2e100c;
	font-family: "Space Mono", monospace;
	font-size: 24px;
	font-weight: bold;
}

.frequent-flyer-mission-copy h4 {
	margin: 0 0 6px;
	color: white;
	font-family: Recursive;
	font-size: 22px;
}

.frequent-flyer-mission-copy p {
	margin: 0 0 10px;
	color: #ffe6d4;
	font-size: 17px;
}

.frequent-flyer-chip {
	display: inline-block;
	margin-bottom: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #ff8c421f;
	color: #ffdcb4;
	font-family: "Space Mono", monospace;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-mission-copy a,
.frequent-flyer-muted {
	display: block;
	font-family: sans-serif;
	font-size: 15px;
}

.frequent-flyer-muted {
	color: #ffffff78;
}

.frequent-flyer-table-wrap {
	margin-top: 16px;
	overflow-x: auto;
}

.frequent-flyer-table {
	width: 100%;
	border-collapse: collapse;
	color: white;
	font-family: sans-serif;
	font-size: 16px;
}

.frequent-flyer-table th,
.frequent-flyer-table td {
	padding: 12px 10px;
	border-bottom: 1px solid #ffffff14;
	text-align: left;
	vertical-align: middle;
}

.frequent-flyer-table th {
	color: #ffd0b2;
	font-family: "Space Mono", monospace;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-code {
	font-family: "Space Mono", monospace;
}

.frequent-flyer-raw summary {
	cursor: pointer;
	color: #ffd8b8;
	font-family: "Space Mono", monospace;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.frequent-flyer-raw pre {
	margin: 16px 0 0;
	padding: 16px;
	border-radius: 16px;
	background: #0000003d;
	color: #ffe6d0;
	font-family: "Space Mono", monospace;
	font-size: 13px;
	overflow-x: auto;
}

.frequent-flyer-form input:disabled,
.frequent-flyer-submit:disabled,
.frequent-flyer-clear:disabled {
	opacity: 0.6;
	cursor: wait;
}

.frequent-flyer-table-badge-cell {
	width: 84px;
}

.frequent-flyer-table-badge {
	display: block;
	width: 56px;
	height: auto;
	filter: drop-shadow(0 6px 12px #00000040);
}

.frequent-flyer-table-badge-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, #ff8f47, #d44516);
	color: #2e100c;
	font-family: "Space Mono", monospace;
	font-weight: bold;
}

@media (max-width: 1000px) {
	.frequent-flyer-hero,
	.frequent-flyer-form {
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	.frequent-flyer-section {
		max-width: 100%;
		min-width: 0;
		width: 100%;
	}

	.frequent-flyer-heading,
	.frequent-flyer-status-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 640px) {
	.frequent-flyer-heading h2 {
		font-size: 32px;
	}

	.frequent-flyer-hero h3 {
		font-size: 28px;
	}

	.frequent-flyer-summary-grid {
		grid-template-columns: 1fr;
	}
}
