.ncy-join[hidden] {
	display: none !important;
}

.ncy-join {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 1rem;
}

.ncy-join__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 7, 10, 0.72);
}

.ncy-join__panel {
	position: relative;
	z-index: 1;
	width: min(640px, 100%);
	max-height: min(90vh, 720px);
	overflow: auto;
	padding: 1.5rem 1.25rem 1.25rem;
	border: 1px solid rgba(212, 175, 55, 0.45);
	border-radius: 8px;
	background: linear-gradient(160deg, #100110 0%, #0a120e 55%, #07070a 100%);
	color: #f2f2f5;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

.ncy-join__close {
	position: absolute;
	top: 0.35rem;
	right: 0.35rem;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: transparent;
	color: #d4af37;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.ncy-join__panel h2 {
	margin: 0 1.5rem 0.35rem 0;
	font-size: 1.35rem;
	background: linear-gradient(45deg, #BF953F 0%, #FCF6BA 25%, #B38728 50%, #FBF5B7 75%, #AA771C 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ncy-join__lead,
.ncy-join__foot {
	margin: 0 0 1rem;
	color: #a6a6b3;
	font-size: 0.95rem;
}

.ncy-join__foot a {
	color: #d4af37;
}

.ncy-join__tiers {
	display: grid;
	gap: 0.75rem;
}

.ncy-join__tier {
	padding: 0.85rem 1rem;
	border: 1px solid rgba(1, 16, 1, 0.8);
	border-radius: 6px;
	background: rgba(1, 16, 1, 0.35);
}

.ncy-join__tier h3 {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	color: #e8e8ee;
}

.ncy-join__plans {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.ncy-join__plan {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.45rem 0.85rem;
	border-radius: 4px;
	background: linear-gradient(45deg, #BF953F 0%, #FCF6BA 25%, #B38728 50%, #FBF5B7 75%, #AA771C 100%);
	box-shadow: 0 4px 15px rgba(187, 143, 40, 0.40);
	color: #100110 !important;
	font-weight: 600;
	text-decoration: none;
	font-size: 0.9rem;
}

.ncy-join__plan:hover {
	filter: brightness(1.08);
}

.ncy-blur-wrap {
	position: relative;
	isolation: isolate;
	min-height: 12rem;
}

.ncy-blur-content {
	filter: blur(7px);
	user-select: none;
	pointer-events: none;
}

.ncy-blur-overlay {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(7, 7, 10, 0.35);
	z-index: 1;
}

html.ncy-join-open {
	overflow: hidden;
}
