.tc-community {
	--tc-cream: #fefcef;
	--tc-ink: #050505;
	--tc-muted: rgba(254, 252, 239, 0.68);
	--tc-line: rgba(254, 252, 239, 0.14);
	--tc-gold: #d8ad57;
	--tc-red: #8f2f2f;
	--tc-green: #88a86f;
	background: #020202;
	color: var(--tc-cream);
	margin: 0;
	overflow: visible;
	padding: 0 0 clamp(52px, 7vw, 96px);
}

body:has(.tc-community) {
	overflow-x: clip;
}

body:has(.tc-community) .tc-main {
	padding: 0;
}

body:has(.tc-community) .tc-container {
	margin: 0;
	max-width: none;
	width: 100%;
}

body:has(.tc-community) .tc-post {
	margin: 0;
}

body:has(.tc-community) .tc-post > h1 {
	display: none;
}

body:has(.tc-community) .tc-post-content {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

.tc-community * {
	box-sizing: border-box;
}

.tc-community a {
	color: inherit;
}

.tc-community-hero {
	background: linear-gradient(180deg, #010101 0%, #020202 42%, rgba(2, 2, 2, 0) 72%);
	height: 200vh;
	min-height: 1180px;
	padding: 0;
	position: relative;
	z-index: 30;
}

.tc-hero-stage {
	background: linear-gradient(180deg, #010101 0%, #050505 72%, #020202 100%);
	height: calc(100vh + 3px);
	isolation: isolate;
	margin: 0 auto;
	max-width: none;
	overflow: hidden;
	position: sticky;
	top: -1px;
	transform: translate3d(0, var(--tc-hero-lift, 0px), 0);
	will-change: transform;
	z-index: 30;
}

.tc-hero-stage::before,
.tc-hero-stage::after {
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.tc-hero-stage::before {
	background:
		radial-gradient(ellipse at 50% 52%, rgba(255, 255, 255, 0.14), rgba(216, 216, 205, 0.055) 28%, transparent 54%),
		radial-gradient(circle at 56% 38%, rgba(216, 173, 87, 0.08), transparent 34%);
	z-index: 0;
}

.tc-hero-stage::after {
	background: linear-gradient(180deg, transparent 56%, rgba(2, 2, 2, 0.54) 72%, #020202 91%, #020202 100%);
	z-index: 6;
}

.tc-hero-scroll-nudge {
	position: absolute;
	bottom: 3vh;
	left: 50%;
	transform: translateX(-50%);
	font-family: Montserrat, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.32em;
	color: rgba(254, 252, 239, 0.28);
	text-transform: uppercase;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	z-index: 9;
	animation: tcScrollNudge 2s ease-in-out infinite;
	pointer-events: none;
}

.tc-hero-scroll-nudge span {
	display: block;
	width: 1px;
	height: 32px;
	background: linear-gradient(to bottom, rgba(254, 252, 239, 0.28), transparent);
}

@keyframes tcScrollNudge {
	0%, 100% { opacity: 0.5; transform: translateX(-50%) translateY(0); }
	50%       { opacity: 1;   transform: translateX(-50%) translateY(5px); }
}

.tc-hero-word,
.tc-hero-planet,
.tc-hero-glow,
.tc-curtain {
	left: 50%;
	position: absolute;
	top: 50%;
}

.tc-hero-word {
	pointer-events: none;
	top: 38%;
	transform: translate(-50%, -50%);
	width: min(91vw, 1780px);
}

.tc-hero-word svg {
	display: block;
	height: auto;
	width: 100%;
}

.tc-hero-word-fill {
	animation: tcWordFill 1400ms cubic-bezier(0.16, 1, 0.3, 1) both;
	filter: drop-shadow(0 0 20px rgba(254, 252, 239, 0.12));
	z-index: 3;
}

.tc-hero-stage.is-hero-visible .tc-hero-word-fill svg {
	animation: tcCommunityPulse 9400ms 1800ms ease-in-out infinite;
	transform-origin: center;
}

.tc-hero-word-stroke {
	animation: tcWordStroke 1500ms 260ms cubic-bezier(0.16, 1, 0.3, 1) both;
	mix-blend-mode: screen;
	z-index: 5;
}

.tc-hero-glow {
	animation: tcGlow 7200ms ease-in-out infinite;
	background:
		radial-gradient(ellipse, rgba(255, 255, 255, 0.24), rgba(216, 216, 205, 0.12) 34%, transparent 68%),
		radial-gradient(circle at 56% 48%, rgba(216, 173, 87, 0.12), transparent 42%);
	border-radius: 999px;
	filter: blur(22px);
	height: min(42vw, 640px);
	opacity: 0.75;
	top: 40%;
	transform: translate(-50%, -50%);
	transform-origin: center;
	width: min(70vw, 1120px);
	will-change: opacity, transform;
	z-index: 1;
}

.tc-hero-planet {
	animation: tcPlanet 1800ms 160ms cubic-bezier(0.16, 1, 0.3, 1) both, tcPlanetFloat 9200ms 1900ms ease-in-out infinite;
	filter: grayscale(1) contrast(1.08) brightness(1.18);
	-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 82%, rgba(0, 0, 0, 0.42) 94%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 0%, #000 82%, rgba(0, 0, 0, 0.42) 94%, transparent 100%);
	max-width: none;
	pointer-events: none;
	top: 154%;
	transform: translate(-50%, -50%);
	width: min(118vw, 1880px);
	z-index: 4;
}

.tc-curtain {
	pointer-events: none;
}

.tc-curtain-left {
	background: linear-gradient(180deg, transparent 0%, rgba(2, 2, 2, 0.72) 58%, #020202 100%);
	bottom: 0;
	height: 24%;
	left: 0;
	top: auto;
	transform: none;
	width: 100%;
	z-index: 8;
}

.tc-curtain-right {
	display: none;
}

.tc-community-hero::after {
	display: none;
}

.tc-section {
	margin: 0 auto;
	max-width: 1180px;
	padding: clamp(76px, 9vw, 132px) 20px 0;
	position: relative;
}

.tc-membership-zone {
	isolation: isolate;
	z-index: 10;
}

.tc-community-hero + .tc-section {
	margin-top: -100vh;
	padding-top: clamp(88px, 12vh, 132px);
}

.tc-eyebrow {
	color: var(--tc-gold);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.18em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.tc-muted {
	color: var(--tc-muted);
}

.tc-btn {
	align-items: center;
	background: var(--tc-cream);
	border: 0;
	border-radius: 999px;
	color: #070707 !important;
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	justify-content: center;
	letter-spacing: 0.08em;
	min-height: 44px;
	padding: 12px 18px;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 180ms ease, background 180ms ease, opacity 180ms ease;
}

.tc-btn span {
	color: inherit;
	position: relative;
	z-index: 1;
}

.tc-btn:hover,
.tc-btn:focus-visible {
	background: #ffffff;
	transform: translateY(-2px);
}

.tc-btn[disabled] {
	cursor: not-allowed;
	opacity: 0.48;
	transform: none;
}

.tc-panel,
.tc-item {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.072), rgba(255, 255, 255, 0.026)),
		#080808;
	border: 1px solid rgba(254, 252, 239, 0.12);
	border-radius: 8px;
	box-shadow:
		0 36px 110px rgba(0, 0, 0, 0.58),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.tc-panel {
	padding: clamp(20px, 3vw, 30px);
}

.tc-panel h2,
.tc-section-hero h2,
.tc-member-copy h2,
.tc-membership-public h2 {
	font-family: Montserrat, Arial, sans-serif;
	font-size: clamp(36px, 5.4vw, 76px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.9;
	margin: 0;
	text-transform: uppercase;
}

.tc-panel-head {
	margin-bottom: 22px;
}

.tc-member-layout {
	align-items: center;
	display: grid;
	gap: clamp(34px, 7vw, 96px);
	grid-template-columns: minmax(320px, 560px) 1fr;
	min-height: 520px;
	perspective: 1000px;
}

.tc-current-card {
	--tc-card-lift: 0px;
	--tc-card-rotate-x: 0deg;
	--tc-card-rotate-y: 0deg;
	--tc-card-glare-x: 50%;
	--tc-card-glare-y: 50%;
	animation: tcCardFadeIn 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
	aspect-ratio: 1.28;
	background:
		radial-gradient(circle at 42% 38%, rgba(255, 255, 255, 0.08), transparent 30%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.01));
	border-radius: 8px;
	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.52),
		0 0 0 1px rgba(254, 252, 239, 0.06);
	cursor: pointer;
	display: grid;
	isolation: isolate;
	justify-items: center;
	max-width: 560px;
	position: relative;
	touch-action: none;
	transform-style: preserve-3d;
	transition: box-shadow 260ms ease;
	width: 100%;
}

.tc-current-card:hover,
.tc-current-card:focus-within {
	--tc-card-lift: -8px;
	--tc-card-rotate-x: 4deg;
	--tc-card-rotate-y: -7deg;
	box-shadow:
		0 56px 140px rgba(0, 0, 0, 0.82),
		0 0 0 1px rgba(254, 252, 239, 0.16),
		0 0 80px rgba(216, 173, 87, 0.12);
}

.tc-current-card.is-tilting {
	--tc-card-lift: -12px;
	transition: box-shadow 180ms ease;
}

.tc-card-media {
	align-self: center;
	animation: tcMemberCardAura 4200ms ease-in-out infinite;
	border-radius: 8px;
	clip-path: inset(0 round 8px);
	display: grid;
	grid-area: 1 / 1;
	line-height: 0;
	overflow: hidden;
	position: relative;
	touch-action: none;
	transform: perspective(900px) translateY(0) rotateX(var(--tc-card-rotate-x)) rotateY(var(--tc-card-rotate-y)) translateZ(18px);
	transform-style: preserve-3d;
	transition: filter 260ms ease, transform 90ms linear;
	width: 92%;
	will-change: transform;
	z-index: 1;
}

.tc-card-art {
	border-radius: inherit;
	display: block;
	grid-area: 1 / 1;
	height: auto;
	width: 100%;
	z-index: 1;
}

.tc-current-card:hover .tc-card-media,
.tc-current-card:focus-within .tc-card-media {
	filter: drop-shadow(0 42px 88px rgba(0, 0, 0, 0.76)) saturate(1.08) contrast(1.04);
	transform: perspective(900px) translateY(0) rotateX(var(--tc-card-rotate-x)) rotateY(var(--tc-card-rotate-y)) translateZ(18px);
}

.tc-current-card.is-tilting .tc-card-media {
	filter: drop-shadow(0 48px 96px rgba(0, 0, 0, 0.78)) saturate(1.1) contrast(1.05);
	transform: perspective(900px) translateY(0) rotateX(var(--tc-card-rotate-x)) rotateY(var(--tc-card-rotate-y)) translateZ(18px);
}

.tc-card-shine {
	animation: tcMemberCardSheen 5200ms 900ms cubic-bezier(0.22, 1, 0.36, 1) infinite;
	background:
		radial-gradient(circle at var(--tc-card-glare-x) var(--tc-card-glare-y), rgba(255, 255, 255, 0.22), transparent 28%),
		linear-gradient(112deg, transparent 22%, rgba(255, 255, 255, 0.34) 48%, transparent 72%);
	border-radius: inherit;
	grid-area: 1 / 1;
	inset: -8% auto -8% -62%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(0) skewX(-10deg);
	transition: opacity 0.25s ease;
	width: 58%;
	z-index: 2;
}

.tc-current-card:hover .tc-card-shine,
.tc-current-card:focus-within .tc-card-shine,
.tc-current-card.is-tilting .tc-card-shine {
	animation-duration: 1800ms;
	opacity: 1;
}

.tc-member-copy {
	max-width: 560px;
	position: relative;
}

.tc-member-copy::before {
	background: linear-gradient(180deg, rgba(254, 252, 239, 0.5), transparent);
	content: "";
	height: 96px;
	left: -34px;
	position: absolute;
	top: -16px;
	width: 1px;
}

.tc-progress-block {
	margin-top: 28px;
}

.tc-progress-head {
	display: flex;
	font-size: 12px;
	font-weight: 900;
	justify-content: space-between;
	letter-spacing: 0.08em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.tc-progress {
	background: rgba(255, 255, 255, 0.11);
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgba(254, 252, 239, 0.08);
	height: 14px;
	overflow: hidden;
}

.tc-progress span {
	background: linear-gradient(90deg, var(--tc-cream), var(--tc-gold));
	border-radius: inherit;
	display: block;
	height: 100%;
	min-width: 6px;
	position: relative;
	transition: width 700ms cubic-bezier(0.16, 1, 0.3, 1);
}

.tc-progress span::after {
	animation: tcProgressPulse 2200ms ease-in-out infinite;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.44), transparent);
	content: "";
	inset: 0;
	position: absolute;
	transform: translateX(-100%);
}

.tc-progress-block p {
	color: var(--tc-muted);
	font-size: 13px;
	font-weight: 700;
	margin: 12px 0 0;
}

.tc-missions-layout {
	display: grid;
	gap: 18px;
	grid-template-columns: 1.4fr 0.8fr;
	margin-top: 64px;
	position: relative;
	z-index: 5;
}

.tc-missions-layout .tc-panel {
	animation: tcPanelRise 850ms ease both;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.tc-missions-layout .tc-panel:nth-child(2) {
	animation-delay: 120ms;
}

.tc-missions-layout .tc-panel::after {
	animation: tcPanelScan 6200ms ease-in-out infinite;
	background: linear-gradient(120deg, transparent, rgba(254, 252, 239, 0.08), transparent);
	content: "";
	height: 160%;
	left: -36%;
	pointer-events: none;
	position: absolute;
	top: -30%;
	transform: rotate(18deg);
	width: 24%;
}

.tc-missions-layout .tc-panel:hover {
	border-color: rgba(254, 252, 239, 0.22);
	box-shadow:
		0 44px 120px rgba(0, 0, 0, 0.7),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.tc-missions-native .tc-missions-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.tc-missions-native .tc-mission-card,
.tc-code-input {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.012)),
		rgba(0, 0, 0, 0.42);
	border: 1px solid rgba(254, 252, 239, 0.12);
	border-radius: 8px;
	padding: 18px;
	position: relative;
	transition: border-color 180ms ease, transform 180ms ease, background 180ms ease;
}

.tc-missions-native .tc-mission-card:hover,
.tc-code-input:hover {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.074), rgba(255, 255, 255, 0.018)),
		rgba(0, 0, 0, 0.5);
	border-color: rgba(216, 173, 87, 0.28);
	transform: translateY(-3px);
}

.tc-missions-native .tc-mission-card h3 {
	font-size: 20px;
	margin: 10px 0 8px;
}

.tc-missions-native .tc-mission-card p,
.tc-missions-native .tc-mission-meta {
	color: var(--tc-muted);
}

.tc-missions-native .tc-mission-card a,
.tc-code-input button {
	background: var(--tc-cream);
	border: 0;
	border-radius: 999px;
	color: #050505;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	margin-top: 12px;
	padding: 10px 14px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms ease, transform 180ms ease;
}

.tc-missions-native .tc-mission-card a:hover,
.tc-code-input button:hover {
	background: #fff;
	transform: translateY(-2px);
}

.tc-code-input h4 {
	display: none;
}

.tc-code-panel .tc-panel-head h2 {
	font-size: clamp(28px, 3.4vw, 44px);
	line-height: 0.96;
	overflow-wrap: anywhere;
}

.tc-code-input form {
	display: grid;
	gap: 14px;
}

.tc-code-input input {
	background:
		linear-gradient(180deg, rgba(254, 252, 239, 0.035), rgba(254, 252, 239, 0.01)),
		rgba(0, 0, 0, 0.52);
	border: 1px solid rgba(254, 252, 239, 0.18);
	border-radius: 8px;
	color: var(--tc-cream);
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 900;
	letter-spacing: 0.12em;
	min-height: 54px;
	padding: 0 16px;
	text-align: center;
	text-transform: uppercase;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.tc-code-input input:focus {
	border-color: rgba(216, 173, 87, 0.66);
	box-shadow: 0 0 0 3px rgba(216, 173, 87, 0.12);
	outline: 0;
}

.tc-claim-notice {
	border: 1px solid rgba(136, 168, 111, 0.45);
	border-radius: 8px;
	color: var(--tc-cream);
	margin: 0 0 14px;
	padding: 12px 14px;
}

.tc-claim-error {
	border-color: rgba(143, 47, 47, 0.6);
}

.tc-membership-public {
	align-items: center;
	display: grid;
	gap: clamp(34px, 7vw, 96px);
	grid-template-columns: minmax(280px, 0.82fr) minmax(360px, 1.18fr);
	min-height: 540px;
}

/* Glow central de cada sección — solo membership, las demás tienen su propio ::before con fade */
.tc-membership-zone::before {
	background: radial-gradient(circle, rgba(254, 252, 239, 0.075), transparent 62%);
	content: "";
	height: 480px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 44px;
	transform: translateX(-50%);
	width: min(92vw, 920px);
	z-index: 0;
}
.tc-voting-zone,
.tc-events-zone,
.tc-drops-zone {
	position: relative;
}

/* Fade full-width entre secciones — el pseudo cubre todo el viewport, no solo el max-width */
.tc-voting-zone::before,
.tc-events-zone::before,
.tc-drops-zone::before {
	background:
		radial-gradient(circle, rgba(254, 252, 239, 0.075), transparent 62%),
		linear-gradient(180deg, #020202 0%, transparent 40%);
	content: "";
	height: 480px;
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 0;
}

.tc-section > * {
	position: relative;
	z-index: 1;
}

.tc-membership-public p {
	max-width: 470px;
}

.tc-tier-showcase {
	aspect-ratio: 1.55;
	min-height: 360px;
	perspective: 1200px;
	position: relative;
}

.tc-tier-card {
	animation: tcCardStack 7600ms var(--delay) ease-in-out infinite;
	color: var(--tc-cream);
	display: block;
	gap: 10px;
	left: 50%;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 50%;
	transition: transform 220ms ease, filter 220ms ease;
	width: min(72%, 520px);
	z-index: 2;
}

.tc-tier-card:hover {
	filter: saturate(1.08);
	transform: translate(-50%, -55%) rotateX(4deg) scale(1.03) !important;
}

.tc-tier-card img {
	border-radius: 8px;
	display: block;
	filter: drop-shadow(0 30px 70px rgba(0, 0, 0, 0.72));
	width: 100%;
}

.tc-tier-card-shine {
	aspect-ratio: 1.58;
	background: linear-gradient(112deg, transparent 32%, rgba(255, 255, 255, 0.22) 44%, transparent 58%);
	border-radius: 8px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(-38%);
	transition: opacity 0.25s ease, transform 0.7s ease;
	z-index: 2;
}

.tc-tier-card:hover .tc-tier-card-shine,
.tc-tier-card:focus-visible .tc-tier-card-shine {
	opacity: 1;
	transform: translateX(38%);
}

.tc-tier-card span:not(.tc-tier-card-shine) {
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.14em;
	margin-top: 14px;
	text-transform: uppercase;
}

.tc-tier-word {
	color: var(--tier-color, var(--tc-cream));
	text-shadow: 0 0 24px var(--tier-glow, rgba(254, 252, 239, 0.08));
}

.tc-member-copy .tc-tier-word {
	display: inline-block;
}

.tc-tier-word-bronze {
	--tier-color: #c79773;
	--tier-glow: rgba(199, 151, 115, 0.34);
}

.tc-tier-word-silver {
	--tier-color: #d7dce0;
	--tier-glow: rgba(215, 220, 224, 0.34);
}

.tc-tier-word-gold {
	--tier-color: #d8ad57;
	--tier-glow: rgba(216, 173, 87, 0.42);
}

.tc-tier-word-black {
	--tier-color: #fefcef;
	--tier-glow: rgba(254, 252, 239, 0.32);
	background: linear-gradient(90deg, #fefcef, #8c8c86 42%, #ffffff 70%, #3d3d3a);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.tc-tier-card:nth-child(1) {
	animation-delay: 0ms;
	transform: translate(-50%, -50%) rotate(-2deg);
	z-index: 5;
}

.tc-tier-card:nth-child(2) {
	animation-delay: 360ms;
	opacity: 0.72;
	transform: translate(-18%, -61%) rotate(7deg) scale(0.68);
	z-index: 3;
}

.tc-tier-card:nth-child(3) {
	animation-delay: 720ms;
	opacity: 0.58;
	transform: translate(-78%, -34%) rotate(-8deg) scale(0.62);
	z-index: 2;
}

.tc-tier-card:nth-child(4) {
	animation-delay: 1080ms;
	opacity: 0.5;
	transform: translate(-24%, -22%) rotate(11deg) scale(0.56);
	z-index: 1;
}

.tc-section-hero {
	align-items: end;
	display: grid;
	gap: clamp(22px, 5vw, 64px);
	grid-template-columns: minmax(260px, 0.7fr) 1fr;
	margin-bottom: clamp(42px, 6vw, 76px);
	position: relative;
	z-index: 2;
}

.tc-section-hero img {
	aspect-ratio: 1.08;
	animation: tcFloatArtifact 5200ms ease-in-out infinite;
	filter: grayscale(1) contrast(1.16) brightness(1.12) drop-shadow(0 34px 70px rgba(0, 0, 0, 0.64));
	border-radius: 8px;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tc-section-copy {
	color: rgba(254, 252, 239, 0.66);
	font-size: clamp(14px, 1.3vw, 17px);
	font-weight: 600;
	line-height: 1.65;
	margin: 18px 0 0;
	max-width: 560px;
}

.tc-list {
	display: grid;
	gap: 18px;
}

.tc-item {
	padding: clamp(22px, 3.4vw, 36px);
	position: relative;
}

.tc-item h3 {
	font-size: clamp(26px, 3vw, 42px);
	line-height: 1;
	margin: 10px 0 10px;
	text-transform: uppercase;
}

.tc-card-status,
.tc-deadline,
.tc-event-copy {
	position: relative;
	z-index: 2;
}

.tc-card-status,
.tc-deadline {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}

.tc-card-status span,
.tc-card-status strong,
.tc-deadline span,
.tc-deadline strong,
.tc-chip {
	border: 1px solid var(--tc-line);
	border-radius: 999px;
	color: var(--tc-cream);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.1em;
	padding: 8px 10px;
	text-transform: uppercase;
}

.tc-card-status span {
	background: rgba(136, 168, 111, 0.18);
	border-color: rgba(136, 168, 111, 0.42);
}

.tc-unlocked-card {
	background:
		linear-gradient(145deg, rgba(254, 252, 239, 0.075), rgba(254, 252, 239, 0.024) 48%, rgba(255, 255, 255, 0.012)),
		#070707;
	border-color: rgba(254, 252, 239, 0.14);
	box-shadow:
		0 24px 70px rgba(0, 0, 0, 0.58),
		0 0 0 1px rgba(255, 255, 255, 0.03) inset,
		0 1px 0 rgba(255, 255, 255, 0.06) inset;
	overflow: hidden;
}

.tc-unlocked-card::before {
	background: linear-gradient(90deg, rgba(254, 252, 239, 0.32), rgba(254, 252, 239, 0.08));
	content: "";
	height: 1px;
	inset: 0 0 auto;
	position: absolute;
	z-index: 3;
}

.tc-unlocked-glow {
	background:
		radial-gradient(circle at 14% 14%, rgba(254, 252, 239, 0.055), transparent 36%),
		radial-gradient(circle at 88% 82%, rgba(254, 252, 239, 0.04), transparent 38%);
	inset: 0;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.tc-unlocked-head {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.tc-unlocked-chip {
	border: 1px solid rgba(254, 252, 239, 0.18);
	border-radius: 999px;
	color: rgba(254, 252, 239, 0.66);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.1em;
	padding: 8px 11px;
	text-transform: uppercase;
}

.tc-vote-intro,
.tc-unlocked-actions,
.tc-event-meta,
.tc-event-description,
.tc-lineup {
	position: relative;
	z-index: 2;
}

.tc-vote-intro {
	max-width: 820px;
	padding-top: 8px;
}

.tc-vote-question,
.tc-event-description {
	color: rgba(254, 252, 239, 0.74);
	font-size: 16px;
	font-weight: 650;
	line-height: 1.55;
	margin: 0;
}

.tc-options {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	margin: 22px 0;
	position: relative;
	z-index: 2;
}

.tc-option {
	align-items: center;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.048), rgba(255, 255, 255, 0.015)),
		rgba(0, 0, 0, 0.32);
	border: 1px solid rgba(254, 252, 239, 0.105);
	border-radius: 8px;
	cursor: pointer;
	display: grid;
	gap: 12px;
	grid-template-columns: auto 64px 1fr;
	min-height: 92px;
	padding: 12px;
	transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.tc-option:hover,
.tc-option:focus-within {
	background:
		linear-gradient(145deg, rgba(254, 252, 239, 0.072), rgba(255, 255, 255, 0.02)),
		rgba(0, 0, 0, 0.34);
	border-color: rgba(254, 252, 239, 0.24);
	transform: translateY(-2px);
}

.tc-option:has(input:checked) {
	background:
		linear-gradient(145deg, rgba(254, 252, 239, 0.095), rgba(255, 255, 255, 0.024)),
		rgba(0, 0, 0, 0.36);
	border-color: rgba(254, 252, 239, 0.38);
}

.tc-option input {
	accent-color: #fefcef;
	height: 18px;
	width: 18px;
}

.tc-option-index {
	color: rgba(254, 252, 239, 0.46);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tc-option-media {
	align-items: center;
	aspect-ratio: 1;
	background:
		linear-gradient(145deg, rgba(254, 252, 239, 0.075), rgba(255, 255, 255, 0.018)),
		rgba(254, 252, 239, 0.05);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	width: 64px;
}

.tc-option img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tc-option-copy {
	color: rgba(254, 252, 239, 0.9);
	font-size: 15px;
	font-weight: 850;
	line-height: 1.18;
	text-transform: uppercase;
}

.tc-unlocked-actions {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-top: 18px;
}

.is-gated {
	overflow: hidden;
}

.is-gated > *:not(.tc-gate) {
	filter: brightness(0.42) saturate(0.7);
}

.tc-gate {
	align-items: center;
	background: rgba(0, 0, 0, 0.52);
	border: 1px solid rgba(254, 252, 239, 0.18);
	border-radius: 8px;
	display: grid;
	gap: 12px;
	inset: 18px;
	justify-items: start;
	padding: 20px;
	position: absolute;
	z-index: 4;
}

.tc-gate p {
	font-size: clamp(18px, 2.4vw, 28px);
	font-weight: 800;
	line-height: 1.08;
	margin: 0;
	max-width: 520px;
}

.tc-event-card {
	display: grid;
	gap: clamp(20px, 4vw, 44px);
	grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
	min-height: 390px;
}

.tc-event-card .tc-event-copy > p:not([class]) {
	display: none;
}

.tc-event-card h3,
.tc-vote-card h3 {
	position: relative;
	z-index: 2;
}

.tc-event-card h3 {
	font-size: clamp(36px, 3.2rem, 58px);
	max-width: 760px;
}

.tc-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0;
}

.tc-event-meta span {
	background: rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(254, 252, 239, 0.12);
	border-radius: 999px;
	color: rgba(254, 252, 239, 0.76);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.08em;
	padding: 9px 12px;
	text-transform: uppercase;
}

.tc-lineup {
	border-left: 1px solid rgba(254, 252, 239, 0.24);
	color: rgba(254, 252, 239, 0.82);
	font-size: 14px;
	font-weight: 760;
	line-height: 1.45;
	margin: 20px 0 0;
	padding-left: 14px;
}

.tc-lineup span {
	color: rgba(254, 252, 239, 0.52);
	display: block;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.12em;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.tc-map-frame {
	aspect-ratio: 1;
	background: #050505;
	border: 1px solid rgba(254, 252, 239, 0.16);
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.46);
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.tc-event-card > .tc-map-frame::after {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.45)),
		linear-gradient(90deg, rgba(254, 252, 239, 0.08), transparent 34%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.tc-map-frame iframe {
	border: 0;
	filter: invert(92%) hue-rotate(180deg) saturate(0.65) brightness(0.62) contrast(1.2);
	height: 100%;
	width: 100%;
}

.tc-event-image {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tc-event-image + iframe {
	display: none;
}

.tc-event-card > .tc-map-frame + .tc-deadline,
.tc-event-card .tc-deadline {
	background: rgba(0, 0, 0, 0.32);
	border: 1px solid rgba(254, 252, 239, 0.12);
	border-radius: 8px;
	margin-top: 14px;
	padding: 12px;
}

.tc-fomo-card {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.086), rgba(255, 255, 255, 0.024)),
		radial-gradient(circle at 72% 22%, rgba(216, 173, 87, 0.08), transparent 30%),
		#080808;
	min-height: 360px;
	overflow: hidden;
}

.tc-fomo-card::before,
.tc-fomo-card::after {
	content: "";
	pointer-events: none;
	position: absolute;
}

.tc-fomo-card::before {
	background: linear-gradient(90deg, transparent, rgba(254, 252, 239, 0.08), transparent);
	height: 160%;
	left: -30%;
	top: -30%;
	transform: rotate(18deg);
	width: 26%;
	animation: tcScan 5200ms ease-in-out infinite;
	z-index: 3;
}

.tc-fomo-card::after {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.78)),
		radial-gradient(circle at 50% 42%, transparent 0 28%, rgba(0, 0, 0, 0.48) 70%);
	inset: 0;
	z-index: 2;
}

.tc-fomo-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, 1fr);
	margin: 24px 0 0;
	position: relative;
	z-index: 1;
}

.tc-fomo-choice,
.tc-fomo-map,
.tc-fomo-line,
.tc-fomo-thumb,
.tc-fomo-pill {
	background: rgba(254, 252, 239, 0.08);
	border: 1px solid rgba(254, 252, 239, 0.08);
	border-radius: 8px;
}

.tc-fomo-choice {
	min-height: 132px;
	padding: 12px;
}

.tc-fomo-thumb {
	aspect-ratio: 1.18;
	margin-bottom: 12px;
	overflow: hidden;
	position: relative;
}

.tc-fomo-thumb::after,
.tc-fomo-map::after {
	background: linear-gradient(120deg, transparent 30%, rgba(254, 252, 239, 0.12), transparent 58%);
	content: "";
	inset: 0;
	position: absolute;
	transform: translateX(-100%);
	animation: tcSkeleton 2600ms ease-in-out infinite;
}

.tc-fomo-line {
	height: 10px;
	margin-top: 8px;
	width: 76%;
}

.tc-fomo-line.short {
	width: 44%;
}

.tc-fomo-pill {
	height: 36px;
	margin-top: 22px;
	width: min(180px, 48%);
}

.tc-fomo-lock {
	align-items: flex-start;
	backdrop-filter: blur(12px);
	background: rgba(0, 0, 0, 0.54);
	border: 1px solid rgba(254, 252, 239, 0.16);
	border-radius: 8px;
	display: grid;
	gap: 14px;
	inset: 18px;
	justify-items: start;
	padding: clamp(20px, 3vw, 34px);
	position: absolute;
	z-index: 4;
}

.tc-fomo-lock p {
	font-size: clamp(22px, 3.2vw, 42px);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
	max-width: 680px;
	text-transform: uppercase;
}

.tc-fomo-lock small {
	color: rgba(254, 252, 239, 0.68);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	max-width: 480px;
}

.tc-event-teaser {
	display: grid;
	gap: 22px;
	grid-template-columns: 1fr minmax(260px, 390px);
}

.tc-fomo-map {
	aspect-ratio: 1.08;
	overflow: hidden;
	position: relative;
}

.tc-fomo-map span {
	background: rgba(254, 252, 239, 0.12);
	display: block;
	height: 1px;
	left: 8%;
	position: absolute;
	top: 22%;
	transform: rotate(-18deg);
	width: 86%;
}

.tc-fomo-map span:nth-child(2) {
	left: 18%;
	top: 58%;
	transform: rotate(24deg);
	width: 68%;
}

.tc-fomo-map span:nth-child(3) {
	left: 44%;
	top: 8%;
	transform: rotate(88deg);
	width: 72%;
}

.tc-drop-showcase {
	align-items: center;
	display: grid;
	gap: clamp(20px, 5vw, 56px);
	grid-template-columns: minmax(260px, 0.75fr) 1fr;
}

.tc-access-object {
	align-self: end;
	display: grid;
	min-height: 320px;
	place-items: end center;
	position: relative;
	z-index: 2;
}

.tc-access-object img {
	animation: tcFloatArtifact 6000ms ease-in-out infinite;
	filter: grayscale(1) contrast(1.12) brightness(1.08) drop-shadow(0 32px 76px rgba(0, 0, 0, 0.72));
	width: min(92%, 360px);
}

.tc-drop-panel {
	position: relative;
	z-index: 3;
}

.tc-drop-media {
	--tc-drop-glare-x: 50%;
	--tc-drop-glare-y: 42%;
	--tc-drop-rotate-x: 0deg;
	--tc-drop-rotate-y: 0deg;
	aspect-ratio: 1;
	background:
		radial-gradient(circle at 48% 44%, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.035) 46%, rgba(0, 0, 0, 0.34) 72%),
		#050505;
	border: 1px solid var(--tc-line);
	border-radius: 8px;
	box-shadow:
		0 34px 90px rgba(0, 0, 0, 0.58),
		inset 0 0 0 1px rgba(255, 255, 255, 0.025);
	cursor: grab;
	display: grid;
	overflow: hidden;
	place-items: center;
	position: relative;
	touch-action: pan-y;
	transform: perspective(920px) rotateX(var(--tc-drop-rotate-x)) rotateY(var(--tc-drop-rotate-y)) translateZ(0);
	transform-style: preserve-3d;
	transition: box-shadow 280ms ease, filter 280ms ease, transform 140ms ease;
	will-change: transform;
}

.tc-drop-media::before {
	animation: tcDropAura 5400ms ease-in-out infinite;
	background:
		radial-gradient(circle at 50% 48%, rgba(216, 173, 87, 0.2), transparent 35%),
		radial-gradient(circle at 46% 56%, rgba(254, 252, 239, 0.1), transparent 54%);
	content: "";
	inset: 8%;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
	transform: translateZ(-18px);
}

.tc-drop-media:hover,
.tc-drop-media:focus-visible,
.tc-drop-media.is-tilting {
	box-shadow:
		0 44px 116px rgba(0, 0, 0, 0.72),
		0 0 68px rgba(216, 173, 87, 0.1),
		inset 0 0 0 1px rgba(254, 252, 239, 0.08);
	filter: saturate(1.06) contrast(1.04);
}

.tc-drop-media:active {
	cursor: grabbing;
}

.tc-drop-media img {
	filter: drop-shadow(0 28px 72px rgba(0, 0, 0, 0.62));
	grid-area: 1 / 1;
	max-height: 92%;
	max-width: 92%;
	object-fit: contain;
	position: relative;
	transform: translateZ(52px) scale(0.96);
	transition: filter 260ms ease, transform 180ms ease;
	z-index: 2;
}

.tc-drop-media svg {
	filter: drop-shadow(0 26px 58px rgba(0, 0, 0, 0.62));
	grid-area: 1 / 1;
	height: 90%;
	position: relative;
	transform: translateZ(44px) scale(0.96);
	transition: filter 260ms ease, transform 180ms ease;
	width: 90%;
	z-index: 2;
}

.tc-drop-media:hover img,
.tc-drop-media:focus-visible img,
.tc-drop-media.is-tilting img,
.tc-drop-media:hover svg,
.tc-drop-media:focus-visible svg,
.tc-drop-media.is-tilting svg {
	filter: drop-shadow(0 36px 86px rgba(0, 0, 0, 0.72));
	transform: translateZ(68px) scale(1);
}

.tc-drop-glare {
	background:
		radial-gradient(circle at var(--tc-drop-glare-x) var(--tc-drop-glare-y), rgba(255, 255, 255, 0.34), transparent 18%),
		linear-gradient(118deg, transparent 16%, rgba(255, 255, 255, 0.16) 46%, transparent 68%);
	grid-area: 1 / 1;
	inset: 0;
	mix-blend-mode: screen;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 220ms ease;
	z-index: 3;
}

.tc-drop-orbit {
	animation: tcDropOrbit 5600ms linear infinite;
	border: 1px solid rgba(254, 252, 239, 0.16);
	border-radius: 999px;
	grid-area: 1 / 1;
	height: 76%;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	transform: translateZ(28px) rotate(-16deg);
	width: 76%;
	z-index: 1;
}

.tc-drop-media:hover .tc-drop-glare,
.tc-drop-media:focus-visible .tc-drop-glare,
.tc-drop-media.is-tilting .tc-drop-glare {
	opacity: 1;
}

.tc-drop-showcase h3 {
	font-size: clamp(30px, 4vw, 58px);
	line-height: 0.95;
	margin: 16px 0 12px;
	text-transform: uppercase;
}

.tc-price {
	color: var(--tc-gold);
	font-size: 26px;
	font-weight: 900;
	margin: 16px 0;
}

.tc-empty {
	border: 1px solid var(--tc-line);
	border-radius: 8px;
	color: var(--tc-muted);
	margin: 0;
	padding: 24px;
}

.tc-mini-membership-wrap {
	margin: 0 0 24px;
	max-width: 300px;
}

.tc-mini-card-shell {
	animation: tcCardIn 700ms cubic-bezier(0.22, 1, 0.36, 1) both;
	position: relative;
}

.tc-mini-card {
	background: transparent;
	border-radius: 8px;
	display: block;
	position: relative;
	text-decoration: none;
	transition: transform 220ms ease, filter 220ms ease;
	width: min(260px, 100%);
}

.tc-mini-card:hover,
.tc-mini-card:focus-visible {
	filter: saturate(1.08) contrast(1.04);
	transform: translateY(-4px);
}

.tc-mini-card-media {
	border-radius: 8px;
	display: grid;
	line-height: 0;
	overflow: hidden;
	position: relative;
}

.tc-mini-card-shine {
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.28) 45%, transparent 60%);
	grid-area: 1 / 1;
	inset: 0;
	mix-blend-mode: screen;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(-38%);
	transition: opacity 220ms ease, transform 600ms ease;
	z-index: 2;
}

.tc-mini-card:hover .tc-mini-card-shine {
	opacity: 1;
	transform: translateX(38%);
}

.tc-mini-card img {
	display: block;
	grid-area: 1 / 1;
	filter: drop-shadow(0 20px 34px rgba(0, 0, 0, 0.42));
	position: relative;
	width: 100%;
	z-index: 1;
}

.tc-mini-card-meta {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: 12px;
	width: min(260px, 100%);
}

.tc-mini-card-meta span {
	color: rgba(254, 252, 239, 0.78);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.tc-mini-cta {
	background: linear-gradient(135deg, #fefcef, #d6a94c);
	border-radius: 999px;
	box-shadow: 0 10px 28px rgba(214, 169, 76, 0.2);
	color: #080808;
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	margin: 0;
	padding: 9px 12px;
	position: static;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease;
	white-space: nowrap;
}

@keyframes tcCurtain {
	to { transform: translateX(-105%); }
}

@keyframes tcCurtainRight {
	to { transform: translateX(105%); }
}

@keyframes tcWordFill {
	from { opacity: 0; transform: translate(-50%, calc(-50% + 34px)) scale(0.98); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes tcWordStroke {
	from { opacity: 0; transform: translate(-50%, calc(-50% - 18px)) scale(1.015); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@keyframes tcPlanet {
	from { opacity: 0; transform: translate(-50%, -38%) scale(0.96) rotate(-2deg); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-0.6deg); }
}

@keyframes tcPlanetFloat {
	0%   { transform: translate(-50%, -50%) rotate(-0.6deg) scale(1); }
	50%  { transform: translate(-50%, -51.2%) rotate(0.6deg) scale(1.008); }
	100% { transform: translate(-50%, -50%) rotate(-0.6deg) scale(1); }
}

@keyframes tcGlow {
	0%, 100% { opacity: 0.68; transform: translate(-50%, -50%) scale(0.96); }
	50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.05); }
}

@keyframes tcCommunityPulse {
	0%, 78%, 100% { transform: scale(1); }
	83% { transform: scale(1.008); }
	88% { transform: scale(0.998); }
	93% { transform: scale(1.004); }
}

@keyframes tcCardIn {
	from { opacity: 0; transform: translateY(24px) scale(0.95); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes tcCardFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes tcMemberCardAura {
	0%, 100% { filter: drop-shadow(0 26px 58px rgba(0, 0, 0, 0.56)) saturate(1) contrast(1); }
	50% { filter: drop-shadow(0 34px 76px rgba(0, 0, 0, 0.7)) saturate(1.05) contrast(1.025); }
}

@keyframes tcMemberCardSheen {
	0%, 18% {
		opacity: 0;
		transform: translateX(0) skewX(-10deg);
	}
	31%, 42% {
		opacity: 0.72;
	}
	58%, 100% {
		opacity: 0;
		transform: translateX(315%) skewX(-10deg);
	}
}

@keyframes tcDropAura {
	0%, 100% {
		opacity: 0.48;
		transform: translateZ(-18px) scale(0.98);
	}
	50% {
		opacity: 0.86;
		transform: translateZ(-18px) scale(1.04);
	}
}

@keyframes tcDropOrbit {
	0% {
		transform: translateZ(28px) rotate(-16deg) rotateX(64deg) rotateZ(0deg);
	}
	100% {
		transform: translateZ(28px) rotate(-16deg) rotateX(64deg) rotateZ(360deg);
	}
}

@keyframes tcTierIn {
	from { opacity: 0; transform: translateY(24px) rotateX(8deg); }
	to { opacity: 1; transform: translateY(0) rotateX(0); }
}

@keyframes tcCardStack {
	0%, 100% {
		filter: saturate(1) contrast(1);
	}
	45% {
		filter: saturate(1.08) contrast(1.06);
	}
	50% {
		transform: translate(-50%, -55%) rotate(0deg) scale(1.04);
		opacity: 1;
		z-index: 6;
	}
}

@keyframes tcShine {
	from { transform: translateX(-100%); }
	to { transform: translateX(100%); }
}

@keyframes tcProgressPulse {
	0%, 35% { transform: translateX(-100%); }
	75%, 100% { transform: translateX(100%); }
}

@keyframes tcPanelRise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes tcPanelScan {
	0%, 38% { transform: translateX(-180%) rotate(18deg); opacity: 0; }
	48% { opacity: 1; }
	72%, 100% { transform: translateX(620%) rotate(18deg); opacity: 0; }
}

@keyframes tcFloatArtifact {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
	50% { transform: translate3d(0, -14px, 0) rotate(1.2deg); }
}

@keyframes tcScan {
	0%, 34% { transform: translateX(-180%) rotate(18deg); opacity: 0; }
	48% { opacity: 1; }
	70%, 100% { transform: translateX(520%) rotate(18deg); opacity: 0; }
}

@keyframes tcSkeleton {
	0%, 35% { transform: translateX(-100%); }
	75%, 100% { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
	.tc-community *,
	.tc-community *::before,
	.tc-community *::after {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 900px) {
	.tc-community {
		overflow: visible;
	}


	.tc-community-hero {
		height: 200vh;
		min-height: 1060px;
	}

	.tc-hero-stage {
		height: 100vh;
	}

	.tc-hero-word {
		top: 28%;
		width: min(104vw, 820px);
	}

	.tc-hero-glow {
		height: min(58vw, 360px);
		top: 42%;
		width: min(94vw, 620px);
	}

	.tc-hero-planet {
		top: 90%;
		width: min(140vw, 760px);
	}

	.tc-community-hero + .tc-section {
		margin-top: -100vh;
		padding-top: clamp(60px, 8vh, 88px);
	}

	.tc-section {
		max-width: 720px;
		padding-top: clamp(72px, 12vw, 104px);
	}

	.tc-member-layout,
	.tc-missions-layout,
	.tc-membership-public,
	.tc-section-hero,
	.tc-event-card,
	.tc-event-teaser,
	.tc-drop-showcase {
		grid-template-columns: 1fr;
	}

	.tc-current-card {
		margin: 0 auto;
		max-width: min(420px, 92vw);
	}

	.tc-member-copy {
		max-width: none;
	}

	.tc-member-copy::before {
		display: none;
	}

	.tc-tier-showcase {
		min-height: 280px;
	}

	.tc-tier-card {
		width: min(84%, 420px);
	}

	.tc-fomo-grid {
		grid-template-columns: 1fr;
	}

	.tc-fomo-choice:nth-child(2),
	.tc-fomo-choice:nth-child(3) {
		display: none;
	}

	.tc-access-object {
		min-height: 220px;
		place-items: center;
	}

	.tc-access-object img {
		width: min(70vw, 260px);
	}

	.tc-gate {
		inset: 10px;
	}

	.tc-section-hero {
		align-items: center;
		gap: 28px;
		margin-bottom: 46px;
	}

	.tc-section-hero img,
	.tc-access-object {
		margin-inline: auto;
		max-width: 360px;
		width: min(76vw, 360px);
	}

	.tc-fomo-card {
		min-height: 430px;
	}

	.tc-fomo-lock {
		align-content: end;
	}

	.tc-drop-showcase {
		gap: 28px;
	}
}

@media (max-width: 560px) {
	.tc-community-hero {
		height: 155vh;
		min-height: 720px;
	}

	.tc-hero-word {
		top: 26%;
		width: 96vw;
	}

	.tc-hero-glow {
		filter: blur(16px);
		height: 62vw;
		top: 40%;
		width: 110vw;
	}

	.tc-hero-planet {
		top: 76%;
		width: 140vw;
	}

	.tc-community-hero + .tc-section {
		margin-top: -55vh;
		padding-top: clamp(52px, 8vh, 80px);
	}

	.tc-section {
		padding-left: 14px;
		padding-right: 14px;
	}

	.tc-panel,
	.tc-item {
		padding: 18px;
	}

	.tc-panel h2,
	.tc-section-hero h2,
	.tc-member-copy h2,
	.tc-membership-public h2 {
		font-size: clamp(34px, 12vw, 54px);
		line-height: 0.94;
	}

	.tc-code-panel .tc-panel-head h2 {
		font-size: clamp(26px, 10vw, 40px);
		line-height: 1;
	}

	.tc-eyebrow {
		font-size: 10px;
		letter-spacing: 0.14em;
	}

	.tc-membership-public {
		min-height: auto;
	}

	.tc-membership-public > div:first-child {
		order: 2;
	}

	.tc-tier-showcase {
		order: 1;
		aspect-ratio: auto;
		min-height: 250px;
	}

	.tc-tier-card {
		width: min(92%, 360px);
	}

	.tc-tier-card:nth-child(1) {
		transform: translate(-50%, -50%) rotate(-1.5deg);
	}

	.tc-tier-card:nth-child(2) {
		transform: translate(-32%, -58%) rotate(6deg) scale(0.66);
	}

	.tc-tier-card:nth-child(3) {
		transform: translate(-68%, -34%) rotate(-7deg) scale(0.6);
	}

	.tc-tier-card:nth-child(4) {
		transform: translate(-34%, -22%) rotate(9deg) scale(0.54);
	}

	.tc-options {
		grid-template-columns: 1fr;
	}

	.tc-option {
		grid-template-columns: auto 52px 1fr;
	}

	.tc-card-status,
	.tc-deadline {
		align-items: flex-start;
		flex-direction: column;
	}

	.tc-fomo-lock {
		inset: 10px;
		padding: 18px;
	}

	.tc-fomo-lock p {
		font-size: clamp(22px, 8vw, 34px);
	}

	.tc-fomo-pill {
		width: 68%;
	}

	.tc-fomo-card {
		min-height: 460px;
	}

	.tc-event-teaser {
		gap: 16px;
	}

	.tc-drop-media {
		aspect-ratio: 1.08;
	}

	.tc-drop-showcase h3 {
		font-size: clamp(30px, 10vw, 44px);
	}
}

@media (max-width: 390px) {
	.tc-hero-word {
		width: 98vw;
	}

	.tc-panel,
	.tc-item {
		padding: 16px;
	}

	.tc-btn {
		min-height: 42px;
		padding-inline: 14px;
		width: 100%;
	}

	.tc-card-status span,
	.tc-card-status strong,
	.tc-deadline span,
	.tc-deadline strong,
	.tc-chip {
		white-space: normal;
	}
}

/* ── Drop Teaser (hidden showcase) ── */

.tc-drop-teaser .tc-fomo-drop-placeholder {
	margin: 24px 0 0;
	max-width: 320px;
	position: relative;
	z-index: 1;
}

.tc-drop-teaser .tc-fomo-drop-placeholder .tc-fomo-thumb {
	aspect-ratio: 1.4;
	margin-bottom: 14px;
}

.tc-drop-teaser {
	position: relative;
	z-index: 3;
}
