/* =========================================================
   CLUB APP UI · CLEAN FULL CSS (Telegram Mini App)
   - cleaned duplicates
   - one source of truth for safe areas / viewport
   - preserves existing selectors from your project
   ========================================================= */

/* Self-hosted fonts — same-origin woff2. NO requests to fonts.googleapis.com / fonts.gstatic.com (152-ФЗ: no user IP leak to Google). */
@import url("fonts.css?v=20057");

/* =========================
   RESET + TOKENS
   ========================= */
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	/* colors */
	--bg-primary: #0a0e13;
	--bg-secondary: #0f1419;
	--bg-elevated: #151d26;
	--surface: rgba(255,255,255,.06);

	--accent: #ef4444;
	--accent-2: #A32632;
	--accent-3: #E0B24F;

	--text: #f1f5f9;
	--text-2: #cbd5e1;
	--muted: #94a3b8;

	--ok: #10b981;
	--warn: #f59e0b;
	--err: #ef4444;

	--brd: #1e293b;
	--brd-2: #334155;

	--shadow-xl: 0 25px 50px -12px rgba(0,0,0,.85);
	--shadow-lg: 0 15px 35px rgba(0,0,0,.65);
	--shadow-md: 0 8px 20px rgba(0,0,0,.45);

	--radius: 16px;
	--radius-sm: 12px;

	--transition: 280ms cubic-bezier(.4,0,.2,1);
	--spring: none;

	--bn-h: 84px;
	--tg-footer-h: 28px;

	/* Telegram viewport (JS can override tg vars) */
	--tg-vh-stable: var(--tg-viewport-stable-height, 100dvh);
	--tg-vh: var(--tg-viewport-height, 100dvh);
	--app-height: var(--tg-vh-stable);

	/* Telegram safe/content-safe (ONE SOURCE OF TRUTH) */
	--tg-csafe-top:    var(--tg-content-safe-area-inset-top, 0px);
	--tg-csafe-right:  var(--tg-content-safe-area-inset-right, 0px);
	--tg-csafe-bottom: var(--tg-content-safe-area-inset-bottom, 0px);
	--tg-csafe-left:   var(--tg-content-safe-area-inset-left, 0px);

	--tg-ssafe-top:    var(--tg-safe-area-inset-top, env(safe-area-inset-top, 0px));
	--tg-ssafe-right:  var(--tg-safe-area-inset-right, env(safe-area-inset-right, 0px));
	--tg-ssafe-bottom: var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
	--tg-ssafe-left:   var(--tg-safe-area-inset-left, env(safe-area-inset-left, 0px));


	/* aliases */
	--tg-safe-top: var(--safe-t);
	--tg-safe-right: var(--safe-r);
	--tg-safe-bottom: var(--safe-b);
	--tg-safe-left: var(--safe-l);

	/* modal max height by tg viewport + safe area */
	--app-modal-max-h: calc(var(--tg-vh-stable) - var(--safe-t) - var(--safe-b) - 16px);

	/* entry gate palette */
	--cc-eg-bg: rgba(6,10,14,.94);
	--cc-eg-card: #111823;
	--cc-eg-border: rgba(255,255,255,.08);
	--cc-eg-muted: #9fb0c3;

	--cc-eg-glow-1: rgba(163,38,50,.22);
	--cc-eg-glow-2: rgba(239,68,68,.16);
	--cc-eg-glow-3: rgba(240,75,55,.10);
	--cc-eg-card-bg: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
	--cc-eg-card-brd: rgba(148,163,184,.18);
	--cc-eg-card-brd-strong: rgba(148,163,184,.26);
	--cc-eg-shadow: 0 18px 44px rgba(0,0,0,.34);
	--cc-eg-shadow-soft: 0 10px 26px rgba(0,0,0,.22);
	--cc-eg-radius: 18px;
	--cc-eg-radius-sm: 14px;
}
:root{
	--safe-t: env(safe-area-inset-top, 0px);
	--safe-r: env(safe-area-inset-right, 0px);
	--safe-b: env(safe-area-inset-bottom, 0px);
	--safe-l: env(safe-area-inset-left, 0px);
}
/* =========================
   BASE / SCROLL MODEL
   ========================= */
html {
	scroll-behavior: smooth;
	height: 100%;
	min-height: 100%;
	overflow-x: hidden !important;
}

body {
	height: 100%;
	min-height: 100%;
	margin: 0;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-y: none;
	color: var(--text);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Roboto, sans-serif;
	background:
			radial-gradient(ellipse 1400px 900px at 85% -10%, rgba(163,38,50,.14), transparent 65%),
			radial-gradient(ellipse 1200px 800px at -15% 40%, rgba(224,178,79,.10), transparent 60%),
			linear-gradient(180deg, #0a0e13 0%, #0f1419 50%, #0a0e13 100%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#app, .app, .root {
	min-height: 100%;
	overflow: visible !important;
}

/* locks */
html.tg-lock, body.tg-lock,
body.modal-open,
body.cc-modal-open,
body.cc-gate-open {
	overscroll-behavior: none;
}

body.modal-open,
body.cc-modal-open,
html.tg-lock, body.tg-lock {
	overflow: hidden !important;
	height: var(--tg-vh-stable);
	touch-action: none;
}

/* =========================
   LINKS
   ========================= */
a {
	color: #A7AFBB;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	position: relative;
	transition: color var(--transition), border-color var(--transition);
}
a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 1px;
	background: linear-gradient(90deg, #A7AFBB, #A32632);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--transition);
}
a:hover { color: #fff; }
a:hover::after { transform: scaleX(1); }
a:focus-visible {
	outline: 2px solid #A32632;
	outline-offset: 3px;
	border-radius: 4px;
}

/* =========================
   LAYOUT
   ========================= */
.container {
	width: min(100%, 820px);
	margin: 0 auto;
	padding-left: max(16px, var(--safe-l));
	padding-right: max(16px, var(--safe-r));
}

.list-pad {
	padding-inline: 6px;
}
.list-pad {
	margin-top: 0 !important;
	padding-top: 14px;
}

main.list-pad {
	padding-bottom: calc(var(--bn-h, 84px) + var(--safe-b) + 12px);
}



.header-inner {
	position: relative;
	width: min(100%, 820px);
	margin: 0 auto;
	padding-left: max(16px, var(--safe-l));
	padding-right: max(16px, var(--safe-r));
}

.brand {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: clamp(20px, 2.4rem, 26px);
	font-weight: 800;
	letter-spacing: -.02em;
	color: #ffffff;
	text-shadow: 0 2px 12px rgba(0,0,0,0.3);
	animation: fadeInUp .6s var(--spring) .1s backwards;
}
.brand i {
	font-size: 1.15em;
	color: #f59e0b;
	filter: drop-shadow(0 2px 8px rgba(245, 158, 11, 0.4));
	animation: float 3s ease-in-out infinite;
}
.subtitle {
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 13.5px;
	font-weight: 500;
	letter-spacing: 0.01em;
	animation: fadeInUp .6s var(--spring) .2s backwards;
}

/* Header top-right actions */
.header-actions {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	gap: 10px;
	z-index: 5;
}
.icon-btn {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.10);
	color: rgba(255,255,255,.92);
	box-shadow: 0 10px 26px rgba(0,0,0,.25);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	cursor: pointer;
	transition: transform .12s ease, background .12s ease;
}
.icon-btn:active { transform: scale(.98); }
.icon-btn i { font-size: 20px; }
.icon-btn--with-text {
	width: auto;
	padding: 0 14px;
	gap: 10px;
}
.icon-btn--with-text span {
	font-weight: 900;
	font-size: 14px;
	color: rgba(255,255,255,.92);
	white-space: nowrap;
}

/* =========================
   TABS / SCREENS
   ========================= */
.nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 14px 2px 10px;
	animation: fadeInUp .6s var(--spring) .3s backwards;
}
.nav-tab {
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	padding: 11px 16px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
	border: 1px solid var(--brd-2);
	color: var(--text-2);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
}
.nav-tab::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(239,68,68,.15), rgba(163,38,50,.15));
	opacity: 0;
	transition: opacity var(--transition);
}
.nav-tab i {
	font-size: 20px;
	opacity: .9;
	transition: transform var(--transition);
}
.nav-tab:hover {
	color: #fff;
	border-color: #3b4b66;
	transform: translateY(-2px);
	box-shadow: 0 8px 16px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
}
.nav-tab:hover i { transform: scale(1.1); }
.nav-tab.active {
	color: #fff;
	background: linear-gradient(135deg, rgba(239,68,68,.25), rgba(163,38,50,.2));
	border-color: rgba(239,68,68,.5);
	box-shadow: 0 12px 28px rgba(239,68,68,.18), inset 0 1px 0 rgba(255,255,255,.1);
	transform: translateY(-1px);
}
.nav-tab.active::before { opacity: 1; }

.screen {
	display: none;
	animation: screenFadeIn .4s var(--spring);
}
.screen.active { display: block; }

/* =========================
   TYPOGRAPHY / COMMON BLOCKS
   ========================= */
.section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 16px 0 14px 6px;
	font-size: clamp(20px, 2.6vw, 22px);
	font-weight: 900;
	letter-spacing: -.4px;
	color: #fff;
	animation: fadeInUp .5s var(--spring);
}
.section-title i {
	font-size: 22px;
	background: linear-gradient(135deg, #ef4444, #A32632);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}

/* =========================
   CARDS
   ========================= */
.card {
	position: relative;
	overflow: hidden;
	margin: 15px 0 14px;
	padding: 20px;
	border-radius: var(--radius);
	border: 1px solid var(--brd);
	background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
	animation: cardSlideIn .5s var(--spring) backwards;
}
.card::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(600px 400px at var(--mx,50%) var(--my,50%), rgba(163,38,50,.12), transparent 70%);
	opacity: 0;
	transition: opacity var(--transition);
}
.card:hover {
	border-color: rgba(198,31,50,.28);
	box-shadow: 0 16px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08);
	transform: translateY(-3px);
}
.card:hover::before { opacity: 1; }

.card-quiet {
	animation: fadeInSoft .25s var(--spring) both;
	transform: none !important;
}
.card-quiet:hover {
	transform: none !important;
	border-color: var(--brd);
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
}

.tournament-card {
	cursor: pointer;
	transform-style: preserve-3d;
	transition: all var(--spring);
}
.tournament-card::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(163,38,50,.6), transparent);
	transform: translateX(-100%);
	transition: transform .6s ease;
}
.tournament-card:hover::after { transform: translateX(100%); }
@media (hover:hover) and (pointer:fine) {
	.tournament-card:hover {
		transform: translateY(-4px) perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));
	}
}

.tournament-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
}
.tournament-title {
	font-size: clamp(17px, 2.3vw, 19px);
	font-weight: 900;
	letter-spacing: -.3px;
	background: linear-gradient(135deg,#fff,#cbd5e1);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}
.tournament-date {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	font-size: 13px;
	color: var(--text-2);
	font-weight: 600;
}

.status-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 10px;
	border: 1px solid;
	background: rgba(255,255,255,.04);
	box-shadow: 0 4px 12px rgba(0,0,0,.2);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .6px;
	animation: badgePulse 2s ease-in-out infinite;
}
.status-badge i { font-size: 15px; }
.status-upcoming {
	color: var(--ok);
	border-color: rgba(16,185,129,.4);
	background: linear-gradient(135deg, rgba(16,185,129,.15), rgba(16,185,129,.08));
}
.status-full {
	color: var(--warn);
	border-color: rgba(245,158,11,.4);
	background: linear-gradient(135deg, rgba(245,158,11,.15), rgba(245,158,11,.08));
}

.tournament-info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 14px 0;
}
.info-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 12px;
	border-radius: 10px;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(255,255,255,.05);
	transition: all var(--transition);
}
.info-item:hover {
	background: rgba(255,255,255,.05);
	border-color: rgba(163,38,50,.3);
	transform: translateY(-2px);
}
.info-label {
	font-size: 11px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .4px;
	font-weight: 800;
}
.info-value {
	font-size: 16px;
	font-weight: 900;
	background: linear-gradient(135deg,#fff,#cbd5e1);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}

/* Card action buttons */
.card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.card-actions .btn { flex: 1 1 50%; }

.tournament-card .card-actions .btn {
	min-height: 44px !important;
	height: 44px;
	padding: 0 14px !important;
	border-radius: 14px !important;
	font-size: 14px !important;
	font-weight: 900;
	letter-spacing: .2px;
	box-shadow: none !important;
	transform: none;
	position: relative;
	overflow: hidden;
	-webkit-tap-highlight-color: rgba(163,38,50,.18);
	touch-action: manipulation;
}
.tournament-card .card-actions .btn:active {
	transform: translateY(1px) scale(.985);
	filter: brightness(1.06);
}
@media (hover:hover) and (pointer:fine) {
	.tournament-card .card-actions .btn:hover { filter: brightness(1.06); }
}

.tournament-card .card-actions .btn:not(.btn-secondary),
.tournament-card .card-actions .btn.btn-danger {
	border: 0 !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.10),
			0 10px 26px rgba(163,38,50,.22) !important;
	background:
			radial-gradient(140px 70px at 18% 28%, rgba(255,255,255,.14), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.95), rgba(163,38,50,.92)) !important;
	background-clip: padding-box;
}
.tournament-card .card-actions .btn.btn-secondary {
	background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
	border: 1px solid rgba(148,163,184,.28) !important;
	color: #e5e7eb !important;
}

/* Waitlist CTA (card) */
.tournament-card .btn.btn-full { flex: 0 0 100%; width: 100%; }

.tournament-card .cta-lead {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 10px 0;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.16);
	color: rgba(226,232,240,.92);
	font-size: 12.5px;
	line-height: 1.35 !important;
	font-weight: 700;
	text-align: left !important;
}
.tournament-card .cta-lead b { color: #fff; }
.tournament-card .cta-lead .cta-lead-text { flex: 1 1 auto; min-width: 0; }

.tournament-card .cta-dot,
#tournament-modal .tm-cta-dot {
	width: 10px;
	height: 10px;
	margin-top: 4px;
	border-radius: 999px;
	flex: 0 0 auto;
	background: #fbbf24;
	box-shadow: 0 0 0 0 rgba(245,158,11,.45);
	animation: ctaDot 1.2s ease-in-out infinite;
}

.tournament-card .btn.btn-waitlist-cta {
	height: 54px !important;
	padding: 0 14px !important;
	border-radius: 16px !important;
	display: flex;
	align-items: center;
	gap: 10px;
	position: relative;
	overflow: hidden;
	background:
			radial-gradient(220px 110px at 18% 28%, rgba(255,255,255,.14) 0%, transparent 62%),
			linear-gradient(135deg, rgba(245,158,11,.98) 0%, rgba(239,68,68,.94) 46%, rgba(163,38,50,.93) 100%) !important;
	border: 0 !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.08),
			0 6px 14px rgba(245,158,11,.10),
			0 5px 12px rgba(163,38,50,.12) !important;
}
.tournament-card .btn.btn-waitlist-cta::before {
	content: "";
	position: absolute;
	top: -70%;
	left: -80%;
	width: 70%;
	height: 260%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
	transform: rotate(18deg);
	opacity: 0;
	pointer-events: none;
}
@media (pointer:coarse) {
	.tournament-card .btn.btn-waitlist-cta::before {
		opacity: 1;
		animation: tmSheen 3.6s ease-in-out infinite;
	}
}
.tournament-card .btn.btn-waitlist-cta .cta-ic {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.18);
	border: 1px solid rgba(255,255,255,.12);
}
.tournament-card .btn.btn-waitlist-cta .cta-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.05;
}
.tournament-card .btn.btn-waitlist-cta .cta-main {
	font-size: 15px;
	font-weight: 900;
}
.tournament-card .btn.btn-waitlist-cta .cta-sub {
	font-size: 12px;
	font-weight: 800;
	opacity: .9;
}
.tournament-card .btn.btn-waitlist-cta .cta-arr {
	margin-left: auto;
	opacity: .95;
	animation: ctaNudge 1.25s ease-in-out infinite;
}

.tournament-card .cta-micro,
.cta-micro {
	margin-top: 8px;
	padding: 0 2px;
	font-size: 12px;
	line-height: 1.35;
	color: rgba(203,213,225,.78);
	font-weight: 700;
}
.tournament-card .cta-micro-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.tournament-card .cta-micro-row span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	opacity: .92;
}
.tournament-card .cta-link {
	margin-left: auto;
	font-weight: 900;
	color: rgba(167,175,187,.92);
}

/* =========================
   PROGRESS (final unified version)
   ========================= */
.progress {
	height: 12px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,.06);
	border: 1px solid var(--brd-2);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.progress > span {
	display: block;
	height: 100%;
	position: relative;
	background: linear-gradient(90deg, #A32632, #ef4444);
	transition: width .6s var(--spring);
	animation: none !important;
	background-size: auto !important;
}
.progress > span::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
			repeating-linear-gradient(
					135deg,
					rgba(255,255,255,.18) 0 8px,
					rgba(255,255,255,0) 8px 16px
			);
	mix-blend-mode: soft-light;
	background-size: 32px 32px;
	animation: ccStripes 1.8s linear infinite !important;
}
.progress > span::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -60px;
	width: 60px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
	filter: blur(2px);
	animation: ccSweep 2.6s ease-in-out infinite;
}

/* =========================
   BUTTONS (GLOBAL)
   ========================= */
.btn {
	width: 100%;
	padding: 15px 18px;
	border: none;
	border-radius: 12px;
	color: #fff;
	font-weight: 900;
	letter-spacing: .3px;
	font-size: 15px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(135deg,#ef4444 0%,#A32632 100%);
	box-shadow: 0 12px 32px rgba(163,38,50,.35), inset 0 1px 0 rgba(255,255,255,.15);
	transition: all var(--transition);
}
.btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,.2), transparent);
	opacity: 0;
	transition: opacity var(--transition);
}
.btn:hover {
	transform: translateY(-2px) scale(1.01);
	box-shadow: 0 16px 42px rgba(163,38,50,.45), inset 0 1px 0 rgba(255,255,255,.2);
}
.btn:hover::before { opacity: 1; }
.btn:active {
	transform: translateY(0) scale(.98);
	box-shadow: 0 8px 20px rgba(163,38,50,.3);
}
.btn[disabled] {
	opacity: .5;
	cursor: not-allowed;
	transform: none !important;
}
.btn::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at var(--rx,50%) var(--ry,50%), rgba(255,255,255,.3), transparent 60%);
	opacity: 0;
	transition: opacity .5s ease;
}
.btn.rippling::after {
	opacity: 1;
	animation: ripple .6s ease-out;
}
.btn-secondary {
	background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.24));
	border: 1px solid var(--brd-2);
	color: #cbd5e1;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.btn-secondary:hover {
	border-color: rgba(198,31,50,.2);
	color: #fff;
	background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
}
.btn-danger {
	background: linear-gradient(135deg,#dc2626,#ef4444);
	box-shadow: 0 12px 32px rgba(220,38,38,.35);
}

/* =========================
   LISTS / STATS / HISTORY / PROFILE
   ========================= */
.ul-clean {
	padding-left: 20px;
	margin: 10px 0;
	color: var(--text-2);
	line-height: 1.7;
}
.ul-clean li {
	margin: 6px 0;
	transition: transform var(--transition), color var(--transition);
}
.ul-clean li:hover {
	transform: translateX(4px);
	color: var(--text);
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin: 0 0 14px;
}
@media (min-width: 560px) {
	.stats-grid { grid-template-columns: repeat(4, 1fr); }
}

.stat-card {
	background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
	padding: 18px;
	border-radius: 12px;
	text-align: center;
	border: 1px solid var(--brd);
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
	animation: cardSlideIn .5s var(--spring) backwards;
}
.stat-card:hover {
	transform: translateY(-4px) scale(1.02);
	border-color: rgba(163,38,50,.4);
	box-shadow: 0 16px 40px rgba(0,0,0,.5);
}
.stat-value {
	font-size: clamp(24px, 6vw, 32px);
	font-weight: 900;
	margin-bottom: 6px;
	background: linear-gradient(135deg,#ef4444,#A32632);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}
.stat-label {
	font-size: 12px;
	color: var(--muted);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.game-history-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	margin: 0 0 12px;
	border-radius: 12px;
	border: 1px solid var(--brd);
	background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
	transition: all var(--transition);
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
	animation: cardSlideIn .5s var(--spring) backwards;
}
.game-history-item:hover {
	transform: translateX(4px);
	border-color: rgba(163,38,50,.4);
	box-shadow: 0 8px 24px rgba(0,0,0,.4);
}
.game-position {
	font-size: 26px;
	font-weight: 900;
	background: linear-gradient(135deg,#ef4444,#A32632);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}

.user-profile {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px;
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
	border-radius: 14px;
	border: 1px solid var(--brd);
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.08);
}
.user-avatar {
	width: 60px;
	height: 60px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 900;
	color: #fff;
	background: linear-gradient(135deg,#ef4444,#A32632);
	box-shadow: 0 8px 24px rgba(163,38,50,.4), inset 0 2px 8px rgba(255,255,255,.2);
	animation: float 3s ease-in-out infinite;
}

/* participants (global / cards / modals legacy) */
.participants-list {
	max-height: 320px;
	overflow: auto;
	padding-right: 6px;
}
.participant-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	margin-bottom: 10px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
	border: 1px solid var(--brd);
	font-size: 14px;
	transition: all var(--transition);
}
.participant-item:hover {
	transform: translateX(4px);
	border-color: rgba(163,38,50,.3);
}
.participant-item.current-user {
	border-color: #A32632;
	background: linear-gradient(135deg, rgba(163,38,50,.15), rgba(163,38,50,.08));
	box-shadow: 0 4px 12px rgba(163,38,50,.2);
}
.participant-item span {
	font-size: 14px;
	color: rgba(255,255,255,.9);
}
.participant-item.current-user span {
	color: #fff;
	font-weight: 500;
}
.waitlist-badge {
	background: rgba(245,158,11,.2);
	color: #fbbf24;
	border: 1px solid rgba(245,158,11,.4);
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .5px;
}

.detail-section {
	margin: 14px 0;
	position: relative;
}
.detail-section h4 {
	font-size: 12px;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: .6px;
	margin: 0 0 8px;
	font-weight: 900;
}
.detail-section p {
	margin: 0;
	color: var(--text-2);
	line-height: 1.7;
	font-size: 14px;
}
.detail-section strong {
	color: #fff;
	font-weight: 700;
}

/* =========================
   FORMS / FIELDS
   ========================= */
.field {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
	outline: 1px solid rgba(255,255,255,.1);
	outline-offset: -1px;
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
}
.field:focus-within {
	outline-color: rgba(163,38,50,.6);
	box-shadow: 0 0 0 4px rgba(163,38,50,.15), var(--shadow-lg);
	transform: translateY(-1px);
}
.field i {
	font-size: 20px;
	color: #cbd5e1;
	flex: 0 0 auto;
}
.field input[type="text"],
.field input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	appearance: none;
	border: none;
	outline: none;
	height: 44px;
	padding: 0 14px;
	border-radius: 10px;
	color: #f1f5f9;
	background: rgba(255,255,255,.06);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
	font-size: 14px;
	font-weight: 500;
	transition: all var(--transition);
}
.field input:hover {
	box-shadow: inset 0 0 0 1px rgba(167,175,187,.3);
}
.field input:focus {
	background: rgba(255,255,255,.1);
	box-shadow: inset 0 0 0 2px rgba(163,38,50,.5);
}
.field input::placeholder { color: #64748b; }
.field input:not(:placeholder-shown) {
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.15);
}
.field.input-ok input {
	box-shadow: inset 0 0 0 1px rgba(16,185,129,.5);
}
.field.input-err input {
	box-shadow: inset 0 0 0 1px rgba(239,68,68,.6);
}

.field input[type="checkbox"] {
	appearance: none;
	width: 22px;
	height: 22px;
	margin: 0;
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
	border-radius: 7px;
	border: 1px solid rgba(255,255,255,.3);
	background: rgba(255,255,255,.06);
	transition: all var(--transition);
}
.field input[type="checkbox"]:hover {
	border-color: rgba(163,38,50,.5);
	background: rgba(255,255,255,.1);
}
.field input[type="checkbox"]:checked {
	border-color: rgba(163,38,50,.7);
	background: linear-gradient(135deg,#ef4444,#A32632);
	box-shadow: 0 0 12px rgba(163,38,50,.4);
}
.field input[type="checkbox"]:checked::after {
	content: "✔";
	position: absolute;
	left: 4px;
	top: -2px;
	color: #fff;
	font-size: 15px;
	font-weight: 900;
}

#save-nick-btn {
	flex: 0 0 auto;
	height: 44px;
	padding: 0 16px !important;
	border-radius: 10px;
	white-space: nowrap;
}

.hint {
	margin-top: 10px;
	color: #94a3b8;
	font-size: 12px;
	line-height: 1.6;
	font-weight: 500;
}

@media (max-width: 420px) {
	.field { flex-wrap: wrap; }
	#save-nick-btn { width: 100%; }
}

/* =========================
   FAQ
   ========================= */
details.faq {
	margin: 12px 0;
	padding: 14px;
	border-radius: 12px;
	border: 1px solid var(--brd);
	background: rgba(255,255,255,.04);
	transition: all var(--transition);
}
details.faq:hover {
	border-color: rgba(163,38,50,.3);
	background: rgba(255,255,255,.06);
}
details.faq summary {
	cursor: pointer;
	user-select: none;
	padding: 4px;
	font-weight: 700;
	color: var(--text);
	transition: color var(--transition);
}
details.faq summary:hover { color: #A32632; }
details.faq[open] summary {
	color: #A32632;
	margin-bottom: 10px;
}
details.faq p {
	color: var(--text-2);
	line-height: 1.6;
	margin: 0;
}

/* =========================
   CONTACT / SETTINGS / MAP
   ========================= */
.contact-item,
.settings-item {
	margin: 12px 0;
	padding: 18px;
	border-radius: 12px;
	border: 1px solid var(--brd);
	background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
	box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
}
.contact-item:hover,
.settings-item:hover {
	transform: translateY(-2px);
	border-color: rgba(163,38,50,.3);
	box-shadow: 0 12px 32px rgba(0,0,0,.5);
}
.contact-item .terms-note {
	margin: 10px 0 0;
	padding-top: 8px;
	border-top: 1px solid rgba(255,255,255,.06);
	font-size: 11px;
	line-height: 1.45;
	color: rgba(255,255,255,.6);
}
.contact-item .terms-note strong { font-weight: 600; }

.map-links {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 10px;
}
.map-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: 10px;
	text-decoration: none;
	font-weight: 900;
	font-size: 13px;
	color: #dbeafe;
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
	border: 1px solid var(--brd-2);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	transition: all var(--transition);
}
.map-btn i { font-size: 18px; }
.map-btn:hover {
	border-color: rgba(163,38,50,.4);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,.4);
	background: linear-gradient(135deg, rgba(163,38,50,.2), rgba(163,38,50,.1));
}
.map-btn:hover::after { display: none; }

/* =========================
   EMPTY / LOADING / SKELETON
   ========================= */
.empty-state {
	text-align: center;
	padding: 64px 10px;
	color: var(--muted);
	animation: fadeInUp .5s var(--spring);
}
.empty-state-icon {
	font-size: 58px;
	opacity: .6;
	margin-bottom: 12px;
}

.loading {
	padding: 28px 10px;
	text-align: center;
	color: var(--text-2);
	animation: pulse 1.5s ease-in-out infinite;
}

.skeleton-card {
	height: 154px;
	margin: 0 0 14px;
	border-radius: var(--radius);
	position: relative;
	overflow: hidden;
	border: 1px solid var(--brd);
	background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.skeleton-card::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
	animation: skeletonShimmer 1.5s infinite;
}

/* =========================
   TOASTS (final unified)
   ========================= */
#toast-root {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10000;
	width: min(94%, 540px);
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
	z-index: 1000000;
}

.cc-toast {
	--accent-toast: #93a2b8;
	pointer-events: auto;
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 12px 14px;
	border-radius: 12px;
	color: #e5e7eb;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(148,163,184,.24);
	box-shadow: var(--shadow-lg);
	transform: translateY(8px);
	opacity: 0;
	transition: transform .15s ease, opacity .15s ease, filter .15s ease;
}
.cc-toast.enter {
	transform: translateY(0);
	opacity: 1;
}
.cc-toast.exit {
	transform: translateY(6px);
	opacity: 0;
	filter: blur(1px);
}
.cc-toast .ic {
	font-size: 18px;
	line-height: 1;
	opacity: .95;
	color: var(--accent-toast);
}
.cc-toast .body {
	flex: 1;
	font-size: 14px;
	line-height: 1.55;
}
.cc-toast .title {
	font-weight: 800;
	margin-bottom: 2px;
}
.cc-toast .x {
	margin-left: 6px;
	border: none;
	background: transparent;
	color: #9aa4b2;
	font-size: 18px;
	padding: 2px;
	border-radius: 8px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.cc-toast .x:hover {
	color: #fff;
	background: rgba(255,255,255,.08);
}
.cc-toast .bar {
	height: 3px;
	margin-top: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(148,163,184,.20);
}
.cc-toast .bar > span {
	display: block;
	height: 100%;
	width: 100%;
	background: var(--accent-toast);
	transition: width linear var(--dur, 3.5s);
}

.cc-toast.info {
	--accent-toast: #93a2b8;
	background: rgba(148,163,184,.10);
	border-color: rgba(148,163,184,.26);
}
.cc-toast.ok {
	--accent-toast: #E0B24F;
	background: rgba(163,38,50,.14);
	border-color: rgba(163,38,50,.40);
}
.cc-toast.warn {
	--accent-toast: #f59e0b;
	background: rgba(245,158,11,.12);
	border-color: rgba(245,158,11,.35);
}
.cc-toast.err {
	--accent-toast: #f87171;
	background: rgba(239,68,68,.14);
	border-color: rgba(239,68,68,.40);
}

/* legacy notice styles (leave for backward compatibility) */
.notice {
	position: relative;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid var(--brd);
	background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
	box-shadow: var(--shadow-lg);
	color: var(--text);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	animation: toastSlideIn .4s var(--spring);
}
.notice-icon { font-size: 22px; line-height: 1.2; margin-top: 2px; opacity: .95; }
.notice-body { flex: 1; font-size: 14px; line-height: 1.6; }
.notice-title { font-weight: 900; margin-bottom: 6px; font-size: 15px; }
.notice-close {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: 5px;
	background: transparent;
	border: none;
	color: #94a3b8;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	border-radius: 8px;
	transition: all var(--transition);
}
.notice-close:hover {
	color: #fff;
	background: rgba(255,255,255,.1);
	transform: rotate(90deg);
}
.notice.ok {
	border-color: rgba(16,185,129,.45);
	background: linear-gradient(135deg, rgba(16,185,129,.15), rgba(16,185,129,.08));
}
.notice.warn {
	border-color: rgba(245,158,11,.45);
	background: linear-gradient(135deg, rgba(245,158,11,.15), rgba(245,158,11,.08));
}
.notice.err {
	border-color: rgba(239,68,68,.45);
	background: linear-gradient(135deg, rgba(239,68,68,.15), rgba(239,68,68,.08));
}
.notice-progress {
	height: 4px;
	margin-top: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(0,0,0,.3);
	border: 1px solid rgba(255,255,255,.1);
}
.notice-progress::after {
	content: "";
	display: block;
	height: 100%;
	background: linear-gradient(90deg,#ef4444,#A32632,#E0B24F);
	background-size: 200% 100%;
	animation: progressFlow 2.5s linear infinite;
}

/* =========================
   BOTTOM NAV
   ========================= */
.bottom-nav {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9998;
	padding-top: 10px;
	padding-bottom: calc(10px + var(--safe-b)) !important;
	padding-left: max(12px, var(--safe-l)) !important;
	padding-right: max(12px, var(--safe-r)) !important;
	background: linear-gradient(135deg, rgba(10,14,19,.96), rgba(15,20,25,.96));
	border-top: 1px solid var(--brd);
	box-shadow: 0 -8px 32px rgba(0,0,0,.6);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
}
.bottom-nav .nav-row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 10px;
}
.bn-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 60px;
	border-radius: 14px;
	border: 1px solid var(--brd-2);
	background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
	color: var(--text-2);
	font-weight: 800;
	font-size: 12px;
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;

	/* no jump press */
	transform: none !important;
	transition: background-color .14s ease, color .14s ease, border-color .14s ease, opacity .14s ease, box-shadow .14s ease;
}
.bn-item i {
	font-size: 22px;
	opacity: .9;
	transition: transform var(--transition);
}
.bn-item:hover {
	border-color: #3b4b66;
	color: #fff;
	transform: none !important;
	box-shadow: 0 6px 14px rgba(0,0,0,.28);
}
.bn-item:hover i { transform: scale(1.15); }
.bn-item:active { transform: none !important; }
.bn-item.active {
	color: #fff;
	background: linear-gradient(135deg, rgba(239,68,68,.25), rgba(163,38,50,.2));
	border-color: rgba(163,38,50,.5);
	box-shadow: 0 10px 26px rgba(163,38,50,.25), inset 0 1px 0 rgba(255,255,255,.1);
	animation: none !important;
}
.bn-item.active .bn-icon i {
	transform: scale(1.12);
	transition: transform .25s cubic-bezier(.34,1.56,.64,1);
}
.bn-item::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14px;
	pointer-events: none;
	opacity: 0;
	background: radial-gradient(140px 140px at var(--bx,50%) var(--by,50%), rgba(167,175,187,.20), transparent 70%);
	transition: opacity .22s ease;
}
.bn-item.is-pressing::after {
	opacity: 1;
	transition-duration: .08s;
}

/* Coach/onboarding bottom nav target visibility */
.bottom-nav:has(.coach-target),
.bottom-nav:has(.tour-target),
.bottom-nav:has(.onboarding-target),
.bottom-nav:has(.is-tour-target),
.bottom-nav:has(.is-coach-target),
.bottom-nav.tour-elevated,
.bottom-nav.coach-elevated {
	z-index: 10020 !important;
}

.bottom-nav .bn-item.coach-target,
.bottom-nav .bn-item.tour-target,
.bottom-nav .bn-item.onboarding-target,
.bottom-nav .bn-item.is-tour-target,
.bottom-nav .bn-item.is-coach-target {
	position: relative !important;
	z-index: 10021 !important;
	opacity: 1 !important;
	filter: none !important;
	color: #fff !important;
	border-color: rgba(240,199,102,.70) !important;
	background:
			radial-gradient(120px 70px at 20% 20%, rgba(255,255,255,.12), transparent 60%),
			linear-gradient(135deg, rgba(239,68,68,.25), rgba(163,38,50,.22)) !important;
	box-shadow:
			0 0 0 1px rgba(255,255,255,.08),
			0 0 0 6px rgba(163,38,50,.14),
			0 12px 28px rgba(0,0,0,.45) !important;
}
.bottom-nav .bn-item.coach-target i,
.bottom-nav .bn-item.tour-target i,
.bottom-nav .bn-item.onboarding-target i,
.bottom-nav .bn-item.is-tour-target i,
.bottom-nav .bn-item.is-coach-target i {
	color: #fff !important;
	opacity: 1 !important;
	transform: none !important;
}
.bottom-nav .bn-item.coach-target::before,
.bottom-nav .bn-item.tour-target::before,
.bottom-nav .bn-item.onboarding-target::before,
.bottom-nav .bn-item.is-tour-target::before,
.bottom-nav .bn-item.is-coach-target::before {
	content: "";
	position: absolute;
	inset: -6px;
	border-radius: 18px;
	border: 2px solid rgba(240,199,102,.55);
	box-shadow: 0 0 24px rgba(163,38,50,.35);
	pointer-events: none;
	animation: coachTargetPulse 1.15s ease-in-out infinite;
}

/* =========================
   MODALS (generic base)
   ========================= */
.modal,
#tournament-modal.modal {
	position: fixed !important;
	inset: 0 !important;
	display: none !important;
	place-items: center !important;
	z-index: 9999 !important;
	width: 100%;
	height: var(--tg-vh, 100dvh) !important;
	/* min-height: var(--tg-vh, 100dvh) !important; */
	padding-top: calc(10px + var(--safe-t));
	padding-right: calc(10px + var(--safe-r));
	padding-bottom: calc(10px + var(--safe-b));
	padding-left: calc(10px + var(--safe-l));
	background: rgba(0,0,0,.78) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	overscroll-behavior: contain;
}
.modal.active,
#tournament-modal.modal.active {
	display: grid !important;
	/* height: 100px !important; */
	/* overflow: hidden !important; */
	padding-top: calc(var(--safe-t, 0px) + var(--tg-safe-top)) !important;
}

div#tournament-modal {}

.modal-content {
	width: min(100%, 640px) !important;
	max-height: var(--app-modal-max-h) !important;
	margin-top: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;

	border-radius: 16px;
	border: 1px solid rgba(255,255,255,.10);
	background:
			radial-gradient(ellipse 600px 300px at 100% 0%, rgba(163,38,50,.2), transparent 70%),
			linear-gradient(135deg, #0f1419, #151d26 50%, #0f1419 100%);
	box-shadow: var(--shadow-xl);
}
.modal-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--brd);
}
.modal-title {
	font-size: 20px;
	font-weight: 900;
	color: #F4EFE8;
}
.close-btn {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	border: 1px solid var(--brd);
	background: rgba(255,255,255,.04);
	color: #cbd5e1;
	cursor: pointer;
	transition: all var(--transition);
}
.close-btn:hover {
	border-color: #3b4b66;
	color: #fff;
	background: rgba(255,255,255,.08);
	transform: rotate(90deg);
}
#modal-body {
	padding: 12px 18px 18px;
}

/* modal loading/error */
.modal[aria-busy="true"] .modal-content {
	opacity: .96;
	transition: opacity .18s ease;
}
.modal-loading {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 4px;
	color: var(--text-2);
}
.modal-loading .spinner {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 3px solid rgba(255,255,255,.2);
	border-top-color: #A32632;
	animation: ccSpin .8s linear infinite;
}
.modal-error {
	padding: 14px 0;
	color: var(--text-2);
}
.modal-error .btn {
	margin-top: 10px;
	width: auto;
}

/* club-info modal sticky header */
#club-info-modal .modal-content {
	overflow: auto !important;
}
#club-info-modal .modal-header--sticky {
	position: sticky;
	top: 0;
	z-index: 10;
	background: linear-gradient(180deg, rgba(21,29,38,.96), rgb(28 28 28));
	-webkit-backdrop-filter: blur(10px) saturate(140%);
	backdrop-filter: blur(10px) saturate(140%);
	border-bottom: 1px solid rgba(148,163,184,.18);
}

/* other fullscreen overlays safe-area compatibility */
#terms-modal,
#nick-modal,
#confirm-modal,
#club-info-modal,
#rating-info-modal {
	padding-top: calc(10px + var(--safe-t));
	padding-bottom: calc(10px + var(--safe-b));
	padding-left: calc(10px + var(--safe-l));
	padding-right: calc(10px + var(--safe-r));
	box-sizing: border-box;
}

/* =========================
   TOURNAMENT MODAL (final merged)
   supports legacy + tm-neo layout
   ========================= */
#tournament-modal.modal {
	background:
			radial-gradient(1100px 700px at 50% -15%, rgba(163,38,50,.16), transparent 60%),
			radial-gradient(900px 600px at 100% 120%, rgba(224,178,79,.12), transparent 60%),
			rgba(0,0,0,.78) !important;
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
}

/* default tournament modal content */
#tournament-modal .modal-content {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden !important;
	width: min(100%, 640px);
	max-height: var(--app-modal-max-h) !important;
	border-radius: 18px;
	background:
			radial-gradient(700px 280px at 100% 0%, rgba(163,38,50,.20), transparent 65%),
			radial-gradient(700px 320px at 0% 100%, rgba(224,178,79,.16), transparent 60%),
			linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
	border: 1px solid rgba(148,163,184,.18);
	box-shadow: 0 30px 80px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.10);
	animation: ccModalPop .26s cubic-bezier(.34,1.56,.64,1);
}
#tournament-modal .modal-content::before {
	/* content: ""; */
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	pointer-events: none;
	background: conic-gradient(
			from 180deg at 50% 50%,
			rgba(163,38,50,.28),
			rgba(239,68,68,.22),
			rgba(224,178,79,.26),
			rgba(163,38,50,.28)
	);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: .18;
	animation: ccRing 8s linear infinite;
}

/* neo variant compatibility */
#tournament-modal .modal-content.tm-neo {
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(15,19,25,.98), rgba(12,16,21,.96));
	border: 1px solid rgba(148,163,184,.16);
	box-shadow: 0 28px 80px rgba(0,0,0,.65);
}

#tournament-modal .modal-header,
#tournament-modal .tm-head {
	position: sticky;
	top: 0;
	z-index: 5;
	background: linear-gradient(180deg, rgba(21,29,38,.92), rgba(21,29,38,.80));
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(148,163,184,.18);
}

#tournament-modal .modal-header {
	padding: 14px 18px;
}
#tournament-modal .modal-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(163,38,50,.65), rgba(239,68,68,.55), rgba(224,178,79,.6), transparent);
	opacity: .6;
}
#tournament-modal .modal-title {
	margin: 0;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -.2px;
	background: linear-gradient(135deg,#fff,#cbd5e1);
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}
#tournament-modal .close-btn {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(148,163,184,.20);
	color: #d1d5db;
	transition: all .2s;
}
#tournament-modal .close-btn:hover {
	color: #fff;
	background: rgba(255,255,255,.12);
	transform: none;
}

#tournament-modal #modal-body {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	max-height: none !important;
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* legacy tournament detail sections */
#tournament-modal .detail-section {
	margin: 0;
	position: relative;
	padding: 0;
	border-radius: 14px;
	background: none;
	border: none;
}
#tournament-modal .detail-section > div {
	position: relative;
	padding: 12px;
	border-radius: 12px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.18);
	transition: all .25s ease;
}
#tournament-modal .detail-section:hover > div {
	background: rgba(255,255,255,.06);
	border-color: rgba(148,163,184,.22);
}
#tournament-modal .detail-section h4 {
	margin: 0 0 6px;
	font-size: 12px;
	letter-spacing: .4px;
	text-transform: none;
	color: #cbd5e1;
	font-weight: 800;
}
#tournament-modal .detail-section p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #e5e7eb;
	white-space: pre-line;
}
#tournament-modal .detail-section strong {
	color: #fff;
	font-weight: 900;
}
#tournament-modal .detail-section > div > div:first-child {
	flex-shrink: 0;
	border: 1px solid;
}

/* legacy colorful section accents by order */
#tournament-modal .detail-section:nth-child(1) > div > div:first-child { background: linear-gradient(to bottom right, rgba(240,75,55,.2), rgba(142,31,45,.2)); border-color: rgba(167,175,187,.2); }
#tournament-modal .detail-section:nth-child(1) h4 { color: #A7AFBB; }

#tournament-modal .detail-section:nth-child(2) > div > div:first-child { background: linear-gradient(to bottom right, rgba(16,185,129,.2), rgba(5,150,105,.2)); border-color: rgba(52,211,153,.2); }
#tournament-modal .detail-section:nth-child(2) h4 { color: #34d399; }

#tournament-modal .detail-section:nth-child(3) > div > div:first-child { background: linear-gradient(to bottom right, rgba(244,63,94,.2), rgba(225,29,72,.2)); border-color: rgba(251,113,133,.2); }
#tournament-modal .detail-section:nth-child(3) h4 { color: #fb7185; }

#tournament-modal .detail-section:nth-child(4) > div > div:first-child { background: linear-gradient(to bottom right, rgba(249,115,22,.2), rgba(234,88,12,.2)); border-color: rgba(251,146,60,.2); }
#tournament-modal .detail-section:nth-child(4) h4 { color: #fb923c; }

#tournament-modal .detail-section:nth-child(5) > div > div:first-child { background: linear-gradient(to bottom right, rgba(245,158,11,.2), rgba(217,119,6,.2)); border-color: rgba(251,191,36,.2); }
#tournament-modal .detail-section:nth-child(5) h4 { color: #fbbf24; }

#tournament-modal .detail-section:nth-child(6) > div > div:first-child { background: linear-gradient(to bottom right, rgba(163,38,50,.2), rgba(124,58,237,.2)); border-color: rgba(240,199,102,.2); }
#tournament-modal .detail-section:nth-child(6) h4 { color: #E0B24F; }

#tournament-modal .detail-section:nth-child(7) > div > div:first-child { background: linear-gradient(to bottom right, rgba(6,182,212,.2), rgba(8,145,178,.2)); border-color: rgba(34,211,238,.2); }
#tournament-modal .detail-section:nth-child(7) h4 { color: #E0B24F; }

/* participants in tournament modal */
#tournament-modal .participants-list {
	display: grid;
	gap: 8px;
	margin-top: 6px;
	max-height: 44vh;
	overflow: auto;
	padding-right: 2px;
}
#tournament-modal .participant-item {
	padding: 10px 12px;
	margin: 0;
	border-radius: 10px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.18);
}
#tournament-modal .participant-item span {
	font-size: 14px;
	color: #e5e7eb;
}
#tournament-modal .participant-item.current-user {
	background: linear-gradient(135deg, rgba(163,38,50,.22), rgba(163,38,50,.10));
	border-color: rgba(163,38,50,.45);
	box-shadow: 0 6px 20px rgba(163,38,50,.20);
}
#tournament-modal .waitlist-badge {
	font-size: 11px;
	padding: 4px 8px;
	border-radius: 999px;
	color: #fbbf24;
	background: rgba(245,158,11,.12);
	border: 1px solid rgba(245,158,11,.28);
}

/* tournament modal status line */
#tournament-modal #modal-body > p {
	margin: 2px 0 0;
	padding: 10px 12px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	background: linear-gradient(180deg, rgba(16,185,129,.14), rgba(16,185,129,.08));
	border: 1px solid rgba(16,185,129,.35);
	color: #d1fae5;
}

/* fallback sticky CTA if button is last element */
#tournament-modal #modal-body > .btn:last-child {
	position: sticky;
	bottom: 10px;
	z-index: 4;
	min-height: 45px !important;
}

/* tm-neo layout helpers (if JS renders them) */
.tm-head {
	padding: 14px 16px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	align-items: center;
}
.tm-title {
	margin: 0;
	font-weight: 900;
	letter-spacing: -.2px;
	font-size: clamp(18px, 4.6vw, 22px);
	color: #fff;
}
.tm-sub {
	margin-top: 4px;
	color: #cbd5e1;
	font-size: 13px;
	font-weight: 600;
}
.tm-badge {
	justify-self: end;
	align-self: start;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .5px;
	border: 1px solid rgba(16,185,129,.35);
	color: #10b981;
	background: rgba(16,185,129,.14);
}
.tm-badge.full {
	color: #f59e0b;
	background: rgba(245,158,11,.14);
	border-color: rgba(245,158,11,.35);
}

#tournament-modal #modal-body.tm-body {
	padding: 14px;
	display: grid;
	gap: 12px;
}
.tm-meta {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr;
}
.tm-tile {
	border-radius: 12px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.18);
	padding: 12px;
}
.tm-k {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: #93a2b8;
	font-weight: 800;
}
.tm-k i { font-size: 16px; color: #E0B24F; }
.tm-v {
	font-size: 14px;
	color: #e5e7eb;
	line-height: 1.55;
}

.tm-section {
	border-radius: 12px;
	padding: 12px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(148,163,184,.16);
}
.tm-h {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .4px;
	color: #cbd5e1;
}
.tm-p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: #e5e7eb;
}

.tm-list {
	display: grid;
	gap: 8px;
	max-height: 44vh;
	overflow: auto;
	padding-right: 2px;
}
.tm-li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.18);
	font-size: 14px;
	color: #e5e7eb;
}
.tm-li.me {
	background: linear-gradient(135deg, rgba(163,38,50,.24), rgba(163,38,50,.10));
	border-color: rgba(163,38,50,.45);
}
.tm-wait {
	padding: 3px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	color: #fbbf24;
	background: rgba(245,158,11,.12);
	border: 1px solid rgba(245,158,11,.28);
}
.tm-status {
	padding: 10px 12px;
	border-radius: 12px;
	text-align: center;
	font-weight: 800;
	font-size: 14px;
	background: rgba(16,185,129,.14);
	border: 1px solid rgba(16,185,129,.35);
	color: #34d399;
}
.tm-status.warn {
	background: rgba(245,158,11,.14);
	border-color: rgba(245,158,11,.35);
	color: #fbbf24;
}

/* tm CTA block */
#tournament-modal .tm-cta {
	position: relative;
	z-index: 20;
	margin-top: 10px;
	padding: 12px 12px calc(12px + var(--safe-b));
	border-radius: 14px;
	background: rgba(10,14,19,.92);
	border: 1px solid rgba(148,163,184,.22);
	box-shadow: 0 -12px 28px rgba(0,0,0,.45);
}
#tournament-modal .tm-cta::before {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	top: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(163,38,50,.55), rgba(239,68,68,.45), rgba(224,178,79,.45), transparent);
	opacity: .8;
}
#tournament-modal .tm-cta-hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	margin: 10px 0 10px;
	border-radius: 12px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.18);
	color: #e5e7eb;
	font-size: 13px;
	line-height: 1.35 !important;
	font-weight: 700;
	text-align: left !important;
}
#tournament-modal .tm-cta-hint .tm-cta-text {
	flex: 1 1 auto;
	min-width: 0;
}
#tournament-modal .tm-cta-sub {
	margin-top: 4px;
	font-size: 12px;
	color: rgba(203,213,225,.75);
	font-weight: 700;
}
#tournament-modal .tm-cta-note {
	margin-top: 10px;
	font-size: 12px;
	color: rgba(203,213,225,.72);
	font-weight: 700;
	text-align: center;
}
.tm-row {
	display: flex;
	gap: 10px;
}
.tm-row .btn {
	height: 48px;
	min-height: 48px;
	border-radius: 12px;
	font-size: 15px;
}

/* fixed footer for tm-neo if rendered */
#tournament-modal .tm-footer {
	flex: 0 0 auto !important;
	position: relative;
	z-index: 6;
	padding: 10px 14px calc(10px + var(--safe-b)) !important;
	background: linear-gradient(180deg, rgba(15,19,25,0), rgba(15,19,25,.92) 40%, rgba(15,19,25,.96));
	border-top: 1px solid rgba(148,163,184,.22);
}
#tournament-modal .tm-footer .tm-row {
	display: flex;
	gap: 10px;
	min-height: 64px;
	align-items: center;
}
#tournament-modal .tm-footer .btn {
	width: 100%;
	height: 52px;
	min-height: 52px;
	font-size: 15px;
	font-weight: 900;
	border-radius: 12px;
}

/* Waitlist CTA inside tournament modal */
#tournament-modal .btn.btn-waitlist-cta {
	width: 100%;
	height: 56px;
	min-height: 56px;
	padding: 0 46px 0 14px !important; /* room for arrow */
	border-radius: 16px !important;
	display: flex;
	align-items: center;
	justify-content: flex-start !important;
	gap: 10px;
	font-weight: 900;
	font-size: 15px !important;
	position: relative;
	overflow: hidden;
	background:
			radial-gradient(220px 110px at 18% 28%, rgba(255,255,255,.14) 0%, transparent 62%),
			linear-gradient(135deg, rgba(245,158,11,.98) 0%, rgba(239,68,68,.94) 46%, rgba(163,38,50,.93) 100%) !important;
	border: 0 !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.08),
			0 6px 14px rgba(245,158,11,.10),
			0 5px 12px rgba(163,38,50,.12) !important;
}
#tournament-modal .btn.btn-waitlist-cta i {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.18);
	border: 1px solid rgba(255,255,255,.12);
	font-size: 18px;
}
#tournament-modal .btn.btn-waitlist-cta::before {
	content: "";
	position: absolute;
	top: -70%;
	left: -80%;
	width: 70%;
	height: 260%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
	transform: rotate(18deg);
	opacity: 0;
	pointer-events: none;
}
@media (pointer:coarse) {
	#tournament-modal .btn.btn-waitlist-cta::before {
		opacity: 1;
		animation: tmSheen 3.6s ease-in-out infinite;
	}
}
#tournament-modal .btn.btn-waitlist-cta:active {
	transform: scale(.985);
	filter: brightness(1.06);
}

/* =========================
   ENTRY GATE + OFFER (merged premium)
   ========================= */
#cc-entry-gate {
	position: fixed;
	inset: 0;
	z-index: 10100;
	display: block;
	visibility: hidden;
	pointer-events: none;
	opacity: 0;

	background:
			radial-gradient(1100px 520px at 50% -12%, rgba(163,38,50,.12), transparent 58%),
			var(--cc-eg-bg);

	padding-top: 0 !important;
	padding-bottom: calc(var(--tg-pad-bottom, 14px) + var(--safe-b));
	padding-left: calc(var(--tg-pad-left, 12px) + var(--safe-l));
	padding-right: calc(var(--tg-pad-right, 12px) + var(--safe-r));

	transition: opacity .24s ease, visibility .24s step-end;
}
#cc-entry-gate.active {
	visibility: visible;
	pointer-events: auto;
	opacity: 1;
	transition: opacity .24s ease;
}

.cc-eg-shell {
	position: relative;
	width: min(100%, 920px);
	margin: 0 auto;
	min-height: 100%;
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 12px;
	isolation: isolate;
}
.cc-eg-shell::before {
	content: "";
	position: absolute;
	inset: -24px -12px auto -12px;
	height: 220px;
	z-index: -1;
	pointer-events: none;
	background:
			radial-gradient(420px 140px at 15% 20%, var(--cc-eg-glow-1), transparent 70%),
			radial-gradient(360px 140px at 85% 10%, var(--cc-eg-glow-2), transparent 72%),
			radial-gradient(420px 160px at 50% 100%, var(--cc-eg-glow-3), transparent 70%);
	filter: blur(12px);
	opacity: .9;
}

.cc-eg-head {
	position: relative;
	border-radius: var(--cc-eg-radius);
	border: 1px solid var(--cc-eg-card-brd);
	background:
			radial-gradient(600px 180px at 100% 0%, rgba(163,38,50,.10), transparent 65%),
			radial-gradient(500px 160px at 0% 100%, rgba(224,178,79,.08), transparent 60%),
			linear-gradient(180deg, rgba(17,24,35,.94), rgba(17,24,35,.86));
	box-shadow: var(--cc-eg-shadow);
	padding: 14px 16px;
	-webkit-backdrop-filter: blur(10px) saturate(130%);
	backdrop-filter: blur(10px) saturate(130%);
	overflow: hidden;
}
.cc-eg-head::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
	opacity: .45;
}
.cc-eg-title {
	margin: 0;
	font-size: clamp(18px, 2vw, 20px);
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -.2px;
	color: #fff;
	text-wrap: balance;
}
.cc-eg-sub {
	margin-top: 8px;
	max-width: 78ch;
	color: #b7c5d8 !important;
	font-size: 13px;
	line-height: 1.45;
}

/* steps */
.cc-eg-step {
	display: none;
	min-height: 0;
	flex: 1;
}
.cc-eg-step.active {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 0;
	animation: ccEgStepIn .22s ease;
}

.cc-eg-card {
	position: relative;
	border-radius: var(--cc-eg-radius);
	background: var(--cc-eg-card-bg);
	border: 1px solid var(--cc-eg-card-brd);
	box-shadow: var(--cc-eg-shadow-soft);
	padding: 14px;
	overflow: hidden;
}
.cc-eg-card::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	background:
			radial-gradient(280px 120px at 0% 0%, rgba(163,38,50,.08), transparent 70%),
			radial-gradient(280px 120px at 100% 100%, rgba(224,178,79,.06), transparent 70%);
	opacity: .9;
}

/* inline labels in your existing HTML */
#cc-eg-step-terms .cc-eg-card > div:first-child,
#cc-eg-step-nick .cc-eg-card > div:first-child {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px 0 !important;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(163,38,50,.12);
	border: 1px solid rgba(163,38,50,.28);
	color: #dfd2ff;
	font-size: 12px;
	line-height: 1;
	font-weight: 900 !important;
	letter-spacing: .35px;
	text-transform: uppercase;
}
#cc-eg-step-terms .cc-eg-card > div:nth-child(2),
#cc-eg-step-nick .cc-eg-card > div:nth-child(2) {
	color: #b7c5d8 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	margin-top: 2px;
}

/* offer */
.cc-offer-wrap {
	position: relative;
	min-height: 0;
	flex: 1 1 auto;
	display: grid;
	grid-template-rows: auto minmax(0,1fr) auto;
	border-radius: var(--cc-eg-radius);
	border: 1px solid var(--cc-eg-card-brd);
	background:
			radial-gradient(500px 220px at 100% 0%, rgba(163,38,50,.08), transparent 70%),
			radial-gradient(500px 220px at 0% 100%, rgba(224,178,79,.06), transparent 70%),
			linear-gradient(180deg, rgba(13,20,29,.92), rgba(13,20,29,.98));
	box-shadow: var(--cc-eg-shadow);
	overflow: hidden;
}
.cc-offer-toolbar {
	position: sticky;
	top: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(17,24,35,.92), rgba(17,24,35,.84));
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.cc-offer-toolbar .meta {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #9fb0c3;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 600;
}

.cc-offer-scroll {
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	padding: 12px;
	scroll-padding-bottom: 96px;
	background: linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
	line-height: 1.62;
	font-size: 14px;
	color: #eaf1fb;
}
.cc-offer-scroll .cc-doc-prose {
	position: relative;
	border-radius: 14px;
	padding: 14px;
	border: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.cc-offer-scroll h1,
.cc-offer-scroll h2,
.cc-offer-scroll h3,
.cc-offer-scroll h4 {
	margin: 14px 0 8px;
	line-height: 1.25;
	font-weight: 900;
	color: #fff;
}
.cc-offer-scroll h1 {
	font-size: 18px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,.07);
}
.cc-offer-scroll h2 { font-size: 16px; }
.cc-offer-scroll h3 { font-size: 15px; }

.cc-offer-scroll .cc-doc-prose p {
	margin: 0 0 10px;
	color: #e8eef7;
	font-size: 14px;
	line-height: 1.62;
	word-break: break-word;
}
.cc-offer-scroll .cc-doc-prose p:first-child {
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(148,163,184,.16);
	color: #fff;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -.15px;
}
.cc-offer-scroll ul,
.cc-offer-scroll ol {
	margin: 0 0 10px 18px;
	padding: 0;
}
.cc-offer-scroll li { margin-bottom: 6px; }
.cc-offer-scroll strong { color: #fff; font-weight: 800; }
.cc-offer-scroll hr {
	border: 0;
	height: 1px;
	background: rgba(255,255,255,.08);
	margin: 12px 0;
}
.cc-offer-scroll blockquote {
	margin: 10px 0;
	padding: 10px 12px;
	border-left: 3px solid rgba(163,38,50,.7);
	background: rgba(163,38,50,.07);
	border-radius: 10px;
	color: #dbe8fb;
}
.cc-offer-scroll table {
	width: 100%;
	margin: 10px 0;
	font-size: 13px;
	border-radius: 10px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid rgba(255,255,255,.08);
}
.cc-offer-scroll th,
.cc-offer-scroll td {
	padding: 8px;
	vertical-align: top;
	border-bottom: 1px solid rgba(255,255,255,.06);
	border-right: 1px solid rgba(255,255,255,.05);
}
.cc-offer-scroll th:last-child,
.cc-offer-scroll td:last-child { border-right: 0; }
.cc-offer-scroll tr:last-child td { border-bottom: 0; }
.cc-offer-scroll th {
	background: rgba(255,255,255,.04);
	color: #fff;
	font-weight: 800;
}

/* inline offer widget */
.cc-offer-inline {
	margin: 10px 0 14px;
	border-radius: 14px;
	overflow: hidden;
	background: rgba(255,255,255,.02);
	border: 1px solid rgba(255,255,255,.06);
}
.cc-offer-inline-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.cc-offer-inline-scroll {
	max-height: 280px;
	overflow-y: auto;
	padding: 12px;
	line-height: 1.55;
	font-size: 14px;
}
.cc-offer-inline-actions {
	display: flex;
	gap: 8px;
	padding: 10px 12px;
	border-top: 1px solid rgba(255,255,255,.06);
}

.cc-eg-footer {
	position: sticky;
	bottom: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px calc(10px + var(--safe-b, 0px));
	border-top: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(13,20,29,.70), rgba(13,20,29,.96) 35%, rgba(13,20,29,.98));
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-radius: 14px;
}
.cc-eg-footer .grow { flex: 1; min-width: 0; }
.cc-eg-footer .hint,
#cc-eg-scroll-hint {
	margin: 0;
	color: #aebed2;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 600;
}

.cc-eg-btn {
	position: relative;
	min-height: 42px;
	padding: 10px 12px;
	white-space: nowrap;
	border-radius: 12px;
	border: 1px solid rgba(148,163,184,.24);
	background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .15px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
	transition: transform .14s ease, filter .14s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
	-webkit-tap-highlight-color: rgba(163,38,50,.14);
	touch-action: manipulation;
	cursor: pointer;
}
.cc-eg-btn:hover {
	border-color: rgba(148,163,184,.34);
	filter: brightness(1.04);
}
.cc-eg-btn:active { transform: scale(.985); }
.cc-eg-btn.ghost {
	color: #e5edf8;
	background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.cc-eg-btn.primary {
	border: 0;
	color: #fff;
	background:
			radial-gradient(140px 70px at 18% 28%, rgba(255,255,255,.14), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.95), rgba(163,38,50,.92));
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.10),
			0 8px 20px rgba(163,38,50,.20);
}
.cc-eg-btn.primary:hover {
	filter: brightness(1.06);
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.12),
			0 12px 28px rgba(163,38,50,.24);
}
.cc-eg-btn[disabled] {
	opacity: .48;
	cursor: not-allowed;
	filter: grayscale(.08);
	transform: none !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.06) !important;
}
#cc-eg-auto-scroll { min-width: 98px; }

.cc-eg-nick-box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px;
	border-radius: var(--cc-eg-radius);
	background:
			radial-gradient(420px 180px at 100% 0%, rgba(163,38,50,.10), transparent 70%),
			linear-gradient(180deg, rgba(17,24,35,.94), rgba(17,24,35,.88));
	border: 1px solid var(--cc-eg-card-brd);
	box-shadow: var(--cc-eg-shadow);
}
.cc-eg-nick-input {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border-radius: 12px;
	border: 1px solid rgba(148,163,184,.24);
	background: rgba(255,255,255,.04);
	color: #fff;
	outline: none;
	font-size: 14px;
	font-weight: 600;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.cc-eg-nick-input::placeholder {
	color: #7f90a6;
	font-weight: 500;
}
.cc-eg-nick-input:hover {
	border-color: rgba(148,163,184,.34);
}
.cc-eg-nick-input:focus {
	border-color: rgba(163,38,50,.55);
	background: rgba(255,255,255,.06);
	box-shadow: inset 0 0 0 1px rgba(163,38,50,.28), 0 0 0 4px rgba(163,38,50,.10);
}
#cc-eg-step-nick .hint {
	color: #9fb0c3 !important;
	margin-top: 0;
}
#cc-eg-save-nick {
	min-height: 46px;
	padding: 0 14px !important;
	border-radius: 12px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.10), 0 10px 22px rgba(163,38,50,.22);
}

/* Doc skeleton */
.cc-doc-skeleton {
	display: grid;
	gap: 10px;
	padding: 2px;
}
.cc-doc-skeleton .sh {
	height: 12px;
	border-radius: 8px;
	background:
			linear-gradient(
					90deg,
					rgba(255,255,255,.04) 0%,
					rgba(255,255,255,.10) 28%,
					rgba(255,255,255,.04) 56%
			);
	background-size: 220% 100%;
	animation: ccDocShimmer 1.15s linear infinite;
}
.cc-doc-skeleton .h  { height: 18px; width: 68%; margin-bottom: 4px; }
.cc-doc-skeleton .w1 { width: 98%; }
.cc-doc-skeleton .w2 { width: 90%; }
.cc-doc-skeleton .w3 { width: 82%; }
.cc-doc-skeleton .w4 { width: 94%; }
.cc-doc-skeleton .w5 { width: 72%; }

/* =========================
   CC BOOT PRELOADER
   ========================= */
#cc-boot-preloader {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: none;
	align-items: center;
	justify-content: center;
	opacity: 0;
	background:
			radial-gradient(1000px 500px at 50% -10%, rgba(163,38,50,.16), transparent 60%),
			radial-gradient(900px 450px at 100% 100%, rgba(240,75,55,.10), transparent 60%),
			rgba(7,10,15,.97);
	transition: opacity .28s ease;
}
#cc-boot-preloader.active { display: flex; }
#cc-boot-preloader.visible { opacity: 1; }

.cc-boot-card {
	width: min(420px, calc(100vw - 28px));
	border-radius: 20px;
	padding: 16px;
	border: 1px solid rgba(255,255,255,.10);
	background:
			linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
			#101722;
	box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.cc-boot-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.cc-boot-logo {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(163,38,50,.45), rgba(240,75,55,.35));
	border: 1px solid rgba(255,255,255,.14);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.cc-boot-logo::before {
	content: "♠";
	font-size: 20px;
	line-height: 1;
}
.cc-boot-title {
	font-weight: 900;
	font-size: 16px;
	margin: 0;
}
.cc-boot-sub {
	color: #9fb0c3;
	font-size: 12px;
	margin-top: 3px;
}
.cc-boot-line {
	position: relative;
	height: 10px;
	border-radius: 999px;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(11,12,16,.96), rgba(5,6,8,.96));
	border: 1px solid rgba(255,255,255,.08);
	box-shadow:
		inset 0 1px 1px rgba(255,255,255,.06),
		inset 0 -1px 0 rgba(0,0,0,.32);
}
.cc-boot-line::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	background:
		linear-gradient(90deg, rgba(90,14,24,.38), rgba(198,31,50,.16), rgba(90,14,24,.38));
}
.cc-boot-line .cc-boot-fill {
	position: relative;
	display: block;
	height: 100%;
	width: 36%;
	border-radius: inherit;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(90,14,24,.98), rgba(198,31,50,.98), rgba(214,40,57,.98));
	transform: translate3d(-112%, 0, 0);
	will-change: transform;
	animation: ccBootBar 1.28s cubic-bezier(.62, 0, .28, 1) infinite;
	box-shadow:
		0 0 18px rgba(198,31,50,.24),
		inset 0 1px 0 rgba(255,255,255,.22);
}
.cc-boot-line .cc-boot-fill i {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		linear-gradient(100deg, transparent 0%, transparent 34%, rgba(255,255,255,.44) 48%, rgba(255,255,255,.18) 58%, transparent 72%, transparent 100%);
	background-size: 220% 100%;
	animation: ccBootGlint .72s linear infinite;
}
.cc-boot-step {
	margin-top: 10px;
	min-height: 18px;
	color: #dce7f5;
	font-size: 13px;
}

/* =========================
   COACH TOUR
   ========================= */
/* ===== COACH OVERLAY: сильное затемнение + spotlight ===== */
#cc-coach-overlay{
	position: fixed;
	inset: 0;
	z-index: 10000;          /* выше bottom-nav (9998) */
	display: none;
	opacity: 0;
	pointer-events: none;

	/* spotlight defaults (если JS не выставит — будет по центру) */
	--cc-spot-x: 50%;
	--cc-spot-y: 34%;
	--cc-spot-r: 150px;

	/* “дырка” вокруг цели + затемнение по краям */
	background:
			radial-gradient(
					circle var(--cc-spot-r) at var(--cc-spot-x) var(--cc-spot-y),
					rgba(0,0,0,0) 0%,
					rgba(0,0,0,0) 58%,
					rgba(0,0,0,.68) 72%,
					rgba(0,0,0,.82) 100%
			),
			radial-gradient(1100px 520px at 50% -12%, rgba(163,38,50,.10), transparent 58%),
			rgba(0,0,0,.74);

	/* убираем “замазню”: blur слабый */
	-webkit-backdrop-filter: saturate(115%) blur(1.5px);
	backdrop-filter: saturate(115%) blur(1.5px);

	transition: opacity .22s ease;
}

#cc-coach-overlay.active{
	display: block;
	opacity: 1;              /* важно: больше НЕ .4 */
	pointer-events: auto;
}
#cc-coach-overlay.active {
	display: block;
	opacity: .4;
}

.cc-coach-panel {
	--cc-coach-arrow-x: 42px;
	position: fixed;
	z-index: 10020;
	left: 12px;
	top: 12px;
	width: min(420px, calc(100vw - 24px));
	display: none;
	opacity: 0;
	transform: translateY(8px) scale(.985);
	padding: 12px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.12);
	background:
			linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 100%),
			#111823;
	box-shadow:
			0 14px 42px rgba(0,0,0,.38),
			0 0 0 1px rgba(240,199,102,.05) inset;
	will-change: transform, top, left, opacity;
	transition:
			opacity .24s ease,
			transform .28s cubic-bezier(.22,.9,.22,1),
			top .20s ease,
			left .20s ease;
}
.cc-coach-panel.active {
	display: block;
	opacity: 1;
	transform: translateY(0) scale(1);
}
.cc-coach-panel::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	left: calc(var(--cc-coach-arrow-x) - 7px);
	background: #111823;
	border-left: 1px solid rgba(255,255,255,.12);
	border-top: 1px solid rgba(255,255,255,.12);
	transform: rotate(45deg);
}
.cc-coach-panel[data-side="bottom"]::after { top: -8px; }
.cc-coach-panel[data-side="top"]::after {
	bottom: -8px;
	transform: rotate(225deg);
}

.cc-coach-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
}
.cc-coach-step-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 9px;
	border-radius: 999px;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 800;
	color: #d8ccff;
	background: rgba(163,38,50,.16);
	border: 1px solid rgba(163,38,50,.35);
}
.cc-coach-progress {
	flex: 1;
	min-width: 90px;
	height: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.05);
}
.cc-coach-progress > span {
	display: block;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(240,199,102,.85), rgba(99,102,241,.9));
	transition: width .28s ease;
}
.cc-coach-panel h4 {
	margin: 0 0 6px;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: .1px;
}
.cc-coach-panel p {
	margin: 0;
	color: #e5edf7;
	font-size: 15px;
	line-height: 1.45;
}
.cc-coach-actions {
	display: flex;
	gap: 10px;
	margin-top: 12px;
}
.cc-coach-actions .cc-eg-btn {
	min-height: 42px;
	padding: 10px 14px;
	font-size: 14px;
	border-radius: 12px;
}

.cc-coach-target {
	position: relative !important;
	z-index: 10001 !important;
	outline: 3px solid rgba(196,181,253,1) !important;
	outline-offset: 4px !important;
	border-radius: 14px !important;
	box-shadow:
			0 0 0 8px rgba(240,199,102,.14),
			0 0 18px rgba(240,199,102,.24),
			0 0 28px rgba(99,102,241,.12) !important;
	animation: ccCoachPulse 1.25s ease-in-out infinite;
	filter: saturate(1.06) brightness(1.04);
	transition: box-shadow .22s ease, outline-color .22s ease, filter .22s ease;
}

/* generic coach/tour/popover aliases used by other libs */
.coach-overlay,
.tour-overlay,
.onboarding-overlay,
[data-coach-overlay],
[data-tour-overlay] {
	background: rgba(3, 6, 12, .52) !important;
	-webkit-backdrop-filter: blur(3px) !important;
	backdrop-filter: blur(3px) !important;
}
.coach-popover,
.tour-popover,
.onboarding-popover,
.coach-card,
.tour-card {
	background: linear-gradient(180deg, rgba(15,19,25,.96), rgba(15,19,25,.93)) !important;
	border: 1px solid rgba(148,163,184,.28) !important;
	box-shadow: 0 20px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.coach-popover .btn,
.tour-popover .btn,
.onboarding-popover .btn {
	opacity: 1 !important;
	filter: none !important;
}
.coach-popover .btn.btn-secondary,
.tour-popover .btn.btn-secondary,
.onboarding-popover .btn.btn-secondary {
	background: rgba(255,255,255,.08) !important;
	border: 1px solid rgba(148,163,184,.28) !important;
	color: #e5e7eb !important;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 719px) {
	.header .nav-tabs { display: none; }

	body { padding-bottom: calc(var(--bn-h) + var(--tg-footer-h) + var(--safe-b)); }

	#toast-root {
		bottom: calc(var(--bn-h, 84px) + var(--safe-b) + 12px) !important;
	}
}

@media (min-width: 720px) {
	body { padding-bottom: var(--safe-b); }
	#toast-root { bottom: calc(var(--safe-b) + 16px) !important; }
}

@media (max-width: 360px) {
	.bn-item span { display: none; }
}

/* Tournament modal mobile readability */
@media (max-width: 480px) {
	.modal,
	#tournament-modal.modal {
		padding-top: calc(8px + var(--safe-t));
		padding-right: calc(8px + var(--safe-r));
		padding-bottom: calc(8px + var(--safe-b));
		padding-left: calc(8px + var(--safe-l));
	}

	.modal-content {
		width: 100% !important;
		border-radius: 14px !important;
	}

	#tournament-modal.modal {
		background: rgba(0,0,0,.86) !important;
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}

	#tournament-modal .modal-content {
		border-radius: 14px;
		border: 1px solid rgba(148,163,184,.22);
		background: linear-gradient(180deg, rgba(18,24,31,.98), rgba(16,22,28,.94));
		box-shadow: 0 24px 60px rgba(0,0,0,.65);
		max-height: calc(var(--tg-vh-stable) - var(--safe-t) - var(--safe-b) - 12px) !important;
	}

	#tournament-modal .modal-header {
		padding: 12px 14px;
	}
	#tournament-modal .modal-title {
		font-size: 18px;
		letter-spacing: -.2px;
		background: linear-gradient(135deg,#fff,#d1d5db);
		-webkit-background-clip: border-box;
		background-clip: border-box;
		color: #F4EFE8;
	}
	#tournament-modal .close-btn {
		width: 44px;
		height: 44px;
		border-radius: 12px;
		background: rgba(255,255,255,.06);
		border: 1px solid rgba(148,163,184,.26);
		color: #e5e7eb;
	}

	#tournament-modal #modal-body {
		padding: 12px 12px 14px;
		max-height: none !important;
		gap: 10px;
	}

	#tournament-modal .btn {
		height: 48px;
		min-height: 48px;
		border-radius: 12px;
		font-size: 15px;
		letter-spacing: .2px;
		gap: 6px;
	}
	#tournament-modal .btn i { font-size: 18px; }

	#tournament-modal .tm-footer .btn {
		height: 56px;
		min-height: 56px;
		font-size: 15px;
	}
	#tournament-modal .tm-footer .tm-row { min-height: 60px; }

	/* reduce hover motion on mobile */
	.tournament-card:hover,
	.card:hover,
	.participant-item:hover {
		transform: none;
	}
}

@media (min-width: 481px) and (max-width: 720px) {
	#tournament-modal .modal-content { max-height: calc(var(--tg-vh-stable) - var(--safe-t) - var(--safe-b) - 12px) !important; }
	#tournament-modal .modal-title { font-size: 19px; }
	#tournament-modal .detail-section p { font-size: 15px; }
	#tournament-modal .btn { height: 50px; font-size: 15px; }
}

@media (min-width: 520px) {
	.tm-meta { grid-template-columns: 1fr 1fr 1fr; }
}

@media (min-width: 860px) {
	.cc-eg-step.active { gap: 14px; }

	#cc-eg-step-terms {
		display: grid;
		grid-template-columns: minmax(220px, 280px) 1fr;
		grid-template-rows: 1fr;
		align-items: start;
		gap: 14px;
	}
	#cc-eg-step-terms > .cc-eg-card {
		position: sticky;
		top: 0;
	}
}

@media (max-width: 859px) {
	.cc-eg-shell { gap: 10px; }
	.cc-eg-head {
		padding: 12px 13px;
		border-radius: 16px;
	}
	.cc-eg-card,
	.cc-offer-wrap,
	.cc-eg-nick-box {
		border-radius: 16px;
	}
}

@media (max-width: 640px) {
	.cc-eg-shell { gap: 8px; }

	.cc-eg-head {
		padding: 12px;
		border-radius: 14px;
	}
	.cc-eg-title { font-size: 17px; }
	.cc-eg-sub {
		font-size: 12px;
		line-height: 1.4;
		margin-top: 6px;
	}

	.cc-eg-card {
		padding: 12px;
		border-radius: 14px;
	}

	#cc-eg-step-terms .cc-eg-card > div:first-child,
	#cc-eg-step-nick .cc-eg-card > div:first-child {
		font-size: 11px;
		padding: 5px 9px;
		margin-bottom: 7px !important;
	}
	#cc-eg-step-terms .cc-eg-card > div:nth-child(2),
	#cc-eg-step-nick .cc-eg-card > div:nth-child(2) {
		font-size: 12px !important;
	}

	.cc-offer-wrap { border-radius: 14px; }
	.cc-offer-toolbar {
		padding: 9px 10px;
		gap: 8px;
	}
	.cc-offer-toolbar .meta {
		font-size: 11px;
		line-height: 1.3;
	}
	#cc-eg-open-offer-doc {
		min-height: 38px;
		padding: 8px 10px;
		font-size: 12px;
	}
	.cc-offer-scroll { padding: 10px; }
	.cc-offer-scroll .cc-doc-prose {
		padding: 12px;
		border-radius: 12px;
	}
	.cc-offer-scroll .cc-doc-prose p {
		font-size: 13px;
		line-height: 1.55;
		margin-bottom: 9px;
	}
	.cc-offer-scroll .cc-doc-prose p:first-child {
		font-size: 15px;
		margin-bottom: 10px;
		padding-bottom: 8px;
	}

	.cc-eg-footer {
		gap: 8px;
		padding: 10px 10px calc(10px + var(--safe-b));
	}
	.cc-eg-btn {
		min-height: 40px;
		padding: 9px 11px;
		font-size: 12px;
		border-radius: 11px;
	}

	.cc-eg-nick-box {
		padding: 12px;
		border-radius: 14px;
	}
	.cc-eg-nick-input {
		height: 44px;
		font-size: 14px;
	}
}

/* =========================
   REDUCED MOTION / NO-ANIM
   ========================= */
.no-anim .stat-card,
.no-anim .game-history-item {
	animation: none !important;
	transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	.cc-toast, .cc-toast .bar > span,
	#cc-coach-overlay, .cc-coach-panel, .cc-coach-progress > span {
		transition: none !important;
	}
	.cc-coach-target,
	.progress > span::after,
	.progress > span::before {
		animation: none !important;
	}
	#tournament-modal * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* =========================
   SCROLLBARS
   ========================= */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(0,0,0,.2); }
::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, rgba(163,38,50,.6), rgba(239,68,68,.6));
	border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(135deg, rgba(163,38,50,.8), rgba(239,68,68,.8));
}

/* =========================
   KEYFRAMES
   ========================= */




@keyframes float {
	0%,100% { transform: translateY(0); }
	50%     { transform: translateY(-4px); }
}

@keyframes cardSlideIn {
	from { opacity: 0; transform: translateY(30px) scale(.95); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fadeInSoft {
	from { opacity: .7; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

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

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

@keyframes badgePulse {
	0%,100% { transform: scale(1); opacity: 1; }
	50%     { transform: scale(1.02); opacity: .95; }
}

@keyframes ripple {
	0%   { transform: scale(0); opacity: 1; }
	100% { transform: scale(2); opacity: 0; }
}

@keyframes progressFlow {
	0%   { background-position: 0 0; }
	100% { background-position: 200% 0; }
}

@keyframes pulse {
	0%,100% { opacity: 1; }
	50%     { opacity: .5; }
}

@keyframes skeletonShimmer {
	100% { transform: translateX(100%); }
}

@keyframes toastSlideIn {
	from { opacity: 0; transform: translateY(20px) scale(.9); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ccStripes {
	to { background-position: 32px 0; }
}

@keyframes ccSweep {
	0%   { transform: translateX(-110%); opacity: 0; }
	35%  { opacity: .35; }
	70%  { opacity: 0; }
	100% { transform: translateX(0); }
}

@keyframes ccSpin {
	to { transform: rotate(360deg); }
}

@keyframes ccBootBar {
	0%   { transform: translate3d(-112%, 0, 0); opacity: .78; }
	10%  { opacity: 1; }
	86%  { opacity: 1; }
	100% { transform: translate3d(292%, 0, 0); opacity: .86; }
}

@keyframes ccBootGlint {
	from { background-position: 160% 0; }
	to   { background-position: -60% 0; }
}

@keyframes ccDocShimmer {
	from { background-position: 220% 0; }
	to   { background-position: -20% 0; }
}

@keyframes ccEgStepIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

@keyframes ccCoachPulse {
	0%,100% {
		box-shadow:
				0 0 0 8px rgba(240,199,102,.14),
				0 0 18px rgba(240,199,102,.24),
				0 0 28px rgba(99,102,241,.12);
	}
	50% {
		box-shadow:
				0 0 0 11px rgba(240,199,102,.20),
				0 0 24px rgba(240,199,102,.36),
				0 0 36px rgba(99,102,241,.18);
	}
}

@keyframes coachTargetPulse {
	0%,100% { transform: scale(1); opacity: .95; }
	50%     { transform: scale(1.03); opacity: .65; }
}

@keyframes ccModalPop {
	from { opacity: 0; transform: translateY(18px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

@keyframes ccRing {
	to { transform: rotate(360deg); }
}

@keyframes tmSheen {
	0%   { transform: translateX(-10%) rotate(18deg); opacity: 0; }
	18%  { opacity: .45; }
	60%  { opacity: .12; }
	100% { transform: translateX(240%) rotate(18deg); opacity: 0; }
}

@keyframes ctaDot {
	0%   { box-shadow: 0 0 0 0 rgba(245,158,11,.45); }
	70%  { box-shadow: 0 0 0 8px rgba(245,158,11,0); }
	100% { box-shadow: 0 0 0 0 rgba(245,158,11,0); }
}

@keyframes ctaNudge {
	0%,100% { transform: translateX(0); }
	50%     { transform: translateX(3px); }
}
/* =========================================================
   FINAL SAFE-AREA STABILIZER (put at the VERY END)
   - one scroll model (body)
   - #app is full width (NOT .container)
   - safe padding applied only to inner content
   ========================================================= */

html, body{
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: clip !important;
}

body{
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-y: none;
	/* background: #ff7979; */
	/* margin-top: calc(var(--safe-t)) !important; */
	overflow-x: hidden !important;
}

/* #app must be full width, no container paddings */
#app.app{
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	/* margin-top: calc(var(--safe-t) + 30px) !important; */
	overflow: overlay;
}


/* inner content paddings */
.header-inner,
main.list-pad{
	padding-left: max(16px, var(--safe-l, 0px)) !important;
	padding-right: max(16px, var(--safe-r, 0px)) !important;
	box-sizing: border-box;
}

/* bottom nav safe */
.bottom-nav{
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	padding-left: max(12px, var(--safe-l, 0px)) !important;
	padding-right: max(12px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(10px + var(--safe-b, 0px)) !important;
}

/* page content must not go under bottom nav */
main.list-pad{
	padding-top: 92px !important; /* высота шапки без safe-area дубля */
	padding-bottom: calc(var(--bn-h, 84px) + var(--safe-b, 0px) + 12px) !important;
}

/* modal overlays must respect safe areas */
.modal,
#tournament-modal,
#terms-modal,
#nick-modal,
#confirm-modal,
#club-info-modal,
#rating-info-modal{
	position: fixed !important;
	inset: 0 !important;
	display: none !important;
	place-items: center !important;
	z-index: 9999 !important;

	padding-top: calc(10px + var(--safe-t, 0px)) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(10px + var(--safe-b, 0px)) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;

	overflow: hidden !important;
	box-sizing: border-box;
}

.modal.active,
#tournament-modal.active,
#terms-modal.active,
#nick-modal.active,
#confirm-modal.active,
#club-info-modal.active,
#rating-info-modal.active{
	display: grid !important;
	padding-top: var(--safe-t) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;
}

/* modal content max-height by safe area */
.modal .modal-content,
#tournament-modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#club-info-modal .modal-content,
#rating-info-modal .modal-content{
	width: min(100%, 640px) !important;
	max-height: calc(100dvh - var(--safe-t, 0px) - var(--safe-b, 0px) - 86px) !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	box-sizing: border-box;
}

/* only modal body scrolls */
#modal-body, .modal-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
}/* ===== HOTFIX: top gap after sticky header ===== */
.list-pad{
	margin-top: 0 !important;
	padding-top: 14px !important;
}

main.list-pad{
	padding-top: 92px !important; /* tweak 84-104 if needed */
}

.header{
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* =========================================================
   HEADER RESET (non-fixed, scrolls with content)
   put at VERY END
   ========================================================= */

/* Хэдер теперь обычный блочный элемент в потоке */
.header{
	position: relative !important;   /* не fixed / не sticky */
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	z-index: auto !important;
	margin: 0 0 0px 0 !important;
	padding-top: calc(var(--safe-t, 0px) + 10px) !important;
	padding-bottom: 12px !important;
	padding-left: max(16px, var(--safe-l, 0px)) !important;
	padding-right: max(16px, var(--safe-r, 0px)) !important;

	/* более спокойные “дорогие” цвета без слишком яркого стекла */
	/* background:
      radial-gradient(700px 220px at 85% -20%, rgba(139,92,246,.10), transparent 60%),
      radial-gradient(600px 220px at 10% 120%, rgba(20,184,166,.06), transparent 60%),
      linear-gradient(180deg, rgba(17,24,35,.92), rgba(13,18,26,.92)) !important; */
	/* border-bottom: 1px solid rgb(158 81 183 / 19%) !important; */
	/* box-shadow:
      0 8px 24px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.04) !important; */
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	border-top: 0;
	/* background: radial-gradient(900px 420px at 80% -20%, rgba(139, 92, 246, .16), transparent 62%),
    radial-gradient(800px 420px at 12% 115%, rgba(20, 184, 166, .10), transparent 62%),
    radial-gradient(1200px 700px at 50% 35%, rgba(255, 255, 255, .06), transparent 55%),
    linear-gradient(180deg, rgba(17, 24, 35, .94) 0%, rgba(11, 16, 24, .94) 100%),
    radial-gradient(140% 120% at 50% 0%, rgba(0,0,0,.35), transparent 55%),
    radial-gradient(140% 120% at 50% 100%, rgba(0,0,0,.55), transparent 60%) !important; */
	/* background: radial-gradient(900px 520px at 78% -30%, rgba(139, 92, 246, .12), transparent 62%),
    radial-gradient(900px 520px at 18% 130%, rgba(20, 184, 166, .07), transparent 62%),
    linear-gradient(180deg, rgba(16, 22, 32, .95) 0%, rgba(10, 14, 20, .95) 100%),
    radial-gradient(140% 120% at 50% 0%, rgba(0,0,0,.40), transparent 60%),
    radial-gradient(140% 120% at 50% 100%, rgba(0,0,0,.58), transparent 62%) !important; */
	/* background: radial-gradient(900px 420px at 80% -20%, rgba(139, 92, 246, .16), transparent 62%),
    radial-gradient(800px 420px at 12% 115%, rgba(20, 184, 166, .10), transparent 62%),
    radial-gradient(1200px 700px at 50% 35%, rgba(255, 255, 255, .06), transparent 55%),
    linear-gradient(180deg, rgba(17, 24, 35, .94) 0%, rgba(11, 16, 24, .94) 100%),
    radial-gradient(140% 120% at 50% 0%, rgba(0,0,0,.35), transparent 55%),
    radial-gradient(140% 120% at 50% 100%, rgba(0,0,0,.55), transparent 60%) !important; */
	/* background: radial-gradient(1000px 520px at 75% -25%, rgba(139, 92, 246, .18), transparent 60%),
    radial-gradient(900px 520px at 20% 120%, rgba(20, 184, 166, .11), transparent 60%),
    radial-gradient(900px 420px at 50% 35%, rgba(59, 130, 246, .07), transparent 58%),
    linear-gradient(180deg, rgba(14, 18, 26, .96) 0%, rgba(8, 10, 16, .96) 100%),
    radial-gradient(120% 100% at 50% 0%, rgba(0,0,0,.45), transparent 55%),
    radial-gradient(120% 100% at 50% 100%, rgba(0,0,0,.62), transparent 62%) !important; */
}

/* Внутренний контейнер хедера */
.header-inner{
	width: min(100%, 820px) !important;
	margin: 0 auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

/* Нормальная позиция кнопок в правом верхнем углу внутри обычного хедера */
.header-actions{
	top: 10px !important;
	right: 0 !important;
}

/* Чтобы заголовок не наезжал на кнопки справа */
.brand{
	padding-right: 120px;
}

.subtitle{
	padding-right: 120px;
	color: rgba(226,232,240,.82) !important;
}

/* Контент больше НЕ должен резервировать место под fixed header */
.list-pad{
	margin-top: 0 !important;
	padding-top: 10px !important;
}

main.list-pad{
	padding-top: 10px !important; /* было 92px для fixed header — убираем */
	padding-left: max(16px, var(--safe-l, 0px)) !important;
	padding-right: max(16px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(71px + var(--safe-b, 0px) + 12px) !important;
}

/* Чуть компактнее на маленьких экранах */
@media (max-width: 480px){
	.header{
		padding-top: calc(var(--safe-t, 0px) + 8px) !important;
		padding-bottom: 10px !important;
		margin-bottom: 8px !important;
	}

	.header-actions{
		top: 8px !important;
	}

	.brand{
		padding-right: 104px;
		font-size: clamp(18px, 6vw, 22px);
	}

	.subtitle{
		padding-right: 104px;
		font-size: 13px;
	}

	.list-pad,
	main.list-pad{
		padding-top: 8px !important;
	}
}
/* =========================
   HEADER (NOT STICKY / NOT FIXED)
   - scrolls with content
   - "premium section" look
   ========================= */

.header{
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;

	/* safe-area только сверху — это первый блок страницы */
	/* padding-top: calc(var(--safe-t, 0px) + 14px) !important; */
	padding-bottom: 14px !important;

	/* горизонтальные safe */
	padding-left: max(16px, var(--safe-l, 0px)) !important;
	padding-right: max(16px, var(--safe-r, 0px)) !important;
	margin: 0 !important;

	/* фон как "дорогая секция", но не стекло */
	background:
			radial-gradient(900px 340px at 85% 0%, rgba(163,38,50,.14), transparent 60%),
			radial-gradient(760px 320px at 10% 110%, rgba(224,178,79,.09), transparent 62%),
			linear-gradient(180deg, rgba(17,24,35,.92) 0%, rgba(12,16,24,.92) 100%) !important;

	/* мягкий разделитель вниз */
	border-bottom: 1px solid rgba(148,163,184,.14) !important;

	/* тень очень лёгкая (не как у fixed) */
	box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	height: auto;
	padding: 18px !important;
}

/* ограничиваем контент шапки по ширине как у контейнера */
.header-inner{
	width: min(100%, 820px) !important;
	margin: 0 auto !important;
	padding: 0 !important; /* padding уже на .header */
	position: relative;
}

/* кнопки справа — чуть спокойнее */
.header-actions{
	top: 12px !important;
	right: 0 !important; /* т.к. padding теперь на .header */
}

/* чуть спокойнее кнопка "О клубе" под новый стиль */
.icon-btn{
	background: rgba(255,255,255,.05) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	box-shadow: 0 10px 22px rgba(0,0,0,.22) !important;
}
.icon-btn:hover{
	background: rgba(255,255,255,.07) !important;
	border-color: rgba(240,199,102,.28) !important;
}

/* ===== IMPORTANT: убрать "компенсацию fixed header" ===== */
/* раньше у тебя было main.list-pad padding-top:92px под фиксированную шапку */
main.list-pad{
	padding-top: 14px !important;  /* обычный отступ от шапки */
}

/* если где-то остались хаки типа .list-pad padding-top:92px — прибиваем */
.list-pad{
	padding-top: 14px !important;
}

/* чтобы первый заголовок не прилипал */
.section-title{
	margin-top: 18px !important;
}
/* =========================================================
   ENTRY GATE / OFFER SCROLL FIX
   (paste at very end)
   ========================================================= */

/* даём онбордингу фиксированную высоту в пределах viewport */
#cc-entry-gate.active,
.cc-eg-shell{
	height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px)) !important;
	max-height: var(
			--tg-vh-stable, 100dvh) !important;
	width: 100%;
	padding-bottom: 26px;
	padding-top: var(--safe-t, 20px);
	padding-top: max(var(--safe-t, 0px), 10px);
}

/* чтобы grid/flex могли сжимать среднюю часть (иначе она растёт по контенту) */
.cc-eg-shell{
	min-height: 0 !important;
}

.cc-eg-step.active{
	flex: 1 1 auto !important;
	min-height: 0 !important;
}

/* ограничиваем обёртку документа по высоте → внутренний скролл включится */
.cc-offer-wrap{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	max-height: 100% !important;
	overflow: hidden !important; /* важно: скролл только внутри .cc-offer-scroll */
}

/* вот здесь должен быть реальный скролл */
.cc-offer-scroll{
	min-height: 0 !important;
	height: auto !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

/* футер НЕ должен “липнуть” к body — он просто третий ряд грида */
.cc-eg-footer{
	position: relative !important;
	bottom: auto !important;
}

/* все крупные карточки внутри — строго 100% */
#cc-entry-gate .cc-eg-head,
#cc-entry-gate .cc-eg-card,
#cc-entry-gate .cc-offer-wrap,
#cc-entry-gate .cc-offer-toolbar,
#cc-entry-gate .cc-offer-scroll,
#cc-entry-gate .cc-doc-prose {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* критично: тулбар и футер НЕ должны распирать ширину */
#cc-entry-gate .cc-offer-toolbar,
#cc-entry-gate .cc-eg-footer {
	flex-wrap: wrap !important;
	gap: 8px !important;
}

/* мета/подсказка должны уметь сжиматься */
#cc-entry-gate .cc-offer-toolbar .meta,
#cc-entry-gate .cc-eg-footer .grow {
	min-width: 0 !important;
	flex: 1 1 100% !important;
}

/* кнопки в одну строку на широких, в две — на узких, без вылета */
#cc-entry-gate .cc-eg-btn {
	min-width: 0 !important;
	max-width: 100% !important;
}

/* убираем принудительный min-width, который распирает футер */
#cc-eg-auto-scroll {
	min-width: 0 !important;
	flex: 1 1 140px !important;
}
#cc-eg-accept-terms {
	flex: 2 1 220px !important;
}

/* на очень узких — кнопки столбиком */
@media (max-width: 380px) {
	#cc-entry-gate .cc-eg-footer .cc-eg-btn {
		flex: 1 1 100% !important;
	}
}

/* страховка от длинных строк/вставок */
#cc-entry-gate .cc-doc-prose,
#cc-entry-gate .cc-doc-prose * {
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}/* ===== ENTRY GATE: doc must not exceed viewport ===== */
#cc-entry-gate.active{
	height: 100dvh !important;
	max-height: 100dvh !important;
	overflow: hidden !important;
}

/* весь экран: шапка + контент (шаг) */
#cc-entry-gate .cc-eg-shell{
	height: 100% !important;
	max-height: 100% !important;
}

/* шаг должен уметь сжиматься */
#cc-entry-gate .cc-eg-step.active{
	min-height: 0 !important;
	flex: 1 1 auto !important;
}

/* ВАЖНО: обертка документа получает ограничение по высоте */
#cc-entry-gate .cc-offer-wrap{
	min-height: 0 !important;
	flex: 1 1 auto !important;
	height: auto !important;

	/* ограничиваем по видимой части экрана */
	max-height: calc(100dvh - var(--safe-t,0px) - var(--safe-b,0px) - 120px) !important;

	display: grid !important;
	grid-template-rows: auto minmax(0,1fr) auto !important;
	overflow: hidden !important;
}

/* скролл ТОЛЬКО тут */
#cc-entry-gate .cc-offer-scroll{
	min-height: 0 !important;
	height: auto !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

/* футер не распирает, просто третий ряд грида */
#cc-entry-gate .cc-eg-footer{
	position: relative !important;
}#cc-entry-gate .cc-offer-toolbar {
	 min-width: 0 !important;
 }
#cc-entry-gate .cc-offer-toolbar .meta {
	min-width: 0 !important;
	max-width: 100% !important;
}
#cc-entry-gate #cc-eg-open-offer-doc {
	max-width: 100% !important;
}
/* одинаковые кнопки в карточке турнира */
.card-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.card-actions .btn,
.card-actions a.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	width: 100%;
}.card-actions .btn i,
 .card-actions a.btn i {
	 margin-right: 8px;
 }

/* =========================================================
   PROFILE COMPACT
   ========================================================= */

.profile-compact-list {
	display: grid;
	gap: 10px;
}

.profile-compact-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.profile-compact-main {
	min-width: 0;
	flex: 1 1 auto;
}

.profile-compact-title {
	font-size: 14px;
	font-weight: 900;
	color: #fff;
	line-height: 1.3;
}

.profile-compact-sub {
	margin-top: 4px;
	font-size: 12px;
	color: var(--text-2);
	line-height: 1.35;
}

.profile-compact-badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .35px;
	text-transform: uppercase;
}

.profile-compact-badge.is-ok {
	color: #d8ffe9;
	background: rgba(16,185,129,.14);
	border: 1px solid rgba(16,185,129,.28);
}

.profile-compact-badge.is-wait {
	color: #ffe7b5;
	background: rgba(245,158,11,.14);
	border: 1px solid rgba(245,158,11,.28);
}

.profile-compact-place {
	flex: 0 0 auto;
	font-size: 22px;
	font-weight: 900;
	line-height: 1;
	-webkit-background-clip: border-box;
	background-clip: border-box;
	color: #F4EFE8;
}

.profile-compact-place span {
	font-size: 14px;
}

.profile-more {
	margin-top: 2px;
	border-radius: 14px;
	border: 1px solid rgba(148,163,184,.14);
	background: rgba(255,255,255,.025);
	overflow: hidden;
}

.profile-more summary {
	list-style: none;
	cursor: pointer;
	padding: 12px 14px;
	font-size: 13px;
	font-weight: 900;
	color: #dbe7f5;
	user-select: none;
}

.profile-more summary::-webkit-details-marker {
	display: none;
}

.profile-more summary::after {
	content: "↓";
	float: right;
	opacity: .8;
	transition: transform .18s ease;
}

.profile-more[open] summary::after {
	transform: rotate(180deg);
}

.profile-more-body {
	padding: 0 10px 10px;
	display: grid;
	gap: 10px;
}

/* =========================================================
   PROFILE MEDALS COMPACT
   ========================================================= */

.profile-medals-shell {
	display: grid;
	gap: 14px;
}

.profile-medals-top {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 12px;
	align-items: stretch;
}

.profile-medals-counter {
	padding: 14px 12px;
	border-radius: 18px;
	border: 1px solid rgba(255,215,120,.18);
	background:
			radial-gradient(220px 120px at 50% 0%, rgba(255,215,120,.10), transparent 65%),
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
	text-align: center;
}

.profile-medals-counter-value {
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	color: #fff4cf;
}

.profile-medals-counter-label {
	margin-top: 8px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.35;
	color: var(--text-2);
	text-transform: uppercase;
	letter-spacing: .4px;
}

.profile-medals-next {
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(148,163,184,.14);
	background:
			radial-gradient(280px 120px at 100% 0%, rgba(163,38,50,.12), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}

.profile-medals-next-label {
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .4px;
	color: var(--muted);
}

.profile-medals-next-title {
	margin-top: 6px;
	font-size: 16px;
	font-weight: 900;
	color: #fff;
}

.profile-medals-next-sub {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--text-2);
}

.profile-medals-section {
	display: grid;
	gap: 10px;
}

.profile-medals-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.profile-medals-section-title {
	font-size: 14px;
	font-weight: 900;
	color: #fff;
}

.profile-medals-section-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	color: #dbe7f5;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.14);
}

.profile-medals-section-badge.is-ok {
	color: #d8ffe9;
	background: rgba(16,185,129,.14);
	border-color: rgba(16,185,129,.24);
}

.profile-medals-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.medal-mini-card {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}

.medal-mini-card.is-owned {
	border-color: rgba(255,215,120,.16);
	background:
			radial-gradient(180px 90px at 0% 0%, rgba(255,215,120,.09), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}

.medal-mini-icon {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	font-size: 24px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.08);
}

.medal-mini-body {
	min-width: 0;
}

.medal-mini-title {
	font-size: 13px;
	font-weight: 900;
	color: #fff;
	line-height: 1.3;
}

.medal-mini-meta {
	margin-top: 4px;
	font-size: 12px;
	color: #9fe0be;
	font-weight: 800;
}

.profile-medals-locked-list {
	display: grid;
	gap: 10px;
}

.medal-locked-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.14);
	background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
}

.medal-locked-icon {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	font-size: 22px;
	background: rgba(148,163,184,.08);
	border: 1px solid rgba(148,163,184,.14);
	opacity: .75;
}

.medal-locked-body {
	min-width: 0;
	flex: 1 1 auto;
}

.medal-locked-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.medal-locked-title {
	font-size: 13px;
	font-weight: 900;
	color: #fff;
	line-height: 1.3;
}

.medal-locked-state {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .35px;
	color: #cbd5e1;
	background: rgba(148,163,184,.10);
	border: 1px solid rgba(148,163,184,.14);
}

.medal-locked-how {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--text-2);
}

.medal-locked-progress-text {
	margin-top: 8px;
	font-size: 11px;
	font-weight: 800;
	color: #e8d6a2;
}

.medal-locked-progress {
	margin-top: 6px;
	height: 7px;
	border-radius: 999px;
	overflow: hidden;
	background: rgba(255,255,255,.07);
	border: 1px solid rgba(255,255,255,.05);
}

.medal-locked-progress > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(163,38,50,.88));
}

@media (max-width: 560px) {
	.profile-medals-top {
		grid-template-columns: 1fr;
	}

	.profile-medals-grid {
		grid-template-columns: 1fr;
	}
}
body{
	padding-bottom: 81px !important;
}
.tournament-card--compact {
	padding: 14px;
	border-radius: 18px;
}

.tournament-card--compact .tournament-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}

.tournament-card--compact .tournament-head-main {
	min-width: 0;
	flex: 1;
}

.tournament-card--compact .tournament-title {
	font-size: 16px;
	line-height: 1.2;
	font-weight: 900;
	margin: 0 0 8px;
}

.tournament-card--compact .tournament-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 8px;
}

.tournament-card--compact .tm-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.16);
	color: var(--text-1);
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
}

.tournament-card--compact .tm-chip i {
	font-size: 14px;
	opacity: .9;
}

.tournament-card--compact .tm-chip-location {
	max-width: 100%;
}

.tournament-card--compact .tm-chip-location span:last-child {
	display: inline-block;
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tournament-card--compact .tournament-prices-compact {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	font-size: 13px;
	color: var(--text-2);
	line-height: 1.35;
	margin-bottom: 8px;
}

.tournament-card--compact .tournament-prices-compact b {
	color: var(--text-1);
	font-weight: 900;
}

.tournament-card--compact .tournament-helper {
	font-size: 12px;
	line-height: 1.35;
	color: var(--text-2);
}

.tournament-card--compact .tournament-helper.ok {
	color: var(--ok);
}

.tournament-card--compact .tournament-helper.warn {
	color: var(--warn);
}

.tournament-card--compact .tournament-helper.muted {
	color: var(--muted);
}

.tournament-card--compact .status-badge {
	flex: 0 0 auto;
	font-size: 11px;
	padding: 6px 8px;
	border-radius: 999px;
	white-space: nowrap;
}

.status-badge.status-registered {
	background: rgba(34,197,94,.14);
	color: #86efac;
	border: 1px solid rgba(34,197,94,.24);
}

.status-badge.status-wait {
	background: rgba(245,158,11,.14);
	color: #fcd34d;
	border: 1px solid rgba(245,158,11,.24);
}

.tournament-card--compact .card-actions.compact-main {
	margin-top: 10px;
}

.tournament-card--compact .card-actions.compact-main .btn {
	width: 100%;
	min-height: 42px;
}

.tournament-card--compact .card-links {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.tournament-card--compact .card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text-2);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.tournament-card--compact .card-link:hover {
	color: var(--text-1);
}

@media (max-width: 560px) {
	.tournament-card--compact {
		padding: 12px;
	}

	.tournament-card--compact .tournament-title {
		font-size: 15px;
	}

	.tournament-card--compact .tm-chip-location span:last-child {
		max-width: 140px;
	}

	.tournament-card--compact .status-badge {
		font-size: 10px;
		padding: 5px 7px;
	}
}
/* =========================================================
   TOURNAMENT CARD UX PATCH
   ========================================================= */

.tournament-card--compact .status-badge {
	animation: none !important;
	font-size: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: none;
}

.tournament-card--compact .tournament-price-main {
	margin: 2px 0 4px;
	font-size: 15px;
	line-height: 1.25;
	font-weight: 900;
	color: #fff;
}

.tournament-card--compact .tournament-price-sub {
	font-size: 12px;
	line-height: 1.4;
	color: var(--text-2);
	margin-bottom: 8px;
}

.tournament-card--compact .tournament-helper {
	font-size: 12px;
	line-height: 1.35;
	margin-top: 2px;
}

.tournament-card--compact .tournament-helper.ok {
	color: #86efac;
}

.tournament-card--compact .tournament-helper.warn {
	color: #fcd34d;
}

.tournament-card--compact .tournament-helper.muted {
	color: var(--text-2);
}

.tournament-card--compact .tournament-helper.cancel {
	color: #fecaca;
}

.tournament-card .card-actions .btn.btn-danger,
.tournament-card .card-actions .btn.btn-cancel-soft,
#tournament-modal .btn.btn-cancel-soft {
	background: linear-gradient(180deg, rgba(127,29,29,.96), rgba(153,27,27,.92)) !important;
	border: 1px solid rgba(252,165,165,.24) !important;
	color: #fff !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.06),
			0 10px 24px rgba(127,29,29,.24) !important;
}

.tournament-card .card-actions .btn.btn-danger:hover,
.tournament-card .card-actions .btn.btn-cancel-soft:hover,
#tournament-modal .btn.btn-cancel-soft:hover {
	filter: brightness(1.08);
}

.tournament-card .card-actions .btn.btn-danger:active,
.tournament-card .card-actions .btn.btn-cancel-soft:active,
#tournament-modal .btn.btn-cancel-soft:active {
	transform: translateY(1px) scale(.985);
}

.status-badge.status-registered {
	background: rgba(34,197,94,.14);
	color: #86efac;
	border: 1px solid rgba(34,197,94,.24);
}

.status-badge.status-wait {
	background: rgba(245,158,11,.14);
	color: #fcd34d;
	border: 1px solid rgba(245,158,11,.24);
}

.tournament-card--compact .card-actions.compact-main .btn {
	width: 100%;
	min-height: 46px;
	height: 46px;
	font-size: 14px;
	border-radius: 14px;
}

.tournament-card--compact .card-links {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.tournament-card--compact .card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text-2);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.tournament-card--compact .card-link:hover {
	color: var(--text);
}

@media (max-width: 560px) {
	.tournament-card--compact .tournament-price-main {
		font-size: 14px;
	}

	.tournament-card--compact .tournament-price-sub {
		font-size: 11px;
	}

	.tournament-card--compact .status-badge {
		font-size: 9px;
		padding: 5px 8px;
	}
}
/* =========================================================
   TOURNAMENT CARD CLEANER LOOK
   ========================================================= */

.tournament-card--clean {
	padding: 16px;
	border-radius: 20px;
	background:
			radial-gradient(700px 260px at 100% 0%, rgba(163,38,50,.10), transparent 60%),
			radial-gradient(500px 240px at 0% 100%, rgba(224,178,79,.08), transparent 55%),
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028));
	border: 1px solid rgba(148,163,184,.16);
}

.tournament-card--clean .tournament-clean-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.tournament-card--clean .tournament-clean-main {
	min-width: 0;
	flex: 1 1 auto;
}

.tournament-card--clean .tournament-title {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 900;
	color: #fff;
	background: none;
	-webkit-background-clip: initial;
	background-clip: initial;
}

.tournament-card--clean .tournament-clean-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.tm-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.16);
	color: #dbe7f5;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.tm-chip.tm-chip--ok {
	background: rgba(16,185,129,.12);
	border-color: rgba(16,185,129,.3);
	color: #86efac;
}
.tm-chip.tm-chip--warn {
	background: rgba(245,158,11,.1);
	border-color: rgba(245,158,11,.3);
	color: #fcd34d;
}
.tm-chip.tm-chip--gold {
	background: rgba(201,163,95,.12);
	border-color: rgba(201,163,95,.3);
	color: #C9A35F;
}

.tournament-card--clean .tm-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(148,163,184,.16);
	color: #dbe7f5;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.tournament-card--clean .tournament-clean-location {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	color: var(--text-2);
	font-size: 13px;
	line-height: 1.35;
}

.tournament-card--clean .tournament-clean-location i {
	flex: 0 0 auto;
	opacity: .85;
}

.tournament-card--clean .tournament-clean-location span {
	display: inline-block;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tournament-card--clean .status-badge {
	animation: none !important;
	box-shadow: none;
	border-radius: 999px;
	font-size: 10px;
	padding: 6px 10px;
	white-space: nowrap;
	flex: 0 0 auto;
}

.tournament-card--clean .tournament-clean-price {
	margin: 0 0 10px;
	padding: 12px 13px;
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
	border: 1px solid rgba(148,163,184,.14);
}

.tournament-card--clean .tournament-clean-price-main {
	font-size: 17px;
	line-height: 1.2;
	font-weight: 900;
	color: #fff;
}

.tournament-card--clean .tournament-clean-price-sub {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.35;
	color: var(--text-2);
}

.tournament-card--clean .tournament-helper {
	margin: 8px 0 8px;
	font-size: 12px;
	line-height: 1.35;
	font-weight: 700;
}

.tournament-card--clean .tournament-helper.ok {
	color: #86efac;
}

.tournament-card--clean .tournament-helper.warn {
	color: #fcd34d;
}

.tournament-card--clean .tournament-helper.live {
	color: #A7AFBB;
}

.tournament-card--clean .tournament-helper.muted {
	color: var(--text-2);
}

.tournament-card--clean .card-actions.compact-main {
	margin-top: 0;
}

.tournament-card--clean .card-actions.compact-main .btn {
	width: 100%;
	min-height: 44px;
	height: 44px;
	border-radius: 14px;
	font-size: 15px;
}

.tournament-card--clean .card-links {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.tournament-card--clean .card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--text-2);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.tournament-card--clean .card-link:hover {
	color: #fff;
}

.btn-cancel-soft {
	background: linear-gradient(180deg, rgba(127,29,29,.96), rgba(153,27,27,.92)) !important;
	border: 1px solid rgba(252,165,165,.22) !important;
	color: #fff !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.05),
			0 10px 22px rgba(127,29,29,.22) !important;
}

.btn-cancel-soft:hover {
	filter: brightness(1.08);
}

@media (max-width: 560px) {
	.tournament-card--clean {
		padding: 14px;
	}

	.tournament-card--clean .tournament-clean-price-main {
		font-size: 16px;
	}

	.tournament-card--clean .tournament-clean-price-sub,
	.tournament-card--clean .tournament-helper {
		font-size: 11px;
	}

	.tournament-card--clean .status-badge {
		font-size: 9px;
		padding: 5px 8px;
	}
}

/* =========================================================
   BOTTOM NAV V3 — HARD RESET
   ========================================================= */

:root{
	--bn-h: 96px;
}

.bottom-nav{
	position: fixed !important;
	left: max(10px, var(--safe-l, 0px)) !important;
	right: max(10px, var(--safe-r, 0px)) !important;
	bottom: calc(14px + var(--safe-b, 0px)) !important;
	z-index: 9998 !important;

	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;

	overflow: visible !important;
}

.bottom-nav .nav-row{
	width: min(100%, 620px) !important;
	margin: 0 auto !important;

	display: grid !important;
	grid-auto-flow: column !important;
	grid-auto-columns: minmax(0, 1fr) !important;
	gap: 8px !important;

	padding: 8px !important;
	border-radius: 26px !important;
	overflow: visible !important;

	background:
			radial-gradient(220px 120px at 50% 0%, rgba(163,38,50,.08), transparent 70%),
			linear-gradient(180deg, rgba(18,24,32,.96), rgba(11,15,21,.985)) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	box-shadow:
			0 14px 34px rgba(0,0,0,.34),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	-webkit-backdrop-filter: blur(18px) saturate(140%) !important;
	backdrop-filter: blur(18px) saturate(140%) !important;
}

.bn-item{
	position: relative !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	min-height: 62px !important;
	height: 62px !important;
	padding: 6px 4px 8px !important;
	border-radius: 18px !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	color: rgba(226,232,240,.72) !important;
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(244,239,232,0);
	touch-action: manipulation;
	transform: none !important;
	transition:
			background .18s ease,
			color .18s ease,
			border-color .18s ease,
			box-shadow .18s ease,
			opacity .18s ease !important;
	min-height: 68px !important;
}

.bn-item::before,
.bn-item::after{
	display: none !important;
	content: none !important;
}

.bn-item .bn-icon{
	width: 34px !important;
	height: 34px !important;
	flex: 0 0 34px !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	border-radius: 12px !important;
	background: rgba(255,255,255,.045) !important;
	border: 1px solid rgba(148,163,184,.10) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;

	transform: none !important;
	transition:
			background .18s ease,
			border-color .18s ease,
			box-shadow .18s ease,
			transform .18s ease !important;
}

.bn-item .bn-icon i{
	font-size: 19px !important;
	line-height: 1 !important;
	opacity: .96 !important;
	transform: none !important;
	transition: none !important;
}

.bn-item .bn-label{
	display: block !important;
	font-size: 11px !important;
	line-height: 1 !important;
	font-weight: 800 !important;
	letter-spacing: .01em !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}

.bn-item:hover{
	color: rgba(255,255,255,.92) !important;
	background: rgba(255,255,255,.03) !important;
	border-color: rgba(148,163,184,.12) !important;
	box-shadow: none !important;
	transform: none !important;
}

.bn-item:active{
	transform: scale(.985) !important;
}

.bn-item:active .bn-icon{
	transform: scale(.97) !important;
}

.bn-item.active{
	color: #fff !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
	border-color: rgba(240,199,102,.32) !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,255,255,.04),
			0 10px 22px rgba(163,38,50,.14) !important;
}

.bn-item.active .bn-icon{
	background:
			radial-gradient(80px 40px at 30% 20%, rgba(255,255,255,.12), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.22), rgba(163,38,50,.24)) !important;
	border-color: rgba(240,199,102,.34) !important;
	box-shadow:
			0 8px 18px rgba(163,38,50,.18),
			inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.bn-item.active .bn-label{
	font-weight: 900 !important;
}

.bn-item--admin .bn-icon{
	background: rgba(255,255,255,.035) !important;
	border-color: rgba(148,163,184,.12) !important;
}

.bn-item--admin.active .bn-icon{
	background:
			radial-gradient(80px 40px at 30% 20%, rgba(255,255,255,.10), transparent 70%),
			linear-gradient(135deg, rgba(240,75,55,.20), rgba(163,38,50,.22)) !important;
	border-color: rgba(167,175,187,.26) !important;
	box-shadow:
			0 8px 18px rgba(240,75,55,.16),
			inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body{
	padding-bottom: calc(var(--bn-h, 96px) + var(--safe-b, 0px) + 30px) !important;
}

main.list-pad{
	padding-bottom: calc(var(--bn-h, 96px) + var(--safe-b, 0px) + 30px) !important;
}

@media (max-width: 420px){
	:root{
		--bn-h: 90px;
	}

	.bottom-nav{
		left: max(8px, var(--safe-l, 0px)) !important;
		right: max(8px, var(--safe-r, 0px)) !important;
		bottom: calc(12px + var(--safe-b, 0px)) !important;
		padding: 0 !important;
	}

	.bottom-nav .nav-row{
		gap: 6px !important;
		padding: 7px !important;
		border-radius: 22px !important;
	}

	.bn-item{
		min-height: 58px !important;
		height: 58px !important;
		padding: 5px 2px 7px !important;
		gap: 4px !important;
		border-radius: 16px !important;
	}

	.bn-item .bn-icon{
		width: 31px !important;
		height: 31px !important;
		flex-basis: 31px !important;
		border-radius: 10px !important;
	}

	.bn-item .bn-icon i{
		font-size: 18px !important;
	}

	.bn-item .bn-label{
		font-size: 10px !important;
	}
}

@media (max-width: 360px){
	.bn-item span{
		display: block !important;
	}

	.bn-item .bn-label{
		font-size: 9px !important;
	}
}

/* =========================================================
   CLUB INFO QUIET LUXURY
   ========================================================= */

#open-club-info.icon-btn--with-text{
	height: 42px;
	min-width: 118px;
	padding: 0 14px;
	border-radius: 14px;
	border: 1px solid rgba(148,163,184,.16) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
	box-shadow:
			0 10px 24px rgba(0,0,0,.22),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	-webkit-backdrop-filter: blur(10px) saturate(130%);
	backdrop-filter: blur(10px) saturate(130%);
}

#open-club-info.icon-btn--with-text::before{
	display: none !important;
	content: none !important;
}

#open-club-info.icon-btn--with-text:hover{
	transform: translateY(-1px);
	border-color: rgba(240,199,102,.24) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)) !important;
	box-shadow:
			0 12px 28px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#open-club-info.icon-btn--with-text i{
	font-size: 18px;
	color: #eef2f7;
}

#open-club-info.icon-btn--with-text span{
	color: #eef2f7 !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .01em;
}

#club-info-modal{
	background:
			radial-gradient(1100px 640px at 50% -10%, rgba(163,38,50,.14), transparent 58%),
			radial-gradient(900px 600px at 0% 100%, rgba(224,178,79,.08), transparent 60%),
			rgba(5,8,13,.82) !important;
	-webkit-backdrop-filter: blur(12px) saturate(120%);
	backdrop-filter: blur(12px) saturate(120%);
}

#club-info-modal .modal-content.club-info-modal-content{
	width: min(100%, 720px) !important;
	max-height: calc(var(--tg-vh-stable) - var(--safe-t) - var(--safe-b) - 18px) !important;
	border-radius: 22px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			radial-gradient(720px 260px at 100% 0%, rgba(163,38,50,.10), transparent 62%),
			linear-gradient(180deg, rgba(12,17,24,.985), rgba(9,13,19,.985)) !important;
	box-shadow:
			0 28px 64px rgba(0,0,0,.54),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	overflow: hidden !important;
}

#club-info-modal .modal-header--sticky.club-info-modal-header{
	position: sticky;
	top: 0;
	z-index: 8;
	background: linear-gradient(180deg, rgba(12,17,24,.96), rgba(12,17,24,.84)) !important;
	border-bottom: 1px solid rgba(148,163,184,.10) !important;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

#club-info-modal .modal-header--sticky.club-info-modal-header::after{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(163,38,50,.35), rgba(224,178,79,.22), transparent);
	opacity: .9;
}

.club-info-shell{
	padding: 14px;
	display: grid;
	gap: 12px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.club-info-hero{
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	padding: 18px;
	border-radius: 20px;
	border: 1px solid rgba(148,163,184,.12);
	background:
			radial-gradient(700px 220px at 100% 0%, rgba(163,38,50,.10), transparent 62%),
			linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.04),
			0 14px 28px rgba(0,0,0,.18);
}

.club-info-eyebrow{
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(148,163,184,.12);
	color: rgba(226,232,240,.72);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.club-info-hero-title{
	margin-top: 10px;
	font-size: clamp(24px, 4vw, 32px);
	line-height: 1.05;
	font-weight: 900;
	letter-spacing: -.04em;
	color: #fff;
}

.club-info-hero-sub{
	margin-top: 8px;
	color: rgba(203,213,225,.72);
	font-size: 14px;
	line-height: 1.55;
	max-width: 58ch;
}

.club-info-chip-row{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.club-info-chip{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(148,163,184,.12);
	color: #dbe3ee;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.club-info-chip i{
	font-size: 14px;
	opacity: .92;
}

.club-info-hero-stats{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.club-info-hero-stat{
	padding: 14px;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.12);
	background:
			linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.club-info-hero-stat-k{
	color: rgba(148,163,184,.78);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.club-info-hero-stat-v{
	margin-top: 7px;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	font-weight: 900;
}

.club-info-gallery-wrap,
.club-info-panel{
	padding: 14px;
	border-radius: 20px;
	border: 1px solid rgba(148,163,184,.12);
	background:
			linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.03),
			0 12px 24px rgba(0,0,0,.14);
}

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

.club-info-block-head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}

.club-info-block-title{
	color: #fff;
	font-size: 17px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -.02em;
	margin-bottom: 10px;
}

.club-info-block-sub{
	margin-top: 4px;
	color: rgba(148,163,184,.82);
	font-size: 13px;
	line-height: 1.4;
}

.club-info-gallery{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 78%);
	gap: 10px;
	overflow: auto;
	padding-bottom: 4px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.club-info-photo-card{
	position: relative;
	min-height: 188px;
	margin: 0;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(148,163,184,.12);
	background: rgba(255,255,255,.03);
	scroll-snap-align: start;
	box-shadow: 0 12px 24px rgba(0,0,0,.18);
}

.club-info-photo-card img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.club-info-photo-card::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,.62) 100%);
	pointer-events: none;
}

.club-info-photo-caption{
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	z-index: 2;
}

.club-info-photo-caption span{
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 7px 10px;
	border-radius: 999px;
	background: rgba(7,10,15,.52);
	border: 1px solid rgba(255,255,255,.10);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.club-info-locations{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.club-info-location-card{
	padding: 14px;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.12);
	background:
			linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.014));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.club-info-location-top{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.club-info-location-main{
	min-width: 0;
	flex: 1 1 auto;
}

.club-info-location-title{
	color: #fff;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: -.02em;
}

.club-info-location-address{
	margin-top: 7px;
	color: rgba(203,213,225,.78);
	font-size: 13px;
	line-height: 1.5;
}

.club-info-location-badge{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 9px;
	border-radius: 999px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(148,163,184,.12);
	color: #dbe7f5;
	font-size: 11px;
	font-weight: 800;
	white-space: nowrap;
}

.club-info-location-bottom{
	display: none !important;
}

.club-info-location-actions{
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}

.club-info-note{
	padding: 12px 13px;
	border-radius: 14px;
	background: rgba(255,255,255,.028);
	border: 1px solid rgba(148,163,184,.10);
	color: rgba(226,232,240,.82);
	font-size: 14px;
	line-height: 1.55;
}

.club-info-note + .club-info-note{
	margin-top: 10px;
}

#club-info-modal .club-info-actions{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

#club-info-modal .club-info-actions .btn,
#club-info-modal .club-info-location-actions .map-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 14px;
	background:
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	color: #edf2f7 !important;
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.03) !important;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
}

#club-info-modal .club-info-actions .btn:hover,
#club-info-modal .club-info-location-actions .map-btn:hover{
	transform: none !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03)) !important;
	border-color: rgba(240,199,102,.20) !important;
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.04),
			0 10px 20px rgba(0,0,0,.16) !important;
}

#club-info-modal .club-info-actions .btn::before,
#club-info-modal .club-info-actions .btn::after{
	display: none !important;
}

#club-info-modal details.faq{
	margin: 0;
	padding: 0;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.10);
	background:
			linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
	overflow: hidden;
}

#club-info-modal details.faq + details.faq{
	margin-top: 10px;
}

#club-info-modal details.faq summary{
	padding: 14px 16px;
	font-size: 15px;
	font-weight: 800;
	color: #f1f5f9;
}

#club-info-modal details.faq p{
	padding: 0 16px 16px;
	color: rgba(203,213,225,.78);
	font-size: 14px;
	line-height: 1.55;
}

@media (max-width: 640px){
	.club-info-grid{
		grid-template-columns: 1fr;
	}

	.club-info-gallery{
		grid-auto-columns: minmax(240px, 88%);
	}
}

@media (max-width: 480px){
	#open-club-info.icon-btn--with-text{
		height: 40px;
		min-width: 110px;
		padding: 0 12px;
		border-radius: 13px;
	}

	#open-club-info.icon-btn--with-text span{
		font-size: 12px;
	}

	#club-info-modal .modal-content.club-info-modal-content{
		border-radius: 18px !important;
	}

	.club-info-shell{
		padding: 12px;
		gap: 10px;
	}

	.club-info-hero,
	.club-info-gallery-wrap,
	.club-info-panel{
		padding: 12px;
		border-radius: 18px;
	}

	.club-info-hero-title{
		font-size: 24px;
	}

	.club-info-hero-stats{
		grid-template-columns: 1fr 1fr;
	}

	.club-info-location-card{
		padding: 12px;
	}

	#club-info-modal .club-info-actions{
		grid-template-columns: 1fr;
	}
}
#club-info-modal .club-info-location-bottom .club-info-chip-row{
	display: none !important;
}

/* =========================================================
   HERO LEVEL — CLEAN INLINE FINAL
   ========================================================= */

.hero-level-wrap{
	padding: 8px 16px 6px;
}

.hero-level-card{
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 8px;

	padding: 12px;
	border-radius: 18px;
	overflow: hidden;
	isolation: isolate;
	cursor: pointer;

	border: 1px solid rgba(148,163,184,.16);
	background:
			radial-gradient(260px 100px at 0% 0%, rgba(239,68,68,.08), transparent 65%),
			radial-gradient(280px 110px at 100% 0%, rgba(163,38,50,.14), transparent 68%),
			linear-gradient(180deg, rgba(13,18,27,.94), rgba(9,13,20,.96));

	box-shadow:
			0 12px 28px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.04);

	transition:
			transform .18s ease,
			border-color .18s ease,
			box-shadow .22s ease;
}

.hero-level-card:hover{
	transform: translateY(-1px);
	border-color: rgba(240,199,102,.24);
	box-shadow:
			0 16px 34px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.05);
}

.hero-level-card:active{
	transform: scale(.988);
}

.hero-level-card--hidden{
	display: none;
}

.hero-level-avatar-wrap{
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 56px;
	height: 56px;
	position: relative;
	z-index: 1;
}

.hero-level-avatar{
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background:
			linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)),
			#0f172a;
	border: 2px solid rgba(255,255,255,.08);
	box-shadow:
			0 8px 18px rgba(0,0,0,.22),
			0 0 0 3px rgba(163,38,50,.10);
	font-size: 18px;
	font-weight: 900;
	color: #fff;
}

.hero-level-avatar img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hero-level-main{
	grid-column: 2;
	grid-row: 1 / span 2;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	z-index: 1;
}

.hero-level-name{
	font-size: 16px;
	line-height: 1.1;
	font-weight: 900;
	letter-spacing: -.02em;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hero-level-rank-badge{
	position: static;
	left: auto;
	right: auto;
	top: auto;
	bottom: auto;
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	justify-self: end;
	min-width: 76px;
	height: 28px;
	padding: 0 12px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background:
			radial-gradient(70px 24px at 50% 0%, rgba(255,255,255,.26), transparent 70%),
			linear-gradient(180deg, #f8d878, #e9b949);
	color: #111827;
	font-size: 11px;
	font-weight: 1000;
	letter-spacing: .03em;
	white-space: nowrap;
	border: 1px solid rgba(255,255,255,.18);
	box-shadow:
			0 8px 16px rgba(242,198,78,.16),
			inset 0 1px 0 rgba(255,255,255,.24);
}

.hero-level-progress-shell{
	position: relative;
	min-width: 0;
}

.hero-level-progress-bar{
	position: relative;
	height: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
	border: 1px solid rgba(148,163,184,.14);
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.03),
			inset 0 -1px 0 rgba(0,0,0,.18);
}

.hero-level-progress-bar > span{
	position: relative;
	display: block;
	height: 100%;
	width: 0%;
	border-radius: inherit;
	background:
			radial-gradient(80px 20px at 18% 50%, rgba(255,255,255,.34), transparent 60%),
			linear-gradient(90deg, #ffd966 0%, #facc15 45%, #f59e0b 100%);
	box-shadow: 0 0 12px rgba(250,204,21,.16);
	transition: width .45s cubic-bezier(.34,1.56,.64,1);
}

.hero-level-progress-bar > span::after{
	content: "";
	position: absolute;
	inset: 0;
	background:
			linear-gradient(120deg, transparent 0%, rgba(255,255,255,.24) 35%, transparent 68%);
	transform: translateX(-120%);
	animation: heroLevelShine 2.8s ease-in-out infinite;
}

.hero-level-meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 800;
	color: rgba(203,213,225,.72);
}

.hero-level-meta span{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.hero-level-meta span strong{
	color: #f8fafc;
	font-weight: 900;
}

.hero-level-card:focus-visible{
	outline: 2px solid rgba(240,199,102,.72);
	outline-offset: 2px;
}

@media (max-width: 560px){
	.hero-level-wrap{
		padding: 6px 16px 4px;
	}

	.hero-level-card{
		grid-template-columns: 50px minmax(0, 1fr);
		padding: 10px;
		column-gap: 10px;
		row-gap: 8px;
		border-radius: 16px;
	}

	.hero-level-avatar-wrap{
		width: 50px;
		height: 50px;
		grid-row: 1 / span 3;
	}

	.hero-level-avatar{
		width: 50px;
		height: 50px;
		font-size: 16px;
	}

	.hero-level-main{
		grid-column: 2;
		grid-row: 1 / span 2;
	}



	.hero-level-name{
		font-size: 15px;
	}

	.hero-level-progress-bar{
		height: 7px;
	}

	.hero-level-meta{
		font-size: 10px;
		gap: 6px 10px;
	}
}

@keyframes heroLevelShine {
	0%   { transform: translateX(-120%); opacity: 0; }
	40%  { opacity: .55; }
	62%  { opacity: .14; }
	100% { transform: translateX(140%); opacity: 0; }
}
@keyframes heroLevelDot {
	0%,100% {
		box-shadow:
				0 0 0 0 rgba(255,217,102,.34),
				0 0 10px rgba(255,217,102,.46);
	}
	50% {
		box-shadow:
				0 0 0 6px rgba(255,217,102,0),
				0 0 14px rgba(255,217,102,.68);
	}
}


/* =========================================================
   AESTHETIC FINAL OVERRIDE
   ВСТАВИТЬ В САМЫЙ КОНЕЦ ФАЙЛА
   ========================================================= */

:root{
	--ui-bg-1: rgba(255,255,255,.050);
	--ui-bg-2: rgba(255,255,255,.028);
	--ui-bg-3: rgba(255,255,255,.020);

	--ui-line: rgba(148,163,184,.14);
	--ui-line-strong: rgba(148,163,184,.22);

	--ui-text: #f8fafc;
	--ui-text-2: rgba(226,232,240,.78);
	--ui-text-3: rgba(148,163,184,.84);

	--ui-shadow-sm: 0 8px 20px rgba(0,0,0,.14);
	--ui-shadow-md: 0 14px 34px rgba(0,0,0,.22);
	--ui-shadow-lg: 0 22px 52px rgba(0,0,0,.34);

	--ui-radius-sm: 14px;
	--ui-radius-md: 18px;
	--ui-radius-lg: 22px;

	--ui-glow: 0 0 0 1px rgba(255,255,255,.03) inset;
}

/* =========================
   GLOBAL QUIET LUXURY
   ========================= */

html,
body{
	width: 100%;
	max-width: 100%;
	overflow-x: hidden !important;
}

body{
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-y: none;
	color: var(--ui-text) !important;
	background:
			radial-gradient(900px 420px at 82% -10%, rgba(163,38,50,.12), transparent 58%),
			radial-gradient(720px 360px at 12% 112%, rgba(224,178,79,.08), transparent 60%),
			linear-gradient(180deg, #0a0e13 0%, #0d131a 52%, #0a0e13 100%) !important;
}

#app,
.app,
.root,
#app.app{
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
	/* margin-top: var(--safe-t) !important; */
}

/* =========================
   HEADER
   ========================= */

.header{
	position: relative !important;
	inset: auto !important;
	z-index: 1 !important;
	border-bottom: 1px solid rgba(245, 158, 11, .12) !important;
	background:
			radial-gradient(900px 320px at 50% -10%, rgba(245, 158, 11, .06), transparent 65%),
			radial-gradient(1200px 400px at 50% 50%, rgba(255, 255, 255, .02), transparent 70%),
			linear-gradient(180deg, rgba(17, 24, 39, .97), rgba(11, 15, 25, .98)) !important;
	box-shadow:
			0 1px 0 rgba(245, 158, 11, .08) inset,
			0 12px 32px rgba(0,0,0,.24) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.header-inner{
	width: min(100%, 820px) !important;
	/* margin: 0 auto !important; */
	/* padding: 0 !important; */
	position: relative;
}


.subtitle{
	padding-right: 118px !important;
	margin-top: 6px !important;
	color: var(--ui-text-2) !important;
	font-size: 13px !important;
	line-height: 1.45;
}

.header-actions{
	top: 10px !important;
	right: 0 !important;
	gap: 8px !important;
}

.icon-btn,
#open-club-info.icon-btn--with-text{
	border-radius: 14px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
	box-shadow:
			0 10px 22px rgba(0,0,0,.20),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	color: #eef2f7 !important;
	backdrop-filter: blur(10px) saturate(125%) !important;
	-webkit-backdrop-filter: blur(10px) saturate(125%) !important;
}

.icon-btn:hover,
#open-club-info.icon-btn--with-text:hover{
	transform: translateY(-1px) !important;
	border-color: rgba(240,199,102,.24) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)) !important;
	box-shadow:
			0 14px 28px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#open-club-info.icon-btn--with-text span{
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #eef2f7 !important;
}

/* =========================
   PAGE SPACING
   ========================= */

.list-pad{
	margin-top: 0 !important;
	padding-top: 12px !important;
}

main.list-pad{
	padding-top: 12px !important;
	padding-left: max(16px, var(--safe-l, 0px)) !important;
	padding-right: max(16px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--bn-h, 96px) + var(--safe-b, 0px) + 28px) !important;
}

.section-title{
	margin: 16px 0 14px 2px !important;
	font-size: clamp(20px, 2.6vw, 22px) !important;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: #fff !important;
}

.section-title i{
	/* background: linear-gradient(135deg, #fda4af, #c4b5fd) !important; */
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	color: #F4EFE8 !important;
}

/* =========================
   CARDS / PANELS
   ========================= */

.card,
.stat-card,
.game-history-item,
.contact-item,
.settings-item,
.profile-more,
.profile-compact-row,
.medal-mini-card,
.medal-locked-row,
.profile-medals-counter,
.profile-medals-next,
.profile-more,
.club-info-gallery-wrap,
.club-info-panel,
.club-info-location-card,
.tournament-card--clean,
.tournament-card--compact,
.tournament-card{
	border-radius: 18px !important;
	border: 1px solid rgba(148,163,184,.16) !important;
	background:
			radial-gradient(260px 100px at 0% 0%,  rgba(239,68,68,.08),  transparent 65%),
			radial-gradient(280px 110px at 100% 0%, rgba(163,38,50,.14), transparent 68%),
			linear-gradient(180deg, rgba(13,18,27,.94), rgba(9,13,20,.96)) !important;
	box-shadow:
			0 12px 28px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.card:hover,
.stat-card:hover,
.game-history-item:hover,
.contact-item:hover,
.settings-item:hover,
.profile-compact-row:hover,
.medal-mini-card:hover,
.medal-locked-row:hover,
.club-info-location-card:hover,
.tournament-card:hover{
	transform: translateY(-1px) !important;
	border-color: rgba(240,199,102,.24) !important;
	box-shadow:
			0 16px 34px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.card::before,
.stat-card::before,
.game-history-item::before{
	opacity: 0 !important;
}

.card-quiet,
.card-quiet:hover{
	transform: none !important;
}

/* =========================
   TOURNAMENT CARDS
   ========================= */

.tournament-title{
	font-size: 16px !important;
	line-height: 1.22 !important;
	font-weight: 900 !important;
	letter-spacing: -.02em !important;
	color: #fff !important;
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
}

.tournament-date,
.tournament-helper,
.tournament-clean-location,
.tournament-clean-price-sub,
.tournament-price-sub,
.tournament-prices-compact,
.tournament-card--compact .tournament-helper,
.tournament-card--clean .tournament-helper{
	color: var(--ui-text-2) !important;
}

.tournament-clean-price,
.tournament-card--compact .tournament-price-main,
.tournament-card--clean .tournament-clean-price,
.info-item{
	border-radius: 14px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.tournament-clean-price-main,
.tournament-price-main,
.tournament-card--compact .tournament-price-main,
.tournament-card--clean .tournament-clean-price-main{
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.tm-chip,
.tournament-card--compact .tm-chip,
.tournament-card--clean .tm-chip,
.club-info-chip,
.club-info-location-badge{
	border-radius: 999px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background: rgba(255,255,255,.04) !important;
	color: #dbe7f5 !important;
	box-shadow: none !important;
}

.status-badge{
	animation: none !important;
	box-shadow: none !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	letter-spacing: .05em !important;
}

.status-upcoming{
	color: #bbf7d0 !important;
	border-color: rgba(34,197,94,.22) !important;
	background: rgba(34,197,94,.12) !important;
}

.status-full{
	color: #fde68a !important;
	border-color: rgba(245,158,11,.22) !important;
	background: rgba(245,158,11,.12) !important;
}

.status-badge.status-registered{
	color: #bbf7d0 !important;
	border-color: rgba(34,197,94,.22) !important;
	background: rgba(34,197,94,.12) !important;
}

.status-badge.status-wait{
	color: #fde68a !important;
	border-color: rgba(245,158,11,.22) !important;
	background: rgba(245,158,11,.12) !important;
}

.progress{
	height: 10px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background: rgba(255,255,255,.05) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.progress > span{
	background: linear-gradient(90deg, rgba(244,114,182,.92), rgba(163,38,50,.95)) !important;
}

.progress > span::before{
	opacity: .35 !important;
}

.progress > span::after{
	opacity: .42 !important;
}

/* =========================
   BUTTONS
   ========================= */

.btn{
	min-height: 46px !important;
	border-radius: 14px !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .01em !important;
	background:
			radial-gradient(120px 60px at 18% 24%, rgba(255,255,255,.12), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.92), rgba(163,38,50,.92)) !important;
	border: 1px solid rgba(255,255,255,.06) !important;
	box-shadow:
			0 12px 26px rgba(163,38,50,.18),
			inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.btn:hover{
	transform: translateY(-1px) scale(1.005) !important;
	box-shadow:
			0 16px 30px rgba(163,38,50,.22),
			inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.btn:active{
	transform: scale(.985) !important;
}

.btn-secondary{
	background:
			linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
	border: 1px solid rgba(148,163,184,.16) !important;
	color: #e2e8f0 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.btn-secondary:hover{
	background:
			linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
	border-color: rgba(240,199,102,.22) !important;
	color: #fff !important;
}

.btn-danger,
.btn-cancel-soft,
.tournament-card .card-actions .btn.btn-danger,
.tournament-card .card-actions .btn.btn-cancel-soft,
#tournament-modal .btn.btn-cancel-soft{
	background:
			linear-gradient(180deg, rgba(127,29,29,.94), rgba(153,27,27,.90)) !important;
	border: 1px solid rgba(252,165,165,.16) !important;
	box-shadow:
			0 10px 22px rgba(127,29,29,.18),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.card-actions{
	gap: 10px !important;
}

.card-actions .btn,
.card-actions a.btn{
	height: 46px !important;
	min-height: 46px !important;
	border-radius: 14px !important;
}

/* =========================
   NAV TABS
   ========================= */

.nav-tabs{
	gap: 8px !important;
	padding: 12px 2px 8px !important;
}

.nav-tab{
	padding: 10px 14px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025)) !important;
	color: rgba(226,232,240,.78) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.nav-tab:hover{
	transform: translateY(-1px) !important;
	color: #fff !important;
	border-color: rgba(240,199,102,.22) !important;
	box-shadow: 0 10px 20px rgba(0,0,0,.18) !important;
}

.nav-tab.active{
	background:
			radial-gradient(120px 60px at 20% 20%, rgba(255,255,255,.08), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.16), rgba(163,38,50,.18)) !important;
	border-color: rgba(240,199,102,.28) !important;
	box-shadow:
			0 12px 24px rgba(163,38,50,.12),
			inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* =========================
   FORMS
   ========================= */

.field{
	border-radius: 14px !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028)) !important;
	outline: 1px solid rgba(148,163,184,.14) !important;
	box-shadow:
			0 10px 22px rgba(0,0,0,.10),
			inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.field:focus-within{
	outline-color: rgba(240,199,102,.34) !important;
	box-shadow:
			0 0 0 4px rgba(163,38,50,.10),
			0 12px 26px rgba(0,0,0,.16),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	transform: none !important;
}

.field input[type="text"],
.field input[type="email"],
.cc-eg-nick-input{
	border-radius: 12px !important;
	background: rgba(255,255,255,.05) !important;
	box-shadow: inset 0 0 0 1px rgba(148,163,184,.12) !important;
	color: #f8fafc !important;
}

.field input[type="text"]:focus,
.field input[type="email"]:focus,
.cc-eg-nick-input:focus{
	background: rgba(255,255,255,.07) !important;
	box-shadow:
			inset 0 0 0 1px rgba(240,199,102,.26),
			0 0 0 4px rgba(163,38,50,.08) !important;
}

.field input::placeholder,
.cc-eg-nick-input::placeholder{
	color: rgba(148,163,184,.70) !important;
}

/* =========================
   PROFILE / STATS
   ========================= */

.stat-value,
.game-position,
.profile-compact-place{
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	color: #F4EFE8 !important;
}

.stat-label,
.profile-compact-sub,
.medal-locked-how,
.medal-mini-meta{
	color: var(--ui-text-2) !important;
}

.profile-compact-badge,
.profile-medals-section-badge,
.medal-locked-state{
	box-shadow: none !important;
}

.profile-compact-badge.is-ok,
.profile-medals-section-badge.is-ok{
	color: #bbf7d0 !important;
	background: rgba(34,197,94,.12) !important;
	border: 1px solid rgba(34,197,94,.18) !important;
}

.profile-compact-badge.is-wait{
	color: #fde68a !important;
	background: rgba(245,158,11,.12) !important;
	border: 1px solid rgba(245,158,11,.18) !important;
}

/* =========================
   PARTICIPANTS / LIST ITEMS
   ========================= */

.participant-item,
#tournament-modal .participant-item,
.tm-li{
	border-radius: 12px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.participant-item:hover,
#tournament-modal .participant-item:hover,
.tm-li:hover{
	transform: translateX(2px) !important;
	border-color: rgba(240,199,102,.20) !important;
}

.participant-item.current-user,
#tournament-modal .participant-item.current-user,
.tm-li.me{
	background:
			linear-gradient(135deg, rgba(163,38,50,.16), rgba(163,38,50,.08)) !important;
	border-color: rgba(240,199,102,.26) !important;
	box-shadow:
			0 10px 22px rgba(163,38,50,.10),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.waitlist-badge,
.tm-wait{
	color: #fde68a !important;
	background: rgba(245,158,11,.10) !important;
	border: 1px solid rgba(245,158,11,.20) !important;
}

/* =========================
   MODALS
   ========================= */

.modal,
#tournament-modal,
#club-info-modal,
#terms-modal,
#nick-modal,
#confirm-modal,
#rating-info-modal{
	background:
			radial-gradient(1100px 620px at 50% -12%, rgba(163,38,50,.12), transparent 58%),
			rgba(4,7,12,.82) !important;
	-webkit-backdrop-filter: blur(12px) saturate(118%) !important;
	backdrop-filter: blur(12px) saturate(118%) !important;
}

.modal .modal-content,
#tournament-modal .modal-content,
#club-info-modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#rating-info-modal .modal-content{
	border-radius: 20px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			radial-gradient(760px 260px at 100% 0%, rgba(163,38,50,.09), transparent 62%),
			linear-gradient(180deg, rgba(12,17,24,.985), rgba(9,13,19,.985)) !important;
	box-shadow:
			0 28px 64px rgba(0,0,0,.54),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.modal-header,
#tournament-modal .modal-header,
#club-info-modal .modal-header--sticky{
	background: linear-gradient(180deg, rgba(12,17,24,.96), rgba(12,17,24,.84)) !important;
	border-bottom: 1px solid rgba(148,163,184,.10) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
}

.modal-title,
#tournament-modal .modal-title{
	font-size: 20px !important;
	line-height: 1.15 !important;
	letter-spacing: -.02em !important;
	background: none !important;
	-webkit-text-fill-color: #F4EFE8 !important;
	color: #F4EFE8 !important;
}

.close-btn,
#tournament-modal .close-btn{
	border-radius: 12px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background: rgba(255,255,255,.045) !important;
	color: #e5e7eb !important;
	box-shadow: none !important;
}

.close-btn:hover,
#tournament-modal .close-btn:hover{
	background: rgba(255,255,255,.07) !important;
	border-color: rgba(240,199,102,.22) !important;
	transform: rotate(90deg) !important;
}

#tournament-modal .detail-section > div,
.tm-section,
.tm-tile,
#tournament-modal .tm-cta,
#tournament-modal .tm-cta-hint{
	border-radius: 14px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)) !important;
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.03) !important;
}

#tournament-modal #modal-body > p,
.tm-status{
	border-radius: 12px !important;
	box-shadow: none !important;
}

/* =========================
   TOASTS
   ========================= */

.cc-toast{
	border-radius: 14px !important;
	border: 1px solid rgba(148,163,184,.16) !important;
	background:
			linear-gradient(180deg, rgba(17,24,35,.94), rgba(12,17,24,.94)) !important;
	box-shadow:
			0 14px 28px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.cc-toast .title{
	font-weight: 900 !important;
}

.cc-toast .body{
	color: #e5e7eb !important;
}

/* =========================
   BOTTOM NAV — CLEAN PREMIUM
   ========================= */

:root{
	--bn-h: 96px;
}

.bottom-nav{
	position: fixed !important;
	left: max(10px, var(--safe-l, 0px)) !important;
	right: max(10px, var(--safe-r, 0px)) !important;
	bottom: calc(12px + var(--safe-b, 0px)) !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.bottom-nav .nav-row{
	width: min(100%, 620px) !important;
	margin: 0 auto !important;
	padding: 8px !important;
	gap: 8px !important;
	border-radius: 24px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			radial-gradient(220px 120px at 50% 0%, rgba(163,38,50,.07), transparent 70%),
			linear-gradient(180deg, rgba(18,24,32,.94), rgba(11,15,21,.98)) !important;
	box-shadow:
			0 16px 34px rgba(0,0,0,.32),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	backdrop-filter: blur(18px) saturate(140%) !important;
	-webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}


.bn-item:active{
	transform: scale(.985) !important;
}

.bn-item .bn-icon{
	width: 34px !important;
	height: 34px !important;
	flex: 0 0 34px !important;
	border-radius: 12px !important;
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(148,163,184,.10) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.bn-item .bn-icon i,
.bn-item i{
	font-size: 19px !important;
	line-height: 1 !important;
	transform: none !important;
}

.bn-item .bn-label,
.bn-item span{
	font-size: 11px !important;
	line-height: 1 !important;
	font-weight: 800 !important;
	letter-spacing: .01em !important;
}

.bn-item.active{
	color: #fff !important;
	border-color: rgba(240,199,102,.22) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
	box-shadow:
			0 10px 20px rgba(163,38,50,.12),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.bn-item.active .bn-icon{
	background:
			radial-gradient(80px 40px at 30% 20%, rgba(255,255,255,.10), transparent 70%),
			linear-gradient(135deg, rgba(239,68,68,.16), rgba(163,38,50,.20)) !important;
	border-color: rgba(240,199,102,.24) !important;
	box-shadow:
			0 8px 16px rgba(163,38,50,.12),
			inset 0 1px 0 rgba(255,255,255,.06) !important;
}

body{
	padding-bottom: calc(var(--bn-h, 96px) + var(--safe-b, 0px) + 28px) !important;
	margin-top: calc(var(--tg-content-safe-area-inset-top) + var(--tg-safe-area-inset-top)) !important;
}

main.list-pad{
	padding-bottom: calc(var(--bn-h, 96px) + var(--safe-b, 0px) + 28px) !important;
}

/* =========================
   CLUB INFO
   ========================= */

#club-info-modal .modal-content.club-info-modal-content{
	border-radius: 22px !important;
}

.club-info-shell{
	padding: 14px !important;
	gap: 12px !important;
}

.club-info-hero,
.club-info-gallery-wrap,
.club-info-panel{
	border-radius: 20px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			radial-gradient(700px 240px at 100% 0%, rgba(163,38,50,.07), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)) !important;
	box-shadow:
			0 14px 28px rgba(0,0,0,.16),
			inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.club-info-hero-title{
	letter-spacing: -.04em !important;
	color: #fff !important;
}

.club-info-hero-sub,
.club-info-note,
.club-info-location-address,
.club-info-block-sub{
	color: var(--ui-text-2) !important;
}

.club-info-photo-card{
	border-radius: 16px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	box-shadow: 0 12px 24px rgba(0,0,0,.18) !important;
}

/* =========================
   HERO LEVEL
   ========================= */

.hero-level-card{
	border-radius: 18px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			radial-gradient(260px 90px at 0% 0%, rgba(239,68,68,.08), transparent 65%),
			radial-gradient(280px 110px at 100% 0%, rgba(163,38,50,.14), transparent 68%),
			linear-gradient(180deg, rgba(13,18,27,.94), rgba(9,13,20,.96)) !important;
	box-shadow:
			0 12px 28px rgba(0,0,0,.22),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	margin-top: 12px !important;
}

.hero-level-card:hover{
	transform: translateY(-1px) scale(1.004) !important;
	border-color: rgba(240,199,102,.22) !important;
	box-shadow:
			0 16px 32px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.hero-level-name{
	color: #fff !important;
}

.hero-level-meta{
	color: rgba(203,213,225,.72) !important;
}

.hero-level-progress-bar{
	border: 1px solid rgba(148,163,184,.12) !important;
	background: rgba(255,255,255,.05) !important;
}

.hero-level-progress-bar > span{
	background:
			radial-gradient(80px 20px at 18% 50%, rgba(255,255,255,.34), transparent 60%),
			linear-gradient(90deg, #ffd966 0%, #facc15 45%, #f59e0b 100%) !important;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 560px){


	.brand{
		padding-right: 106px !important;
		font-size: clamp(18px, 6vw, 22px) !important;
	}

	.subtitle{
		padding-right: 106px !important;
		font-size: 12px !important;
	}

	.header-actions{
		top: 8px !important;
	}

	.section-title{
		margin: 14px 0 12px 2px !important;
		font-size: 19px !important;
	}

	.card,
	.stat-card,
	.game-history-item,
	.contact-item,
	.settings-item,
	.tournament-card--clean,
	.tournament-card--compact{
		border-radius: 16px !important;
	}

	.bottom-nav{
		left: max(8px, var(--safe-l, 0px)) !important;
		right: max(8px, var(--safe-r, 0px)) !important;
		bottom: calc(10px + var(--safe-b, 0px)) !important;
	}

	.bottom-nav .nav-row{
		padding: 7px !important;
		gap: 6px !important;
		border-radius: 20px !important;
	}

	.bn-item{
		border-radius: 16px !important;
	}

	.bn-item .bn-icon{
		width: 30px !important;
		height: 30px !important;
		flex-basis: 30px !important;
		border-radius: 10px !important;
	}

	.bn-item .bn-label,
	.bn-item span{
		font-size: 10px !important;
	}

	.modal .modal-content,
	#tournament-modal .modal-content,
	#club-info-modal .modal-content{
		border-radius: 18px !important;
	}

	#tournament-modal .modal-title,
	.modal-title{
		font-size: 18px !important;
	}

	.btn{
		min-height: 46px !important;
		font-size: 14px !important;
	}
}

@media (max-width: 380px){
	.brand{
		padding-right: 98px !important;
	}

	.subtitle{
		padding-right: 98px !important;
	}

	.bn-item .bn-label,
	.bn-item span{
		font-size: 9px !important;
	}
}
/* =========================================================
   CLUB INFO MODAL SAFE AREA HOTFIX
   ========================================================= */

#club-info-modal{
	padding-top: calc(var(--safe-t, 0px) + 12px) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 12px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;
	box-sizing: border-box !important;
}

#club-info-modal.active{
	display: grid !important;
	padding-top: calc(var(--safe-t, 0px) + 12px) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 12px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;
}

#club-info-modal .modal-content.club-info-modal-content{
	width: min(100%, 720px) !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 24px) !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

#club-info-modal .modal-header--sticky.club-info-modal-header{
	position: sticky !important;
	top: 0 !important;
	z-index: 20 !important;
}

#club-info-modal .club-info-shell{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: calc(14px + var(--safe-b, 0px)) !important;
}

@media (max-width: 480px){
	#club-info-modal{
		padding-top: calc(var(--safe-t, 0px) + 10px) !important;
		padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	}

	#club-info-modal.active{
		padding-top: calc(var(--safe-t, 0px) + 10px) !important;
		padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	}

	#club-info-modal .modal-content.club-info-modal-content{
		width: 100% !important;
		max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px) !important;
		border-radius: 18px !important;
	}
}
/* =========================================================
   MODAL MASTER FIX
   SAFE AREA + HEIGHT + BACKGROUND SCROLL LOCK
   ВСТАВИТЬ В САМЫЙ КОНЕЦ main.css
   ========================================================= */

:root{
	--safe-t: max(
			var(--tg-content-safe-area-inset-top, 0px),
			var(--tg-safe-area-inset-top, env(safe-area-inset-top, 0px))
	);
	--safe-r: max(
			var(--tg-content-safe-area-inset-right, 0px),
			var(--tg-safe-area-inset-right, env(safe-area-inset-right, 0px))
	);
	--safe-b: max(
			var(--tg-content-safe-area-inset-bottom, 0px),
			var(--tg-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))
	);
	--safe-l: max(
			var(--tg-content-safe-area-inset-left, 0px),
			var(--tg-safe-area-inset-left, env(safe-area-inset-left, 0px))
	);

	--modal-gap: 12px;
	--modal-max-h: calc(
			var(--tg-vh-stable, 100dvh) - var(--safe-t) - var(--safe-b) - (var(--modal-gap) * 2)
	);
}

/* lock page when any modal is open */
html.modal-open,
body.modal-open,
html:has(.modal.active),
body:has(.modal.active){
	overflow: hidden !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	overscroll-behavior: none !important;
}

/* all popups */
.modal,
#tournament-modal,
#terms-modal,
#nick-modal,
#confirm-modal,
#club-info-modal,
#rating-info-modal{
	position: fixed !important;
	inset: 0 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 99999 !important;

	width: 100% !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	max-height: var(--tg-vh-stable, 100dvh) !important;

	padding-top: calc(var(--safe-t) + var(--modal-gap)) !important;
	padding-right: max(10px, var(--safe-r)) !important;
	padding-bottom: calc(var(--safe-b) + var(--modal-gap)) !important;
	padding-left: max(10px, var(--safe-l)) !important;

	box-sizing: border-box !important;
	overflow: hidden !important;
	overscroll-behavior: none !important;

	background: rgba(0,0,0,.82) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

.modal.active,
#tournament-modal.active,
#terms-modal.active,
#nick-modal.active,
#confirm-modal.active,
#club-info-modal.active,
#rating-info-modal.active{
	display: flex !important;
}

.modal .modal-content,
#tournament-modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#club-info-modal .modal-content,
#rating-info-modal .modal-content{
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	height: auto !important;
	max-height: var(--modal-max-h) !important;
	/* margin: 0 !important; */
	display: flex !important;
	flex-direction: column !important;
	flex: 0 1 auto !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	align-self: center !important;
}

#tournament-modal .modal-content{
	width: min(100%, 640px) !important;
	max-width: min(100%, 640px) !important;
}

#club-info-modal .modal-content.club-info-modal-content{
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	max-height: var(--modal-max-h) !important;
}

#rating-info-modal .modal-content.rating-info-modal-content{
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	max-height: var(--modal-max-h) !important;
}

.modal-header,
#tournament-modal .modal-header,
#club-info-modal .modal-header--sticky.club-info-modal-header{
	flex: 0 0 auto !important;
	/* position: fixed; */
	/* background: linear-gradient(180deg, rgba(12, 17, 24, .96), rgba(12, 17, 24, .84)) !important; */
}

#modal-body,
.modal-body,
#confirm-body,
#club-info-modal .club-info-shell,
#rating-info-modal .rating-info-modal-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: auto !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
}

#club-info-modal .club-info-shell{
	padding-bottom: calc(14px + var(--safe-b)) !important;
}

#rating-info-modal .rating-info-modal-body{
	padding-bottom: calc(20px + var(--safe-b)) !important;
}

#tournament-modal #modal-body{
	padding-bottom: calc(18px + var(--safe-b)) !important;
}

@media (max-width: 480px){
	:root{
		--modal-gap: 10px;
	}

	.modal .modal-content,
	#tournament-modal .modal-content,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#club-info-modal .modal-content,
	#rating-info-modal .modal-content{
		width: 100% !important;
		max-width: 100% !important;
		max-height: var(--modal-max-h) !important;
		border-radius: 18px !important;
	}
}/* =========================================================
   TELEGRAM FULLSIZE POPUPS FIX
   - #cc-rating-goals-modal
   - #club-info-modal
   ВСТАВИТЬ В САМЫЙ КОНЕЦ main.css
   ========================================================= */

/* блокируем фон, когда открыт любой из этих попапов */
html:has(#cc-rating-goals-modal.active),
body:has(#cc-rating-goals-modal.active),
html:has(#club-info-modal.active),
body:has(#club-info-modal.active){
	overflow: hidden !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	overscroll-behavior: none !important;
}

/* (rating goals modal styles — see end of file) */

/* =========================================================
   CLUB INFO MODAL
   ========================================================= */

#club-info-modal{
	position: fixed !important;
	inset: 0 !important;
	z-index: 100040 !important;

	padding-top: calc(var(--safe-t, 0px) + 10px) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;

	box-sizing: border-box !important;
	overflow: hidden !important;
}

#club-info-modal.active{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	/* margin-top: calc(var(--safe-t) + 10px) !important; */
}

#club-info-modal .modal-content.club-info-modal-content{
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	height: min(100%, calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px)) !important;
	max-height: min(100%, calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px)) !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 0 1 auto !important;
	align-self: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	min-height: 0 !important;
	padding-bottom: 20px;
}

#club-info-modal .modal-header--sticky.club-info-modal-header{
	position: sticky !important;
	top: 0 !important;
	z-index: 4 !important;
	flex: 0 0 auto !important;
}

#club-info-modal .club-info-shell{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;

	padding: 12px !important;
	padding-bottom: calc(12px + var(--safe-b, 0px)) !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 560px){
	#club-info-modal .modal-content.club-info-modal-content{
		width: 100% !important;
		max-height: calc(100% - 73px) !important;
		border-radius: 18px !important;
		min-height: 0 !important;
	}

	#club-info-modal .club-info-shell{
		padding: 12px !important;
		padding-bottom: calc(12px + var(--safe-b, 0px)) !important;
	}
}
/* =========================================================
   TOURNAMENT MODAL — CLEAN / ADAPTIVE / PREMIUM
   ВСТАВИТЬ В САМЫЙ КОНЕЦ main.css
   ========================================================= */

#tournament-modal {
	padding-top: calc(var(--safe-t, 0px) + 10px) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;
	background:
			radial-gradient(900px 420px at 50% -10%, rgba(163,38,50,.14), transparent 58%),
			rgba(5,8,13,.84) !important;
	-webkit-backdrop-filter: blur(12px) saturate(120%) !important;
	backdrop-filter: blur(12px) saturate(120%) !important;
}

#tournament-modal.active {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

}

#tournament-modal .modal-content.tm-neo {
	width: min(100%, 680px) !important;
	max-width: min(100%, 680px) !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 24px)  !important;
	/* margin: 0 !important; */
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	border-radius: 22px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background:
			radial-gradient(760px 240px at 100% 0%, rgba(163,38,50,.10), transparent 62%),
			linear-gradient(180deg, rgba(12,17,24,.985), rgba(9,13,19,.985)) !important;
	box-shadow:
			0 28px 64px rgba(0,0,0,.54),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#tournament-modal .modal-header {
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	padding: 12px 14px !important;
	border-bottom: 1px solid rgba(148,163,184,.10) !important;
	background: linear-gradient(180deg, rgba(12,17,24,.96), rgba(12,17,24,.82)) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
}

#tournament-modal #modal-title:empty {
	display: none !important;
}

#tournament-modal .close-btn {
	width: 42px !important;
	height: 42px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	background: rgba(255,255,255,.05) !important;
	color: #e5e7eb !important;
	box-shadow: none !important;
}

#tournament-modal .close-btn:hover {
	background: rgba(255,255,255,.08) !important;
	border-color: rgba(240,199,102,.24) !important;
	transform: rotate(90deg) !important;
}

#tournament-modal .tm-head {
	flex: 0 0 auto !important;
	padding: 16px 16px 14px !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	border-bottom: 1px solid rgba(148,163,184,.08) !important;
	background:
			radial-gradient(500px 180px at 100% 0%, rgba(163,38,50,.08), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)) !important;
}

#tournament-modal .tm-title {
	font-size: 24px !important;
	line-height: 1.08 !important;
	font-weight: 900 !important;
	letter-spacing: -.03em !important;
	color: #fff !important;
}

#tournament-modal .tm-sub {
	margin-top: 8px !important;
	color: rgba(203,213,225,.78) !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
}

#tournament-modal .tm-badge {
	flex: 0 0 auto !important;
	align-self: flex-start !important;
	padding: 7px 11px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: #bbf7d0 !important;
	background: rgba(34,197,94,.12) !important;
	border: 1px solid rgba(34,197,94,.20) !important;
	box-shadow: none !important;
}

#tournament-modal .tm-badge.full {
	color: #fde68a !important;
	background: rgba(245,158,11,.12) !important;
	border-color: rgba(245,158,11,.20) !important;
}

#tournament-modal .tm-body {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	padding: 14px !important;
	padding-bottom: calc(14px + var(--safe-b, 0px)) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

#tournament-modal .tm-meta {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
}

#tournament-modal .tm-tile,
#tournament-modal .tm-section {
	border-radius: 16px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)) !important;
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.03) !important;
	padding: 13px !important;
}

#tournament-modal .tm-k {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-bottom: 8px !important;
	color: rgba(148,163,184,.82) !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

#tournament-modal .tm-k i {
	font-size: 16px !important;
	color: #E0B24F !important;
}

#tournament-modal .tm-v,
#tournament-modal .tm-p {
	color: #e5e7eb !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
}

#tournament-modal .tm-v strong {
	color: #fff !important;
	font-weight: 900 !important;
}

#tournament-modal .tm-h {
	margin: 0 0 8px !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	font-weight: 900 !important;
	letter-spacing: -.01em !important;
}

#tournament-modal .tm-list {
	display: grid !important;
	gap: 8px !important;
	max-height: min(30vh, 280px) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding-right: 2px !important;
}

#tournament-modal .tm-li {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
	color: #e5e7eb !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
}

#tournament-modal .tm-li.me {
	border-color: rgba(240,199,102,.24) !important;
	background:
			linear-gradient(135deg, rgba(163,38,50,.16), rgba(163,38,50,.08)) !important;
	box-shadow:
			0 10px 20px rgba(163,38,50,.10),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#tournament-modal .tm-status {
	padding: 12px 14px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(34,197,94,.18) !important;
	background: rgba(34,197,94,.10) !important;
	color: #bbf7d0 !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	font-weight: 800 !important;
	text-align: center !important;
	box-shadow: none !important;
}

#tournament-modal .tm-cta {
	position: sticky !important;
	bottom: 0 !important;
	z-index: 3 !important;
	margin-top: 4px !important;
	padding: 12px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background:
			linear-gradient(180deg, rgba(12,17,24,.94), rgba(12,17,24,.985)) !important;
	box-shadow:
			0 -8px 20px rgba(0,0,0,.18),
			inset 0 1px 0 rgba(255,255,255,.03) !important;
}

#tournament-modal .tm-cta::before {
	display: none !important;
}

#tournament-modal .tm-cta-hint {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	margin: 0 0 12px !important;
	padding: 10px 12px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	background: rgba(255,255,255,.04) !important;
}

#tournament-modal .tm-cta-dot {
	width: 10px !important;
	height: 10px !important;
	margin-top: 5px !important;
	flex: 0 0 10px !important;
	border-radius: 999px !important;
	background: #f59e0b !important;
	box-shadow: 0 0 0 0 rgba(245,158,11,.35) !important;
}

#tournament-modal .tm-cta-text {
	min-width: 0 !important;
	flex: 1 1 auto !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

#tournament-modal .tm-cta-sub {
	margin-top: 4px !important;
	color: rgba(203,213,225,.74) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
}

#tournament-modal .tm-row {
	display: flex !important;
	gap: 10px !important;
}

#tournament-modal .tm-row .btn {
	width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	border-radius: 14px !important;
	font-size: 14px !important;
	font-weight: 900 !important;
}

#tournament-modal .btn-cancel-soft {
	background:
			linear-gradient(180deg, rgba(127,29,29,.94), rgba(153,27,27,.90)) !important;
	border: 1px solid rgba(252,165,165,.16) !important;
	color: #fff !important;
	box-shadow:
			0 10px 22px rgba(127,29,29,.18),
			inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#tournament-modal .btn-cancel-soft:hover {
	filter: brightness(1.08) !important;
}

#tournament-modal .map-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	min-height: 42px !important;
	padding: 0 14px !important;
	border-radius: 12px !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	color: #edf2f7 !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

#tournament-modal .map-btn:hover {
	background:
			linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)) !important;
	border-color: rgba(240,199,102,.22) !important;
	color: #fff !important;
	transform: none !important;
}

@media (min-width: 700px) {
	#tournament-modal .tm-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	#tournament-modal .tm-meta > :nth-child(2) {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 560px) {
	#tournament-modal {
		padding-top: calc(var(--safe-t, 0px) + 8px) !important;
		padding-right: max(8px, var(--safe-r, 0px)) !important;
		padding-bottom: calc(var(--safe-b, 0px) + 8px) !important;
		padding-left: max(8px, var(--safe-l, 0px)) !important;
	}

	#tournament-modal .modal-content.tm-neo {
		width: 100% !important;
		max-width: 100% !important;
		max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 16px) !important;
		border-radius: 18px !important;
		max-height: calc(var(--vvh) - var(--safe-t, 0px) - var(--tg-safe-top) - 32px) !important;
	}

	#tournament-modal .modal-header {
		padding: 10px 12px !important;
	}

	#tournament-modal .tm-head {
		padding: 14px 12px 12px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	#tournament-modal .tm-title {
		font-size: 20px !important;
		line-height: 1.1 !important;
	}

	#tournament-modal .tm-sub {
		font-size: 13px !important;
	}

	#tournament-modal .tm-body {
		padding: 12px !important;
		padding-bottom: calc(12px + var(--safe-b, 0px)) !important;
		gap: 10px !important;
	}

	#tournament-modal .tm-tile,
	#tournament-modal .tm-section,
	#tournament-modal .tm-cta {
		padding: 12px !important;
		border-radius: 14px !important;
	}

	#tournament-modal .tm-v,
	#tournament-modal .tm-p,
	#tournament-modal .tm-li {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}

	#tournament-modal .tm-list {
		max-height: min(28vh, 220px) !important;
	}

	#tournament-modal .map-btn {
		width: 100% !important;
	}

	#tournament-modal .tm-row {
		flex-direction: column !important;
	}

	#tournament-modal .tm-row .btn {
		width: 100% !important;
	}
}
.tournament-seats {
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 14px;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(255,255,255,.08);
}

.tournament-seats-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 12px;
	line-height: 1.2;
	color: var(--text-2);
}

.tournament-seats-top span:first-child {
	color: var(--text);
	font-weight: 800;
}

.tournament-seats-line {
	margin-top: 8px;
	height: 8px;
	border-radius: 999px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.06);
	overflow: hidden;
}

.tournament-seats-line > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(239,68,68,.95), rgba(239,68,68,.55));
	transition: width .25s ease;
}
/* =========================================================
   DESKTOP PHONE MODE — FINAL FIX
   На ПК приложение показываем как телефон по центру
   ========================================================= */
@media (min-width: 768px) {
	:root {
		--cc-desktop-phone-width: 430px;
	}

	html {
		min-height: 100%;
		background: #05070c !important;
	}

	body {
		min-height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		background:
				radial-gradient(900px 520px at 50% -10%, rgba(239, 68, 68, .14), transparent 62%),
				radial-gradient(800px 500px at 100% 100%, rgba(163, 38, 50, .12), transparent 60%),
				#05070c !important;
	}

	body::before {
		content: "";
		position: fixed;
		top: 14px;
		left: 50%;
		width: var(--cc-desktop-phone-width);
		height: calc(100dvh - 28px);
		transform: translateX(-50%);
		border-radius: 34px;
		border: 1px solid rgba(255,255,255,.12);
		background: rgba(8, 12, 18, .72);
		box-shadow:
				0 28px 90px rgba(0,0,0,.58),
				inset 0 1px 0 rgba(255,255,255,.08);
		pointer-events: none;
		z-index: 0;
	}

	#app,
	#app.app,
	.app,
	.root {
		position: relative !important;
		z-index: 1 !important;
		width: var(--cc-desktop-phone-width) !important;
		max-width: var(--cc-desktop-phone-width) !important;
		min-height: 100dvh !important;
		margin: 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
		background: #07101a !important;
		box-shadow:
				0 0 0 1px rgba(255,255,255,.06),
				0 24px 70px rgba(0,0,0,.45) !important;
	}

	.header,
	.header-inner,
	.hero-level-wrap,
	main.list-pad,
	.container {
		width: 100% !important;
		max-width: var(--cc-desktop-phone-width) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	.header {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.header-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.hero-level-wrap {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	main.list-pad {
		padding-left: 16px !important;
		padding-right: 16px !important;
		padding-top: 12px !important;
		padding-bottom: calc(var(--bn-h, 96px) + 34px) !important;
	}

	.card,
	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact {
		max-width: 100% !important;
	}

	.bottom-nav,
	.bn-wrap,
	.bottom-navigation,
	.mobile-bottom-nav {
		left: 50% !important;
		right: auto !important;
		bottom: 14px !important;
		width: var(--cc-desktop-phone-width) !important;
		max-width: var(--cc-desktop-phone-width) !important;
		padding: 0 !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
		box-sizing: border-box !important;
	}

	.bottom-nav .nav-row {
		width: calc(var(--cc-desktop-phone-width) - 20px) !important;
		max-width: calc(var(--cc-desktop-phone-width) - 20px) !important;
		margin: 0 auto !important;
	}

	#toast-root {
		left: 50% !important;
		right: auto !important;
		width: calc(var(--cc-desktop-phone-width) - 24px) !important;
		max-width: calc(var(--cc-desktop-phone-width) - 24px) !important;
		transform: translateX(-50%) !important;
	}

	#tournament-modal,
	#terms-modal,
	#nick-modal,
	#confirm-modal,
	#club-info-modal,
	#rating-info-modal,
	#cc-rating-goals-modal,
	#cc-entry-gate,
	#cc-site-auth-gate,
	#cc-boot-preloader,
	#cc-reconnect-overlay {
		left: 50% !important;
		right: auto !important;
		top: 0 !important;
		bottom: 0 !important;
		width: var(--cc-desktop-phone-width) !important;
		max-width: var(--cc-desktop-phone-width) !important;
		min-height: 100dvh !important;
		transform: translateX(-50%) !important;
		box-sizing: border-box !important;
		border-left: 1px solid rgba(255,255,255,.08);
		border-right: 1px solid rgba(255,255,255,.08);
		box-shadow: 0 28px 90px rgba(0,0,0,.55);
	}

	#cc-coach-overlay {
		left: 50% !important;
		right: auto !important;
		width: var(--cc-desktop-phone-width) !important;
		max-width: var(--cc-desktop-phone-width) !important;
		transform: translateX(-50%) !important;
	}

	.modal-content,
	.club-info-shell,
	.cc-rg-dialog,
	.cc-site-auth-card,
	.cc-boot-card,
	.cc-reconnect-card,
	.cc-eg-shell {
		max-width: calc(var(--cc-desktop-phone-width) - 28px) !important;
	}

	#tournament-modal .modal-content,
	#tournament-modal .modal-content.tm-neo,
	#club-info-modal .modal-content.club-info-modal-content,
	#cc-rating-goals-modal .cc-rg-dialog {
		width: calc(var(--cc-desktop-phone-width) - 28px) !important;
		max-width: calc(var(--cc-desktop-phone-width) - 28px) !important;
	}
}
#profile-auth-links{
	display: none;
}

/* =========================================================
   DESKTOP PHONE MODE — MODALS FINAL FIX
   Модалки НЕ сужаем как #app. Overlay всегда на весь экран,
   а сама карточка модалки центрируется по телефону.
   ========================================================= */

@media (min-width: 768px) {
	#tournament-modal,
	#terms-modal,
	#nick-modal,
	#confirm-modal,
	#club-info-modal,
	#rating-info-modal,
	#cc-rating-goals-modal {
		position: fixed !important;
		inset: 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;

		width: 100vw !important;
		max-width: none !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		min-height: 0 !important;

		transform: none !important;
		margin: 0 !important;
		padding: 14px !important;

		display: none !important;
		align-items: center !important;
		justify-content: center !important;

		border: 0 !important;
		box-shadow: none !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	#tournament-modal.active,
	#terms-modal.active,
	#nick-modal.active,
	#confirm-modal.active,
	#club-info-modal.active,
	#rating-info-modal.active,
	#cc-rating-goals-modal.active {
		display: flex !important;
	}

	#tournament-modal .modal-content,
	#tournament-modal .modal-content.tm-neo,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#club-info-modal .modal-content,
	#club-info-modal .modal-content.club-info-modal-content,
	#rating-info-modal .modal-content,
	#cc-rating-goals-modal .cc-rg-dialog {
		width: min(calc(var(--cc-desktop-phone-width, 430px) - 28px), calc(100vw - 28px)) !important;
		max-width: min(calc(var(--cc-desktop-phone-width, 430px) - 28px), calc(100vw - 28px)) !important;
		height: auto !important;
		max-height: calc(100dvh - 28px) !important;

		margin: 0 auto !important;
		transform: none !important;
		align-self: center !important;

		display: flex !important;
		flex-direction: column !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	#tournament-modal .modal-content.tm-neo {
		border-radius: 22px !important;
	}

	#tournament-modal .modal-header,
	#tournament-modal .tm-head {
		flex: 0 0 auto !important;
	}

	#tournament-modal .tm-body,
	#tournament-modal #modal-body {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		width: 100% !important;
		max-width: 100% !important;

		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		box-sizing: border-box !important;
	}

	#tournament-modal .tm-meta,
	#tournament-modal .tm-tile,
	#tournament-modal .tm-section,
	#tournament-modal .tm-cta {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	#tournament-modal .tm-v,
	#tournament-modal .tm-p,
	#tournament-modal .tm-h,
	#tournament-modal .tm-title,
	#tournament-modal .tm-sub {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
	}

	#tournament-modal .tm-cta {
		position: relative !important;
		bottom: auto !important;
		margin-top: 10px !important;
	}

	#tournament-modal .map-btn {
		max-width: 100% !important;
		white-space: normal !important;
		text-align: center !important;
	}
}
/* =========================================================
   DESKTOP PHONE MODE — ENTRY GATE NORMAL FIX
   Исправляет: 1/2 и 2/2 не должны показываться одновременно
   ========================================================= */

@media (min-width: 768px) {
	#cc-entry-gate {
		left: 50% !important;
		right: auto !important;
		top: 0 !important;
		bottom: 0 !important;
		width: var(--cc-desktop-phone-width, 430px) !important;
		max-width: var(--cc-desktop-phone-width, 430px) !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		min-height: 0 !important;
		transform: translateX(-50%) !important;

		padding: 14px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		border-left: 1px solid rgba(255,255,255,.08) !important;
		border-right: 1px solid rgba(255,255,255,.08) !important;
	}

	#cc-entry-gate .cc-eg-shell {
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: calc(100dvh - 28px) !important;
		min-height: 0 !important;
		margin: 0 auto !important;
		padding: 0 !important;

		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;

		overflow: hidden !important;
		box-sizing: border-box !important;

	}

	#cc-entry-gate .cc-eg-head {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 16px 16px 14px !important;
		border-radius: 22px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-eg-head::before {
		display: none !important;
		content: none !important;
	}

	#cc-entry-gate .cc-eg-title {
		margin: 0 !important;
		font-size: 22px !important;
		line-height: 1.12 !important;
		font-weight: 950 !important;
		letter-spacing: -.04em !important;
		color: #fff !important;
	}

	#cc-entry-gate .cc-eg-sub {
		margin-top: 8px !important;
		font-size: 13px !important;
		line-height: 1.45 !important;
		color: rgba(226,232,240,.78) !important;
	}

	#cc-entry-gate .cc-eg-step {
		display: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-eg-step:not(.active) {
		display: none !important;
	}

	#cc-entry-gate .cc-eg-step.active {
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		overflow: hidden !important;
	}

	#cc-entry-gate #cc-eg-step-terms.active {
		display: flex !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		align-items: stretch !important;
	}

	#cc-entry-gate #cc-eg-step-terms:not(.active),
	#cc-entry-gate #cc-eg-step-nick:not(.active) {
		display: none !important;
	}

	#cc-entry-gate .cc-eg-card {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 14px !important;
		border-radius: 18px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-offer-wrap {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		max-height: none !important;

		display: grid !important;
		grid-template-rows: auto minmax(0, 1fr) auto !important;

		overflow: hidden !important;
		border-radius: 18px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-offer-toolbar {
		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 10px !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 10px 12px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-offer-toolbar .meta {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	#cc-entry-gate #cc-eg-open-offer-doc {
		flex: 0 0 auto !important;
		min-width: 0 !important;
	}

	#cc-entry-gate .cc-offer-scroll {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;

		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;

		padding: 12px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-doc-prose,
	#cc-entry-gate .cc-doc-prose * {
		max-width: 100% !important;
		overflow-wrap: anywhere !important;
		word-break: break-word !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-eg-footer {
		position: relative !important;
		bottom: auto !important;
		flex: 0 0 auto !important;

		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;

		width: 100% !important;
		max-width: 100% !important;
		padding: 10px !important;
		border-radius: 0 !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-eg-footer .grow {
		grid-column: 1 / -1 !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	#cc-entry-gate .cc-eg-footer .hint {
		margin: 0 !important;
		font-size: 12px !important;
		line-height: 1.35 !important;
	}

	#cc-entry-gate #cc-eg-auto-scroll,
	#cc-entry-gate #cc-eg-accept-terms {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: 42px !important;
		min-height: 42px !important;
		padding: 0 12px !important;
	}

	#cc-entry-gate #cc-eg-step-nick.active {
		justify-content: flex-start !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 8px !important;
	}

	#cc-entry-gate .cc-eg-nick-box {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding: 16px !important;
		border-radius: 20px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate .cc-eg-nick-input {
		width: 100% !important;
		max-width: 100% !important;
		height: 54px !important;
		min-height: 54px !important;
		font-size: 16px !important;
		box-sizing: border-box !important;
	}

	#cc-entry-gate #cc-eg-save-nick {
		width: auto !important;
		min-width: 170px !important;
		height: 46px !important;
		min-height: 46px !important;
		align-self: flex-end !important;
	}
}

@media (max-width: 767px) {
	#cc-entry-gate .cc-eg-step:not(.active) {
		display: none !important;
	}

	#cc-entry-gate #cc-eg-step-terms:not(.active),
	#cc-entry-gate #cc-eg-step-nick:not(.active) {
		display: none !important;
	}
}
/* =========================================================
   RATING LIST CARD — MOBILE ADAPTIVE FIX
   ========================================================= */

.rating-player-card{
	position: relative !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 14px 16px !important;
}

.rating-player-card.current-user{
	border-color: rgba(240,199,102,.34) !important;
	background:
			radial-gradient(520px 180px at 100% 0%, rgba(163,38,50,.12), transparent 62%),
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028)) !important;
}

.game-info--rating{
	min-width: 0 !important;
	flex: 1 1 auto !important;
	max-width: 100% !important;
}

.rating-player-head{
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: start !important;
	gap: 8px 10px !important;
	margin: 0 0 8px !important;
	min-width: 0 !important;
	max-width: 100% !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
}

.rating-player-name{
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 950 !important;
	letter-spacing: -.02em !important;
}

.rating-player-badges{
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	min-width: 0 !important;
	max-width: 100% !important;
	grid-column: 1 / -1 !important;
}

.rating-chip{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	min-height: 23px !important;
	max-width: 100% !important;
	padding: 4px 8px !important;
	border-radius: 999px !important;
	font-size: 10.5px !important;
	line-height: 1 !important;
	font-weight: 950 !important;
	letter-spacing: .01em !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.rating-chip i{
	font-size: 12px !important;
	line-height: 1 !important;
	flex: 0 0 auto !important;
}

.rating-chip--level{
	background: rgba(163,38,50,.16) !important;
	border: 1px solid rgba(163,38,50,.28) !important;
	color: #E0B24F !important;
}

.rating-chip--games{
	background: rgba(255,255,255,.055) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	color: rgba(226,232,240,.82) !important;
}

.rating-chip--bounty{
	background: rgba(239,68,68,.12) !important;
	border: 1px solid rgba(239,68,68,.24) !important;
	color: #fca5a5 !important;
}

.rating-chip--final{
	background: rgba(16,185,129,.12) !important;
	border: 1px solid rgba(16,185,129,.24) !important;
	color: #86efac !important;
}

.rating-chip--blocked{
	background: rgba(245,158,11,.12) !important;
	border: 1px solid rgba(245,158,11,.24) !important;
	color: #fcd34d !important;
}

.rating-chip--me{
	background: rgba(140,120,255,.14) !important;
	border: 1px solid rgba(140,120,255,.28) !important;
	color: #E0B24F !important;
}

.rating-player-stats{
	margin: 0 !important;
	max-width: 100% !important;
	color: rgba(226,232,240,.78) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	font-weight: 600 !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.rating-player-medal{
	flex: 0 0 28px !important;
	width: 28px !important;
	min-height: 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 20px !important;
	line-height: 1 !important;
	margin-top: 0 !important;
}

@media (max-width: 560px){
	.rating-player-card{
		display: block !important;
		padding: 14px !important;
		border-radius: 18px !important;
	}

	.rating-player-head{
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 7px !important;
		margin-bottom: 8px !important;
	}

	.rating-player-name{
		width: 100% !important;
		padding-right: 38px !important;
		font-size: 15px !important;
		line-height: 1.15 !important;
	}

	.rating-player-badges{
		gap: 5px !important;
		padding-right: 0 !important;
	}

	.rating-chip{
		min-height: 22px !important;
		padding: 4px 7px !important;
		font-size: 10px !important;
		gap: 4px !important;
	}

	.rating-chip i{
		font-size: 12px !important;
	}

	.rating-player-stats{
		font-size: 12px !important;
		line-height: 1.45 !important;
	}

	.rating-player-medal{
		position: absolute !important;
		top: 12px !important;
		right: 12px !important;
		width: 26px !important;
		min-height: 26px !important;
		font-size: 18px !important;
	}
}

@media (max-width: 380px){
	.rating-player-card{
		padding: 12px !important;
	}

	.rating-player-name{
		font-size: 14px !important;
		padding-right: 34px !important;
	}

	.rating-chip{
		font-size: 9px !important;
		padding: 4px 6px !important;
	}

	.rating-player-stats{
		font-size: 11.5px !important;
	}

	.rating-player-medal{
		top: 10px !important;
		right: 10px !important;
		font-size: 17px !important;
	}
}
/* =========================================================
   RATING GOALS MODAL
   ========================================================= */

#cc-rating-goals-modal{
	position: fixed !important;
	inset: 0 !important;
	z-index: 10090 !important;
	display: none !important;
	align-items: flex-end !important;
	justify-content: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	background: rgba(5,8,13,.72) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
}

#cc-rating-goals-modal.active{
	display: flex !important;
}

/* Dialog — bottom sheet */
.cc-rg-dialog{
	width: min(560px, 100%) !important;
	/* full viewport minus top safe area and a small gap so user sees backdrop */
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, env(safe-area-inset-top, 0px)) - 20px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	border-radius: 28px 28px 0 0 !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	border-bottom: none !important;
	background: rgba(13,18,27,.98) !important;
	box-shadow: 0 -24px 80px rgba(0,0,0,.55) !important;
	color: #fff !important;
}

.cc-rg-head{
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 16px 18px 14px !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.cc-rg-title{
	font-size: 18px !important;
	font-weight: 950 !important;
	letter-spacing: -.03em !important;
}

.cc-rg-close{
	flex: 0 0 auto !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 12px !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	background: rgba(255,255,255,.06) !important;
	color: #fff !important;
	cursor: pointer !important;
	font-size: 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.cc-rg-close:active{
	transform: scale(.94) !important;
}

.cc-rg-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	padding: 14px !important;
	padding-bottom: calc(14px + var(--safe-b, env(safe-area-inset-bottom, 0px))) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

/* Hero — current level + progress */
.cc-rg-hero{
	padding: 18px !important;
	border-radius: 22px !important;
	background:
			radial-gradient(360px 200px at 100% 0%, rgba(163,38,50,.22), transparent 65%),
			linear-gradient(135deg, rgba(163,38,50,.14), rgba(239,68,68,.09)) !important;
	border: 1px solid rgba(163,38,50,.30) !important;
}

.cc-rg-hero-label{
	font-size: 11px !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
	color: #E0B24F !important;
	margin-bottom: 6px !important;
}

.cc-rg-hero-level{
	font-size: 30px !important;
	font-weight: 1000 !important;
	letter-spacing: -.04em !important;
	line-height: 1 !important;
}

.cc-rg-hero-pts{
	margin-top: 5px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #fef3c7 !important;
}

.cc-rg-progress-bar{
	height: 8px !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.10) !important;
	margin-top: 16px !important;
	overflow: hidden !important;
}

.cc-rg-progress-fill{
	height: 100% !important;
	border-radius: inherit !important;
	background: linear-gradient(90deg, #A32632, #facc15) !important;
	transition: width .4s ease !important;
}

.cc-rg-progress-label{
	margin-top: 8px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: rgba(226,232,240,.72) !important;
}

.cc-rg-progress-label b{
	color: #fff !important;
	font-weight: 950 !important;
}

/* Level list */
.cc-level-list{
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.cc-level-row{
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 11px 14px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	background: rgba(255,255,255,.03) !important;
}

.cc-level-row.is-reached:not(.is-current){
	opacity: .68 !important;
}

.cc-level-row.is-current{
	border-color: rgba(163,38,50,.40) !important;
	background: linear-gradient(90deg, rgba(163,38,50,.14), rgba(255,255,255,.03)) !important;
}

.cc-level-row.is-next{
	border-color: rgba(250,204,21,.30) !important;
	background: linear-gradient(90deg, rgba(250,204,21,.10), rgba(255,255,255,.03)) !important;
}

.cc-level-icon-wrap{
	flex: 0 0 auto !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 10px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 15px !important;
	background: rgba(255,255,255,.06) !important;
	color: rgba(226,232,240,.55) !important;
}

.cc-level-row.is-reached .cc-level-icon-wrap{
	color: #86efac !important;
	background: rgba(16,185,129,.12) !important;
}

.cc-level-row.is-current .cc-level-icon-wrap{
	color: #fff !important;
	background: linear-gradient(135deg, #A32632, #8E1F2D) !important;
	box-shadow: 0 4px 14px rgba(163,38,50,.28) !important;
}

.cc-level-row.is-next .cc-level-icon-wrap{
	color: #fef3c7 !important;
	background: rgba(250,204,21,.14) !important;
}

.cc-level-name{
	flex: 1 1 auto !important;
	min-width: 0 !important;
	font-size: 15px !important;
	font-weight: 950 !important;
	letter-spacing: -.02em !important;
	overflow-wrap: anywhere !important;
	color: rgba(226,232,240,.80) !important;
}

.cc-level-row.is-current .cc-level-name{
	color: #fff !important;
}

.cc-level-status{
	flex: 0 0 auto !important;
	padding: 4px 9px !important;
	border-radius: 999px !important;
	font-size: 10px !important;
	font-weight: 950 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	white-space: nowrap !important;
	color: #ddd6fe !important;
	background: rgba(163,38,50,.16) !important;
	border: 1px solid rgba(163,38,50,.26) !important;
}

.cc-level-row.is-next .cc-level-status{
	color: #fef3c7 !important;
	background: rgba(250,204,21,.12) !important;
	border-color: rgba(250,204,21,.26) !important;
}

.cc-level-pts{
	flex: 0 0 auto !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: -.02em !important;
	color: rgba(148,163,184,.65) !important;
	white-space: nowrap !important;
}

.cc-level-row.is-current .cc-level-pts{
	color: #fff !important;
}

.cc-level-row.is-next .cc-level-pts{
	color: #fef3c7 !important;
}

@media (max-width: 480px){
	.cc-rg-body{
		padding: 12px !important;
	}

	.cc-rg-hero{
		padding: 16px !important;
		border-radius: 20px !important;
	}

	.cc-rg-hero-level{
		font-size: 26px !important;
	}

	.cc-level-row{
		padding: 10px 12px !important;
	}
}

@media (min-width: 768px){
	#cc-rating-goals-modal{
		align-items: center !important;
		padding: 14px !important;
	}

	.cc-rg-dialog{
		border-radius: 28px !important;
		border: 1px solid rgba(255,255,255,.12) !important;
		max-height: min(720px, calc(100dvh - 28px)) !important;
	}
}

/* =========================================================
   PROFILE & CONTACT — PREMIUM BLOCK STYLES
   ========================================================= */

/* --- Contact / settings items --- */
.contact-item,
.settings-item {
	background:
			radial-gradient(480px 220px at 0% 0%,   rgba(163,38,50,.11), transparent 55%),
			radial-gradient(320px 180px at 100% 100%, rgba(224,178,79,.07),  transparent 60%),
			linear-gradient(158deg, rgba(255,255,255,.075), rgba(255,255,255,.030)) !important;
	border: 1px solid rgba(148,163,184,.22) !important;
	box-shadow:
			0 14px 36px rgba(0,0,0,.30),
			inset 0 1px 0 rgba(255,255,255,.09),
			inset 0 0 0 1px rgba(163,38,50,.04) !important;
}

.contact-item:hover,
.settings-item:hover {
	background:
			radial-gradient(480px 220px at 0% 0%,   rgba(163,38,50,.17), transparent 55%),
			radial-gradient(320px 180px at 100% 100%, rgba(224,178,79,.09),  transparent 60%),
			linear-gradient(158deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
	border-color: rgba(163,38,50,.30) !important;
	box-shadow:
			0 20px 44px rgba(0,0,0,.34),
			inset 0 1px 0 rgba(255,255,255,.11) !important;
}

/* --- Profile compact stat rows --- */
.profile-compact-row {
	background:
			linear-gradient(135deg, rgba(255,255,255,.068), rgba(255,255,255,.030)) !important;
	border: 1px solid rgba(148,163,184,.18) !important;
	box-shadow:
			0 5px 14px rgba(0,0,0,.20),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.profile-compact-row:hover {
	background:
			radial-gradient(380px 130px at 50% 0%, rgba(163,38,50,.10), transparent 65%),
			linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.038)) !important;
	border-color: rgba(163,38,50,.24) !important;
	box-shadow:
			0 8px 22px rgba(0,0,0,.26),
			inset 0 1px 0 rgba(255,255,255,.09) !important;
}

/* --- Profile "more" accordion --- */
.profile-more {
	background:
			linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.022)) !important;
	border: 1px solid rgba(148,163,184,.16) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* --- Medals counter (gold tint) --- */
.profile-medals-counter {
	background:
			radial-gradient(240px 130px at 50% 0%, rgba(255,215,120,.16), transparent 65%),
			linear-gradient(180deg, rgba(255,255,255,.068), rgba(255,255,255,.026)) !important;
	border: 1px solid rgba(255,215,120,.24) !important;
	box-shadow:
			0 14px 34px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,215,120,.14) !important;
}

/* --- Medals next-goal block (purple accent) --- */
.profile-medals-next {
	background:
			radial-gradient(420px 190px at 100% 0%, rgba(163,38,50,.12), transparent 62%),
			linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.026)) !important;
	border: 1px solid rgba(148,163,184,.18) !important;
	box-shadow:
			0 14px 34px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* --- User profile header card --- */
.user-profile {
	background:
			radial-gradient(600px 280px at 100% 0%,  rgba(163,38,50,.16), transparent 60%),
			radial-gradient(380px 200px at 0%   100%, rgba(224,178,79,.09),  transparent 60%),
			linear-gradient(155deg, rgba(255,255,255,.085), rgba(255,255,255,.032)) !important;
	border: 1px solid rgba(148,163,184,.22) !important;
	box-shadow:
			0 14px 34px rgba(0,0,0,.30),
			inset 0 1px 0 rgba(255,255,255,.10) !important;
}

/* =========================================================
   PROFILE SCREEN — card blocks styled like hero-level-card
   ========================================================= */

#profile-screen .card,
#profile-screen .card-quiet,
#profile-screen .settings-item {
	border-radius: 18px !important;
	border: 1px solid rgba(148,163,184,.16) !important;
	background:
			radial-gradient(260px 100px at 0% 0%,   rgba(239,68,68,.08),    transparent 65%),
			radial-gradient(280px 110px at 100% 0%,  rgba(163,38,50,.14),   transparent 68%),
			linear-gradient(180deg, rgba(13,18,27,.94), rgba(9,13,20,.96)) !important;
	box-shadow:
			0 12px 28px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
	transition:
			transform .18s ease,
			border-color .18s ease,
			box-shadow .22s ease !important;
}

#profile-screen .card:hover,
#profile-screen .card-quiet:hover,
#profile-screen .settings-item:hover {
	transform: translateY(-1px) !important;
	border-color: rgba(240,199,102,.26) !important;
	box-shadow:
			0 16px 34px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.06) !important;
}

/* =========================================================
   AWARDS COLLECTION — Trophy Case
   ========================================================= */

.awards-wrap {
	display: grid;
	gap: 14px;
}

.awards-header {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 12px;
	align-items: stretch;
}

/* Gold bubble */
.awards-count-bubble {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 14px 8px;
	border-radius: 16px;
	background:
			radial-gradient(130px 90px at 50% 20%, rgba(255,215,120,.20), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
	border: 1px solid rgba(255,215,120,.26);
	box-shadow:
			0 0 28px rgba(255,215,120,.10),
			inset 0 1px 0 rgba(255,215,120,.18);
	text-align: center;
}

.awards-count-top {
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	color: #fff4cf;
}

.awards-count-sep {
	font-size: 16px;
	font-weight: 700;
	color: rgba(255,215,120,.48);
}

.awards-count-label {
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--muted);
	margin-top: 5px;
}

/* Next goal box */
.awards-next-box {
	padding: 14px 16px;
	border-radius: 16px;
	background:
			radial-gradient(360px 180px at 100% 0%, rgba(163,38,50,.16), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.022));
	border: 1px solid rgba(163,38,50,.22);
	box-shadow:
			0 10px 24px rgba(0,0,0,.20),
			inset 0 1px 0 rgba(163,38,50,.14);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
}

.awards-next-eyebrow {
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: rgba(240,199,102,.85);
}

.awards-next-name {
	font-size: 15px;
	font-weight: 900;
	color: #fff;
	line-height: 1.25;
}

.awards-next-how {
	font-size: 12px;
	line-height: 1.4;
	color: var(--text-2);
}

.awards-next-bar {
	margin-top: 6px;
	height: 5px;
	border-radius: 999px;
	background: rgba(255,255,255,.08);
	overflow: hidden;
}

.awards-next-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #E0B24F, #A32632);
	transition: width .4s ease;
}

/* Awards grid */
.awards-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

/* Individual cell */
.award-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 14px 10px 13px;
	border-radius: 16px;
	border: 1px solid rgba(148,163,184,.10);
	background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
	gap: 7px;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
	position: relative;
	overflow: hidden;
}

.award-cell.is-owned {
	border-color: rgba(255,215,120,.22);
	background:
			radial-gradient(120px 70px at 50% 0%, rgba(255,215,120,.14), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
	box-shadow:
			0 0 20px rgba(255,215,120,.08),
			inset 0 1px 0 rgba(255,215,120,.12);
}

.award-cell.is-owned:hover {
	transform: translateY(-2px);
	border-color: rgba(255,215,120,.40);
	box-shadow:
			0 6px 22px rgba(255,215,120,.16),
			inset 0 1px 0 rgba(255,215,120,.18);
}

.award-cell:not(.is-owned):hover {
	transform: translateY(-1px);
	border-color: rgba(148,163,184,.22);
}

/* Icon */
.award-icon-wrap {
	position: relative;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.award-icon {
	font-size: 32px;
	line-height: 1;
	display: block;
	transition: filter .2s, opacity .2s;
}

.award-cell:not(.is-owned) .award-icon {
	opacity: 1;
}

/* Lock badge */
.award-lock {
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: rgba(12,17,28,.95);
	border: 1px solid rgba(148,163,184,.18);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 8px;
	color: #475569;
}

/* Title */
.award-title {
	font-size: 11px;
	font-weight: 900;
	line-height: 1.3;
	color: #fff;
}

.award-cell:not(.is-owned) .award-title {
	color: #64748b;
}

/* Got label */
.award-got {
	font-size: 10px;
	font-weight: 800;
	color: #6ee7b7;
	letter-spacing: .15px;
}

/* How-to hint (locked) */
.award-how-short {
	font-size: 10px;
	line-height: 1.35;
	color: #475569;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Progress bar inside cell */
.award-bar {
	width: 100%;
	height: 4px;
	border-radius: 999px;
	background: rgba(255,255,255,.07);
	overflow: hidden;
}

.award-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(245,158,11,.85), rgba(163,38,50,.75));
	transition: width .4s ease;
}

@media (max-width: 360px) {
	.awards-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.awards-header {
		grid-template-columns: 76px 1fr;
	}
}

/* =========================================================
   PROFILE STATS — pstat
   ========================================================= */

.pstat-wrap {
	display: grid;
	gap: 10px;
}

/* Hero: 2 big numbers */
.pstat-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(148,163,184,.12);
}

.pstat-hero-item {
	padding: 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
}

.pstat-hero-item + .pstat-hero-item {
	border-left: 1px solid rgba(148,163,184,.10);
}

.pstat-hero-item.is-gold {
	background:
			radial-gradient(140px 90px at 100% 0%, rgba(255,215,120,.14), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
}

.pstat-hero-val {
	font-size: 36px;
	font-weight: 900;
	line-height: 1;
	color: #fff;
}

.pstat-hero-val.is-gold {
	color: #fcd34d;
}

.pstat-hero-label {
	font-size: 11px;
	font-weight: 700;
	color: var(--muted);
	letter-spacing: .2px;
}

/* Middle 3 cells */
.pstat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}

.pstat-cell {
	padding: 13px 10px;
	border-radius: 14px;
	border: 1px solid rgba(148,163,184,.10);
	background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012));
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	text-align: center;
}

.pstat-val {
	font-size: 22px;
	font-weight: 900;
	color: #fff;
	line-height: 1;
}

.pstat-label {
	font-size: 10px;
	font-weight: 700;
	color: var(--muted);
	letter-spacing: .2px;
	line-height: 1.3;
}

/* Season panel */
.pstat-season {
	border-radius: 14px;
	border: 1px solid rgba(163,38,50,.16);
	background:
			radial-gradient(380px 180px at 100% 0%, rgba(163,38,50,.10), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.014));
	overflow: hidden;
}

.pstat-season-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 11px 14px;
	gap: 10px;
}

.pstat-season-row + .pstat-season-row {
	border-top: 1px solid rgba(148,163,184,.07);
}

.pstat-season-key {
	font-size: 12px;
	color: var(--text-2);
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.pstat-season-key i {
	font-size: 13px;
	color: #D62839;
}

.pstat-season-val {
	font-size: 13px;
	font-weight: 900;
	color: #e2e8f0;
	text-align: right;
	white-space: nowrap;
}

.pstat-season-val.is-rank {
	color: #E0B24F;
}

/* Reputation strip */
.pstat-rep {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 14px;
	border: 1px solid rgba(239,68,68,.18);
	background:
			radial-gradient(300px 120px at 0% 50%, rgba(239,68,68,.07), transparent 60%),
			linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
	font-size: 12px;
	color: #fca5a5;
	font-weight: 600;
}

.pstat-rep i {
	font-size: 15px;
	color: #f87171;
	flex-shrink: 0;
}

/* ── Award popup ── */
.award-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0,0,0,0);
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, background .25s ease, backdrop-filter .25s ease;
}

.award-popup-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
	background: rgba(0,0,0,.72);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.award-popup-overlay.is-closing {
	opacity: 0;
	background: rgba(0,0,0,0);
	transition: opacity .28s ease;
}

.award-popup {
	position: relative;
	width: 100%;
	max-width: 340px;
	border-radius: 24px;
	background:
			radial-gradient(380px 220px at 50% 0%, rgba(163,38,50,.14), transparent 58%),
			radial-gradient(280px 180px at 0% 100%, rgba(239,68,68,.08), transparent 60%),
			linear-gradient(180deg, rgba(14,19,30,.99), rgba(7,11,18,1));
	border: 1px solid rgba(148,163,184,.18);
	box-shadow:
			0 32px 80px rgba(0,0,0,.65),
			inset 0 1px 0 rgba(255,255,255,.06);
	padding: 38px 24px 30px;
	text-align: center;
	transform: scale(0.86) translateY(28px);
	opacity: 0;
	transition:
			transform .36s cubic-bezier(0.34,1.56,0.64,1),
			opacity .24s ease;
}

.award-popup-overlay.is-open .award-popup {
	transform: scale(1) translateY(0);
	opacity: 1;
}

.award-popup-overlay.is-closing .award-popup {
	transform: scale(0.92) translateY(18px);
	opacity: 0;
	transition: transform .22s ease, opacity .22s ease;
}

.award-popup.is-owned {
	border-color: rgba(255,215,120,.20);
	background:
			radial-gradient(380px 220px at 50% 0%, rgba(255,215,120,.10), transparent 55%),
			radial-gradient(260px 180px at 100% 100%, rgba(163,38,50,.10), transparent 60%),
			linear-gradient(180deg, rgba(14,19,30,.99), rgba(7,11,18,1));
	box-shadow:
			0 32px 80px rgba(0,0,0,.65),
			0 0 60px rgba(212,175,55,.08),
			inset 0 1px 0 rgba(255,215,120,.10);
}

.award-popup-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid rgba(148,163,184,.16);
	background: rgba(255,255,255,.05);
	color: #64748b;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.award-popup-close:hover {
	background: rgba(255,255,255,.10);
	color: #e2e8f0;
}

.award-popup-icon-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
}

.award-popup-icon-wrap svg {
	width: 80px !important;
	height: 80px !important;
}

.award-popup.is-owned .award-popup-icon-wrap svg {
	animation: award-popup-glow 2.8s ease-in-out infinite;
}

.award-popup:not(.is-owned) .award-popup-icon-wrap svg {
	filter: grayscale(1) brightness(.32);
}

@keyframes award-popup-glow {
	0%, 100% { filter: drop-shadow(0 0 10px rgba(212,175,55,.40)); }
	50%       { filter: drop-shadow(0 0 22px rgba(212,175,55,.72)); }
}

.award-popup-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 13px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 14px;
	background: rgba(148,163,184,.08);
	border: 1px solid rgba(148,163,184,.14);
	color: #475569;
}

.award-popup-status.is-ok {
	background: rgba(16,185,129,.14);
	border-color: rgba(16,185,129,.26);
	color: #6ee7b7;
}

.award-popup-title {
	font-size: 22px;
	font-weight: 900;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 10px;
}

.award-popup:not(.is-owned) .award-popup-title {
	color: #475569;
}

.award-popup-desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-2);
}

.award-popup-divider {
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(148,163,184,.14), transparent);
	margin: 18px 0;
}

.award-popup-how-label {
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--muted);
	margin-bottom: 7px;
}

.award-popup-how {
	font-size: 14px;
	line-height: 1.55;
	color: #e2e8f0;
	margin-bottom: 16px;
}

.award-popup-prog-text {
	font-size: 12px;
	font-weight: 700;
	color: #e8d6a2;
	margin-bottom: 8px;
}

.award-popup-prog {
	height: 7px;
	border-radius: 999px;
	background: rgba(255,255,255,.07);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.05);
}

.award-popup-prog > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(245,158,11,.95), rgba(163,38,50,.88));
}

/* cursor on cells */
.award-cell { cursor: pointer; }

/* ── Award SVG icons ── */
.award-icon svg {
	display: block;
}
.award-cell:not(.is-owned) .award-icon svg {
	filter: grayscale(1) brightness(.38) !important;
}
.awards-next-name svg {
	width: 20px !important;
	height: 20px !important;
	vertical-align: middle;
	margin-right: 2px;
}

/* ── Save nick button ── */
#save-nick-btn {
	background: linear-gradient(135deg, rgba(16,185,129,.22), rgba(5,150,105,.16)) !important;
	border: 1px solid rgba(16,185,129,.35) !important;
	color: #6ee7b7 !important;
	box-shadow:
			0 4px 14px rgba(16,185,129,.14),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
	border-radius: 12px !important;
	padding: 10px 18px !important;
	width: auto !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: .2px !important;
	white-space: nowrap !important;
	transition: background .2s, border-color .2s, box-shadow .2s, transform .15s !important;
}

#save-nick-btn:not([disabled]):hover {
	background: linear-gradient(135deg, rgba(16,185,129,.32), rgba(5,150,105,.24)) !important;
	border-color: rgba(16,185,129,.55) !important;
	box-shadow:
			0 6px 20px rgba(16,185,129,.22),
			inset 0 1px 0 rgba(255,255,255,.10) !important;
	transform: translateY(-1px) !important;
}

#save-nick-btn:not([disabled]):active {
	transform: translateY(0) scale(.97) !important;
}

/* Inactive (no changes yet) / locked / pending */
#save-nick-btn.btn-secondary {
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(148,163,184,.12) !important;
	color: #334155 !important;
	box-shadow: none !important;
	cursor: default !important;
}

#save-nick-btn[disabled] {
	opacity: 1 !important;
	transform: none !important;
}

/* =========================
   BAR MENU
   ========================= */
.cc-menu-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 4px;
}

.cc-waiter-btn {
	background: linear-gradient(135deg, #A32632, #8E1F2D);
	border-color: rgba(244,239,232,0);
	gap: 8px;
	white-space: nowrap;
}
.cc-waiter-btn:hover { background: linear-gradient(135deg, #8E1F2D, #07090D); }

.cc-menu-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
@media (max-width: 360px) {
	.cc-menu-list { grid-template-columns: 1fr; }
}

.cc-menu-card {
	background: var(--bg-elevated);
	border: 1px solid var(--brd);
	border-radius: var(--radius-sm);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.cc-menu-card:active { transform: scale(0.98); }

.cc-menu-card__photo {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: rgba(255,255,255,.05);
}
.cc-menu-card__photo-placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: rgba(255,255,255,.05);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: var(--muted);
}

.cc-menu-card__body {
	padding: 10px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.cc-menu-card__name {
	font-weight: 700;
	font-size: 14px;
	line-height: 1.3;
	color: var(--text);
}
.cc-menu-card__desc {
	font-size: 12px;
	color: var(--text-2);
	line-height: 1.4;
	flex: 1;
}
.cc-menu-card__price {
	font-weight: 900;
	font-size: 15px;
	color: var(--ok);
	margin-top: 6px;
}

/* Waiter modal table buttons */
.cc-waiter-tables {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.cc-waiter-table-btn {
	min-width: 48px;
	height: 48px;
	padding: 0 12px;
	border-radius: 12px;
	border: 2px solid var(--brd-2);
	background: var(--bg-elevated);
	color: var(--text);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 180ms, background 180ms, transform 120ms;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cc-waiter-table-btn:hover,
.cc-waiter-table-btn.selected {
	border-color: #A32632;
	background: rgba(124,58,237,.18);
	color: #E0B24F;
}
.cc-waiter-table-btn:active { transform: scale(0.93); }

/* Admin menu list */
.cc-admin-menu-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.cc-admin-menu-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--brd);
	border-radius: var(--radius-sm);
	padding: 10px 12px;
}
.cc-admin-menu-item__thumb {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	object-fit: cover;
	flex-shrink: 0;
	background: rgba(255,255,255,.06);
}
.cc-admin-menu-item__info { flex: 1; min-width: 0; }
.cc-admin-menu-item__name {
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cc-admin-menu-item__meta {
	font-size: 12px;
	color: var(--text-2);
	margin-top: 2px;
}
.cc-admin-menu-item--inactive .cc-admin-menu-item__name {
	opacity: .5;
	text-decoration: line-through;
}
.cc-admin-menu-item__actions { display: flex; gap: 6px; flex-shrink: 0; }
.cc-admin-menu-item__actions button {
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid var(--brd);
	background: rgba(255,255,255,.06);
	color: var(--text-2);
	cursor: pointer;
	font-size: 13px;
	transition: background 150ms, color 150ms;
}
.cc-admin-menu-item__actions button:hover { background: rgba(255,255,255,.12); color: var(--text); }
.cc-admin-menu-item__actions button.del { border-color: rgba(239,68,68,.3); color: var(--err); }
.cc-admin-menu-item__actions button.del:hover { background: rgba(239,68,68,.15); }

/* =========================================================
   FINAL IOS ENTRY GATE + CHECKBOXES FIX
   Premium black / champagne / emerald
   ========================================================= */

:root{
	--cc-premium-bg: #070a0f;
	--cc-premium-bg-2: #0b1018;
	--cc-premium-card: rgba(15, 23, 34, .94);
	--cc-premium-card-2: rgba(20, 29, 42, .92);
	--cc-premium-line: rgba(226, 194, 120, .18);
	--cc-premium-line-soft: rgba(148, 163, 184, .14);

	--cc-premium-gold: #d8b35a;
	--cc-premium-gold-2: #f2d083;
	--cc-premium-green: #0f766e;
	--cc-premium-green-2: #E0B24F;

	--cc-premium-text: #f8fafc;
	--cc-premium-muted: rgba(203, 213, 225, .78);
	--cc-premium-muted-2: rgba(148, 163, 184, .78);
}

/* ===== main gate viewport ===== */

#cc-entry-gate{
	position: fixed !important;
	inset: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	max-height: var(--tg-vh-stable, 100dvh) !important;
	min-height: 0 !important;

	display: none !important;
	align-items: center !important;
	justify-content: center !important;

	padding-top: max(10px, var(--safe-t, 0px)) !important;
	padding-right: max(12px, var(--safe-r, 0px)) !important;
	padding-bottom: max(10px, var(--safe-b, 0px)) !important;
	padding-left: max(12px, var(--safe-l, 0px)) !important;

	box-sizing: border-box !important;
	overflow: hidden !important;
	color: var(--cc-premium-text) !important;

	background:
			radial-gradient(760px 380px at 50% -8%, rgba(216, 179, 90, .16), transparent 62%),
			radial-gradient(640px 420px at 105% 20%, rgba(224, 178, 79, .12), transparent 58%),
			linear-gradient(180deg, rgba(7, 10, 15, .96), rgba(3, 6, 10, .98)) !important;

	-webkit-backdrop-filter: blur(18px) saturate(120%) !important;
	backdrop-filter: blur(18px) saturate(120%) !important;
}

#cc-entry-gate.active{
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* ===== shell ===== */

#cc-entry-gate .cc-eg-shell{
	position: relative !important;
	width: min(100%, 430px) !important;
	max-width: 430px !important;
	height: 100% !important;
	max-height: 100% !important;
	min-height: 0 !important;

	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;

	margin: 0 auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;

	border-radius: 24px !important;
	border: 1px solid var(--cc-premium-line) !important;
	background:
			radial-gradient(520px 210px at 50% 0%, rgba(216, 179, 90, .10), transparent 62%),
			linear-gradient(180deg, rgba(12, 17, 25, .98), rgba(6, 9, 14, .98)) !important;

	box-shadow:
			0 28px 80px rgba(0, 0, 0, .58),
			inset 0 1px 0 rgba(255, 255, 255, .05) !important;
}

#cc-entry-gate .cc-eg-progress-track{
	flex: 0 0 auto !important;
	height: 3px !important;
	background: rgba(216, 179, 90, .12) !important;
}

#cc-entry-gate .cc-eg-progress-fill{
	height: 100% !important;
	background: linear-gradient(90deg, var(--cc-premium-green), var(--cc-premium-gold), var(--cc-premium-gold-2)) !important;
	box-shadow: 0 0 18px rgba(216, 179, 90, .34) !important;
}

/* ===== header ===== */

#cc-entry-gate .cc-eg-head{
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 14px 15px 13px !important;
	box-sizing: border-box !important;

	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;

	border: 0 !important;
	border-bottom: 1px solid var(--cc-premium-line-soft) !important;
	border-radius: 0 !important;
	background: linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .015)) !important;
	box-shadow: none !important;
}

#cc-entry-gate .cc-eg-head::before{
	display: none !important;
	content: none !important;
}

#cc-entry-gate .cc-eg-icon{
	flex: 0 0 42px !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 15px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	background:
			radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 52%),
			linear-gradient(135deg, rgba(216, 179, 90, .92), rgba(15, 118, 110, .82)) !important;

	border: 1px solid rgba(255,255,255,.12) !important;
	box-shadow: 0 10px 26px rgba(0,0,0,.26) !important;
	color: #06100f !important;
}

#cc-entry-gate .cc-eg-head-body{
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

#cc-entry-gate .cc-eg-title{
	margin: 0 !important;
	color: var(--cc-premium-text) !important;
	font-size: 18px !important;
	line-height: 1.14 !important;
	font-weight: 950 !important;
	letter-spacing: -.04em !important;
	overflow-wrap: anywhere !important;
}

#cc-entry-gate .cc-eg-sub{
	margin-top: 5px !important;
	color: var(--cc-premium-muted) !important;
	font-size: 12.5px !important;
	line-height: 1.35 !important;
}

/* ===== steps ===== */

#cc-entry-gate .cc-eg-step{
	display: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	box-sizing: border-box !important;
}

#cc-entry-gate .cc-eg-step.active{
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	min-height: 0 !important;
	padding: 12px !important;
	overflow: hidden !important;
}

#cc-entry-gate .cc-eg-step-label{
	flex: 0 0 auto !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
}

#cc-entry-gate .cc-eg-step-info{
	min-width: 0 !important;
	flex: 1 1 auto !important;
}

#cc-entry-gate .cc-eg-step-badge{
	flex: 0 0 auto !important;
	border-radius: 999px !important;
	background: rgba(216, 179, 90, .10) !important;
	border: 1px solid rgba(216, 179, 90, .22) !important;
	color: var(--cc-premium-gold-2) !important;
}

#cc-entry-gate .cc-eg-step-name{
	color: var(--cc-premium-text) !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	overflow-wrap: anywhere !important;
}

#cc-entry-gate .cc-eg-step-desc{
	color: var(--cc-premium-muted-2) !important;
}

/* ===== offer / document area ===== */

#cc-entry-gate .cc-offer-wrap{
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	max-height: none !important;

	display: flex !important;
	flex-direction: column !important;

	box-sizing: border-box !important;
	overflow: hidden !important;

	border-radius: 20px !important;
	border: 1px solid var(--cc-premium-line-soft) !important;
	background:
			radial-gradient(460px 200px at 100% 0%, rgba(224, 178, 79, .08), transparent 62%),
			linear-gradient(180deg, var(--cc-premium-card), rgba(9, 13, 20, .96)) !important;

	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#cc-entry-gate .cc-offer-toolbar{
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 8px !important;

	padding: 10px !important;
	box-sizing: border-box !important;
	border-bottom: 1px solid var(--cc-premium-line-soft) !important;
	background: rgba(255,255,255,.025) !important;
}

#cc-entry-gate .cc-offer-toolbar .meta{
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	color: var(--cc-premium-muted) !important;
}

#cc-entry-gate .cc-offer-scroll{
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;

	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;

	padding: 12px !important;
	box-sizing: border-box !important;
	color: rgba(248,250,252,.90) !important;
}

#cc-entry-gate .cc-doc-prose,
#cc-entry-gate .cc-doc-prose *{
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

/* ===== common buttons ===== */

#cc-entry-gate .cc-eg-btn{
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 44px !important;
	height: 44px !important;
	padding: 0 13px !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;

	border-radius: 14px !important;
	border: 1px solid rgba(226, 194, 120, .18) !important;

	font-size: 13px !important;
	line-height: 1.1 !important;
	font-weight: 900 !important;
	letter-spacing: -.01em !important;
	text-align: center !important;
	white-space: normal !important;

	box-sizing: border-box !important;
	-webkit-tap-highlight-color: rgba(244,239,232,0) !important;
	touch-action: manipulation !important;
}

#cc-entry-gate .cc-eg-btn.primary{
	color: #06100f !important;
	background:
			radial-gradient(120px 60px at 20% 20%, rgba(255,255,255,.28), transparent 68%),
			linear-gradient(135deg, var(--cc-premium-gold-2), var(--cc-premium-gold) 52%, #b98b2f) !important;

	border: 0 !important;
	box-shadow:
			0 12px 26px rgba(216, 179, 90, .20),
			inset 0 1px 0 rgba(255,255,255,.32) !important;
}

#cc-entry-gate .cc-eg-btn.ghost{
	color: rgba(248,250,252,.88) !important;
	background: rgba(255,255,255,.045) !important;
	border-color: rgba(148,163,184,.18) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#cc-entry-gate .cc-eg-btn:disabled{
	opacity: .42 !important;
	filter: grayscale(.18) !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
}

/* ===== terms footer buttons ===== */

#cc-entry-gate .cc-eg-footer{
	position: relative !important;
	bottom: auto !important;
	flex: 0 0 auto !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 8px !important;

	padding: 10px !important;
	box-sizing: border-box !important;

	border-radius: 0 !important;
	border-top: 1px solid var(--cc-premium-line-soft) !important;
	background: linear-gradient(180deg, rgba(7,10,15,.52), rgba(7,10,15,.88)) !important;
}

#cc-entry-gate .cc-eg-footer .grow{
	grid-column: 1 / -1 !important;
	width: 100% !important;
	min-width: 0 !important;
}

#cc-entry-gate .cc-eg-footer .hint,
#cc-entry-gate #cc-eg-scroll-hint{
	margin: 0 !important;
	color: var(--cc-premium-muted-2) !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	font-weight: 650 !important;
}

#cc-entry-gate #cc-eg-auto-scroll,
#cc-entry-gate #cc-eg-accept-terms,
#cc-entry-gate #cc-eg-open-offer-doc{
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

/* ===== PD checkboxes footer ===== */

#cc-entry-gate .cc-eg-pd-footer{
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;

	border-top: 1px solid var(--cc-premium-line-soft) !important;
	background: linear-gradient(180deg, rgba(7,10,15,.34), rgba(7,10,15,.82)) !important;
}

#cc-entry-gate .cc-pd-checks{
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 8px !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	padding: 10px !important;
	box-sizing: border-box !important;
}

#cc-entry-gate .cc-pd-check-row{
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 10px !important;

	padding: 10px !important;
	box-sizing: border-box !important;

	border-radius: 16px !important;
	border: 1px solid rgba(226, 194, 120, .14) !important;
	background:
			radial-gradient(180px 80px at 100% 0%, rgba(224,178,79,.07), transparent 62%),
			rgba(255,255,255,.035) !important;

	cursor: pointer !important;
}

#cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
	-webkit-appearance: none !important;
	appearance: none !important;

	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	margin: 1px 0 0 !important;

	border-radius: 8px !important;
	border: 1.5px solid rgba(226, 194, 120, .38) !important;
	background: rgba(3, 6, 10, .70) !important;

	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.04),
			0 0 0 3px rgba(216,179,90,0) !important;

	position: relative !important;
	cursor: pointer !important;
	transition: background .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

#cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: rgba(242, 208, 131, .88) !important;
	background: linear-gradient(135deg, var(--cc-premium-gold-2), var(--cc-premium-gold)) !important;
	box-shadow:
			0 0 0 3px rgba(216,179,90,.10),
			0 8px 18px rgba(216,179,90,.12) !important;
}

#cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked::after{
	content: "" !important;
	position: absolute !important;
	left: 6px !important;
	top: 4px !important;
	width: 8px !important;
	height: 5px !important;

	border-left: 2.5px solid #06100f !important;
	border-bottom: 2.5px solid #06100f !important;
	transform: rotate(-45deg) !important;
}

#cc-entry-gate .cc-pd-check-label{
	min-width: 0 !important;
	max-width: 100% !important;

	color: rgba(248,250,252,.88) !important;
	font-size: 12.7px !important;
	line-height: 1.38 !important;
	font-weight: 650 !important;

	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	user-select: none !important;
}

#cc-entry-gate .cc-pd-check-label strong{
	color: #fff6d8 !important;
	font-weight: 900 !important;
}

#cc-entry-gate .cc-eg-pd-btn-row{
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;

	padding: 10px !important;
	box-sizing: border-box !important;
	border-top: 1px solid rgba(148,163,184,.12) !important;
}

#cc-entry-gate .cc-eg-pd-btn-row .cc-eg-btn,
#cc-entry-gate #cc-eg-accept-pd{
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

/* ===== usual checkbox fields in terms screen/modal ===== */

#terms-screen .field,
#terms-modal .field{
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 10px !important;

	padding: 12px !important;
	box-sizing: border-box !important;

	border-radius: 16px !important;
	background:
			radial-gradient(180px 80px at 100% 0%, rgba(224,178,79,.07), transparent 62%),
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028)) !important;
	outline: 1px solid rgba(226, 194, 120, .14) !important;
}

#terms-screen .field input[type="checkbox"],
#terms-modal .field input[type="checkbox"]{
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	margin-top: 1px !important;
	border-radius: 8px !important;
}

#terms-screen .field span,
#terms-modal .field span{
	min-width: 0 !important;
	max-width: 100% !important;
	color: rgba(248,250,252,.88) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
}

#terms-screen-approve-btn,
#terms-modal-approve-btn,
#confirm-ok,
#confirm-cancel{
	min-width: 0 !important;
	white-space: normal !important;
}

/* ===== iPhone narrow screens ===== */

@media (max-width: 390px){
	#cc-entry-gate{
		padding-top: max(8px, var(--safe-t, 0px)) !important;
		padding-right: max(8px, var(--safe-r, 0px)) !important;
		padding-bottom: max(8px, var(--safe-b, 0px)) !important;
		padding-left: max(8px, var(--safe-l, 0px)) !important;
	}

	#cc-entry-gate .cc-eg-shell{
		border-radius: 20px !important;
	}

	#cc-entry-gate .cc-eg-head{
		padding: 12px !important;
	}

	#cc-entry-gate .cc-eg-icon{
		width: 38px !important;
		height: 38px !important;
		flex-basis: 38px !important;
		border-radius: 13px !important;
	}

	#cc-entry-gate .cc-eg-title{
		font-size: 16.5px !important;
	}

	#cc-entry-gate .cc-eg-step{
		padding: 10px !important;
		gap: 8px !important;
	}

	#cc-entry-gate .cc-eg-step-desc{
		display: none !important;
	}

	#cc-entry-gate .cc-offer-scroll{
		padding: 10px !important;
		font-size: 13px !important;
		line-height: 1.5 !important;
	}

	#cc-entry-gate .cc-eg-footer{
		grid-template-columns: 1fr !important;
		padding: 9px !important;
	}

	#cc-entry-gate .cc-eg-footer .grow,
	#cc-entry-gate #cc-eg-auto-scroll,
	#cc-entry-gate #cc-eg-accept-terms{
		grid-column: 1 / -1 !important;
	}

	#cc-entry-gate .cc-pd-checks{
		padding: 9px !important;
		gap: 7px !important;
	}

	#cc-entry-gate .cc-pd-check-row{
		padding: 9px !important;
		gap: 9px !important;
	}

	#cc-entry-gate .cc-pd-check-label{
		font-size: 12.2px !important;
		line-height: 1.34 !important;
	}

	#cc-entry-gate .cc-eg-pd-btn-row{
		padding: 9px !important;
	}

	#cc-entry-gate .cc-eg-btn{
		height: 42px !important;
		min-height: 42px !important;
		font-size: 12.7px !important;
	}
}

/* ===== iPhone SE / very narrow ===== */

@media (max-width: 340px){
	#cc-entry-gate .cc-eg-head{
		gap: 9px !important;
	}

	#cc-entry-gate .cc-eg-icon{
		display: none !important;
	}

	#cc-entry-gate .cc-pd-check-row{
		grid-template-columns: 22px minmax(0, 1fr) !important;
	}

	#cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
		width: 20px !important;
		height: 20px !important;
		min-width: 20px !important;
		min-height: 20px !important;
	}

	#cc-entry-gate .cc-pd-check-label{
		font-size: 11.8px !important;
	}
}

/* ===== PD / COOKIE CONSENT REDESIGN ===== */
#cc-entry-gate{
	--cc-entry-gap: 12px;
	padding-top: calc(max(var(--tg-csafe-top, 0px), var(--tg-ssafe-top, env(safe-area-inset-top, 0px))) + var(--cc-entry-gap)) !important;
	padding-right: calc(max(var(--tg-csafe-right, 0px), var(--tg-ssafe-right, env(safe-area-inset-right, 0px))) + var(--cc-entry-gap)) !important;
	padding-bottom: calc(max(var(--tg-csafe-bottom, 0px), var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px))) + var(--cc-entry-gap)) !important;
	padding-left: calc(max(var(--tg-csafe-left, 0px), var(--tg-ssafe-left, env(safe-area-inset-left, 0px))) + var(--cc-entry-gap)) !important;
}
#cc-entry-gate .cc-eg-shell{
	max-height: calc(var(--tg-vh-stable, 100dvh) - max(var(--tg-csafe-top, 0px), var(--tg-ssafe-top, env(safe-area-inset-top, 0px))) - max(var(--tg-csafe-bottom, 0px), var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px))) - 24px) !important;
	border-radius: 22px !important;
	margin-top: 18px;
}
#cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	border-radius: 18px !important;
	background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(7,10,15,.96)) !important;
	border-color: rgba(226,194,120,.13) !important;
}
#cc-entry-gate #cc-eg-pd-scroll{
	padding: 12px !important;
}
#cc-entry-gate .cc-pd-policy{
	display: grid !important;
	gap: 10px !important;
	padding: 0 !important;
}
#cc-entry-gate .cc-pd-hero{
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	gap: 10px !important;
	align-items: center !important;
	padding: 12px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(226,194,120,.14) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
}
#cc-entry-gate .cc-pd-hero-icon{
	width: 42px !important;
	height: 42px !important;
	border-radius: 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #07110f !important;
	background: linear-gradient(135deg, #f2d083, #d8b35a) !important;
	box-shadow: 0 10px 24px rgba(216,179,90,.18) !important;
}
#cc-entry-gate .cc-pd-hero-icon i{font-size: 22px !important; line-height: 1 !important;}
#cc-entry-gate .cc-pd-hero-title{
	color: #f8fafc !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	font-weight: 950 !important;
}
#cc-entry-gate .cc-pd-hero-sub{
	margin-top: 4px !important;
	color: rgba(203,213,225,.72) !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}
#cc-entry-gate .cc-pd-chips{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}
#cc-entry-gate .cc-pd-chips span{
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	min-height: 28px !important;
	padding: 0 9px !important;
	border-radius: 999px !important;
	color: rgba(248,250,252,.78) !important;
	background: rgba(255,255,255,.045) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}
#cc-entry-gate .cc-pd-block,
#cc-entry-gate .cc-pd-operator{
	padding: 12px !important;
	border-radius: 16px !important;
	background: rgba(255,255,255,.035) !important;
	border: 1px solid rgba(148,163,184,.12) !important;
}
#cc-entry-gate .cc-pd-block-title{
	color: rgba(242,208,131,.88) !important;
	font-size: 11px !important;
	letter-spacing: .04em !important;
	margin-bottom: 2px !important;
}
#cc-entry-gate .cc-pd-list{
	padding-left: 0 !important;
	list-style: none !important;
	gap: 6px !important;
}
#cc-entry-gate .cc-pd-list li{
	position: relative !important;
	padding-left: 16px !important;
	color: rgba(248,250,252,.82) !important;
	font-size: 12.5px !important;
	line-height: 1.42 !important;
}
#cc-entry-gate .cc-pd-list li::before{
	content: "" !important;
	position: absolute !important;
	left: 1px !important;
	top: .62em !important;
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background: rgba(216,179,90,.88) !important;
}
#cc-entry-gate .cc-pd-text{
	color: rgba(248,250,252,.80) !important;
	font-size: 12.5px !important;
	line-height: 1.45 !important;
}
#cc-entry-gate .cc-pd-full-link{
	min-height: 38px !important;
	padding: 0 12px !important;
	border-radius: 13px !important;
	justify-content: center !important;
	color: #f8fafc !important;
	background: rgba(255,255,255,.055) !important;
	border: 1px solid rgba(226,194,120,.14) !important;
	text-decoration: none !important;
}
#cc-entry-gate .cc-pd-law,
#cc-entry-gate .cc-pd-op-meta,
#cc-entry-gate .cc-pd-op-name{
	color: rgba(203,213,225,.62) !important;
}
#cc-entry-gate .cc-pd-op-contacts{gap: 6px !important;}
#cc-entry-gate .cc-pd-contact-chip{
	min-height: 28px !important;
	padding: 0 9px !important;
	border-radius: 999px !important;
	color: rgba(248,250,252,.78) !important;
	background: rgba(255,255,255,.045) !important;
	border-color: rgba(148,163,184,.14) !important;
}
#cc-entry-gate .cc-eg-pd-footer{
	background: rgba(7,10,15,.92) !important;
}
#cc-entry-gate .cc-pd-checks{
	gap: 7px !important;
	padding: 10px 10px 0 !important;
}
#cc-entry-gate .cc-pd-check-row{
	border-radius: 14px !important;
	border-color: rgba(148,163,184,.14) !important;
	background: rgba(255,255,255,.04) !important;
}
#cc-entry-gate .cc-eg-pd-btn-row{
	padding: 10px !important;
	padding-bottom: calc(10px + max(var(--tg-csafe-bottom, 0px), var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px)))) !important;
}
#cc-cookie-banner{
	bottom: calc(max(var(--tg-csafe-bottom, 0px), var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px))) + 12px) !important;
	left: calc(max(var(--tg-csafe-left, 0px), var(--tg-ssafe-left, env(safe-area-inset-left, 0px))) + 12px) !important;
	right: calc(max(var(--tg-csafe-right, 0px), var(--tg-ssafe-right, env(safe-area-inset-right, 0px))) + 12px) !important;
	width: auto !important;
	max-width: 520px !important;
	margin: 0 auto !important;
	transform: translateY(14px) !important;
}
#cc-cookie-banner.visible{transform: translateY(0) !important;}
.cc-cookie-inner{
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px !important;
	border-radius: 18px !important;
	background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(7,10,15,.96)) !important;
	border: 1px solid rgba(226,194,120,.14) !important;
	box-shadow: 0 18px 50px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.cc-cookie-icon{
	width: 38px !important;
	height: 38px !important;
	border-radius: 13px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #07110f !important;
	background: linear-gradient(135deg, #f2d083, #d8b35a) !important;
}
.cc-cookie-icon i{font-size: 20px !important;}
.cc-cookie-text{
	display: grid !important;
	gap: 2px !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	color: rgba(203,213,225,.76) !important;
}
.cc-cookie-text strong{
	color: #f8fafc !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
}
.cc-cookie-actions{
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.cc-cookie-btn{
	min-width: 54px !important;
	min-height: 38px !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #f2d083, #d8b35a) !important;
	color: #07110f !important;
}
.cc-cookie-close{
	width: 38px !important;
	height: 38px !important;
	border-radius: 12px !important;
	color: rgba(248,250,252,.74) !important;
	background: rgba(255,255,255,.055) !important;
	border: 1px solid rgba(148,163,184,.14) !important;
}
@media (max-width: 390px){
	#cc-entry-gate{--cc-entry-gap: 10px;}
	#cc-entry-gate .cc-eg-step.active{padding: 10px !important;}
	#cc-entry-gate .cc-pd-hero{grid-template-columns: 36px minmax(0, 1fr) !important; padding: 10px !important;}
	#cc-entry-gate .cc-pd-hero-icon{width: 36px !important; height: 36px !important; border-radius: 12px !important;}
	#cc-entry-gate .cc-pd-block,
	#cc-entry-gate .cc-pd-operator{padding: 10px !important;}
	.cc-cookie-inner{grid-template-columns: 34px minmax(0, 1fr) !important;}
	.cc-cookie-icon{width: 34px !important; height: 34px !important;}
	.cc-cookie-actions{grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) 38px !important;}
}


/* ===== ENTRY GATE SAFE AREA CONTRACT ===== */
#cc-entry-gate{
	--cc-safe-t: max(var(--safe-t, 0px), var(--tg-csafe-top, 0px), var(--tg-ssafe-top, env(safe-area-inset-top, 0px))) !important;
	--cc-safe-r: max(var(--safe-r, 0px), var(--tg-csafe-right, 0px), var(--tg-ssafe-right, env(safe-area-inset-right, 0px))) !important;
	--cc-safe-b: max(var(--safe-b, 0px), var(--tg-csafe-bottom, 0px), var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px))) !important;
	--cc-safe-l: max(var(--safe-l, 0px), var(--tg-csafe-left, 0px), var(--tg-ssafe-left, env(safe-area-inset-left, 0px))) !important;
	--cc-entry-gap: 12px !important;

	padding-top: calc(var(--cc-safe-t) + var(--cc-entry-gap)) !important;
	padding-right: calc(var(--cc-safe-r) + var(--cc-entry-gap)) !important;
	padding-bottom: calc(var(--cc-safe-b) + var(--cc-entry-gap)) !important;
	padding-left: calc(var(--cc-safe-l) + var(--cc-entry-gap)) !important;

	align-items: stretch !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}

#cc-entry-gate .cc-eg-shell{
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--cc-safe-t) - var(--cc-safe-b) - (var(--cc-entry-gap) * 2)) !important;
	margin-top: var(--safe-t) !important;
	margin-bottom: 0 !important;
}

#cc-entry-gate .cc-eg-head{
	padding-top: calc(14px + min(var(--cc-safe-t), 10px)) !important;
}

#cc-entry-gate .cc-eg-step.active{
	min-height: 0 !important;
	padding-bottom: calc(12px + min(var(--cc-safe-b), 10px)) !important;
}

#cc-entry-gate .cc-eg-footer,
#cc-entry-gate .cc-eg-pd-footer{
	padding-bottom: calc(10px + min(var(--cc-safe-b), 14px)) !important;
}

#cc-entry-gate .cc-eg-pd-btn-row{
	padding-bottom: calc(10px + min(var(--cc-safe-b), 14px)) !important;
}

#cc-entry-gate .cc-offer-scroll{
	scroll-padding-top: calc(12px + var(--cc-safe-t)) !important;
	scroll-padding-bottom: calc(96px + var(--cc-safe-b)) !important;
}

@media (max-width: 390px){
	#cc-entry-gate{--cc-entry-gap: 10px !important;}
	#cc-entry-gate .cc-eg-head{padding-top: calc(12px + min(var(--cc-safe-t), 8px)) !important;}
	#cc-entry-gate .cc-eg-step.active{padding-bottom: calc(10px + min(var(--cc-safe-b), 8px)) !important;}
}


#cc-entry-gate .cc-pd-inline-link{
	color: inherit !important;
	text-decoration: none !important;
	-webkit-tap-highlight-color: rgba(244,239,232,0) !important;
}
#cc-entry-gate .cc-pd-inline-link strong{
	border-bottom: 1px solid rgba(242,208,131,.42) !important;
}
#cc-entry-gate .cc-pd-inline-link:active strong{
	color: #ffffff !important;
	border-bottom-color: rgba(242,208,131,.82) !important;
}

/* ===== ENTRY GATE POKER CLUB MINIMAL PATCH ===== */
#cc-entry-gate{
	--cc-eg-bg: #070707 !important;
	--cc-eg-panel: #101010 !important;
	--cc-eg-panel-2: #151210 !important;
	--cc-eg-border: rgba(196, 151, 72, .24) !important;
	--cc-eg-border-soft: rgba(255, 244, 220, .10) !important;
	--cc-eg-red: #F04B37 !important;
	--cc-eg-red-soft: #FF5A3D !important;
	--cc-eg-burgundy: #6e1f2d !important;
	--cc-eg-text: #f7f1e7 !important;
	--cc-eg-muted: rgba(247, 241, 231, .70) !important;
	--cc-entry-gap: 10px !important;
	max-width: 100% !important;
	background:
			radial-gradient(780px 420px at 50% -12%, rgba(110, 31, 45, .34), transparent 60%),
			radial-gradient(560px 320px at 100% 8%, rgba(240, 75, 55, .10), transparent 62%),
			linear-gradient(180deg, rgba(10, 10, 10, .98), rgba(3, 3, 3, .99)) !important;
	color: var(--cc-eg-text) !important;
	overflow: hidden !important;
}

#cc-entry-gate,
#cc-entry-gate *{
	box-sizing: border-box !important;
}

#cc-entry-gate .cc-eg-shell{
	width: min(100%, 424px) !important;
	max-width: 424px !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	border-radius: 20px !important;
	border: 1px solid var(--cc-eg-border) !important;
	background:
			linear-gradient(180deg, rgba(255, 244, 220, .045), transparent 90px),
			linear-gradient(180deg, var(--cc-eg-panel), #080808) !important;
	box-shadow:
			0 18px 46px rgba(0, 0, 0, .50),
			inset 0 1px 0 rgba(255, 244, 220, .06) !important;
	margin-top: var(--cc-safe-t) !important;
}

#cc-entry-gate .cc-eg-head{
	padding: calc(13px + min(var(--cc-safe-t), 8px)) 14px 12px !important;
	border-bottom: 1px solid var(--cc-eg-border-soft) !important;
	background:
			linear-gradient(135deg, rgba(110, 31, 45, .34), rgba(16, 16, 16, .16)),
			rgba(255, 244, 220, .018) !important;
}

#cc-entry-gate .cc-eg-title{
	color: var(--cc-eg-text) !important;
	font-size: 18px !important;
	line-height: 1.16 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

#cc-entry-gate .cc-eg-sub{
	color: var(--cc-eg-muted) !important;
	font-size: 12.5px !important;
}

#cc-entry-gate .cc-eg-step.active{
	gap: 10px !important;
	padding: 11px !important;
	padding-bottom: calc(11px + min(var(--cc-safe-b), 8px)) !important;
}

#cc-entry-gate .cc-eg-step-badge{
	min-width: 36px !important;
	min-height: 26px !important;
	padding: 0 9px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 999px !important;
	border: 1px solid rgba(216, 177, 95, .34) !important;
	background: rgba(110, 31, 45, .32) !important;
	color: var(--cc-eg-red-soft) !important;
	font-size: 11px !important;
	line-height: 1 !important;
	font-weight: 850 !important;
}

#cc-entry-gate .cc-eg-step-name{
	color: var(--cc-eg-text) !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
}

#cc-entry-gate .cc-eg-step-desc{
	color: rgba(247, 241, 231, .52) !important;
	font-size: 12px !important;
}

#cc-entry-gate .cc-offer-wrap,
#cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	border-radius: 16px !important;
	border-color: var(--cc-eg-border-soft) !important;
	background:
			linear-gradient(180deg, rgba(110, 31, 45, .12), transparent 132px),
			linear-gradient(180deg, var(--cc-eg-panel-2), #0b0b0b) !important;
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .045) !important;
}

#cc-entry-gate .cc-offer-toolbar{
	grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
	background: rgba(255, 244, 220, .022) !important;
	border-bottom-color: var(--cc-eg-border-soft) !important;
}

#cc-entry-gate .cc-offer-toolbar .meta,
#cc-entry-gate .cc-doc-prose,
#cc-entry-gate .cc-doc-prose *,
#cc-entry-gate .cc-offer-scroll{
	color: rgba(247, 241, 231, .86) !important;
}

#cc-entry-gate .cc-pd-hero{
	border-radius: 14px !important;
	border-color: rgba(216, 177, 95, .18) !important;
	background:
			linear-gradient(135deg, rgba(110, 31, 45, .28), rgba(255, 244, 220, .035)),
			rgba(255, 244, 220, .02) !important;
}

#cc-entry-gate .cc-pd-hero-icon{
	color: #120a05 !important;
	background: linear-gradient(135deg, var(--cc-eg-red-soft), var(--cc-eg-burgundy)) !important;
	box-shadow: 0 8px 18px rgba(216, 177, 95, .16) !important;
}

#cc-entry-gate .cc-pd-hero-title,
#cc-entry-gate .cc-pd-check-label strong{
	color: #fff7df !important;
}

#cc-entry-gate .cc-pd-hero-sub,
#cc-entry-gate .cc-pd-text,
#cc-entry-gate .cc-pd-list li,
#cc-entry-gate .cc-pd-check-label{
	color: rgba(247, 241, 231, .78) !important;
}

#cc-entry-gate .cc-pd-chips span,
#cc-entry-gate .cc-pd-contact-chip,
#cc-entry-gate .cc-pd-block,
#cc-entry-gate .cc-pd-operator,
#cc-entry-gate .cc-pd-check-row{
	border-color: var(--cc-eg-border-soft) !important;
	background: rgba(255, 244, 220, .035) !important;
}

#cc-entry-gate .cc-pd-list li::before{
	background: var(--cc-eg-red) !important;
}

#cc-entry-gate .cc-pd-check-row{
	grid-template-columns: 24px minmax(0, 1fr) !important;
	min-height: 44px !important;
	padding: 10px !important;
	border-radius: 14px !important;
}

#cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
	border-color: rgba(240, 75, 55, .48) !important;
	background: rgba(6, 6, 6, .78) !important;
}

#cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: var(--cc-eg-red-soft) !important;
	background: linear-gradient(135deg, var(--cc-eg-burgundy), var(--cc-eg-red)) !important;
}

#cc-entry-gate .cc-eg-footer,
#cc-entry-gate .cc-eg-pd-footer{
	border-top-color: var(--cc-eg-border-soft) !important;
	background: linear-gradient(180deg, rgba(12, 12, 12, .90), rgba(5, 5, 5, .96)) !important;
}

#cc-entry-gate .cc-eg-btn{
	min-height: 44px !important;
	height: auto !important;
	padding: 10px 13px !important;
	border-radius: 12px !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

#cc-entry-gate .cc-eg-btn.primary{
	color: var(--cc-eg-text) !important;
	background: linear-gradient(135deg, var(--cc-eg-burgundy), var(--cc-eg-red) 68%, var(--cc-eg-red-soft)) !important;
	box-shadow:
			0 10px 22px rgba(142, 31, 45, .24),
			inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

#cc-entry-gate .cc-eg-btn.ghost,
#cc-entry-gate .cc-pd-full-link{
	color: rgba(247, 241, 231, .88) !important;
	border-color: var(--cc-eg-border-soft) !important;
	background: rgba(255, 244, 220, .045) !important;
}

@media (max-width: 430px){
	#cc-entry-gate{
		--cc-entry-gap: 9px !important;
	}

	#cc-entry-gate .cc-eg-shell{
		width: 100% !important;
		border-radius: 18px !important;
	}

	#cc-entry-gate .cc-eg-footer{
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	}
}

@media (max-width: 390px){
	#cc-entry-gate{
		--cc-entry-gap: 8px !important;
	}

	#cc-entry-gate .cc-eg-title{
		font-size: 16.5px !important;
	}

	#cc-entry-gate .cc-eg-step.active{
		padding: 9px !important;
		padding-bottom: calc(9px + min(var(--cc-safe-b), 8px)) !important;
	}

	#cc-entry-gate .cc-offer-toolbar,
	#cc-entry-gate .cc-eg-footer{
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 375px){
	#cc-entry-gate .cc-eg-head{
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	#cc-entry-gate .cc-eg-step-label{
		align-items: flex-start !important;
	}

	#cc-entry-gate .cc-eg-step-badge{
		min-width: 32px !important;
		padding: 0 8px !important;
	}
}

/* Cookie consent must stay usable before the coach tour starts. */
#cc-cookie-banner .cc-cookie-btn{
	min-height: 44px !important;
}

#cc-cookie-banner .cc-cookie-close{
	width: 44px !important;
	height: 44px !important;
}

@media (max-width: 390px){
	#cc-cookie-banner .cc-cookie-actions{
		grid-template-columns: minmax(0, 1fr) 44px !important;
	}
}

/* ===== Coach tour compact premium pass ===== */
#cc-coach-overlay{
	--cc-spot-r: 140px;
	background:
			radial-gradient(
					circle var(--cc-spot-r) at var(--cc-spot-x) var(--cc-spot-y),
					rgba(0, 0, 0, 0) 0%,
					rgba(0, 0, 0, 0) 72%,
					rgba(5, 6, 8, .30) 84%,
					rgba(5, 6, 8, .58) 100%
			),
			radial-gradient(720px 360px at 50% -10%, rgba(216, 177, 95, .10), transparent 62%),
			rgba(5, 6, 8, .48);
	-webkit-backdrop-filter: saturate(108%);
	backdrop-filter: saturate(108%);
}

#cc-coach-overlay.active{
	opacity: 1;
}

.cc-coach-panel{
	width: min(360px, calc(100vw - max(24px, calc(var(--safe-l, 0px) + var(--safe-r, 0px) + 24px))));
	max-width: 100%;
	padding: 12px;
	border-radius: 16px;
	border-color: rgba(216, 177, 95, .22);
	background:
			linear-gradient(180deg, rgba(110, 31, 45, .18), rgba(255, 244, 220, .025) 62%),
			#0b0d10;
	box-shadow:
			0 16px 34px rgba(0, 0, 0, .46),
			inset 0 1px 0 rgba(255, 244, 220, .06);
	box-sizing: border-box;
}

.cc-coach-panel::after{
	background: #0b0d10;
	border-color: rgba(216, 177, 95, .22);
}

.cc-coach-step-badge{
	color: #f2d083;
	background: rgba(110, 31, 45, .34);
	border-color: rgba(216, 177, 95, .28);
	letter-spacing: 0;
}

.cc-coach-progress{
	min-width: 72px;
	height: 6px;
	background: rgba(255, 244, 220, .08);
	border-color: rgba(216, 177, 95, .10);
}

.cc-coach-progress > span{
	background: linear-gradient(90deg, #9f6a2f, #d8b15f, #f2d083);
}

.cc-coach-panel h4{
	color: #fff7df;
	font-size: 17px;
	line-height: 1.22;
	letter-spacing: 0;
}

.cc-coach-panel p{
	color: rgba(247, 241, 231, .82);
	font-size: 14px;
	line-height: 1.42;
}

.cc-coach-actions{
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
	gap: 8px;
	margin-top: 12px;
}

.cc-coach-actions .cc-eg-btn{
	width: 100%;
	min-width: 0;
	min-height: 44px;
	height: auto;
	padding: 10px 12px;
	border-radius: 12px;
	white-space: normal;
	overflow-wrap: anywhere;
	letter-spacing: 0;
}

.cc-coach-actions .cc-eg-btn.primary{
	color: #160d05;
	background: linear-gradient(135deg, #f2d083, #d8b15f 56%, #a46f32);
	box-shadow: 0 10px 20px rgba(216, 177, 95, .16), inset 0 1px 0 rgba(255, 255, 255, .26);
}

.cc-coach-actions .cc-eg-btn.ghost{
	color: rgba(247, 241, 231, .86);
	border-color: rgba(216, 177, 95, .18);
	background: rgba(255, 244, 220, .045);
}

.cc-coach-target{
	outline-color: rgba(242, 208, 131, .96) !important;
	box-shadow:
			0 0 0 7px rgba(216, 177, 95, .12),
			0 0 22px rgba(216, 177, 95, .20) !important;
}

@media (max-width: 430px){
	.cc-coach-panel{
		width: calc(100vw - max(20px, calc(var(--safe-l, 0px) + var(--safe-r, 0px) + 20px)));
		padding: 11px;
		border-radius: 14px;
	}
}

@media (max-width: 390px){
	.cc-coach-head{
		align-items: flex-start;
		gap: 8px;
	}

	.cc-coach-step-badge{
		font-size: 11px;
		padding: 4px 8px;
	}

	.cc-coach-panel h4{
		font-size: 16px;
	}

	.cc-coach-panel p{
		font-size: 13.5px;
	}
}

@media (max-width: 375px){
	.cc-coach-actions{
		grid-template-columns: 1fr;
	}
}

/* ===== Registration CTA premium pass ===== */
.tournament-card .card-actions .btn.btn-register-cta,
#tournament-modal .tm-cta .btn.btn-register-cta{
	min-height: 48px !important;
	height: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 12px 16px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(242, 208, 131, .36) !important;
	color: #170d05 !important;
	font-size: 15px !important;
	line-height: 1.15 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	background:
			radial-gradient(140px 70px at 18% 20%, rgba(255, 255, 255, .30), transparent 64%),
			linear-gradient(135deg, #f2d083 0%, #d8b15f 48%, #a66e32 100%) !important;
	box-shadow:
			0 10px 20px rgba(216, 177, 95, .18),
			inset 0 1px 0 rgba(255, 255, 255, .34),
			inset 0 -1px 0 rgba(86, 46, 18, .30) !important;
	-webkit-tap-highlight-color: rgba(216, 177, 95, .22);
}

.tournament-card .card-actions .btn.btn-register-cta i,
#tournament-modal .tm-cta .btn.btn-register-cta i{
	margin-right: 0 !important;
	color: #2a1607 !important;
	font-size: 18px !important;
	line-height: 1 !important;
}

.tournament-card .card-actions .btn.btn-register-cta:active,
#tournament-modal .tm-cta .btn.btn-register-cta:active{
	transform: translateY(1px) scale(.99) !important;
	filter: brightness(1.02) !important;
}

@media (hover:hover) and (pointer:fine){
	.tournament-card .card-actions .btn.btn-register-cta:hover,
	#tournament-modal .tm-cta .btn.btn-register-cta:hover{
		filter: brightness(1.04) saturate(1.02) !important;
	}
}

@media (max-width: 390px){
	.tournament-card .card-actions .btn.btn-register-cta,
	#tournament-modal .tm-cta .btn.btn-register-cta{
		min-height: 46px !important;
		padding: 11px 13px !important;
		font-size: 14px !important;
	}
}

/* ===== Desktop site layout for /club-core ===== */
@media (min-width: 1024px){
	:root{
		--cc-desktop-page-width: min(1180px, calc(100vw - 64px));
		--cc-desktop-phone-width: var(--cc-desktop-page-width);
		--bn-h: 80px;
	}

	html{
		background: #050607 !important;
	}

	body{
		min-height: 100dvh !important;
		padding-bottom: 0 !important;
		background:
				radial-gradient(900px 420px at 50% -10%, rgba(216, 177, 95, .12), transparent 62%),
				radial-gradient(760px 520px at 100% 18%, rgba(110, 31, 45, .18), transparent 62%),
				linear-gradient(180deg, #070809 0%, #0b0d10 48%, #060707 100%) !important;
	}

	body::before{
		display: none !important;
	}

	#app,
	#app.app,
	.app,
	.root{
		width: var(--cc-desktop-page-width) !important;
		max-width: var(--cc-desktop-page-width) !important;
		min-height: 100dvh !important;
		margin: 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.header{
		width: 100% !important;
		max-width: none !important;
		margin: 18px auto 0 !important;
		padding: 20px 24px !important;
		border-radius: 22px !important;
		border: 1px solid rgba(216, 177, 95, .14) !important;
		background:
				radial-gradient(740px 260px at 10% 0%, rgba(216, 177, 95, .10), transparent 62%),
				linear-gradient(180deg, rgba(16, 18, 21, .96), rgba(9, 10, 12, .98)) !important;
	}

	.header-inner,
	.hero-level-wrap,
	main.list-pad,
	.container{
		width: 100% !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	.header-inner{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.hero-level-wrap{
		padding: 18px 0 0 !important;
	}

	main.list-pad{
		padding: 18px 0 calc(var(--bn-h, 80px) + 34px) !important;
	}

	.section-title{
		margin: 18px 0 16px !important;
		font-size: 24px !important;
	}

	#tournaments-list{
		display: grid !important;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
		gap: 18px !important;
		align-items: stretch !important;
	}

	#tournaments-list > .empty-state,
	#tournaments-list > .hint{
		grid-column: 1 / -1 !important;
	}

	#tournaments-list .skeleton-card{
		width: 100% !important;
		min-width: 0 !important;
	}

	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
	}

	.tournament-card--clean .tournament-clean-location span,
	.tournament-card--compact .tm-chip-location span:last-child{
		max-width: 100% !important;
	}

	#rating-screen,
	#support-screen,
	#terms-screen,
	#pd-screen,
	#profile-screen,
	#menu-screen{
		max-width: 980px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#rating-list{
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}

	.game-history-item.rating-player-card{
		margin-bottom: 0 !important;
	}

	.stats-grid{
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	#profile-screen .profile-compact-list{
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
	}

	#profile-screen .profile-compact-row{
		margin: 0 !important;
	}

	#profile-screen .awards-grid,
	#profile-screen .profile-medals-grid{
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	.cc-menu-list{
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
		gap: 16px !important;
	}

	.bottom-nav,
	.bn-wrap,
	.bottom-navigation,
	.mobile-bottom-nav{
		left: 50% !important;
		right: auto !important;
		bottom: 18px !important;
		width: min(860px, calc(100vw - 64px)) !important;
		max-width: min(860px, calc(100vw - 64px)) !important;
		padding: 0 !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	.bottom-nav .nav-row{
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 8px !important;
		gap: 8px !important;
		border-radius: 18px !important;
		border: 1px solid rgba(216, 177, 95, .16) !important;
		background:
				linear-gradient(180deg, rgba(16, 18, 21, .94), rgba(7, 8, 10, .96)) !important;
		box-shadow:
				0 16px 34px rgba(0, 0, 0, .34),
				inset 0 1px 0 rgba(255, 244, 220, .045) !important;
	}

	.bn-item{
		height: 50px !important;
		min-height: 50px !important;
		flex-direction: row !important;
		gap: 8px !important;
		border-radius: 12px !important;
		font-size: 13px !important;
	}

	.bn-item i{
		font-size: 20px !important;
	}

	#toast-root{
		left: 50% !important;
		right: auto !important;
		width: min(520px, calc(100vw - 64px)) !important;
		max-width: min(520px, calc(100vw - 64px)) !important;
		transform: translateX(-50%) !important;
	}

	#tournament-modal,
	#terms-modal,
	#nick-modal,
	#confirm-modal,
	#club-info-modal,
	#rating-info-modal,
	#cc-rating-goals-modal,
	#cc-entry-gate,
	#cc-site-auth-gate,
	#cc-boot-preloader,
	#cc-reconnect-overlay,
	#cc-coach-overlay{
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: none !important;
		min-height: 100dvh !important;
		transform: none !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	#tournament-modal .modal-content,
	#tournament-modal .modal-content.tm-neo{
		width: min(920px, calc(100vw - 72px)) !important;
		max-width: min(920px, calc(100vw - 72px)) !important;
	}

	#club-info-modal .modal-content.club-info-modal-content,
	#cc-rating-goals-modal .cc-rg-dialog{
		width: min(1040px, calc(100vw - 72px)) !important;
		max-width: min(1040px, calc(100vw - 72px)) !important;
	}

	.modal-content,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#rating-info-modal .modal-content,
	.cc-site-auth-card,
	.cc-boot-card,
	.cc-reconnect-card,
	.cc-eg-shell{
		width: min(760px, calc(100vw - 72px)) !important;
		max-width: min(760px, calc(100vw - 72px)) !important;
	}
}

@media (min-width: 1280px){
	:root{
		--cc-desktop-page-width: min(1240px, calc(100vw - 96px));
	}
}

/* =========================================================
   RATING LEVELS — PREMIUM CLUB PATCH
   ========================================================= */

#cc-rating-goals-modal{
	top: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	left: 0 !important;
	width: 100% !important;
	height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px)) !important;
	min-height: 0 !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px)) !important;
	margin-top: var(--safe-t, 0px) !important;
	align-items: flex-end !important;
	justify-content: center !important;
	padding: 10px max(10px, var(--safe-r, 0px)) 0 max(10px, var(--safe-l, 0px)) !important;
	background:
			radial-gradient(740px 380px at 50% -8%, rgba(240, 75, 55, .16), transparent 62%),
			radial-gradient(560px 280px at 100% 100%, rgba(224, 178, 79, .08), transparent 60%),
			rgba(5, 7, 10, .82) !important;
	-webkit-backdrop-filter: blur(14px) saturate(112%) !important;
	backdrop-filter: blur(14px) saturate(112%) !important;
	box-sizing: border-box !important;
}

#cc-rating-goals-modal .cc-rg-dialog{
	width: min(100%, 560px) !important;
	max-width: 100% !important;
	max-height: 100% !important;
	min-height: 0 !important;
	border-radius: 24px 24px 18px 18px !important;
	border: 1px solid rgba(255, 244, 220, .10) !important;
	background:
			radial-gradient(620px 260px at 10% 0%, rgba(240, 75, 55, .12), transparent 60%),
			linear-gradient(180deg, rgba(17, 22, 29, .99), rgba(8, 10, 14, .99)) !important;
	box-shadow:
			0 26px 78px rgba(0, 0, 0, .58),
			inset 0 1px 0 rgba(255, 244, 220, .045) !important;
	color: #f4efe8 !important;
	box-sizing: border-box !important;
}

#cc-rating-goals-modal .cc-rg-head{
	min-height: 64px !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .075) !important;
	background:
			linear-gradient(180deg, rgba(21, 27, 34, .98), rgba(13, 17, 23, .92)) !important;
}

#cc-rating-goals-modal .cc-rg-title{
	display: inline-flex !important;
	align-items: center !important;
	min-width: 0 !important;
	gap: 9px !important;
	font-size: 18px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	color: #f4efe8 !important;
}

#cc-rating-goals-modal .cc-rg-title i{
	width: 34px !important;
	height: 34px !important;
	flex: 0 0 34px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 12px !important;
	color: #f0c766 !important;
	background: rgba(224, 178, 79, .11) !important;
	border: 1px solid rgba(224, 178, 79, .18) !important;
}

#cc-rating-goals-modal .cc-rg-title span{
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

#cc-rating-goals-modal .cc-rg-close{
	width: 44px !important;
	height: 44px !important;
	flex: 0 0 44px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255, 255, 255, .09) !important;
	background: rgba(255, 255, 255, .045) !important;
	color: #f4efe8 !important;
	font-size: 20px !important;
}

#cc-rating-goals-modal .cc-rg-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding: 14px !important;
	padding-bottom: 14px !important;
	gap: 12px !important;
	box-sizing: border-box !important;
}

#cc-rating-goals-modal .cc-rg-hero{
	position: relative !important;
	overflow: hidden !important;
	padding: 16px !important;
	border-radius: 20px !important;
	border: 1px solid rgba(224, 178, 79, .16) !important;
	background:
			radial-gradient(420px 190px at 100% 0%, rgba(240, 75, 55, .17), transparent 62%),
			linear-gradient(180deg, rgba(26, 32, 40, .92), rgba(13, 17, 23, .96)) !important;
	box-shadow:
			0 14px 30px rgba(0, 0, 0, .24),
			inset 0 1px 0 rgba(255, 244, 220, .04) !important;
}

#cc-rating-goals-modal .cc-rg-hero-top{
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
	min-width: 0 !important;
}

#cc-rating-goals-modal .cc-rg-hero-main{
	min-width: 0 !important;
}

#cc-rating-goals-modal .cc-rg-hero-label{
	margin: 0 0 7px !important;
	color: #a7afbb !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	font-weight: 850 !important;
	letter-spacing: .08em !important;
}

#cc-rating-goals-modal .cc-rg-hero-level{
	color: #f4efe8 !important;
	font-size: 30px !important;
	line-height: 1 !important;
	font-weight: 1000 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts{
	flex: 0 0 auto !important;
	min-width: 92px !important;
	padding: 9px 11px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(224, 178, 79, .18) !important;
	background: rgba(224, 178, 79, .095) !important;
	text-align: right !important;
	color: #f0c766 !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts span,
#cc-rating-goals-modal .cc-rg-hero-pts b{
	display: block !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts span{
	margin-bottom: 3px !important;
	color: rgba(244, 239, 232, .58) !important;
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 850 !important;
	text-transform: uppercase !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts b{
	color: #f0c766 !important;
	font-size: 15px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	white-space: nowrap !important;
}

#cc-rating-goals-modal .cc-rg-progress-bar{
	height: 9px !important;
	margin-top: 16px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, .075) !important;
	background: rgba(255, 255, 255, .055) !important;
}

#cc-rating-goals-modal .cc-rg-progress-fill{
	background:
			radial-gradient(80px 22px at 18% 50%, rgba(255, 244, 220, .28), transparent 62%),
			linear-gradient(90deg, #8e1f2d 0%, #f04b37 48%, #e0b24f 100%) !important;
	box-shadow: 0 0 16px rgba(240, 75, 55, .16) !important;
}

#cc-rating-goals-modal .cc-rg-progress-label{
	margin-top: 9px !important;
	color: #a7afbb !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	font-weight: 750 !important;
}

#cc-rating-goals-modal .cc-rg-progress-label b{
	color: #f4efe8 !important;
}

#cc-rating-goals-modal .cc-level-list{
	gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
}

#cc-rating-goals-modal .cc-level-row{
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 62px !important;
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 10px 12px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255, 255, 255, .075) !important;
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, .018)) !important;
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .025) !important;
	box-sizing: border-box !important;
}

#cc-rating-goals-modal .cc-level-row.is-reached:not(.is-current){
	opacity: .78 !important;
}

#cc-rating-goals-modal .cc-level-row.is-current{
	border-color: rgba(240, 75, 55, .35) !important;
	background:
			radial-gradient(260px 110px at 100% 0%, rgba(240, 75, 55, .14), transparent 64%),
			linear-gradient(180deg, rgba(30, 34, 41, .92), rgba(16, 20, 26, .94)) !important;
	box-shadow:
			0 12px 26px rgba(240, 75, 55, .10),
			inset 0 1px 0 rgba(255, 244, 220, .035) !important;
}

#cc-rating-goals-modal .cc-level-row.is-next{
	border-color: rgba(224, 178, 79, .28) !important;
	background:
			radial-gradient(240px 110px at 100% 0%, rgba(224, 178, 79, .12), transparent 65%),
			linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .018)) !important;
}

#cc-rating-goals-modal .cc-level-icon-wrap{
	width: 38px !important;
	height: 38px !important;
	border-radius: 13px !important;
	color: #a7afbb !important;
	background: rgba(255, 255, 255, .045) !important;
	border: 1px solid rgba(255, 255, 255, .07) !important;
}

#cc-rating-goals-modal .cc-level-row.is-reached .cc-level-icon-wrap{
	color: #f0c766 !important;
	background: rgba(224, 178, 79, .10) !important;
	border-color: rgba(224, 178, 79, .17) !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-icon-wrap{
	color: #f4efe8 !important;
	background: linear-gradient(135deg, #8e1f2d, #f04b37) !important;
	border-color: rgba(240, 75, 55, .32) !important;
	box-shadow: 0 8px 18px rgba(240, 75, 55, .16) !important;
}

#cc-rating-goals-modal .cc-level-row.is-next .cc-level-icon-wrap{
	color: #f0c766 !important;
	background: rgba(224, 178, 79, .12) !important;
	border-color: rgba(224, 178, 79, .20) !important;
}

#cc-rating-goals-modal .cc-level-copy{
	min-width: 0 !important;
}

#cc-rating-goals-modal .cc-level-name{
	color: #f4efe8 !important;
	font-size: 15px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

#cc-rating-goals-modal .cc-level-sub{
	margin-top: 4px !important;
	color: #a7afbb !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	font-weight: 750 !important;
}

#cc-rating-goals-modal .cc-level-side{
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 5px !important;
}

#cc-rating-goals-modal .cc-level-status{
	max-width: 128px !important;
	padding: 5px 8px !important;
	border-radius: 999px !important;
	color: #a7afbb !important;
	background: rgba(255, 255, 255, .045) !important;
	border: 1px solid rgba(255, 255, 255, .075) !important;
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 900 !important;
	letter-spacing: .04em !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

#cc-rating-goals-modal .cc-level-row.is-reached .cc-level-status{
	color: #f0c766 !important;
	background: rgba(224, 178, 79, .09) !important;
	border-color: rgba(224, 178, 79, .16) !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-status{
	color: #f4efe8 !important;
	background: rgba(240, 75, 55, .16) !important;
	border-color: rgba(240, 75, 55, .26) !important;
}

#cc-rating-goals-modal .cc-level-row.is-next .cc-level-status{
	color: #f0c766 !important;
	background: rgba(224, 178, 79, .12) !important;
	border-color: rgba(224, 178, 79, .24) !important;
}

#cc-rating-goals-modal .cc-level-pts{
	color: rgba(244, 239, 232, .76) !important;
	font-size: 13px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	white-space: nowrap !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-pts,
#cc-rating-goals-modal .cc-level-row.is-next .cc-level-pts{
	color: #f0c766 !important;
}

@media (max-width: 480px){
	#cc-rating-goals-modal{
		height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px)) !important;
		max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px)) !important;
		margin-top: var(--safe-t, 0px) !important;
		padding: 8px 0 0 !important;
	}

	#cc-rating-goals-modal .cc-rg-dialog{
		width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		min-height: 0 !important;
		border-right: 0 !important;
		border-bottom: 0 !important;
		border-left: 0 !important;
		border-radius: 22px 22px 0 0 !important;
	}

	#cc-rating-goals-modal .cc-rg-head{
		padding: 12px 14px !important;
	}

	#cc-rating-goals-modal .cc-rg-title{
		font-size: 17px !important;
	}

	#cc-rating-goals-modal .cc-rg-body{
		min-height: 0 !important;
		padding: 12px !important;
		padding-bottom: 12px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-top{
		flex-direction: column !important;
		gap: 12px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-level{
		font-size: 26px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-pts{
		width: 100% !important;
		min-width: 0 !important;
		text-align: left !important;
	}

	#cc-rating-goals-modal .cc-level-row{
		grid-template-columns: 36px minmax(0, 1fr) !important;
		min-height: 74px !important;
		gap: 8px 10px !important;
	}

	#cc-rating-goals-modal .cc-level-icon-wrap{
		width: 36px !important;
		height: 36px !important;
	}

	#cc-rating-goals-modal .cc-level-side{
		grid-column: 2 !important;
		grid-row: 2 !important;
		flex-direction: row !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#cc-rating-goals-modal .cc-level-status{
		max-width: min(128px, 48vw) !important;
	}
}

@media (min-width: 768px){
	#cc-rating-goals-modal{
		align-items: center !important;
		padding: 18px !important;
	}

	#cc-rating-goals-modal .cc-rg-dialog{
		width: min(640px, calc(100vw - 36px)) !important;
		max-width: min(640px, calc(100vw - 36px)) !important;
		max-height: min(760px, calc(100dvh - 36px)) !important;
		border-radius: 24px !important;
	}
}

/* =========================================================
   POPUP VIEWPORT FIX - PROJECT-WIDE FINAL LAYER
   ========================================================= */

:root{
	--cc-popup-gap: 10px;
	--cc-popup-h: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px));
}

html:has(.modal.active),
body:has(.modal.active),
html:has(#cc-rating-goals-modal.active),
body:has(#cc-rating-goals-modal.active),
html:has(#cc-entry-gate.active),
body:has(#cc-entry-gate.active),
html:has(#cc-site-auth-gate.active),
body:has(#cc-site-auth-gate.active),
html:has(#cc-boot-preloader.active),
body:has(#cc-boot-preloader.active),
html:has(#cc-reconnect-overlay.active),
body:has(#cc-reconnect-overlay.active){
	height: var(--tg-vh-stable, 100dvh) !important;
	overflow: hidden !important;
	overscroll-behavior: none !important;
}

.modal,
#tournament-modal,
#terms-modal,
#nick-modal,
#confirm-modal,
#club-info-modal,
#rating-info-modal,
#cc-rating-goals-modal,
#cc-entry-gate,
#cc-site-auth-gate,
#cc-boot-preloader,
#cc-reconnect-overlay{
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: var(--cc-popup-h) !important;
	min-height: 0 !important;
	max-height: var(--cc-popup-h) !important;
	margin: 0 !important;
	margin-top: var(--safe-t, 0px) !important;
	padding:
			var(--cc-popup-gap)
			max(var(--cc-popup-gap), var(--safe-r, 0px))
			var(--cc-popup-gap)
			max(var(--cc-popup-gap), var(--safe-l, 0px)) !important;
	transform: none !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.modal.active,
#tournament-modal.active,
#terms-modal.active,
#nick-modal.active,
#confirm-modal.active,
#club-info-modal.active,
#rating-info-modal.active,
#cc-rating-goals-modal.active,
#cc-entry-gate.active,
#cc-site-auth-gate.active,
#cc-boot-preloader.active,
#cc-reconnect-overlay.active{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.modal-content,
.modal .modal-content,
#tournament-modal .modal-content,
#tournament-modal .modal-content.tm-neo,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#club-info-modal .modal-content,
#club-info-modal .modal-content.club-info-modal-content,
#rating-info-modal .modal-content,
#rating-info-modal .modal-content.rating-info-modal-content,
#cc-rating-goals-modal .cc-rg-dialog,
#cc-entry-gate .cc-eg-shell,
#cc-site-auth-gate .cc-site-auth-card,
#cc-boot-preloader .cc-boot-card,
#cc-reconnect-overlay .cc-reconnect-card{
	width: min(100%, 720px) !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	transform: none !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

#tournament-modal .modal-content.tm-neo,
#club-info-modal .modal-content.club-info-modal-content,
#cc-rating-goals-modal .cc-rg-dialog,
#cc-entry-gate .cc-eg-shell{
	height: 100% !important;
}

#modal-body,
.modal-body,
#tournament-modal #modal-body,
#tournament-modal .tm-body,
#club-info-modal .club-info-shell,
#rating-info-modal .rating-info-modal-body,
#cc-rating-goals-modal .cc-rg-body,
#cc-entry-gate .cc-eg-step.active,
#cc-entry-gate .cc-offer-scroll,
#cc-entry-gate #cc-eg-pd-scroll,
#cc-site-auth-gate .cc-site-auth-body,
#cc-boot-preloader .cc-boot-body,
#cc-reconnect-overlay .cc-reconnect-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	max-height: 90% !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	box-sizing: border-box !important;
}

.modal *,
#tournament-modal *,
#terms-modal *,
#nick-modal *,
#confirm-modal *,
#club-info-modal *,
#rating-info-modal *,
#cc-rating-goals-modal *,
#cc-entry-gate *,
#cc-site-auth-gate *,
#cc-boot-preloader *,
#cc-reconnect-overlay *{
	box-sizing: border-box !important;
}

.modal img,
.modal video,
.modal iframe,
.modal table,
#tournament-modal img,
#tournament-modal video,
#tournament-modal iframe,
#tournament-modal table,
#terms-modal img,
#terms-modal video,
#terms-modal iframe,
#terms-modal table,
#nick-modal img,
#nick-modal video,
#nick-modal iframe,
#nick-modal table,
#confirm-modal img,
#confirm-modal video,
#confirm-modal iframe,
#confirm-modal table,
#club-info-modal img,
#club-info-modal video,
#club-info-modal iframe,
#club-info-modal table,
#rating-info-modal img,
#rating-info-modal video,
#rating-info-modal iframe,
#rating-info-modal table,
#cc-rating-goals-modal img,
#cc-rating-goals-modal video,
#cc-rating-goals-modal iframe,
#cc-rating-goals-modal table,
#cc-entry-gate img,
#cc-entry-gate video,
#cc-entry-gate iframe,
#cc-entry-gate table,
#cc-site-auth-gate img,
#cc-site-auth-gate video,
#cc-site-auth-gate iframe,
#cc-site-auth-gate table,
#cc-boot-preloader img,
#cc-boot-preloader video,
#cc-boot-preloader iframe,
#cc-boot-preloader table,
#cc-reconnect-overlay img,
#cc-reconnect-overlay video,
#cc-reconnect-overlay iframe,
#cc-reconnect-overlay table{
	max-width: 100% !important;
}

.modal button,
.modal .btn,
#tournament-modal button,
#tournament-modal .btn,
#terms-modal button,
#terms-modal .btn,
#nick-modal button,
#nick-modal .btn,
#confirm-modal button,
#confirm-modal .btn,
#club-info-modal button,
#club-info-modal .btn,
#rating-info-modal button,
#rating-info-modal .btn,
#cc-rating-goals-modal button,
#cc-rating-goals-modal .btn,
#cc-entry-gate button,
#cc-entry-gate .btn,
#cc-entry-gate .cc-eg-btn,
#cc-site-auth-gate button,
#cc-site-auth-gate .btn,
#cc-boot-preloader button,
#cc-boot-preloader .btn,
#cc-reconnect-overlay button,
#cc-reconnect-overlay .btn{
	min-height: 44px !important;
	max-width: 100% !important;
}

#cc-rating-goals-modal{
	align-items: flex-end !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
}

#cc-rating-goals-modal .cc-rg-dialog{
	width: 100% !important;
	max-width: 560px !important;
	height: calc(100% - var(--safe-t) - var(--safe-b) - 40px) !important;
	margin-top: var(--safe-t) !important;
	border-bottom: 0 !important;
	border-radius: 22px  !important;
}

#cc-rating-goals-modal .cc-rg-head{
	flex: 0 0 auto !important;
}

#cc-rating-goals-modal .cc-rg-body{
	padding-bottom: 12px !important;
}

@media (max-width: 480px){
	:root{
		--cc-popup-gap: 8px;
	}

	.modal,
	#tournament-modal,
	#terms-modal,
	#nick-modal,
	#confirm-modal,
	#club-info-modal,
	#rating-info-modal,
	#cc-entry-gate,
	#cc-site-auth-gate,
	#cc-boot-preloader,
	#cc-reconnect-overlay{
		align-items: stretch !important;
		padding-right: var(--cc-popup-gap) !important;
		padding-left: var(--cc-popup-gap) !important;
	}

	#cc-rating-goals-modal{
		align-items: stretch !important;
		padding-top: var(--cc-popup-gap) !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.modal-content,
	.modal .modal-content,
	#tournament-modal .modal-content,
	#tournament-modal .modal-content.tm-neo,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#club-info-modal .modal-content,
	#club-info-modal .modal-content.club-info-modal-content,
	#rating-info-modal .modal-content,
	#rating-info-modal .modal-content.rating-info-modal-content,
	#cc-rating-goals-modal .cc-rg-dialog,
	#cc-entry-gate .cc-eg-shell,
	#cc-site-auth-gate .cc-site-auth-card,
	#cc-boot-preloader .cc-boot-card,
	#cc-reconnect-overlay .cc-reconnect-card{
		width: 100% !important;
		max-width: 100% !important;
	}

	#cc-rating-goals-modal .cc-rg-dialog{
		height: 100% !important;
		max-height: 100% !important;
	}

	#cc-rating-goals-modal .cc-rg-hero{
		padding: 12px !important;
		border-radius: 16px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-top{
		gap: 8px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-level{
		font-size: 23px !important;
		line-height: 1.05 !important;
	}

	#cc-rating-goals-modal .cc-level-row{
		min-height: 58px !important;
		padding: 9px 10px !important;
		border-radius: 14px !important;
	}
}

@media (min-width: 768px){
	.modal-content,
	.modal .modal-content,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#rating-info-modal .modal-content,
	#cc-site-auth-gate .cc-site-auth-card,
	#cc-boot-preloader .cc-boot-card,
	#cc-reconnect-overlay .cc-reconnect-card{
		width: min(760px, calc(100vw - 40px)) !important;
		max-width: min(760px, calc(100vw - 40px)) !important;
	}

	#tournament-modal .modal-content,
	#tournament-modal .modal-content.tm-neo,
	#club-info-modal .modal-content.club-info-modal-content,
	#cc-rating-goals-modal .cc-rg-dialog,
	#cc-entry-gate .cc-eg-shell{
		width: min(720px, calc(100vw - 40px)) !important;
		max-width: min(720px, calc(100vw - 40px)) !important;
		height: min(100%, 760px) !important;
	}

	#cc-rating-goals-modal{
		align-items: center !important;
		padding: var(--cc-popup-gap) !important;
	}

	#cc-rating-goals-modal .cc-rg-dialog{
		border-bottom: 1px solid rgba(255, 244, 220, .10) !important;
		border-radius: 24px !important;
	}
}

/* =========================================================
   RATING LEVELS MODAL - CLUB INFO TEMPLATE ADAPTIVITY
   ========================================================= */

#cc-rating-goals-modal.modal{
	position: fixed !important;
	inset: 0 !important;
	z-index: 100090 !important;
	width: 100% !important;
	max-width: none !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	max-height: var(--tg-vh-stable, 100dvh) !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding-top: calc(var(--safe-t, 0px) + 10px) !important;
	padding-right: max(10px, var(--safe-r, 0px)) !important;
	padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
	padding-left: max(10px, var(--safe-l, 0px)) !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	background:
			radial-gradient(740px 380px at 50% -8%, rgba(240, 75, 55, .16), transparent 62%),
			radial-gradient(560px 280px at 100% 100%, rgba(224, 178, 79, .08), transparent 60%),
			rgba(5, 8, 13, .82) !important;
	-webkit-backdrop-filter: blur(12px) saturate(120%) !important;
	backdrop-filter: blur(12px) saturate(120%) !important;
	transform: none !important;
}

#cc-rating-goals-modal.active{
	display: flex !important;
}

#cc-rating-goals-modal .modal-content.club-info-modal-content.cc-rg-dialog{
	width: min(100%, 720px) !important;
	max-width: min(100%, 720px) !important;
	height: min(100%, calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px)) !important;
	max-height: min(100%, calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px)) !important;
	min-height: 0 !important;
	display: flex !important;
	flex: 0 1 auto !important;
	flex-direction: column !important;
	align-self: center !important;
	margin: 0 auto !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border-radius: 22px !important;
	border: 1px solid rgba(255, 244, 220, .10) !important;
	border-bottom: 1px solid rgba(255, 244, 220, .10) !important;
	background:
			radial-gradient(620px 260px at 10% 0%, rgba(240, 75, 55, .12), transparent 60%),
			linear-gradient(180deg, rgba(17, 22, 29, .99), rgba(8, 10, 14, .99)) !important;
	box-shadow:
			0 28px 64px rgba(0, 0, 0, .54),
			inset 0 1px 0 rgba(255, 244, 220, .045) !important;
	padding-bottom: 20px !important;
	transform: none !important;
}

#cc-rating-goals-modal .modal-header--sticky.club-info-modal-header.cc-rg-head{
	position: sticky !important;
	top: 0 !important;
	z-index: 8 !important;
	flex: 0 0 auto !important;
	min-height: 64px !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .075) !important;
	background: linear-gradient(180deg, rgba(21, 27, 34, .98), rgba(13, 17, 23, .92)) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
}

#cc-rating-goals-modal .club-info-shell.cc-rg-body{
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
	display: grid !important;
	gap: 12px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	padding: 12px !important;
	padding-bottom: calc(12px + var(--safe-b, 0px)) !important;
	box-sizing: border-box !important;
}

#cc-rating-goals-modal .cc-rg-title{
	color: #f4efe8 !important;
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
}

#cc-rating-goals-modal .cc-rg-close{
	width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	flex: 0 0 44px !important;
}

#cc-rating-goals-modal .cc-rg-hero{
	margin: 0 !important;
	padding: 14px !important;
	border-radius: 18px !important;
}

#cc-rating-goals-modal .cc-level-row{
	min-width: 0 !important;
	max-width: 100% !important;
}

@media (max-width: 560px){
	#cc-rating-goals-modal.modal{
		padding-top: calc(var(--safe-t, 0px) + 10px) !important;
		padding-right: max(10px, var(--safe-r, 0px)) !important;
		padding-bottom: calc(var(--safe-b, 0px) + 10px) !important;
		padding-left: max(10px, var(--safe-l, 0px)) !important;
	}

	#cc-rating-goals-modal .modal-content.club-info-modal-content.cc-rg-dialog{
		width: 100% !important;
		max-width: 100% !important;
		height: min(100%, calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px)) !important;
		max-height: calc(100% - 73px) !important;
		border-radius: 18px !important;
		min-height: 0 !important;
		padding-bottom: 0 !important;
	}

	#cc-rating-goals-modal .club-info-shell.cc-rg-body{
		padding: 12px !important;
		padding-bottom: calc(12px + var(--safe-b, 0px)) !important;
		gap: 10px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero{
		padding: 12px !important;
		border-radius: 18px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-top{
		flex-direction: column !important;
		gap: 10px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-level{
		font-size: 24px !important;
	}

	#cc-rating-goals-modal .cc-level-row{
		min-height: 60px !important;
		padding: 9px 10px !important;
		grid-template-columns: 36px minmax(0, 1fr) !important;
		gap: 8px 10px !important;
	}
}

/* Rating hero must not collapse inside the club-info modal shell on mobile. */
#cc-rating-goals-modal .cc-rg-hero{
	display: flex !important;
	flex: 0 0 auto !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	gap: 12px !important;
	min-height: 156px !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

#cc-rating-goals-modal .cc-rg-hero-top{
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
}

#cc-rating-goals-modal .cc-rg-hero-main,
#cc-rating-goals-modal .cc-rg-progress-bar,
#cc-rating-goals-modal .cc-rg-progress-label{
	flex: 0 0 auto !important;
}

#cc-rating-goals-modal .cc-rg-hero-level,
#cc-rating-goals-modal .cc-rg-progress-label{
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

@media (max-width: 560px){
	#cc-rating-goals-modal .club-info-shell.cc-rg-body{
		align-content: start !important;
		grid-auto-rows: max-content !important;
	}

	#cc-rating-goals-modal .cc-rg-hero{
		min-height: 168px !important;
		padding: 14px !important;
		gap: 12px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-top{
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-pts{
		width: 100% !important;
		min-width: 0 !important;
		text-align: left !important;
	}

	#cc-rating-goals-modal .cc-rg-progress-bar{
		margin-top: 0 !important;
	}
}

/* =========================================================
   BOOT PRELOADER - PREMIUM CLUB REDESIGN
   ========================================================= */

#cc-boot-preloader{
	position: fixed !important;
	inset: 0 !important;
	z-index: 100050 !important;
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	height: var(--tg-vh-stable, 100dvh) !important;
	min-height: 0 !important;
	padding:
			calc(var(--safe-t, 0px) + 14px)
			max(14px, var(--safe-r, 0px))
			calc(var(--safe-b, 0px) + 14px)
			max(14px, var(--safe-l, 0px)) !important;
	opacity: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	background:
			radial-gradient(720px 360px at 50% -10%, rgba(240, 75, 55, .16), transparent 64%),
			radial-gradient(560px 320px at 92% 100%, rgba(224, 178, 79, .10), transparent 62%),
			linear-gradient(180deg, #07090d 0%, #0a0e13 52%, #07090d 100%) !important;
	-webkit-backdrop-filter: blur(10px) saturate(112%) !important;
	backdrop-filter: blur(10px) saturate(112%) !important;
	transition: opacity .32s ease !important;
}

#cc-boot-preloader.active{
	display: flex !important;
}

#cc-boot-preloader.visible{
	opacity: 1 !important;
}

#cc-boot-preloader::before{
	content: "";
	position: absolute;
	inset: auto auto 10% 50%;
	width: min(420px, 86vw);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translateX(-50%);
	background:
			radial-gradient(circle, rgba(240, 75, 55, .11), transparent 58%);
	filter: blur(8px);
	opacity: .72;
	pointer-events: none;
	animation: ccBootAmbient 2.6s ease-in-out infinite;
}

#cc-boot-preloader::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(520px, 110vw);
	aspect-ratio: 1;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	background:
			conic-gradient(
					from 0deg,
					transparent 0deg,
					rgba(240, 75, 55, .00) 62deg,
					rgba(240, 75, 55, .22) 92deg,
					rgba(224, 178, 79, .18) 118deg,
					transparent 154deg,
					transparent 360deg
			);
	opacity: .38;
	filter: blur(.4px);
	pointer-events: none;
	-webkit-mask: radial-gradient(circle, transparent 0 54%, #000 55% 57%, transparent 59%);
	mask: radial-gradient(circle, transparent 0 54%, #000 55% 57%, transparent 59%);
	animation: ccBootOrbit 2.4s linear infinite;
}

#cc-boot-preloader .cc-boot-card{
	position: relative !important;
	z-index: 1 !important;
	width: min(390px, 100%) !important;
	max-width: 100% !important;
	min-height: 0 !important;
	padding: 18px !important;
	border-radius: 22px !important;
	border: 1px solid rgba(255, 244, 220, .10) !important;
	background:
			radial-gradient(360px 180px at 100% 0%, rgba(240, 75, 55, .12), transparent 62%),
			linear-gradient(180deg, rgba(17, 22, 29, .96), rgba(8, 10, 14, .98)) !important;
	box-shadow:
			0 28px 70px rgba(0, 0, 0, .56),
			inset 0 1px 0 rgba(255, 244, 220, .045) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

#cc-boot-preloader .cc-boot-card::before{
	content: "";
	position: absolute;
	inset: 0;
	background:
			linear-gradient(120deg, transparent 0%, rgba(255, 244, 220, .035) 42%, transparent 72%);
	transform: translateX(-120%);
	animation: ccBootCardSweep 2.7s ease-in-out infinite;
	pointer-events: none;
}

#cc-boot-preloader .cc-boot-head{
	position: relative !important;
	z-index: 1 !important;
	display: grid !important;
	grid-template-columns: 58px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 16px !important;
}

#cc-boot-preloader .cc-boot-logo{
	position: relative !important;
	width: 58px !important;
	height: 58px !important;
	border-radius: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background:
			radial-gradient(32px 24px at 35% 22%, rgba(255, 244, 220, .16), transparent 72%),
			linear-gradient(135deg, rgba(142, 31, 45, .92), rgba(240, 75, 55, .86)) !important;
	border: 1px solid rgba(240, 199, 102, .20) !important;
	box-shadow:
			0 14px 28px rgba(240, 75, 55, .16),
			inset 0 1px 0 rgba(255, 244, 220, .13) !important;
}

#cc-boot-preloader .cc-boot-logo::before,
#cc-boot-preloader .cc-boot-logo::after{
	content: "";
	position: absolute;
	inset: -5px;
	border-radius: 22px;
	border: 1px solid rgba(224, 178, 79, .18);
	opacity: .72;
	animation: ccBootLogoRing 1.65s ease-in-out infinite;
}

#cc-boot-preloader .cc-boot-logo::after{
	inset: -10px;
	opacity: .28;
	animation-delay: .45s;
}

#cc-boot-preloader .cc-boot-logo span::before{
	content: "♠";
	display: block;
	color: #f4efe8;
	font-size: 28px;
	line-height: 1;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .36);
	animation: ccBootMark 1.15s ease-in-out infinite;
}

#cc-boot-preloader .cc-boot-title{
	margin: 0 !important;
	color: #f4efe8 !important;
	font-size: 17px !important;
	line-height: 1.15 !important;
	font-weight: 950 !important;
	letter-spacing: 0 !important;
}

#cc-boot-preloader .cc-boot-sub{
	margin-top: 5px !important;
	color: #a7afbb !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	font-weight: 650 !important;
}

#cc-boot-preloader .cc-boot-line{
	position: relative !important;
	z-index: 1 !important;
	height: 10px !important;
	border-radius: 999px !important;
	overflow: hidden !important;
	background:
			linear-gradient(180deg, rgba(11,12,16,.96), rgba(5,6,8,.96)) !important;
	border: 1px solid rgba(255, 255, 255, .075) !important;
	box-shadow:
			inset 0 1px 0 rgba(255, 244, 220, .035),
			inset 0 -1px 0 rgba(0, 0, 0, .22) !important;
}

#cc-boot-preloader .cc-boot-line::before{
	content: "" !important;
	position: absolute !important;
	inset: 1px !important;
	border-radius: inherit !important;
	background:
			linear-gradient(90deg, rgba(90,14,24,.38), rgba(198,31,50,.16), rgba(90,14,24,.38)) !important;
}

#cc-boot-preloader .cc-boot-line::after{
	content: none !important;
	display: none !important;
}

#cc-boot-preloader .cc-boot-line .cc-boot-fill{
	position: relative !important;
	display: block !important;
	height: 100% !important;
	width: 36% !important;
	border-radius: inherit !important;
	overflow: hidden !important;
	transform: translate3d(-112%, 0, 0) !important;
	will-change: transform !important;
	background:
			linear-gradient(90deg, #5A0E18 0%, #C61F32 52%, #D62839 100%) !important;
	box-shadow:
			0 0 18px rgba(198,31,50,.24),
			inset 0 1px 0 rgba(255,255,255,.22) !important;
	animation: ccBootClubBar 1.28s cubic-bezier(.62, 0, .28, 1) infinite !important;
}

#cc-boot-preloader .cc-boot-line .cc-boot-fill i{
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	border-radius: inherit !important;
	background:
			linear-gradient(100deg, transparent 0%, transparent 34%, rgba(255,255,255,.44) 48%, rgba(255,255,255,.18) 58%, transparent 72%, transparent 100%) !important;
	background-size: 220% 100% !important;
	animation: ccBootGlint .72s linear infinite !important;
}

#cc-boot-preloader .cc-boot-step{
	position: relative !important;
	z-index: 1 !important;
	min-height: 19px !important;
	margin-top: 12px !important;
	color: #f4efe8 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 750 !important;
}

#cc-boot-preloader .cc-boot-pulse{
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin-top: 15px !important;
}

#cc-boot-preloader .cc-boot-pulse span{
	width: 6px !important;
	height: 6px !important;
	border-radius: 50% !important;
	background: #e0b24f !important;
	opacity: .38 !important;
	animation: ccBootPulseDot .86s ease-in-out infinite !important;
}

#cc-boot-preloader .cc-boot-pulse span:nth-child(2){
	animation-delay: .16s !important;
}

#cc-boot-preloader .cc-boot-pulse span:nth-child(3){
	animation-delay: .32s !important;
}

@keyframes ccBootClubBar{
	0%{
		transform: translate3d(-112%, 0, 0);
		opacity: .78;
		filter: saturate(105%) brightness(.94);
	}
	10%{
		opacity: 1;
	}
	72%{
		filter: saturate(125%) brightness(1.06);
	}
	86%{
		opacity: 1;
	}
	100%{
		transform: translate3d(292%, 0, 0);
		opacity: .86;
		filter: saturate(132%) brightness(1.12);
	}
}

@keyframes ccBootLogoRing{
	0%, 100%{
		transform: scale(.92) rotate(0deg);
		opacity: .20;
	}
	45%{
		transform: scale(1.12) rotate(16deg);
		opacity: .78;
	}
}

@keyframes ccBootMark{
	0%, 100%{ transform: translateY(0) scale(1) rotate(0deg); }
	42%{ transform: translateY(-2px) scale(1.12) rotate(-4deg); }
	70%{ transform: translateY(1px) scale(.98) rotate(3deg); }
}

@keyframes ccBootCardSweep{
	0%, 38%{ transform: translateX(-125%); opacity: 0; }
	54%{ opacity: 1; }
	100%{ transform: translateX(125%); opacity: 0; }
}

@keyframes ccBootAmbient{
	0%, 100%{
		transform: translateX(-50%) scale(.94);
		opacity: .52;
	}
	50%{
		transform: translateX(-50%) scale(1.04);
		opacity: .86;
	}
}

@keyframes ccBootOrbit{
	from{ transform: translate(-50%, -50%) rotate(0deg); }
	to{ transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes ccBootScan{
	0%{ transform: translateX(-130%); opacity: 0; }
	18%{ opacity: .72; }
	100%{ transform: translateX(245%); opacity: 0; }
}

@keyframes ccBootPulseDot{
	0%, 100%{
		opacity: .28;
		transform: translateY(0) scale(.82);
		box-shadow: 0 0 0 rgba(224, 178, 79, 0);
	}
	50%{
		opacity: 1;
		transform: translateY(-4px) scale(1.2);
		box-shadow: 0 0 16px rgba(224, 178, 79, .34);
	}
}

@media (max-width: 430px){
	#cc-boot-preloader{
		padding:
				calc(var(--safe-t, 0px) + 12px)
				max(12px, var(--safe-r, 0px))
				calc(var(--safe-b, 0px) + 12px)
				max(12px, var(--safe-l, 0px)) !important;
	}

	#cc-boot-preloader .cc-boot-card{
		padding: 16px !important;
		border-radius: 20px !important;
	}

	#cc-boot-preloader .cc-boot-head{
		grid-template-columns: 52px minmax(0, 1fr) !important;
	}

	#cc-boot-preloader .cc-boot-logo{
		width: 52px !important;
		height: 52px !important;
		border-radius: 16px !important;
	}

	#cc-boot-preloader .cc-boot-title{
		font-size: 16px !important;
	}
}

/* =========================
   TOURNAMENTS EMPTY STATE - PREMIUM ART PATCH
   ========================= */
#tournaments-list > .empty-state.empty-state--tournaments{
	grid-column: 1 / -1;
}

.empty-state.empty-state--tournaments{
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
	padding: 24px clamp(14px, 4vw, 28px) 26px;
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 22px;
	color: #f4efe8;
	background:
			radial-gradient(360px 180px at 50% 4%, rgba(240, 75, 55, .16), transparent 68%),
			radial-gradient(320px 160px at 88% 28%, rgba(224, 178, 79, .12), transparent 70%),
			linear-gradient(180deg, rgba(21, 27, 34, .98), rgba(10, 14, 19, .98));
	box-shadow:
			inset 0 1px 0 rgba(255, 244, 220, .055),
			0 18px 42px rgba(0, 0, 0, .34);
	isolation: isolate;
}

.empty-state.empty-state--tournaments::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
			linear-gradient(115deg, transparent 0 32%, rgba(255, 244, 220, .075) 46%, transparent 62%),
			linear-gradient(90deg, transparent, rgba(240, 75, 55, .045), transparent);
	transform: translateX(-72%);
	animation: tournamentsEmptySheen 3.6s cubic-bezier(.45, 0, .2, 1) infinite;
	pointer-events: none;
}

.empty-state.empty-state--tournaments::after{
	content: "";
	position: absolute;
	inset: auto 18% -26px;
	height: 62px;
	z-index: -1;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(240, 75, 55, .16), transparent 68%);
	filter: blur(8px);
	animation: tournamentsEmptyGlow 2.8s ease-in-out infinite;
	pointer-events: none;
}

.tournaments-empty-visual{
	position: relative;
	width: min(42vw, 168px);
	max-width: 100%;
	aspect-ratio: 1;
	box-sizing: border-box;
	margin: 0 auto 16px;
	border-radius: 999px;
}

.tournaments-empty-visual::before{
	content: "";
	position: absolute;
	inset: 18% 10% 4%;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(240, 75, 55, .22), transparent 68%);
	filter: blur(10px);
	opacity: .64;
	pointer-events: none;
	animation: tournamentsEmptyGlow 2.8s ease-in-out infinite;
}

.tournaments-empty-chip-img{
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	filter:
			drop-shadow(0 18px 24px rgba(0, 0, 0, .34))
			drop-shadow(0 0 14px rgba(240, 75, 55, .10));
	animation: tournamentsEmptyChipFloat 3.2s ease-in-out infinite;
}

.tournaments-empty-copy{
	position: relative;
	z-index: 1;
	width: min(100%, 520px);
	max-width: 100%;
	margin: 0 auto;
}

.empty-state.empty-state--tournaments p{
	margin: 0;
}

.tournaments-empty-title{
	color: #f4efe8;
	font-size: clamp(20px, 4.6vw, 26px);
	line-height: 1.12;
	font-weight: 850;
	letter-spacing: 0;
}

.tournaments-empty-actions{
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	width: min(100%, 430px);
	max-width: 100%;
	box-sizing: border-box;
	margin: 16px auto 0;
}

.tournaments-empty-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 44px;
	box-sizing: border-box;
	padding: 11px 13px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 14px;
	color: #f4efe8;
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .02)),
			rgba(17, 22, 29, .82);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .045);
	font-size: 14px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: 0;
	text-decoration: none;
	transition:
			transform .18s ease,
			border-color .18s ease,
			box-shadow .18s ease,
			background .18s ease;
}

.tournaments-empty-btn i{
	flex: 0 0 auto;
	color: #e0b24f;
	font-size: 18px;
	line-height: 1;
}

.tournaments-empty-btn span{
	min-width: 0;
	overflow-wrap: anywhere;
}

.tournaments-empty-btn--accent{
	border-color: rgba(240, 75, 55, .28);
	background:
			radial-gradient(90px 48px at 50% 0%, rgba(255, 244, 220, .12), transparent 72%),
			linear-gradient(135deg, rgba(142, 31, 45, .95), rgba(240, 75, 55, .9));
	box-shadow:
			inset 0 1px 0 rgba(255, 244, 220, .12),
			0 12px 24px rgba(142, 31, 45, .22);
}

.tournaments-empty-btn--accent i{
	color: #f0c766;
}

.tournaments-empty-btn:hover{
	transform: translateY(-1px);
	border-color: rgba(224, 178, 79, .25);
	box-shadow:
			inset 0 1px 0 rgba(255, 244, 220, .07),
			0 12px 22px rgba(0, 0, 0, .22);
}

@keyframes tournamentsEmptySheen{
	0%, 34%{ transform: translateX(-72%); opacity: 0; }
	48%{ opacity: .9; }
	100%{ transform: translateX(74%); opacity: 0; }
}

@keyframes tournamentsEmptyGlow{
	0%, 100%{ opacity: .45; transform: scaleX(.92); }
	50%{ opacity: .86; transform: scaleX(1.08); }
}

@keyframes tournamentsEmptyChipFloat{
	0%, 100%{
		transform: translateY(0) rotate(-2deg) scale(1);
	}
	50%{
		transform: translateY(-5px) rotate(2deg) scale(1.015);
	}
}

@media (max-width: 430px){
	.empty-state.empty-state--tournaments{
		padding: 20px 12px 22px;
		border-radius: 18px;
	}

	.tournaments-empty-visual{
		width: min(42vw, 142px);
		margin-bottom: 14px;
	}

	.tournaments-empty-title{
		font-size: 21px;
		line-height: 1.16;
	}

	.tournaments-empty-actions{
		grid-template-columns: 1fr;
		gap: 8px;
		margin-top: 15px;
	}

	.tournaments-empty-btn{
		width: 100%;
		min-height: 44px;
		padding: 11px 12px;
		border-radius: 13px;
	}
}

@media (prefers-reduced-motion: reduce){
	.empty-state.empty-state--tournaments::before,
	.empty-state.empty-state--tournaments::after,
	.tournaments-empty-visual::before,
	.tournaments-empty-chip-img{
		animation: none;
	}
}

/* =========================================================
   SITE AUTH GATE — PREMIUM CLUB VISUAL PATCH
   ========================================================= */
html body #cc-site-auth-gate{
	background:
			radial-gradient(720px 360px at 50% -120px, rgba(240, 75, 55, .16), transparent 68%),
			radial-gradient(520px 300px at 12% 88%, rgba(142, 31, 45, .20), transparent 62%),
			linear-gradient(180deg, rgba(7, 9, 13, .98), rgba(10, 14, 19, .96));
	box-sizing: border-box;
	color: #f4efe8;
	overflow-x: hidden;
}

html body #cc-site-auth-gate *{
	box-sizing: border-box;
}

html body #cc-site-auth-gate.active{
	display: flex;
}

html body #cc-site-auth-gate .cc-site-auth-card{
	position: relative;
	width: min(100%, 430px) !important;
	max-width: 430px !important;
	padding: 22px !important;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, .08);
	background:
			linear-gradient(180deg, rgba(255, 244, 220, .055), rgba(255, 244, 220, .018)),
			linear-gradient(145deg, rgba(21, 27, 34, .98), rgba(10, 14, 19, .985));
	box-shadow:
			0 24px 72px rgba(0, 0, 0, .58),
			0 0 0 1px rgba(224, 178, 79, .045),
			inset 0 1px 0 rgba(255, 244, 220, .075);
	color: #f4efe8;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
}

html body #cc-site-auth-gate .cc-site-auth-card::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	background:
			radial-gradient(260px 120px at 50% 0%, rgba(224, 178, 79, .10), transparent 72%),
			radial-gradient(210px 130px at 100% 18%, rgba(240, 75, 55, .085), transparent 66%);
}

html body #cc-site-auth-gate .cc-site-auth-card > *{
	position: relative;
	z-index: 1;
}

html body #cc-site-auth-gate .cc-site-auth-logo{
	position: relative;
	width: 58px;
	height: 58px;
	margin-bottom: 16px;
	border-radius: 18px;
	border: 1px solid rgba(224, 178, 79, .22);
	background:
			radial-gradient(44px 36px at 34% 20%, rgba(240, 199, 102, .24), transparent 66%),
			linear-gradient(145deg, rgba(142, 31, 45, .96), rgba(17, 22, 29, .98));
	box-shadow:
			0 14px 28px rgba(0, 0, 0, .36),
			inset 0 1px 0 rgba(255, 244, 220, .13);
	color: #f0c766;
	text-shadow: 0 2px 12px rgba(224, 178, 79, .24);
}

html body #cc-site-auth-gate .cc-site-auth-title{
	margin: 0 0 8px;
	color: #f4efe8;
	font-size: 25px;
	line-height: 1.12;
	font-weight: 850;
	letter-spacing: 0;
}

html body #cc-site-auth-gate .cc-site-auth-sub{
	margin: 0 0 18px;
	color: #a7afbb;
	font-size: 14px;
	line-height: 1.48;
	font-weight: 600;
}

html body #cc-site-auth-gate .cc-site-auth-field{
	gap: 8px;
	margin-bottom: 12px;
}

html body #cc-site-auth-gate .cc-site-auth-field label{
	margin-top: 8px;
	color: rgba(244, 239, 232, .78);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
}

html body #cc-site-auth-gate .cc-site-auth-field input{
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .09);
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)),
			rgba(7, 9, 13, .78);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .045);
	color: #f4efe8;
	caret-color: #f0c766;
}

html body #cc-site-auth-gate .cc-site-auth-field input::placeholder{
	color: rgba(167, 175, 187, .56);
}

html body #cc-site-auth-gate .cc-site-auth-field input:focus{
	border-color: rgba(224, 178, 79, .42);
	box-shadow:
			0 0 0 3px rgba(224, 178, 79, .12),
			inset 0 1px 0 rgba(255, 244, 220, .07);
}

html body #cc-site-auth-gate .cc-site-auth-actions{
	display: flex;
	gap: 10px;
	margin-top: 14px;
	min-width: 0;
}

html body #cc-site-auth-gate .cc-site-auth-btn,
html body #cc-site-auth-gate .cc-site-auth-telegram-btn{
	min-width: 0;
	min-height: 48px;
	border-radius: 14px;
	color: #f4efe8;
	font-weight: 850;
	letter-spacing: 0;
}

html body #cc-site-auth-gate .cc-site-auth-btn{
	border: 1px solid rgba(240, 75, 55, .28);
	background:
			radial-gradient(120px 54px at 50% 0%, rgba(255, 244, 220, .14), transparent 72%),
			linear-gradient(135deg, #8e1f2d, #f04b37);
	box-shadow:
			0 14px 26px rgba(142, 31, 45, .28),
			inset 0 1px 0 rgba(255, 244, 220, .12);
}

html body #cc-site-auth-gate .cc-site-auth-btn.ghost{
	flex: 0 1 auto;
	border-color: rgba(255, 255, 255, .10);
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .018)),
			rgba(17, 22, 29, .86);
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .055);
	color: rgba(244, 239, 232, .86);
}

html body #cc-site-auth-gate .cc-site-auth-btn:hover,
html body #cc-site-auth-gate .cc-site-auth-telegram-btn:hover{
	filter: brightness(1.04);
}

html body #cc-site-auth-gate .cc-site-auth-btn:active,
html body #cc-site-auth-gate .cc-site-auth-telegram-btn:active{
	transform: scale(.985);
}

html body #cc-site-auth-gate .cc-site-auth-separator,
html body #cc-site-auth-gate .cc-site-auth-divider{
	margin: 16px 0;
	color: rgba(167, 175, 187, .72);
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .08em;
}

html body #cc-site-auth-gate .cc-site-auth-separator::before,
html body #cc-site-auth-gate .cc-site-auth-separator::after,
html body #cc-site-auth-gate .cc-site-auth-divider::before,
html body #cc-site-auth-gate .cc-site-auth-divider::after{
	background: linear-gradient(90deg, transparent, rgba(224, 178, 79, .18), transparent);
}

html body #cc-site-auth-gate .cc-site-auth-telegram-btn{
	width: 100%;
	border: 1px solid rgba(224, 178, 79, .18);
	background:
			linear-gradient(180deg, rgba(255, 244, 220, .05), rgba(255, 244, 220, .018)),
			rgba(17, 22, 29, .92);
	box-shadow:
			0 12px 24px rgba(0, 0, 0, .26),
			inset 0 1px 0 rgba(255, 244, 220, .06);
}

html body #cc-site-auth-gate .cc-site-auth-telegram-btn i{
	color: #e0b24f;
	font-size: 20px;
}

html body #cc-site-auth-gate .cc-site-auth-status{
	min-height: 20px;
	color: rgba(244, 239, 232, .78);
	font-size: 13px;
	font-weight: 700;
}

html body #cc-site-auth-gate .cc-site-auth-status.err{
	color: #ffb7aa;
}

html body #cc-site-auth-gate .cc-site-auth-status.ok{
	color: #f0c766;
}

html body #cc-site-auth-gate .cc-site-auth-note{
	margin-top: 16px;
	padding: 12px 13px;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .075);
	background:
			linear-gradient(180deg, rgba(255, 244, 220, .04), rgba(255, 244, 220, .016)),
			rgba(10, 14, 19, .58);
	color: rgba(167, 175, 187, .86);
	font-size: 12px;
	line-height: 1.45;
	font-weight: 600;
}

@media (max-width: 430px){
	html body #cc-site-auth-gate{
		padding-right: max(10px, var(--safe-r, 0px)) !important;
		padding-left: max(10px, var(--safe-l, 0px)) !important;
	}

	html body #cc-site-auth-gate .cc-site-auth-card{
		width: 100% !important;
		max-width: 100% !important;
		padding: 18px !important;
		border-radius: 22px;
	}

	html body #cc-site-auth-gate .cc-site-auth-title{
		font-size: 23px;
	}

	html body #cc-site-auth-gate .cc-site-auth-actions{
		flex-wrap: wrap;
	}

	html body #cc-site-auth-gate .cc-site-auth-actions .cc-site-auth-btn{
		flex: 1 1 132px;
	}
}

/* =========================================================
   ENTRY GATE - PREMIUM CLUB VISUAL PATCH
   ========================================================= */
html body #cc-entry-gate{
	--cc-entry-gap: 10px !important;
	--cc-eg-bg-deep: #07090d;
	--cc-eg-bg: #0a0e13;
	--cc-eg-surface: #11161d;
	--cc-eg-surface-alt: #151b22;
	--cc-eg-surface-warm: #1a1718;
	--cc-eg-red: #f04b37;
	--cc-eg-red-soft: #ff5a3d;
	--cc-eg-deep-red: #8e1f2d;
	--cc-eg-text: #f4efe8;
	--cc-eg-muted: #a7afbb;
	--cc-eg-muted-warm: rgba(244, 239, 232, .68);
	--cc-eg-border: rgba(255, 255, 255, .08);

	background:
			radial-gradient(760px 380px at 50% -120px, rgba(240, 75, 55, .17), transparent 68%),
			radial-gradient(520px 320px at 8% 96%, rgba(142, 31, 45, .22), transparent 64%),
			linear-gradient(180deg, rgba(7, 9, 13, .985), rgba(10, 14, 19, .972)) !important;
	color: var(--cc-eg-text) !important;
	overflow-x: hidden !important;
}

html body #cc-entry-gate .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 430px !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	border-radius: 24px !important;
	border: 1px solid var(--cc-eg-border) !important;
	background:
			radial-gradient(340px 150px at 50% 0%, rgba(224, 178, 79, .10), transparent 70%),
			linear-gradient(180deg, rgba(21, 27, 34, .98), rgba(7, 9, 13, .992)) !important;
	box-shadow:
			0 24px 72px rgba(0, 0, 0, .58),
			0 0 0 1px rgba(224, 178, 79, .045),
			inset 0 1px 0 rgba(255, 244, 220, .07) !important;
}

html body #cc-entry-gate .cc-eg-progress-track{
	height: 3px !important;
	background: rgba(255, 255, 255, .055) !important;
}

html body #cc-entry-gate .cc-eg-progress-fill{
	background: linear-gradient(90deg, var(--cc-eg-deep-red), var(--cc-eg-red), var(--cc-eg-red-soft)) !important;
	box-shadow: 0 0 18px rgba(240, 75, 55, .22) !important;
}

html body #cc-entry-gate .cc-eg-head{
	padding: calc(14px + min(var(--cc-safe-t), 8px)) 15px 13px !important;
	border-bottom: 1px solid var(--cc-eg-border) !important;
	background:
			radial-gradient(260px 110px at 100% 0%, rgba(240, 75, 55, .10), transparent 70%),
			linear-gradient(180deg, rgba(255, 244, 220, .045), rgba(255, 244, 220, .014)) !important;
}

html body #cc-entry-gate .cc-eg-icon{
	width: 42px !important;
	height: 42px !important;
	flex-basis: 42px !important;
	border-radius: 15px !important;
	border: 1px solid rgba(224, 178, 79, .24) !important;
	background:
			radial-gradient(38px 30px at 32% 18%, rgba(240, 199, 102, .24), transparent 66%),
			linear-gradient(145deg, rgba(142, 31, 45, .96), rgba(17, 22, 29, .98)) !important;
	box-shadow:
			0 12px 24px rgba(0, 0, 0, .34),
			inset 0 1px 0 rgba(255, 244, 220, .12) !important;
	color: var(--cc-eg-red-soft) !important;
}

html body #cc-entry-gate .cc-eg-title{
	color: var(--cc-eg-text) !important;
	font-size: 18px !important;
	line-height: 1.16 !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate .cc-eg-sub{
	color: var(--cc-eg-muted) !important;
	font-size: 12.5px !important;
}

html body #cc-entry-gate .cc-eg-dot{
	background: rgba(224, 178, 79, .18) !important;
}

html body #cc-entry-gate .cc-eg-dot.done{
	background: rgba(224, 178, 79, .48) !important;
}

html body #cc-entry-gate .cc-eg-dot.active{
	background: linear-gradient(90deg, var(--cc-eg-deep-red), var(--cc-eg-red)) !important;
}

html body #cc-entry-gate .cc-eg-step.active{
	gap: 10px !important;
	padding: 11px !important;
	padding-bottom: calc(11px + min(var(--cc-safe-b), 8px)) !important;
	overflow-x: hidden !important;
}

html body #cc-entry-gate .cc-eg-step-badge{
	min-width: 36px !important;
	min-height: 26px !important;
	padding: 0 9px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(224, 178, 79, .26) !important;
	background:
			linear-gradient(180deg, rgba(224, 178, 79, .11), rgba(142, 31, 45, .14)) !important;
	color: var(--cc-eg-red-soft) !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	letter-spacing: .04em !important;
}

html body #cc-entry-gate .cc-eg-step-name{
	color: var(--cc-eg-text) !important;
	font-size: 14px !important;
	font-weight: 850 !important;
}

html body #cc-entry-gate .cc-eg-step-desc{
	color: rgba(167, 175, 187, .74) !important;
	font-size: 12px !important;
}

html body #cc-entry-gate .cc-offer-wrap,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-wrap,
html body #cc-entry-gate .cc-eg-card,
html body #cc-entry-gate .cc-eg-nick-box{
	border-radius: 18px !important;
	border: 1px solid var(--cc-eg-border) !important;
	background:
			radial-gradient(320px 130px at 100% 0%, rgba(240, 75, 55, .075), transparent 72%),
			linear-gradient(180deg, rgba(21, 27, 34, .96), rgba(10, 14, 19, .97)) !important;
	box-shadow:
			inset 0 1px 0 rgba(255, 244, 220, .045),
			0 12px 26px rgba(0, 0, 0, .20) !important;
}

html body #cc-entry-gate .cc-offer-toolbar{
	grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
	border-bottom: 1px solid var(--cc-eg-border) !important;
	background: rgba(255, 244, 220, .022) !important;
}

html body #cc-entry-gate .cc-offer-toolbar .meta{
	color: rgba(167, 175, 187, .82) !important;
}

html body #cc-entry-gate .cc-offer-scroll,
html body #cc-entry-gate .cc-doc-prose,
html body #cc-entry-gate .cc-doc-prose *{
	color: rgba(244, 239, 232, .86) !important;
}

html body #cc-entry-gate .cc-offer-scroll{
	padding: 12px !important;
	scrollbar-color: rgba(224, 178, 79, .32) transparent;
}

html body #cc-entry-gate .cc-offer-scroll::-webkit-scrollbar-thumb{
	background: rgba(224, 178, 79, .30) !important;
}

html body #cc-entry-gate .cc-doc-prose h1,
html body #cc-entry-gate .cc-doc-prose h2,
html body #cc-entry-gate .cc-doc-prose h3,
html body #cc-entry-gate .cc-doc-prose strong{
	color: #fff7df !important;
}

html body #cc-entry-gate .cc-doc-prose a,
html body #cc-entry-gate .cc-pd-inline-link strong{
	color: var(--cc-eg-red-soft) !important;
	border-bottom-color: rgba(224, 178, 79, .38) !important;
}

html body #cc-entry-gate .cc-pd-hero{
	border-radius: 16px !important;
	border: 1px solid rgba(224, 178, 79, .18) !important;
	background:
			radial-gradient(190px 90px at 100% 0%, rgba(240, 75, 55, .10), transparent 72%),
			linear-gradient(135deg, rgba(142, 31, 45, .26), rgba(255, 244, 220, .035)) !important;
}

html body #cc-entry-gate .cc-pd-hero-icon{
	color: #160d05 !important;
	background:
			radial-gradient(32px 24px at 30% 20%, rgba(255, 255, 255, .28), transparent 64%),
			linear-gradient(135deg, var(--cc-eg-deep-red), var(--cc-eg-red)) !important;
	box-shadow: 0 10px 22px rgba(224, 178, 79, .16) !important;
}

html body #cc-entry-gate .cc-pd-hero-title,
html body #cc-entry-gate .cc-pd-check-label strong{
	color: #fff7df !important;
}

html body #cc-entry-gate .cc-pd-hero-sub,
html body #cc-entry-gate .cc-pd-text,
html body #cc-entry-gate .cc-pd-list li,
html body #cc-entry-gate .cc-pd-check-label,
html body #cc-entry-gate .cc-pd-law,
html body #cc-entry-gate .cc-pd-op-meta,
html body #cc-entry-gate .cc-pd-op-name{
	color: rgba(244, 239, 232, .76) !important;
}

html body #cc-entry-gate .cc-pd-chips span,
html body #cc-entry-gate .cc-pd-contact-chip,
html body #cc-entry-gate .cc-pd-block,
html body #cc-entry-gate .cc-pd-operator,
html body #cc-entry-gate .cc-pd-check-row,
html body #cc-entry-gate .cc-eg-nick-preview{
	border-color: var(--cc-eg-border) !important;
	background:
			linear-gradient(180deg, rgba(255, 244, 220, .045), rgba(255, 244, 220, .018)) !important;
	color: rgba(244, 239, 232, .78) !important;
}

html body #cc-entry-gate .cc-pd-block-title,
html body #cc-entry-gate .cc-eg-nick-preview strong{
	color: var(--cc-eg-red-soft) !important;
}

html body #cc-entry-gate .cc-pd-list li::before{
	background: var(--cc-eg-red) !important;
}

html body #cc-entry-gate .cc-pd-check-row{
	grid-template-columns: 24px minmax(0, 1fr) !important;
	min-height: 44px !important;
	padding: 10px !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
	border-color: rgba(224, 178, 79, .46) !important;
	background: rgba(7, 9, 13, .82) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: var(--cc-eg-red-soft) !important;
	background: linear-gradient(135deg, var(--cc-eg-deep-red), var(--cc-eg-red)) !important;
	box-shadow:
			0 0 0 3px rgba(224, 178, 79, .11),
			0 8px 18px rgba(224, 178, 79, .14) !important;
}

html body #cc-entry-gate .cc-eg-nick-box{
	display: grid !important;
	gap: 12px !important;
	padding: 12px !important;
}

html body #cc-entry-gate .cc-eg-nick-input{
	width: 100% !important;
	max-width: 100% !important;
	min-height: 52px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255, 255, 255, .09) !important;
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)),
			rgba(7, 9, 13, .78) !important;
	color: var(--cc-eg-text) !important;
	caret-color: var(--cc-eg-red-soft) !important;
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .045) !important;
}

html body #cc-entry-gate .cc-eg-nick-input::placeholder{
	color: rgba(167, 175, 187, .56) !important;
}

html body #cc-entry-gate .cc-eg-nick-input:focus{
	border-color: rgba(224, 178, 79, .42) !important;
	box-shadow:
			0 0 0 3px rgba(224, 178, 79, .12),
			inset 0 1px 0 rgba(255, 244, 220, .07) !important;
}

html body #cc-entry-gate .cc-eg-nick-counter{
	color: rgba(224, 178, 79, .62) !important;
}

html body #cc-entry-gate .cc-eg-footer,
html body #cc-entry-gate .cc-eg-pd-footer{
	border-top-color: var(--cc-eg-border) !important;
	background:
			linear-gradient(180deg, rgba(10, 14, 19, .74), rgba(7, 9, 13, .96)) !important;
}

html body #cc-entry-gate .cc-eg-footer .hint,
html body #cc-entry-gate #cc-eg-scroll-hint{
	color: rgba(167, 175, 187, .82) !important;
}

html body #cc-entry-gate .cc-eg-btn{
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 44px !important;
	height: auto !important;
	padding: 10px 13px !important;
	border-radius: 14px !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
}

html body #cc-entry-gate .cc-eg-btn.primary{
	color: var(--cc-eg-text) !important;
	border: 1px solid rgba(240, 75, 55, .28) !important;
	background:
			radial-gradient(110px 52px at 50% 0%, rgba(255, 244, 220, .14), transparent 72%),
			linear-gradient(135deg, var(--cc-eg-deep-red), var(--cc-eg-red)) !important;
	box-shadow:
			0 14px 26px rgba(142, 31, 45, .28),
			inset 0 1px 0 rgba(255, 244, 220, .12) !important;
}

html body #cc-entry-gate .cc-eg-btn.ghost,
html body #cc-entry-gate .cc-pd-full-link{
	color: rgba(244, 239, 232, .88) !important;
	border: 1px solid var(--cc-eg-border) !important;
	background:
			linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .018)),
			rgba(17, 22, 29, .78) !important;
	box-shadow: inset 0 1px 0 rgba(255, 244, 220, .045) !important;
}

html body #cc-entry-gate .cc-eg-btn:active:not(:disabled){
	transform: scale(.985) !important;
}

html body #cc-entry-gate .cc-eg-btn:disabled{
	opacity: .46 !important;
	filter: grayscale(.12) !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate{
		--cc-entry-gap: 8px !important;
	}

	html body #cc-entry-gate .cc-eg-shell{
		width: 100% !important;
		max-width: 100% !important;
		border-radius: 20px !important;
	}

	html body #cc-entry-gate .cc-eg-head{
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	html body #cc-entry-gate .cc-eg-step.active{
		padding: 9px !important;
		padding-bottom: calc(9px + min(var(--cc-safe-b), 8px)) !important;
	}

	html body #cc-entry-gate .cc-offer-toolbar,
	html body #cc-entry-gate .cc-eg-footer{
		grid-template-columns: 1fr !important;
	}

	html body #cc-entry-gate #cc-eg-open-offer-doc,
	html body #cc-entry-gate #cc-eg-auto-scroll,
	html body #cc-entry-gate #cc-eg-accept-terms{
		width: 100% !important;
	}
}

@media (max-width: 375px){
	html body #cc-entry-gate .cc-eg-icon{
		display: none !important;
	}

	html body #cc-entry-gate .cc-eg-title{
		font-size: 16.5px !important;
	}

	html body #cc-entry-gate .cc-pd-check-row{
		grid-template-columns: 22px minmax(0, 1fr) !important;
		gap: 9px !important;
	}
}

/* =========================================================
   COOKIE + COACH TOUR VISIBILITY PATCH
   ========================================================= */
html body #cc-cookie-banner{
	z-index: 9999 !important;
	opacity: 0;
	transition:
			opacity .22s ease,
			transform .22s ease !important;
}

html body #cc-cookie-banner.visible{
	opacity: .78 !important;
}

html body #cc-cookie-banner .cc-cookie-inner{
	border-color: rgba(255, 255, 255, .08) !important;
	background:
			linear-gradient(180deg, rgba(17, 22, 29, .54), rgba(7, 9, 13, .48)) !important;
	box-shadow:
			0 12px 28px rgba(0, 0, 0, .24),
			inset 0 1px 0 rgba(255, 244, 220, .055) !important;
	-webkit-backdrop-filter: blur(10px) saturate(112%) !important;
	backdrop-filter: blur(10px) saturate(112%) !important;
}

html body #cc-cookie-banner .cc-cookie-text{
	color: rgba(244, 239, 232, .76) !important;
}

html body #cc-cookie-banner .cc-cookie-text strong{
	color: rgba(244, 239, 232, .92) !important;
}

html body.cc-coach-tour-active #cc-cookie-banner.visible{
	opacity: .18 !important;
	pointer-events: none !important;
}

html body.cc-coach-tour-active #cc-cookie-banner .cc-cookie-inner{
	background: rgba(7, 9, 13, .18) !important;
	box-shadow: none !important;
}

html body #cc-coach-overlay{
	z-index: 10000 !important;
	background:
			radial-gradient(
					circle var(--cc-spot-r, 120px) at var(--cc-spot-x, 50%) var(--cc-spot-y, 34%),
					rgba(0, 0, 0, 0) 0%,
					rgba(0, 0, 0, 0) 58%,
					rgba(5, 6, 8, .46) 74%,
					rgba(5, 6, 8, .76) 100%
			),
			radial-gradient(720px 360px at 50% -10%, rgba(240, 75, 55, .10), transparent 62%),
			rgba(5, 6, 8, .58) !important;
	-webkit-backdrop-filter: saturate(108%) !important;
	backdrop-filter: saturate(108%) !important;
}

html body #cc-coach-overlay.active{
	display: block !important;
	opacity: 1 !important;
}

html body .cc-coach-panel{
	z-index: 10030 !important;
	width: min(360px, calc(100% - max(24px, calc(var(--safe-l, 0px) + var(--safe-r, 0px) + 24px)))) !important;
	max-width: 100% !important;
	border-color: rgba(224, 178, 79, .22) !important;
	background:
			linear-gradient(180deg, rgba(142, 31, 45, .18), rgba(255, 244, 220, .025) 62%),
			#0a0e13 !important;
}

html body .cc-coach-panel::after{
	background: #0a0e13 !important;
	border-color: rgba(224, 178, 79, .22) !important;
}

html body .cc-coach-progress > span{
	background: linear-gradient(90deg, #8e1f2d, #f04b37, #e0b24f) !important;
}

html body .cc-coach-actions .cc-eg-btn.primary{
	color: #f4efe8 !important;
	background:
			radial-gradient(110px 52px at 50% 0%, rgba(255, 244, 220, .14), transparent 72%),
			linear-gradient(135deg, #8e1f2d, #f04b37) !important;
	box-shadow:
			0 14px 26px rgba(142, 31, 45, .28),
			inset 0 1px 0 rgba(255, 244, 220, .12) !important;
}

html body .cc-coach-target{
	z-index: 10025 !important;
	outline: 3px solid rgba(240, 199, 102, .98) !important;
	outline-offset: 5px !important;
	border-radius: 16px !important;
	box-shadow:
			0 0 0 9px rgba(240, 75, 55, .20),
			0 0 0 14px rgba(224, 178, 79, .14),
			0 0 34px rgba(240, 75, 55, .38),
			0 18px 38px rgba(0, 0, 0, .44) !important;
	filter: saturate(1.12) brightness(1.12) !important;
}

html body .bottom-nav:has(.cc-coach-target),
html body .bn-wrap:has(.cc-coach-target),
html body .bottom-navigation:has(.cc-coach-target),
html body .mobile-bottom-nav:has(.cc-coach-target),
html body .bottom-nav.cc-coach-target,
html body .bn-wrap.cc-coach-target,
html body .bottom-navigation.cc-coach-target,
html body .mobile-bottom-nav.cc-coach-target{
	z-index: 10026 !important;
}

html body .bottom-nav .bn-item.cc-coach-target{
	color: #f4efe8 !important;
	background:
			radial-gradient(120px 70px at 20% 20%, rgba(255, 244, 220, .12), transparent 60%),
			linear-gradient(135deg, rgba(142, 31, 45, .64), rgba(240, 75, 55, .42)) !important;
	border-color: rgba(224, 178, 79, .50) !important;
}

@media (max-width: 430px){
	html body .cc-coach-panel{
		width: calc(100% - max(20px, calc(var(--safe-l, 0px) + var(--safe-r, 0px) + 20px))) !important;
		max-width: 100% !important;
	}
}

/* =========================================================
   COOKIE BANNER - READABLE ATTENTION PATCH
   ========================================================= */
html body #cc-cookie-banner.visible{
	opacity: .94 !important;
	animation: ccCookieNudge 2.8s ease-in-out .45s infinite;
}

html body #cc-cookie-banner .cc-cookie-inner{
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 12px !important;
	padding: 12px !important;
	border-color: rgba(224, 178, 79, .18) !important;
	background:
			linear-gradient(180deg, rgba(21, 27, 34, .86), rgba(7, 9, 13, .82)) !important;
	box-shadow:
			0 14px 34px rgba(0, 0, 0, .36),
			0 0 0 1px rgba(224, 178, 79, .045),
			inset 0 1px 0 rgba(255, 244, 220, .075) !important;
}

html body #cc-cookie-banner .cc-cookie-icon{
	display: none !important;
}

html body #cc-cookie-banner .cc-cookie-text{
	color: rgba(244, 239, 232, .88) !important;
	font-size: 12.5px !important;
	line-height: 1.42 !important;
}

html body #cc-cookie-banner .cc-cookie-text strong{
	color: #f4efe8 !important;
	font-size: 13.5px !important;
}

html body #cc-cookie-banner .cc-cookie-text a{
	color: #f0c766 !important;
	text-decoration-color: rgba(224, 178, 79, .42) !important;
}

html body #cc-cookie-banner .cc-cookie-actions{
	align-self: stretch !important;
}

html body.cc-coach-tour-active #cc-cookie-banner.visible{
	opacity: .22 !important;
	animation: none !important;
}

@keyframes ccCookieNudge{
	0%, 72%, 100%{
		transform: translateY(0);
	}
	78%{
		transform: translateY(-7px);
	}
	84%{
		transform: translateY(0);
	}
	90%{
		transform: translateY(-4px);
	}
}

@media (max-width: 390px){
	html body #cc-cookie-banner .cc-cookie-inner{
		grid-template-columns: 1fr !important;
	}

	html body #cc-cookie-banner .cc-cookie-actions{
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 44px !important;
		width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce){
	html body #cc-cookie-banner.visible{
		animation: none !important;
	}
}

/* =========================================================
   PREMIUM POKER CLUB COLOR PATCH
   Minimal final layer: replace purple/cyan/blue accents with
   graphite, warm red, burgundy, soft gold, warm white.
   ========================================================= */
:root{
	--cc-graphite-0: #07090d;
	--cc-graphite-1: #0a0e13;
	--cc-graphite-2: #11161d;
	--cc-graphite-3: #151b22;
	--cc-graphite-4: #1a2028;
	--cc-red: #f04b37;
	--cc-red-soft: #ff5a3d;
	--cc-burgundy: #8e1f2d;
	--cc-burgundy-2: #a32632;
	--cc-gold: #e0b24f;
	--cc-gold-soft: #f0c766;
	--cc-text-warm: #f4efe8;
	--cc-muted-warm: #a7afbb;
	--cc-border-warm: rgba(244,239,232,.08);

	--bg-primary: var(--cc-graphite-1);
	--bg-secondary: var(--cc-graphite-2);
	--bg-elevated: var(--cc-graphite-3);
	--surface: rgba(244,239,232,.055);
	--accent: var(--cc-red);
	--accent-2: var(--cc-burgundy);
	--accent-3: var(--cc-gold);
	--text: var(--cc-text-warm);
	--text-2: var(--cc-muted-warm);
	--muted: #8f98a5;
	--ok: var(--cc-gold);
	--warn: var(--cc-gold-soft);
	--err: var(--cc-red);
	--brd: rgba(244,239,232,.08);
	--brd-2: rgba(244,239,232,.13);

	--cc-eg-bg: rgba(7,9,13,.96);
	--cc-eg-card: var(--cc-graphite-2);
	--cc-eg-border: rgba(244,239,232,.08);
	--cc-eg-muted: var(--cc-muted-warm);
	--cc-eg-glow-1: rgba(240,75,55,.18);
	--cc-eg-glow-2: rgba(142,31,45,.18);
	--cc-eg-glow-3: rgba(240,75,55,.08);
}

html{
	background: var(--cc-graphite-0) !important;
}

body{
	color: var(--cc-text-warm) !important;
	background:
			radial-gradient(900px 420px at 78% -12%, rgba(240,75,55,.13), transparent 64%),
			radial-gradient(720px 420px at 10% 18%, rgba(142,31,45,.18), transparent 66%),
			radial-gradient(680px 360px at 88% 72%, rgba(224,178,79,.075), transparent 68%),
			linear-gradient(180deg, var(--cc-graphite-0) 0%, var(--cc-graphite-1) 52%, #06080b 100%) !important;
}

a,
.ext-link{
	color: var(--cc-gold-soft) !important;
}

a::after{
	background: linear-gradient(90deg, var(--cc-burgundy), var(--cc-gold)) !important;
}

a:hover{
	color: var(--cc-text-warm) !important;
}

a:focus-visible{
	outline-color: rgba(240,199,102,.86) !important;
}

.header{
	background:
			radial-gradient(820px 320px at 84% -8%, rgba(240,75,55,.13), transparent 62%),
			radial-gradient(680px 300px at 6% 112%, rgba(142,31,45,.17), transparent 64%),
			linear-gradient(180deg, rgba(17,22,29,.96), rgba(10,14,19,.97)) !important;
	border-bottom-color: rgba(224,178,79,.12) !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,244,220,.035) !important;
}

.brand,
.section-title,
.modal-title{
	color: var(--cc-text-warm) !important;
}

.brand i,
.section-title i,
.modal-title i,
.card h3 i,
#rating-info-modal .ri-bar-chart-2-line{
	background: none !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	color: var(--cc-gold) !important;
	filter: drop-shadow(0 2px 8px rgba(224,178,79,.20)) !important;
}

.subtitle,
.hint,
.about-content,
.modal-content p,
.cc-cookie-text,
.bn-item{
	color: var(--cc-muted-warm) !important;
}

.card,
.card-quiet,
.settings-item,
.game-history-item,
.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.empty-state{
	border-color: var(--cc-border-warm) !important;
	background:
			radial-gradient(420px 180px at 100% 0%, rgba(240,75,55,.075), transparent 68%),
			linear-gradient(180deg, rgba(21,27,34,.92), rgba(10,14,19,.94)) !important;
	box-shadow:
			0 14px 32px rgba(0,0,0,.26),
			inset 0 1px 0 rgba(255,244,220,.035) !important;
}

.card:hover,
.tournament-card:hover{
	border-color: rgba(224,178,79,.18) !important;
	box-shadow:
			0 16px 38px rgba(0,0,0,.32),
			inset 0 1px 0 rgba(255,244,220,.05) !important;
}

.btn:not(.btn-secondary):not(.btn-danger),
.tournament-card .btn.btn-primary,
.tournaments-empty-btn--accent,
html body #cc-site-auth-gate .cc-site-auth-btn,
html body #cc-entry-gate .cc-eg-btn.primary{
	color: var(--cc-text-warm) !important;
	border-color: rgba(240,75,55,.28) !important;
	background:
			radial-gradient(120px 54px at 50% 0%, rgba(255,244,220,.14), transparent 72%),
			linear-gradient(135deg, var(--cc-burgundy), var(--cc-red)) !important;
	box-shadow:
			0 12px 26px rgba(142,31,45,.28),
			inset 0 1px 0 rgba(255,244,220,.12) !important;
}

.btn-secondary,
.tournaments-empty-btn,
html body #cc-site-auth-gate .cc-site-auth-btn.ghost,
html body #cc-site-auth-gate .cc-site-auth-telegram-btn,
html body #cc-entry-gate .cc-eg-btn.ghost{
	color: rgba(244,239,232,.88) !important;
	border-color: rgba(244,239,232,.10) !important;
	background:
			linear-gradient(180deg, rgba(255,244,220,.045), rgba(255,244,220,.018)),
			rgba(17,22,29,.84) !important;
	box-shadow: inset 0 1px 0 rgba(255,244,220,.045) !important;
}

.btn:hover,
.btn-secondary:hover,
.tournaments-empty-btn:hover{
	border-color: rgba(224,178,79,.26) !important;
	box-shadow:
			0 12px 24px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,244,220,.07) !important;
}

.field{
	background:
			linear-gradient(180deg, rgba(255,244,220,.045), rgba(255,244,220,.018)),
			rgba(17,22,29,.74) !important;
	outline-color: rgba(244,239,232,.10) !important;
	box-shadow: inset 0 1px 0 rgba(255,244,220,.035) !important;
}

.field:focus-within,
.field input:focus,
.cc-eg-nick-input:focus,
html body #cc-site-auth-gate .cc-site-auth-field input:focus{
	outline-color: rgba(224,178,79,.42) !important;
	border-color: rgba(224,178,79,.42) !important;
	box-shadow:
			0 0 0 3px rgba(224,178,79,.12),
			inset 0 1px 0 rgba(255,244,220,.07) !important;
}

.field input[type="checkbox"]:checked{
	border-color: rgba(224,178,79,.52) !important;
	background: linear-gradient(135deg, var(--cc-burgundy), var(--cc-gold)) !important;
	box-shadow: 0 0 12px rgba(224,178,79,.22) !important;
}

.progress > span,
.hero-level-progress-bar span,
#hero-level-progress-fill,
#cc-rating-goals-modal .cc-rg-progress-fill,
.cc-toast .bar > span{
	background: linear-gradient(90deg, var(--cc-burgundy), var(--cc-red), var(--cc-gold)) !important;
	box-shadow: 0 0 16px rgba(240,75,55,.16) !important;
}

.hero-level-card{
	border-color: rgba(224,178,79,.16) !important;
	background:
			radial-gradient(420px 190px at 100% 0%, rgba(240,75,55,.13), transparent 62%),
			linear-gradient(180deg, rgba(21,27,34,.94), rgba(10,14,19,.96)) !important;
}

.hero-level-rank-badge,
.hero-level-meta span:last-child,
.rating-player-medal,
.club-info-location-badge{
	color: var(--cc-gold-soft) !important;
	border-color: rgba(224,178,79,.22) !important;
	background: rgba(224,178,79,.10) !important;
}

.bottom-nav .nav-row{
	border-color: rgba(224,178,79,.13) !important;
	background:
			radial-gradient(220px 120px at 50% 0%, rgba(240,75,55,.08), transparent 70%),
			linear-gradient(180deg, rgba(17,22,29,.96), rgba(7,9,13,.985)) !important;
	box-shadow:
			0 14px 34px rgba(0,0,0,.36),
			inset 0 1px 0 rgba(255,244,220,.04) !important;
}

.bn-item:hover{
	color: rgba(244,239,232,.94) !important;
	border-color: rgba(224,178,79,.16) !important;
	background: rgba(255,244,220,.035) !important;
}

.bn-item.active{
	color: var(--cc-text-warm) !important;
	border-color: rgba(224,178,79,.24) !important;
	background:
			linear-gradient(180deg, rgba(255,244,220,.055), rgba(255,244,220,.018)) !important;
	box-shadow:
			inset 0 0 0 1px rgba(255,244,220,.035),
			0 10px 22px rgba(142,31,45,.18) !important;
}

.bn-item.active .bn-icon,
.bn-item--admin.active .bn-icon{
	color: var(--cc-gold-soft) !important;
	border-color: rgba(224,178,79,.26) !important;
	background:
			radial-gradient(80px 40px at 30% 20%, rgba(255,244,220,.12), transparent 70%),
			linear-gradient(135deg, rgba(142,31,45,.72), rgba(240,75,55,.32)) !important;
	box-shadow:
			0 8px 18px rgba(142,31,45,.18),
			inset 0 1px 0 rgba(255,244,220,.08) !important;
}

.modal,
#tournament-modal,
#terms-modal,
#nick-modal,
#confirm-modal,
#club-info-modal,
#rating-info-modal{
	background:
			radial-gradient(760px 380px at 50% -12%, rgba(240,75,55,.14), transparent 64%),
			radial-gradient(520px 320px at 8% 96%, rgba(142,31,45,.18), transparent 64%),
			rgba(5,7,10,.82) !important;
}

.modal .modal-content,
#tournament-modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#club-info-modal .modal-content,
#rating-info-modal .modal-content{
	border-color: rgba(244,239,232,.10) !important;
	background:
			radial-gradient(520px 220px at 100% 0%, rgba(240,75,55,.10), transparent 62%),
			linear-gradient(180deg, rgba(17,22,29,.99), rgba(8,10,14,.99)) !important;
	box-shadow:
			0 26px 78px rgba(0,0,0,.58),
			inset 0 1px 0 rgba(255,244,220,.045) !important;
}

.close-btn,
#tournament-modal .close-btn,
.modal-close{
	color: var(--cc-text-warm) !important;
	border-color: rgba(244,239,232,.10) !important;
	background: rgba(255,244,220,.045) !important;
}

.close-btn:hover,
#tournament-modal .close-btn:hover,
.modal-close:hover{
	border-color: rgba(224,178,79,.24) !important;
	background: rgba(224,178,79,.08) !important;
}

.cc-offer-scroll blockquote{
	border-left-width: 1px !important;
	border-color: rgba(224,178,79,.22) !important;
	background: rgba(224,178,79,.075) !important;
	color: rgba(244,239,232,.88) !important;
}

.cc-coach-target{
	outline-color: rgba(240,199,102,.96) !important;
	box-shadow:
			0 0 0 7px rgba(224,178,79,.14),
			0 18px 38px rgba(0,0,0,.44) !important;
}

/* =========================================================
   MOBILE ADAPT PATCH
   iPhone 375 / 390 / 430: no horizontal overflow, 44px taps.
   ========================================================= */
html,
body,
#app,
#app.app,
.app,
.root{
	max-width: 100% !important;
	overflow-x: hidden !important;
}

#app,
#app.app,
.app,
.root,
.header,
.header-inner,
.hero-level-wrap,
main.list-pad,
.container,
.screen,
.card,
.card-quiet,
.settings-item,
.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.game-history-item,
.empty-state{
	box-sizing: border-box !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

img,
video,
iframe,
table,
svg{
	max-width: 100% !important;
}

.btn,
button,
input,
select,
textarea,
.field,
.icon-btn,
.close-btn,
.modal-close,
.bn-item{
	box-sizing: border-box !important;
}

.btn,
button,
a.btn,
.icon-btn,
.close-btn,
.modal-close{
	min-height: 44px !important;
}

.btn,
a.btn{
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

.field,
.field input,
.field select,
.field textarea,
input,
select,
textarea{
	min-width: 0 !important;
	max-width: 100% !important;
}

.modal .modal-content,
#tournament-modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#club-info-modal .modal-content,
#rating-info-modal .modal-content,
#cc-rating-goals-modal .cc-rg-dialog,
#cc-entry-gate .cc-eg-shell,
#cc-site-auth-gate .cc-site-auth-card{
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.modal .modal-content [style*="display:flex"],
#tournament-modal .modal-content [style*="display:flex"],
#terms-modal .modal-content [style*="display:flex"],
#nick-modal .modal-content [style*="display:flex"],
#confirm-modal .modal-content [style*="display:flex"],
#waiter-modal .modal-content [style*="display:flex"]{
	min-width: 0 !important;
	max-width: 100% !important;
	flex-wrap: wrap !important;
}

@media (max-width: 430px){
	html,
	body{
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}

	.header{
		padding-left: max(12px, var(--safe-l, 0px)) !important;
		padding-right: max(12px, var(--safe-r, 0px)) !important;
	}

	main.list-pad,
	.header-inner,
	.container{
		width: 100% !important;
		max-width: 100% !important;
		padding-left: max(12px, var(--safe-l, 0px)) !important;
		padding-right: max(12px, var(--safe-r, 0px)) !important;
	}

	.header-inner{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.brand,
	.subtitle{
		min-width: 0 !important;
		max-width: 100% !important;
		padding-right: min(112px, 34vw) !important;
		overflow-wrap: anywhere !important;
	}

	.header-actions{
		right: 0 !important;
		top: 8px !important;
		max-width: min(132px, 38vw) !important;
	}

	#open-club-info.icon-btn--with-text{
		width: auto !important;
		min-width: 44px !important;
		max-width: 100% !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 12px !important;
		gap: 7px !important;
	}

	#open-club-info.icon-btn--with-text span{
		min-width: 0 !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	.section-title{
		min-width: 0 !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		overflow-wrap: anywhere !important;
	}

	.card,
	.card-quiet,
	.settings-item,
	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact,
	.game-history-item,
	.empty-state{
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		overflow-wrap: anywhere !important;
	}

	.hero-level-card{
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		gap: 10px !important;
		padding: 12px !important;
	}

	.hero-level-main,
	.hero-level-name,
	.hero-level-meta,
	.hero-level-rank-badge{
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.hero-level-rank-badge{
		overflow-wrap: anywhere !important;
		white-space: normal !important;
	}

	.field{
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
	}

	.field input[type="text"],
	.field input[type="email"],
	.field input[type="number"],
	.field textarea,
	.field select{
		width: 100% !important;
		flex: 1 1 180px !important;
	}

	.modal,
	#tournament-modal,
	#terms-modal,
	#nick-modal,
	#confirm-modal,
	#club-info-modal,
	#rating-info-modal,
	#cc-rating-goals-modal,
	#cc-entry-gate,
	#cc-site-auth-gate{
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
		padding-left: max(8px, var(--safe-l, 0px)) !important;
		padding-right: max(8px, var(--safe-r, 0px)) !important;
	}

	.modal .modal-content,
	#tournament-modal .modal-content,
	#terms-modal .modal-content,
	#nick-modal .modal-content,
	#confirm-modal .modal-content,
	#club-info-modal .modal-content,
	#rating-info-modal .modal-content{
		width: 100% !important;
		max-width: 100% !important;
	}

	.modal .btn,
	#tournament-modal .btn,
	#terms-modal .btn,
	#nick-modal .btn,
	#confirm-modal .btn,
	#waiter-modal .btn{
		flex: 1 1 100% !important;
		width: 100% !important;
	}

	.close-btn,
	#tournament-modal .close-btn,
	.modal-close{
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		flex: 0 0 44px !important;
	}

	#rating-month-prev,
	#rating-month-next{
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 !important;
	}

	#rating-month-label{
		min-width: 0 !important;
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	.bottom-nav{
		left: max(8px, var(--safe-l, 0px)) !important;
		right: max(8px, var(--safe-r, 0px)) !important;
		max-width: calc(100% - max(16px, calc(var(--safe-l, 0px) + var(--safe-r, 0px) + 16px))) !important;
		overflow: visible !important;
	}

	.bottom-nav .nav-row{
		width: 100% !important;
		max-width: 100% !important;
		grid-auto-columns: minmax(0, 1fr) !important;
		gap: 5px !important;
		padding: 6px !important;
	}

	.bn-item{
		min-width: 0 !important;
		min-height: 64px !important;
		height: auto !important;
		padding: 6px 2px !important;
	}

	.bn-item .bn-label{
		max-width: 100% !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
}

@media (max-width: 390px){
	.brand,
	.subtitle{
		padding-right: 54px !important;
	}

	.header-actions{
		max-width: 44px !important;
	}

	#open-club-info.icon-btn--with-text{
		width: 44px !important;
		max-width: 44px !important;
		padding: 0 !important;
		justify-content: center !important;
	}

	#open-club-info.icon-btn--with-text span{
		display: none !important;
	}

	main.list-pad,
	.header{
		padding-left: max(10px, var(--safe-l, 0px)) !important;
		padding-right: max(10px, var(--safe-r, 0px)) !important;
	}

	.bottom-nav .nav-row{
		gap: 4px !important;
		padding: 5px !important;
	}
}

@media (max-width: 375px){
	.card,
	.card-quiet,
	.settings-item,
	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact,
	.game-history-item,
	.empty-state{
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.bn-item .bn-icon{
		width: 32px !important;
		height: 32px !important;
		flex-basis: 32px !important;
	}

	.bn-item .bn-label{
		font-size: 10px !important;
	}
}

/* PREMIUM MOBILE POLISH PATCH
   Final override layer: calm decorative text and glow effects
   while preserving the existing mobile structure and poker club palette. */
:root{
	--cc-polish-shadow: 0 16px 36px rgba(0,0,0,.28);
	--cc-polish-soft-shadow: 0 10px 24px rgba(0,0,0,.22);
	--cc-polish-red-shadow: 0 10px 22px rgba(142,31,45,.2);
}

.brand,
.section-title,
.modal-title,
.tournament-title,
.tm-title,
.profile-name,
.club-info-title,
.club-info-modal-title,
.empty-state-title,
.tournaments-empty-title,
.cc-rg-title,
.cc-rg-hero-level,
.cc-level-name,
.cc-site-auth-title,
html body #cc-entry-gate .cc-eg-title{
	background: none !important;
	background-image: none !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	-webkit-text-fill-color: #F4EFE8 !important;
	color: #F4EFE8 !important;
	text-shadow: none !important;
}

.brand i,
.section-title i,
.modal-title i,
.stat-card-value,
.hero-level-rank,
.hero-level-rank-badge,
.rating-player-medal,
.club-info-location-badge,
.cc-rg-badge,
.cc-rg-progress-label,
.cc-toast-icon{
	background: none !important;
	background-image: none !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	-webkit-text-fill-color: #E0B24F !important;
	color: #E0B24F !important;
	filter: none !important;
	text-shadow: none !important;
}

.card,
.card-quiet,
.settings-item,
.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.game-history-item,
.empty-state,
.modal,
.modal-content,
.bottom-nav,
.bottom-nav .nav-row,
.icon-btn,
#open-club-info,
#club-info-modal .modal-content,
#cc-rating-goals-modal .cc-rg-dialog,
#cc-entry-gate,
#cc-entry-gate .cc-eg-shell,
#cc-site-auth-gate,
#cc-site-auth-gate .cc-site-auth-card,
#cc-cookie-banner .cc-cookie-inner,
.cc-coach-panel,
.award-popup-card{
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.card,
.card-quiet,
.settings-item,
.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.game-history-item,
.empty-state,
.modal-content,
.bottom-nav .nav-row,
.hero-level-card,
.cc-rg-dialog,
.cc-eg-shell,
.cc-site-auth-card,
.cc-cookie-inner,
.cc-coach-panel{
	box-shadow: var(--cc-polish-shadow) !important;
}

.btn,
.btn-primary,
.btn-main,
.primary-btn,
.modal-actions .btn,
.tm-join,
.cc-eg-primary,
.cc-site-auth-submit{
	box-shadow: var(--cc-polish-red-shadow) !important;
	text-shadow: none !important;
}

.icon-btn,
.bn-item,
.bn-item.active,
.bn-item .bn-icon,
.hero-level-rank-badge,
.rating-player-medal,
.club-info-location-badge,
.cc-rg-badge,
.cc-toast,
.award-popup-icon{
	box-shadow: var(--cc-polish-soft-shadow) !important;
	filter: none !important;
	text-shadow: none !important;
}

.btn:hover,
.btn:focus-visible,
.icon-btn:hover,
.icon-btn:focus-visible,
.bn-item:hover,
.bn-item:focus-visible,
.cc-eg-primary:hover,
.cc-site-auth-submit:hover{
	box-shadow: 0 12px 24px rgba(142,31,45,.24) !important;
}

.btn:focus-visible,
.icon-btn:focus-visible,
.bn-item:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline: 2px solid rgba(224,178,79,.45) !important;
	outline-offset: 2px !important;
}

.progress > span,
#hero-level-progress-fill,
.cc-rg-progress-fill,
.cc-toast .bar > span{
	background: linear-gradient(90deg, #8E1F2D 0%, #F04B37 62%, #E0B24F 100%) !important;
	box-shadow: none !important;
	filter: none !important;
}

.progress > span::before,
.progress > span::after,
.tournament-card::after,
.empty-state::before,
.empty-state::after,
.tournaments-empty-visual::before,
.tournaments-empty-visual::after,
.cc-rg-progress-fill::after,
.cc-rg-dialog::before,
.cc-rg-dialog::after,
#cc-entry-gate::before,
#cc-entry-gate::after,
#cc-entry-gate .cc-eg-shell::before,
#cc-entry-gate .cc-eg-shell::after,
#cc-site-auth-gate::before,
#cc-site-auth-gate::after,
#cc-cookie-banner .cc-cookie-inner::before,
#cc-cookie-banner .cc-cookie-inner::after,
.award-popup-card::before,
.award-popup-card::after,
.cc-coach-panel::before,
.cc-coach-panel::after{
	animation: none !important;
	background-image: none !important;
	box-shadow: none !important;
	content: none !important;
	display: none !important;
	filter: none !important;
}

.cc-offer-scroll blockquote{
	border-left-width: 1px !important;
	box-shadow: none !important;
}

.cc-coach-target{
	box-shadow: 0 0 0 3px rgba(224,178,79,.16), 0 12px 28px rgba(0,0,0,.24) !important;
}

.award-popup-card,
.cc-toast{
	animation: none !important;
}

@media (max-width: 430px){
	.card,
	.card-quiet,
	.settings-item,
	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact,
	.game-history-item,
	.empty-state,
	.modal-content,
	.bottom-nav .nav-row,
	.cc-rg-dialog,
	.cc-eg-shell,
	.cc-site-auth-card,
	.cc-cookie-inner,
	.cc-coach-panel{
		box-shadow: 0 10px 22px rgba(0,0,0,.24) !important;
	}

	.btn,
	.icon-btn,
	.bn-item,
	.bn-item .bn-icon{
		filter: none !important;
		text-shadow: none !important;
	}
}

/* PREMIUM LEGACY ACCENT FINAL PATCH
   Must stay last: covers remaining legacy accent islands and injected CSS. */
:root{
	--accent-2: var(--cc-burgundy, #8E1F2D) !important;
	--accent-toast: var(--cc-gold, #E0B24F) !important;
	--cc-eg-glow-1: rgba(240,75,55,.16) !important;
	--cc-eg-glow-2: rgba(142,31,45,.16) !important;
	--cc-eg-glow-3: rgba(240,75,55,.08) !important;
}

html,
body{
	-webkit-tap-highlight-color: rgba(224,178,79,.18) !important;
}

.nav-tab:hover,
.nav-tab.active,
.rating-chip,
.rating-chip.active,
.status-badge,
.contact-item,
.settings-item,
.profile-compact-row:hover,
.profile-medals-next,
.user-profile,
#profile-screen .card,
#profile-screen .card-quiet,
#profile-screen .settings-item,
.awards-next-box,
#tournament-modal .detail-section:nth-child(6) > div > div:first-child,
.tm-k,
.cc-rg-hero,
.cc-rating-goals-dialog,
.cc-rating-goal-row.is-current,
.cc-rating-goal-row.is-next,
.cc-level-row.is-current,
.cc-level-status,
.cc-rating-goal-badge,
.cc-rating-goal-state,
.cc-reconnect-logo,
.cc-site-auth-logo{
	border-color: rgba(224,178,79,.18) !important;
	background:
			radial-gradient(380px 170px at 100% 0%, rgba(240,75,55,.10), transparent 64%),
			linear-gradient(180deg, rgba(21,27,34,.92), rgba(10,14,19,.95)) !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,244,220,.04) !important;
}

.btn,
.btn:hover,
.nav-tab.active,
.cc-waiter-btn,
.cc-waiter-btn:hover,
.cc-eg-btn.primary,
.cc-site-auth-btn,
.cc-fin-btn-confirm,
.cc-reconnect-line > span,
.awards-next-bar > span,
.progress > span,
.cc-rg-progress-fill,
.cc-rating-goals-progress span,
#hero-level-progress-fill,
.hero-level-progress-bar span{
	background: linear-gradient(135deg, #8E1F2D 0%, #F04B37 68%, #E0B24F 100%) !important;
	border-color: rgba(240,75,55,.30) !important;
	box-shadow: 0 10px 22px rgba(142,31,45,.20), inset 0 1px 0 rgba(255,244,220,.08) !important;
}

.field:focus-within,
.field input:focus,
.field input[type="text"]:focus,
.field input[type="email"]:focus,
.cc-eg-nick-input:focus,
.cc-site-auth-field input:focus,
.cc-waiter-table-btn:hover,
.cc-waiter-table-btn.selected{
	border-color: rgba(224,178,79,.42) !important;
	outline-color: rgba(224,178,79,.42) !important;
	background: rgba(224,178,79,.08) !important;
	box-shadow: 0 0 0 3px rgba(224,178,79,.12), inset 0 1px 0 rgba(255,244,220,.06) !important;
}

.tm-k i,
#tournament-modal .detail-section:nth-child(6) h4,
.cc-rg-hero-label,
.cc-rating-goals-eyebrow,
.cc-level-row.is-current .cc-level-icon-wrap,
.cc-level-status,
.cc-rating-goal-points,
.cc-rating-goal-points b,
.awards-next-eyebrow,
.cc-waiter-table-btn.selected,
details.faq summary:hover,
details.faq summary i,
.rating-player-medal,
.stat-value,
.game-position,
.profile-compact-place,
.cc-reconnect-logo::before{
	-webkit-text-fill-color: #E0B24F !important;
	color: #E0B24F !important;
	text-shadow: none !important;
}

.cc-level-row.is-current .cc-level-icon-wrap{
	background: linear-gradient(135deg, rgba(142,31,45,.82), rgba(240,75,55,.42)) !important;
	box-shadow: none !important;
}

#cc-reconnect-overlay,
#cc-site-auth-gate{
	background:
			radial-gradient(900px 450px at 50% -10%, rgba(240,75,55,.14), transparent 60%),
			radial-gradient(760px 420px at 0% 100%, rgba(142,31,45,.14), transparent 60%),
			rgba(5,8,13,.94) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.cc-reconnect-card,
.cc-rating-goals-dialog,
.cc-site-auth-card{
	border-color: rgba(244,239,232,.10) !important;
	background: linear-gradient(180deg, rgba(17,22,29,.98), rgba(7,9,13,.99)) !important;
	color: #F4EFE8 !important;
}

.cc-reconnect-sub,
.cc-reconnect-step,
.cc-site-auth-sub,
.cc-site-auth-field label{
	color: #A7AFBB !important;
}

/* PREMIUM CLUB COLOR COMPLETION PATCH
   Last layer for remaining legacy cool-accent mobile islands. */
#tournament-modal .tm-li.me,
#tournament-modal .map-btn:hover,
.rating-player-card.current-user,
.rating-chip--level,
.award-bar > span,
.award-popup,
.award-popup.is-owned,
.award-popup-prog > span,
.pstat-season,
#cc-entry-gate .cc-pd-check-row,
#terms-modal .field{
	border-color: rgba(224,178,79,.22) !important;
	background:
			radial-gradient(360px 160px at 100% 0%, rgba(240,75,55,.10), transparent 64%),
			linear-gradient(180deg, rgba(21,27,34,.92), rgba(10,14,19,.96)) !important;
	box-shadow:
			0 10px 24px rgba(0,0,0,.22),
			inset 0 1px 0 rgba(255,244,220,.04) !important;
}

.award-bar > span,
.award-popup-prog > span{
	background: linear-gradient(90deg, #8E1F2D 0%, #F04B37 64%, #E0B24F 100%) !important;
}

.rating-chip--level,
.award-popup.is-owned,
.pstat-season{
	color: #F0C766 !important;
}

/* ENTRY GATE TELEGRAM CONTENT SAFE AREA PATCH
   Keeps the first PD gate inside Telegram Mini App content safe area. */
html:has(#cc-entry-gate.active),
body:has(#cc-entry-gate.active){
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: var(--tg-viewport-stable-height, var(--tg-vh-stable, 100dvh)) !important;
	overflow: hidden !important;
	overflow-x: hidden !important;
	box-sizing: border-box !important;
}

html body #cc-entry-gate{
	--cc-eg-csafe-top: var(--tg-content-safe-area-inset-top, var(--tg-csafe-top, 0px));
	--cc-eg-csafe-right: var(--tg-content-safe-area-inset-right, var(--tg-csafe-right, 0px));
	--cc-eg-csafe-bottom: var(--tg-content-safe-area-inset-bottom, var(--tg-csafe-bottom, 0px));
	--cc-eg-csafe-left: var(--tg-content-safe-area-inset-left, var(--tg-csafe-left, 0px));
	--cc-eg-ssafe-top: var(--tg-safe-area-inset-top, var(--tg-ssafe-top, env(safe-area-inset-top, 0px)));
	--cc-eg-ssafe-right: var(--tg-safe-area-inset-right, var(--tg-ssafe-right, env(safe-area-inset-right, 0px)));
	--cc-eg-ssafe-bottom: var(--tg-safe-area-inset-bottom, var(--tg-ssafe-bottom, env(safe-area-inset-bottom, 0px)));
	--cc-eg-ssafe-left: var(--tg-safe-area-inset-left, var(--tg-ssafe-left, env(safe-area-inset-left, 0px)));
	--cc-eg-inset-top: max(var(--cc-eg-csafe-top), var(--cc-eg-ssafe-top), 0px);
	--cc-eg-inset-right: max(var(--cc-eg-csafe-right), var(--cc-eg-ssafe-right), 0px);
	--cc-eg-inset-bottom: max(var(--cc-eg-csafe-bottom), var(--cc-eg-ssafe-bottom), 0px);
	--cc-eg-inset-left: max(var(--cc-eg-csafe-left), var(--cc-eg-ssafe-left), 0px);
	--cc-eg-pad-top: max(12px, var(--cc-eg-inset-top));
	--cc-eg-pad-right: max(12px, var(--cc-eg-inset-right));
	--cc-eg-pad-bottom: max(16px, var(--cc-eg-inset-bottom));
	--cc-eg-pad-left: max(12px, var(--cc-eg-inset-left));
	--cc-eg-stable-h: var(--tg-viewport-stable-height, var(--tg-vh-stable, 100dvh));
	--cc-eg-shell-h: calc(var(--cc-eg-stable-h) - var(--cc-eg-pad-top) - var(--cc-eg-pad-bottom));

	top: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	left: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: var(--cc-eg-stable-h) !important;
	min-height: 0 !important;
	max-height: var(--cc-eg-stable-h) !important;
	margin: 0 !important;
	padding-top: var(--cc-eg-pad-top) !important;
	padding-right: var(--cc-eg-pad-right) !important;
	padding-bottom: var(--cc-eg-pad-bottom) !important;
	padding-left: var(--cc-eg-pad-left) !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	overflow-x: hidden !important;
	box-sizing: border-box !important;
}

html body #cc-entry-gate.active{
	display: flex !important;
	height: var(--cc-eg-stable-h) !important;
	min-height: 0 !important;
	max-height: var(--cc-eg-stable-h) !important;
	margin: 0 !important;
	padding-top: var(--cc-eg-pad-top) !important;
	padding-right: var(--cc-eg-pad-right) !important;
	padding-bottom: var(--cc-eg-pad-bottom) !important;
	padding-left: var(--cc-eg-pad-left) !important;
	align-items: center !important;
	justify-content: center !important;
}

html body #cc-entry-gate .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: var(--cc-eg-shell-h) !important;
	min-height: 0 !important;
	max-height: var(--cc-eg-shell-h) !important;
	margin: 0 auto !important;
	align-self: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

html body #cc-entry-gate .cc-eg-step.active,
html body #cc-entry-gate .cc-offer-wrap,
html body #cc-entry-gate .cc-offer-scroll,
html body #cc-entry-gate #cc-eg-pd-scroll{
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	box-sizing: border-box !important;
}

html body #cc-entry-gate .cc-offer-scroll,
html body #cc-entry-gate #cc-eg-pd-scroll{
	flex: 1 1 auto !important;
	max-height: none !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	scroll-padding-top: 12px !important;
	scroll-padding-bottom: 88px !important;
}

html body #cc-entry-gate .cc-eg-head{
	flex: 0 0 auto !important;
	padding-top: 13px !important;
}

html body #cc-entry-gate .cc-eg-step.active{
	padding-bottom: 10px !important;
}

html body #cc-entry-gate .cc-eg-footer,
html body #cc-entry-gate .cc-eg-pd-footer,
html body #cc-entry-gate .cc-eg-pd-btn-row{
	flex: 0 0 auto !important;
}

html body #cc-entry-gate .cc-eg-pd-btn-row{
	padding-bottom: 10px !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate{
		--cc-eg-pad-top: max(10px, var(--cc-eg-inset-top));
		--cc-eg-pad-right: max(10px, var(--cc-eg-inset-right));
		--cc-eg-pad-bottom: max(14px, var(--cc-eg-inset-bottom));
		--cc-eg-pad-left: max(10px, var(--cc-eg-inset-left));
	}

	html body #cc-entry-gate.active{
		padding-top: var(--cc-eg-pad-top) !important;
		padding-right: var(--cc-eg-pad-right) !important;
		padding-bottom: var(--cc-eg-pad-bottom) !important;
		padding-left: var(--cc-eg-pad-left) !important;
	}

	html body #cc-entry-gate .cc-eg-shell{
		height: var(--cc-eg-shell-h) !important;
		max-height: var(--cc-eg-shell-h) !important;
	}
}

@media (max-width: 390px){
	html body #cc-entry-gate{
		--cc-eg-pad-right: max(8px, var(--cc-eg-inset-right));
		--cc-eg-pad-left: max(8px, var(--cc-eg-inset-left));
	}

	html body #cc-entry-gate.active{
		padding-right: var(--cc-eg-pad-right) !important;
		padding-left: var(--cc-eg-pad-left) !important;
	}

	html body #cc-entry-gate .cc-eg-shell{
		border-radius: 18px !important;
	}
}
/* =========================================================
   TELEGRAM FULLSCREEN IPHONE TOP CONTROLS FIX
   кнопка "Закрыть" Telegram НЕ входит в safe-area
   ========================================================= */

@media (max-width: 540px) {
	:root {
		--cc-tg-top-controls-h: 58px;
		--cc-eg-top-pad: calc(max(12px, var(--safe-t, 0px)) + var(--cc-tg-top-controls-h));
		--cc-eg-bottom-pad: max(14px, var(--safe-b, 0px));
	}

	html body #cc-entry-gate,
	html body #cc-entry-gate.active {
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;

		height: var(--tg-vh-stable, 100dvh) !important;
		min-height: var(--tg-vh-stable, 100dvh) !important;
		max-height: var(--tg-vh-stable, 100dvh) !important;

		margin: 0 !important;

		padding-top: var(--cc-eg-top-pad) !important;
		padding-right: max(10px, var(--safe-r, 0px)) !important;
		padding-bottom: var(--cc-eg-bottom-pad) !important;
		padding-left: max(10px, var(--safe-l, 0px)) !important;

		align-items: stretch !important;
		justify-content: center !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	html body #cc-entry-gate .cc-eg-shell {
		width: min(100%, 430px) !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: none !important;
		margin: 0 auto !important;
		align-self: stretch !important;
	}

	html body #cc-entry-gate .cc-eg-head {
		padding-top: 14px !important;
	}

	html body #cc-entry-gate .cc-eg-step.active,
	html body #cc-entry-gate .cc-offer-wrap {
		min-height: 0 !important;
		flex: 1 1 auto !important;
	}

	html body #cc-entry-gate .cc-offer-scroll,
	html body #cc-entry-gate #cc-eg-pd-scroll {
		min-height: 0 !important;
		flex: 1 1 auto !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
}

@media (max-width: 390px) {
	:root {
		--cc-tg-top-controls-h: 64px;
	}
}

/* =========================================================
   PD CONSENT COLOR PASS
   Premium club palette: graphite and club red accents.
   ========================================================= */
html body #cc-entry-gate #cc-eg-step-pd{
	--cc-pd-bg: #07090D;
	--cc-pd-surface: #11161D;
	--cc-pd-surface-2: #151B22;
	--cc-pd-surface-3: #1A2028;
	--cc-pd-red: #F04B37;
	--cc-pd-red-deep: #8E1F2D;
	--cc-pd-coral: #FF6B4C;
	--cc-pd-text: #F4EFE8;
	--cc-pd-muted: #A7AFBB;
	--cc-pd-border: rgba(244, 239, 232, .09);
	--cc-pd-border-red: rgba(240, 75, 55, .20);
}

html body #cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	border-color: var(--cc-pd-border) !important;
	background:
			radial-gradient(420px 180px at 100% 0%, rgba(240,75,55,.09), transparent 66%),
			linear-gradient(180deg, rgba(21,27,34,.98), rgba(7,9,13,.99)) !important;
	box-shadow:
			0 12px 28px rgba(0,0,0,.26),
			inset 0 1px 0 rgba(244,239,232,.045) !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll{
	background: linear-gradient(180deg, rgba(244,239,232,.012), rgba(244,239,232,0)) !important;
}

html body #cc-entry-gate .cc-pd-hero{
	border-color: var(--cc-pd-border-red) !important;
	background:
			radial-gradient(220px 110px at 100% 0%, rgba(240,75,55,.16), transparent 70%),
			linear-gradient(135deg, rgba(142,31,45,.30), rgba(21,27,34,.92)) !important;
	box-shadow: inset 0 1px 0 rgba(244,239,232,.055) !important;
}

html body #cc-entry-gate .cc-pd-hero-icon{
	color: var(--cc-pd-text) !important;
	border: 1px solid rgba(240,75,55,.28) !important;
	background:
			radial-gradient(32px 24px at 28% 18%, rgba(244,239,232,.18), transparent 64%),
			linear-gradient(145deg, var(--cc-pd-red-deep), var(--cc-pd-red)) !important;
	box-shadow: 0 10px 22px rgba(142,31,45,.24) !important;
}

html body #cc-entry-gate .cc-pd-hero-title{
	color: var(--cc-pd-text) !important;
}

html body #cc-entry-gate .cc-pd-hero-sub,
html body #cc-entry-gate .cc-pd-text,
html body #cc-entry-gate .cc-pd-list li,
html body #cc-entry-gate .cc-pd-check-label{
	color: rgba(244,239,232,.78) !important;
}

html body #cc-entry-gate .cc-pd-chips span,
html body #cc-entry-gate .cc-pd-contact-chip{
	color: rgba(244,239,232,.78) !important;
	border-color: var(--cc-pd-border) !important;
	background: rgba(244,239,232,.035) !important;
	box-shadow: none !important;
}

html body #cc-entry-gate .cc-pd-chips span i,
html body #cc-entry-gate .cc-pd-contact-chip i{
	color: var(--cc-pd-coral) !important;
}

html body #cc-entry-gate .cc-pd-block,
html body #cc-entry-gate .cc-pd-operator{
	border-color: var(--cc-pd-border) !important;
	background:
			linear-gradient(180deg, rgba(244,239,232,.045), rgba(244,239,232,.018)),
			var(--cc-pd-surface) !important;
	box-shadow: inset 0 1px 0 rgba(244,239,232,.04) !important;
}

html body #cc-entry-gate .cc-pd-block-title{
	color: var(--cc-pd-coral) !important;
}

html body #cc-entry-gate .cc-pd-list li::before{
	background: var(--cc-pd-red) !important;
	box-shadow: 0 0 0 3px rgba(240,75,55,.10) !important;
}

html body #cc-entry-gate .cc-pd-list code{
	color: var(--cc-pd-text) !important;
	background: rgba(240,75,55,.10) !important;
	border: 1px solid rgba(240,75,55,.14) !important;
}

html body #cc-entry-gate .cc-pd-law,
html body #cc-entry-gate .cc-pd-op-meta,
html body #cc-entry-gate .cc-pd-op-name{
	color: rgba(167,175,187,.70) !important;
}

html body #cc-entry-gate .cc-pd-full-link{
	color: var(--cc-pd-text) !important;
	border-color: var(--cc-pd-border-red) !important;
	background:
			linear-gradient(180deg, rgba(240,75,55,.08), rgba(244,239,232,.025)),
			var(--cc-pd-surface-2) !important;
	box-shadow: inset 0 1px 0 rgba(244,239,232,.05) !important;
}

html body #cc-entry-gate .cc-pd-inline-link strong{
	color: var(--cc-pd-coral) !important;
	border-bottom-color: rgba(240,75,55,.48) !important;
}

html body #cc-entry-gate .cc-eg-pd-footer{
	border-top-color: var(--cc-pd-border) !important;
	background:
			linear-gradient(180deg, rgba(17,22,29,.78), rgba(7,9,13,.98)) !important;
}

html body #cc-entry-gate .cc-pd-check-row{
	border-color: var(--cc-pd-border-red) !important;
	background:
			radial-gradient(220px 90px at 100% 0%, rgba(240,75,55,.11), transparent 68%),
			linear-gradient(180deg, rgba(21,27,34,.95), rgba(10,14,19,.98)) !important;
	box-shadow: inset 0 1px 0 rgba(244,239,232,.04) !important;
}

html body #cc-entry-gate .cc-pd-check-label strong{
	color: var(--cc-pd-text) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
	border-color: rgba(240,75,55,.46) !important;
	background: rgba(7,9,13,.90) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: rgba(255,107,76,.72) !important;
	background: linear-gradient(135deg, var(--cc-pd-red-deep), var(--cc-pd-red)) !important;
	box-shadow:
			0 0 0 3px rgba(240,75,55,.13),
			0 8px 18px rgba(142,31,45,.18) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked::after{
	border-color: var(--cc-pd-text) !important;
}

html body #cc-entry-gate #cc-eg-accept-pd.cc-eg-btn.primary{
	color: var(--cc-pd-text) !important;
	border: 1px solid rgba(240,75,55,.34) !important;
	background:
			radial-gradient(120px 60px at 22% 18%, rgba(244,239,232,.14), transparent 68%),
			linear-gradient(135deg, var(--cc-pd-red-deep), var(--cc-pd-red) 72%, #FF6B4C) !important;
	box-shadow:
			0 12px 24px rgba(142,31,45,.28),
			inset 0 1px 0 rgba(244,239,232,.12) !important;
}

/* PD CONSENT RED PASS
   Graphite and club red accents. */
html body #cc-entry-gate #cc-eg-step-pd{
	--cc-pd-neutral-line: rgba(244,239,232,.09);
	--cc-pd-red-line: rgba(240,75,55,.24);
	--cc-pd-coral: #FF6B4C;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	border-color: var(--cc-pd-neutral-line) !important;
	background:
			radial-gradient(420px 180px at 100% 0%, rgba(240,75,55,.10), transparent 66%),
			linear-gradient(180deg, rgba(21,27,34,.98), rgba(7,9,13,.99)) !important;
}

html body #cc-entry-gate .cc-pd-hero{
	border-color: var(--cc-pd-red-line) !important;
	background:
			radial-gradient(220px 110px at 100% 0%, rgba(240,75,55,.17), transparent 70%),
			linear-gradient(135deg, rgba(142,31,45,.30), rgba(21,27,34,.94)) !important;
}

html body #cc-entry-gate .cc-pd-hero-icon{
	color: #F4EFE8 !important;
	border-color: rgba(240,75,55,.34) !important;
	background:
			radial-gradient(32px 24px at 28% 18%, rgba(244,239,232,.18), transparent 64%),
			linear-gradient(145deg, #8E1F2D, #F04B37) !important;
	box-shadow: 0 10px 22px rgba(142,31,45,.24) !important;
}

html body #cc-entry-gate .cc-pd-block-title,
html body #cc-entry-gate .cc-pd-chips span i,
html body #cc-entry-gate .cc-pd-contact-chip i,
html body #cc-entry-gate .cc-pd-inline-link strong{
	color: var(--cc-pd-coral) !important;
}

html body #cc-entry-gate .cc-pd-list li::before{
	background: #F04B37 !important;
	box-shadow: 0 0 0 3px rgba(240,75,55,.10) !important;
}

html body #cc-entry-gate .cc-pd-list code{
	color: #F4EFE8 !important;
	background: rgba(240,75,55,.10) !important;
	border-color: rgba(240,75,55,.14) !important;
}

html body #cc-entry-gate .cc-pd-full-link{
	border-color: var(--cc-pd-red-line) !important;
	background:
			linear-gradient(180deg, rgba(240,75,55,.08), rgba(244,239,232,.025)),
			#151B22 !important;
}

html body #cc-entry-gate .cc-pd-check-row{
	border-color: var(--cc-pd-red-line) !important;
	background:
			radial-gradient(220px 90px at 100% 0%, rgba(240,75,55,.11), transparent 68%),
			linear-gradient(180deg, rgba(21,27,34,.95), rgba(10,14,19,.98)) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]{
	border-color: rgba(240,75,55,.48) !important;
	background: rgba(7,9,13,.90) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: rgba(255,107,76,.72) !important;
	background: linear-gradient(135deg, #8E1F2D, #F04B37) !important;
	box-shadow:
			0 0 0 3px rgba(240,75,55,.13),
			0 8px 18px rgba(142,31,45,.18) !important;
}

html body #cc-entry-gate .cc-pd-check-row input[type="checkbox"]:checked::after{
	border-color: #F4EFE8 !important;
}

html body #cc-entry-gate #cc-eg-accept-pd.cc-eg-btn.primary{
	color: #F4EFE8 !important;
	border: 1px solid rgba(240,75,55,.34) !important;
	background:
			radial-gradient(120px 60px at 22% 18%, rgba(244,239,232,.14), transparent 68%),
			linear-gradient(135deg, #8E1F2D, #F04B37 72%, #FF6B4C) !important;
	box-shadow:
			0 12px 24px rgba(142,31,45,.28),
			inset 0 1px 0 rgba(244,239,232,.12) !important;
}

/* PD HARD RED OVERRIDE
   Kills leftover metallic scrollbars and borders from older entry-gate layers. */
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	border-color: rgba(244,239,232,.09) !important;
	outline-color: rgba(244,239,232,.09) !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll{
	scrollbar-color: rgba(240,75,55,.42) transparent !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll::-webkit-scrollbar-track,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll::-webkit-scrollbar-track{
	background: transparent !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll::-webkit-scrollbar-thumb,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll::-webkit-scrollbar-thumb{
	background: rgba(240,75,55,.46) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll::-webkit-scrollbar-thumb:hover,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll::-webkit-scrollbar-thumb:hover{
	background: rgba(255,107,76,.62) !important;
}

html body #cc-entry-gate .cc-pd-block,
html body #cc-entry-gate .cc-pd-operator,
html body #cc-entry-gate .cc-pd-chips span,
html body #cc-entry-gate .cc-pd-contact-chip{
	border-color: rgba(244,239,232,.09) !important;
	outline-color: rgba(244,239,232,.09) !important;
}

html body #cc-entry-gate .cc-pd-hero,
html body #cc-entry-gate .cc-pd-full-link,
html body #cc-entry-gate .cc-pd-check-row{
	border-color: rgba(240,75,55,.24) !important;
	outline-color: rgba(240,75,55,.24) !important;
}

/* =========================================================
   PD RED LUXE TOURNAMENT BOARD PATCH
   Final visual layer only. Fullscreen safe-area offsets stay above.
   ========================================================= */
html body #cc-entry-gate:has(#cc-eg-step-pd.active){
	--cc-pd-red-luxe: #C61F32;
	--cc-pd-red-luxe-dark: #B3142A;
	--cc-pd-red-luxe-bright: #D62839;
	--cc-pd-red-wine: #7E1322;
	--cc-pd-bg-main: #050608;
	--cc-pd-bg-deep: #0A0B0E;
	--cc-pd-surface-luxe: #17191F;
	--cc-pd-surface-luxe-2: #1D2027;
	--cc-pd-text-main: #F5F7FA;
	--cc-pd-text-secondary: #B8BEC8;
	--cc-pd-text-muted: #8C939F;
	--cc-pd-border-soft: rgba(255,255,255,.08);
	--cc-pd-border-strong: rgba(255,255,255,.12);
	--cc-pd-border-red: rgba(198,31,50,.38);

	background:
			radial-gradient(520px 260px at 50% -140px, rgba(198,31,50,.16), transparent 64%),
			linear-gradient(180deg, var(--cc-pd-bg-main), var(--cc-pd-bg-deep)) !important;
	color: var(--cc-pd-text-main) !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active)::before,
html body #cc-entry-gate:has(#cc-eg-step-pd.active)::after,
html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-shell::before,
html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-shell::after{
	display: none !important;
	content: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 22px !important;
	border: 1px solid var(--cc-pd-border-strong) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), transparent 86px),
			linear-gradient(180deg, #121419 0%, #090A0D 100%) !important;
	box-shadow:
			0 18px 34px rgba(0,0,0,.62),
			inset 0 1px 0 rgba(255,255,255,.055) !important;
	overflow: hidden !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-head{
	position: relative !important;
	padding: 16px 16px 14px !important;
	border-bottom: 1px solid rgba(214,40,57,.38) !important;
	background:
			linear-gradient(180deg, rgba(23,25,31,.98), rgba(14,15,19,.98)) !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-head::before{
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	bottom: 0 !important;
	left: 16px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.92), transparent) !important;
	opacity: 1 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-title{
	color: var(--cc-pd-text-main) !important;
	font-size: 20px !important;
	line-height: 1.14 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-sub{
	color: var(--cc-pd-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.36 !important;
	margin-top: 6px !important;
}

html body #cc-entry-gate #cc-eg-step-pd.active{
	gap: 12px !important;
	padding: 12px !important;
	overflow-x: hidden !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-step-label{
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-step-badge,
html body #cc-entry-gate #cc-eg-pd-badge{
	min-width: 0 !important;
	min-height: 28px !important;
	padding: 0 11px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(214,40,57,.52) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.12)) !important;
	color: #FF6B78 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-step-name{
	color: var(--cc-pd-text-main) !important;
	font-size: 15px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-step-desc{
	color: var(--cc-pd-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.28 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-offer-wrap{
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 18px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background:
			linear-gradient(180deg, var(--cc-pd-surface-luxe), #0C0D11) !important;
	box-shadow:
			0 10px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll{
	padding: 13px !important;
	color: var(--cc-pd-text-secondary) !important;
	background: #0B0C10 !important;
	scrollbar-color: rgba(198,31,50,.56) transparent !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll::-webkit-scrollbar-thumb,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll::-webkit-scrollbar-thumb{
	background: rgba(198,31,50,.64) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-policy{
	display: grid !important;
	gap: 11px !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero{
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	grid-template-columns: 44px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: center !important;
	padding: 14px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	background:
			linear-gradient(135deg, var(--cc-pd-red-wine) 0%, var(--cc-pd-red-luxe-dark) 48%, var(--cc-pd-red-luxe) 100%) !important;
	box-shadow:
			0 12px 24px rgba(0,0,0,.36),
			inset 0 1px 0 rgba(255,255,255,.13) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero::before{
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background:
			linear-gradient(90deg, rgba(255,255,255,.10), transparent 42%),
			repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 10px) !important;
	opacity: .42 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero > *{
	position: relative !important;
	z-index: 1 !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero-icon{
	width: 44px !important;
	height: 44px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	color: var(--cc-pd-text-main) !important;
	background:
			linear-gradient(145deg, rgba(245,247,250,.20), rgba(245,247,250,.055)),
			rgba(5,6,8,.78) !important;
	box-shadow:
			0 8px 16px rgba(0,0,0,.32),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero-title{
	color: var(--cc-pd-text-main) !important;
	font-size: 15.5px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero-sub{
	margin-top: 4px !important;
	color: rgba(245,247,250,.80) !important;
	font-size: 12.5px !important;
	line-height: 1.34 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-chips{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	max-width: 100% !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-chips span,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-contact-chip{
	min-height: 32px !important;
	max-width: 100% !important;
	padding: 0 10px !important;
	border-radius: 999px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
	color: var(--cc-pd-text-secondary) !important;
	box-shadow: none !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-chips span i,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-contact-chip i{
	color: var(--cc-pd-red-luxe-bright) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-block,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-operator{
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 13px !important;
	border-radius: 15px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
			var(--cc-pd-surface-luxe) !important;
	box-shadow:
			0 8px 16px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-block-title{
	margin-bottom: 4px !important;
	color: #FF6B78 !important;
	font-size: 11.5px !important;
	line-height: 1.2 !important;
	font-weight: 900 !important;
	letter-spacing: .04em !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-text,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list li,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-label{
	color: var(--cc-pd-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.48 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list{
	display: grid !important;
	gap: 7px !important;
	padding-left: 0 !important;
	list-style: none !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list li{
	position: relative !important;
	padding-left: 17px !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list li::before{
	content: "" !important;
	position: absolute !important;
	top: .68em !important;
	left: 2px !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 999px !important;
	background: var(--cc-pd-red-luxe-bright) !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list code{
	color: var(--cc-pd-text-main) !important;
	border: 1px solid rgba(198,31,50,.28) !important;
	background: rgba(198,31,50,.14) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-law,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-op-meta,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-op-name{
	color: var(--cc-pd-text-muted) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-full-link{
	min-height: 44px !important;
	max-width: 100% !important;
	padding: 0 13px !important;
	border-radius: 13px !important;
	justify-content: center !important;
	border: 1px solid rgba(198,31,50,.34) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.14), rgba(29,32,39,.94)) !important;
	color: var(--cc-pd-text-main) !important;
	text-decoration: none !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-inline-link,
html body #cc-entry-gate #cc-eg-step-pd .cc-pd-inline-link strong{
	color: #FF6B78 !important;
	text-decoration-color: rgba(214,40,57,.50) !important;
	border-bottom-color: rgba(214,40,57,.50) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-pd-footer{
	border-top: 1px solid var(--cc-pd-border-soft) !important;
	background: linear-gradient(180deg, #101116, #07080A) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-checks{
	gap: 8px !important;
	padding: 11px 11px 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-row{
	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 11px !important;
	min-height: 52px !important;
	max-width: 100% !important;
	padding: 12px !important;
	border-radius: 14px !important;
	border: 1px solid var(--cc-pd-border-red) !important;
	background: linear-gradient(180deg, rgba(29,32,39,.98), rgba(12,13,17,.98)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-row input[type="checkbox"]{
	width: 22px !important;
	height: 22px !important;
	margin: 1px 0 0 !important;
	border-radius: 6px !important;
	border: 2px solid rgba(214,40,57,.70) !important;
	background: #07080A !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: #FF6B78 !important;
	background: linear-gradient(135deg, var(--cc-pd-red-wine), var(--cc-pd-red-luxe-bright)) !important;
	box-shadow:
			0 0 0 3px rgba(198,31,50,.14),
			inset 0 1px 0 rgba(255,255,255,.13) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-row input[type="checkbox"]:checked::after{
	border-color: var(--cc-pd-text-main) !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-label strong{
	color: #FF6B78 !important;
}

html body #cc-entry-gate #cc-eg-step-pd .cc-eg-pd-btn-row{
	padding: 12px !important;
	padding-bottom: max(12px, min(22px, var(--cc-eg-inset-bottom, var(--safe-b, 0px)))) !important;
}

html body #cc-entry-gate #cc-eg-step-pd #cc-eg-accept-pd.cc-eg-btn.primary{
	position: relative !important;
	overflow: hidden !important;
	min-height: 48px !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	color: var(--cc-pd-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.12), transparent 45%),
			linear-gradient(135deg, var(--cc-pd-red-wine), var(--cc-pd-red-luxe-dark) 44%, var(--cc-pd-red-luxe-bright)) !important;
	box-shadow:
			0 12px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-pd #cc-eg-accept-pd.cc-eg-btn.primary::before{
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: -42% !important;
	width: 42% !important;
	pointer-events: none !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent) !important;
	transform: skewX(-18deg) !important;
}

html body #cc-entry-gate #cc-eg-step-pd #cc-eg-accept-pd.cc-eg-btn.primary:not(:disabled):hover::before{
	left: 112% !important;
	transition: left .42s ease-out !important;
}

html body #cc-entry-gate #cc-eg-step-pd #cc-eg-accept-pd.cc-eg-btn.primary:disabled{
	opacity: .68 !important;
	color: rgba(245,247,250,.76) !important;
	border-color: rgba(198,31,50,.22) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.16)),
			#15171D !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	filter: none !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-shell{
		border-radius: 20px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-head{
		padding: 14px 13px 12px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-title{
		font-size: 19px !important;
	}

	html body #cc-entry-gate #cc-eg-step-pd.active{
		padding: 10px !important;
	}

	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero{
		grid-template-columns: 40px minmax(0, 1fr) !important;
		padding: 12px !important;
	}

	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-hero-icon{
		width: 40px !important;
		height: 40px !important;
	}
}

@media (max-width: 375px){
	html body #cc-entry-gate:has(#cc-eg-step-pd.active) .cc-eg-title{
		font-size: 18px !important;
	}

	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-text,
	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-list li,
	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-label{
		font-size: 12.5px !important;
	}

	html body #cc-entry-gate #cc-eg-step-pd .cc-pd-check-row{
		grid-template-columns: 22px minmax(0, 1fr) !important;
		gap: 10px !important;
		padding: 11px !important;
	}
}

/* =========================================================
   TERMS RED LUXE TOURNAMENT BOARD PATCH
   Matches the PD consent board without changing document logic.
   ========================================================= */
html body #cc-entry-gate:has(#cc-eg-step-terms.active){
	--cc-terms-red-luxe: #C61F32;
	--cc-terms-red-luxe-dark: #B3142A;
	--cc-terms-red-luxe-bright: #D62839;
	--cc-terms-red-wine: #7E1322;
	--cc-terms-bg-main: #050608;
	--cc-terms-bg-deep: #0A0B0E;
	--cc-terms-surface: #17191F;
	--cc-terms-surface-2: #1D2027;
	--cc-terms-text-main: #F5F7FA;
	--cc-terms-text-secondary: #B8BEC8;
	--cc-terms-text-muted: #8C939F;
	--cc-terms-border-soft: rgba(255,255,255,.08);
	--cc-terms-border-strong: rgba(255,255,255,.12);
	--cc-terms-border-red: rgba(198,31,50,.38);

	background:
			radial-gradient(520px 260px at 50% -140px, rgba(198,31,50,.16), transparent 64%),
			linear-gradient(180deg, var(--cc-terms-bg-main), var(--cc-terms-bg-deep)) !important;
	color: var(--cc-terms-text-main) !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active)::before,
html body #cc-entry-gate:has(#cc-eg-step-terms.active)::after,
html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-shell::before,
html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-shell::after{
	display: none !important;
	content: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 22px !important;
	border: 1px solid var(--cc-terms-border-strong) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), transparent 86px),
			linear-gradient(180deg, #121419 0%, #090A0D 100%) !important;
	box-shadow:
			0 18px 34px rgba(0,0,0,.62),
			inset 0 1px 0 rgba(255,255,255,.055) !important;
	overflow: hidden !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-head{
	position: relative !important;
	padding: 16px 16px 14px !important;
	border-bottom: 1px solid rgba(214,40,57,.38) !important;
	background:
			linear-gradient(180deg, rgba(23,25,31,.98), rgba(14,15,19,.98)) !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-head::before{
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	bottom: 0 !important;
	left: 16px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.92), transparent) !important;
	opacity: 1 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-title{
	color: var(--cc-terms-text-main) !important;
	font-size: 20px !important;
	line-height: 1.14 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-sub{
	color: var(--cc-terms-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.36 !important;
	margin-top: 6px !important;
}

html body #cc-entry-gate #cc-eg-step-terms.active{
	gap: 12px !important;
	padding: 12px !important;
	overflow-x: hidden !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-step-label{
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-step-badge,
html body #cc-entry-gate #cc-eg-terms-badge{
	min-width: 0 !important;
	min-height: 28px !important;
	padding: 0 11px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(214,40,57,.52) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.12)) !important;
	color: #FF6B78 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-step-name{
	color: var(--cc-terms-text-main) !important;
	font-size: 15px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-step-desc{
	color: var(--cc-terms-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.28 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-offer-wrap{
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 18px !important;
	border: 1px solid var(--cc-terms-border-soft) !important;
	background:
			linear-gradient(180deg, var(--cc-terms-surface), #0C0D11) !important;
	box-shadow:
			0 10px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-offer-toolbar{
	grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
	gap: 8px !important;
	padding: 11px !important;
	border-bottom: 1px solid var(--cc-terms-border-soft) !important;
	background:
			linear-gradient(180deg, rgba(29,32,39,.94), rgba(12,13,17,.98)) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-offer-toolbar .meta{
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	color: var(--cc-terms-text-secondary) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-open-offer-doc.cc-eg-btn.ghost{
	min-width: 0 !important;
	min-height: 40px !important;
	padding: 0 12px !important;
	border: 1px solid rgba(198,31,50,.34) !important;
	border-radius: 12px !important;
	background: linear-gradient(180deg, rgba(198,31,50,.14), rgba(29,32,39,.94)) !important;
	color: var(--cc-terms-text-main) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-offer-scroll,
html body #cc-entry-gate #cc-eg-step-terms #cc-eg-offer-scroll{
	padding: 13px !important;
	color: var(--cc-terms-text-secondary) !important;
	background: #0B0C10 !important;
	scrollbar-color: rgba(198,31,50,.56) transparent !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-offer-scroll::-webkit-scrollbar-thumb,
html body #cc-entry-gate #cc-eg-step-terms #cc-eg-offer-scroll::-webkit-scrollbar-thumb{
	background: rgba(198,31,50,.64) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose *{
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	color: var(--cc-terms-text-secondary) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose{
	font-size: 13px !important;
	line-height: 1.52 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h1,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h2,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h3,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h4{
	color: var(--cc-terms-text-main) !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h1{
	margin: 0 0 10px !important;
	font-size: 18px !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h2{
	margin: 15px 0 8px !important;
	font-size: 15.5px !important;
	color: #FF6B78 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h3,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose h4{
	margin: 13px 0 7px !important;
	font-size: 14px !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose p{
	margin: 0 0 9px !important;
	color: var(--cc-terms-text-secondary) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose strong{
	color: var(--cc-terms-text-main) !important;
	font-weight: 900 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose a{
	color: #FF6B78 !important;
	text-decoration-color: rgba(214,40,57,.50) !important;
	border-bottom-color: rgba(214,40,57,.50) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose ul,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose ol{
	display: grid !important;
	gap: 7px !important;
	margin: 8px 0 12px !important;
	padding-left: 0 !important;
	list-style: none !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose li{
	position: relative !important;
	margin: 0 !important;
	padding-left: 17px !important;
	color: var(--cc-terms-text-secondary) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose li::before{
	content: "" !important;
	position: absolute !important;
	top: .72em !important;
	left: 2px !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 999px !important;
	background: var(--cc-terms-red-luxe-bright) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose blockquote,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose table{
	max-width: 100% !important;
	border: 1px solid var(--cc-terms-border-soft) !important;
	border-radius: 14px !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
			var(--cc-terms-surface) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose blockquote{
	margin: 10px 0 !important;
	padding: 12px !important;
	color: var(--cc-terms-text-secondary) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose table{
	width: 100% !important;
	table-layout: fixed !important;
	overflow: hidden !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose th,
html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose td{
	border-color: var(--cc-terms-border-soft) !important;
	color: var(--cc-terms-text-secondary) !important;
	background: transparent !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-footer{
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 8px !important;
	padding: 11px !important;
	padding-bottom: max(12px, min(22px, var(--cc-eg-inset-bottom, var(--safe-b, 0px)))) !important;
	border-top: 1px solid var(--cc-terms-border-soft) !important;
	background: linear-gradient(180deg, #101116, #07080A) !important;
}

html body #cc-entry-gate #cc-eg-step-terms .cc-eg-footer .grow{
	grid-column: 1 / -1 !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-scroll-hint{
	color: var(--cc-terms-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-auto-scroll.cc-eg-btn.ghost,
html body #cc-entry-gate #cc-eg-step-terms #cc-eg-accept-terms.cc-eg-btn.primary{
	min-width: 0 !important;
	min-height: 48px !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 14px !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-auto-scroll.cc-eg-btn.ghost{
	border: 1px solid var(--cc-terms-border-soft) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
	color: var(--cc-terms-text-secondary) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-accept-terms.cc-eg-btn.primary{
	border: 1px solid rgba(255,255,255,.12) !important;
	color: var(--cc-terms-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.12), transparent 45%),
			linear-gradient(135deg, var(--cc-terms-red-wine), var(--cc-terms-red-luxe-dark) 44%, var(--cc-terms-red-luxe-bright)) !important;
	box-shadow:
			0 12px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
}

html body #cc-entry-gate #cc-eg-step-terms #cc-eg-accept-terms.cc-eg-btn.primary:disabled{
	opacity: .68 !important;
	color: rgba(245,247,250,.76) !important;
	border-color: rgba(198,31,50,.22) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.16)),
			#15171D !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	filter: none !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-shell{
		border-radius: 20px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-head{
		padding: 14px 13px 12px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-title{
		font-size: 19px !important;
	}

	html body #cc-entry-gate #cc-eg-step-terms.active{
		padding: 10px !important;
	}

	html body #cc-entry-gate #cc-eg-step-terms .cc-offer-toolbar{
		grid-template-columns: minmax(0, 1fr) minmax(88px, auto) !important;
		padding: 10px !important;
	}
}

@media (max-width: 390px){
	html body #cc-entry-gate #cc-eg-step-terms .cc-eg-footer{
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 375px){
	html body #cc-entry-gate:has(#cc-eg-step-terms.active) .cc-eg-title{
		font-size: 18px !important;
	}

	html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose,
	html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose p,
	html body #cc-entry-gate #cc-eg-step-terms .cc-doc-prose li{
		font-size: 12.5px !important;
	}

	html body #cc-entry-gate #cc-eg-step-terms .cc-offer-toolbar{
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* =========================================================
   NICK RED LUXE TOURNAMENT BOARD PATCH
   Matches PD and Terms visual language without changing input logic.
   ========================================================= */
html body #cc-entry-gate:has(#cc-eg-step-nick.active){
	--cc-nick-red-luxe: #C61F32;
	--cc-nick-red-luxe-dark: #B3142A;
	--cc-nick-red-luxe-bright: #D62839;
	--cc-nick-red-wine: #7E1322;
	--cc-nick-bg-main: #050608;
	--cc-nick-bg-deep: #0A0B0E;
	--cc-nick-surface: #17191F;
	--cc-nick-surface-2: #1D2027;
	--cc-nick-text-main: #F5F7FA;
	--cc-nick-text-secondary: #B8BEC8;
	--cc-nick-text-muted: #8C939F;
	--cc-nick-border-soft: rgba(255,255,255,.08);
	--cc-nick-border-strong: rgba(255,255,255,.12);
	--cc-nick-border-red: rgba(198,31,50,.38);

	background:
			radial-gradient(520px 260px at 50% -140px, rgba(198,31,50,.16), transparent 64%),
			linear-gradient(180deg, var(--cc-nick-bg-main), var(--cc-nick-bg-deep)) !important;
	color: var(--cc-nick-text-main) !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active)::before,
html body #cc-entry-gate:has(#cc-eg-step-nick.active)::after,
html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-shell::before,
html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-shell::after{
	display: none !important;
	content: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 22px !important;
	border: 1px solid var(--cc-nick-border-strong) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), transparent 86px),
			linear-gradient(180deg, #121419 0%, #090A0D 100%) !important;
	box-shadow:
			0 18px 34px rgba(0,0,0,.62),
			inset 0 1px 0 rgba(255,255,255,.055) !important;
	overflow: hidden !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-head{
	position: relative !important;
	padding: 16px 16px 14px !important;
	border-bottom: 1px solid rgba(214,40,57,.38) !important;
	background:
			linear-gradient(180deg, rgba(23,25,31,.98), rgba(14,15,19,.98)) !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-head::before{
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	bottom: 0 !important;
	left: 16px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.92), transparent) !important;
	opacity: 1 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-title{
	color: var(--cc-nick-text-main) !important;
	font-size: 20px !important;
	line-height: 1.14 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-sub{
	color: var(--cc-nick-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.36 !important;
	margin-top: 6px !important;
}

html body #cc-entry-gate #cc-eg-step-nick.active{
	gap: 12px !important;
	padding: 12px !important;
	padding-bottom: max(12px, min(22px, var(--cc-eg-inset-bottom, var(--safe-b, 0px)))) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-step-label{
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-step-badge,
html body #cc-entry-gate #cc-eg-nick-badge{
	min-width: 0 !important;
	min-height: 28px !important;
	padding: 0 11px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(214,40,57,.52) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.12)) !important;
	color: #FF6B78 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-step-name{
	color: var(--cc-nick-text-main) !important;
	font-size: 15px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-step-desc{
	color: var(--cc-nick-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.28 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-box{
	display: grid !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 14px !important;
	border-radius: 18px !important;
	border: 1px solid var(--cc-nick-border-soft) !important;
	background:
			linear-gradient(180deg, var(--cc-nick-surface), #0C0D11) !important;
	box-shadow:
			0 10px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-field{
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input{
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 56px !important;
	height: auto !important;
	padding: 0 56px 0 15px !important;
	border-radius: 15px !important;
	border: 1px solid var(--cc-nick-border-red) !important;
	outline: none !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
			#0B0C10 !important;
	color: var(--cc-nick-text-main) !important;
	caret-color: #FF6B78 !important;
	box-shadow:
			inset 0 1px 0 rgba(255,255,255,.055),
			0 8px 16px rgba(0,0,0,.24) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input::placeholder{
	color: rgba(184,190,200,.54) !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input:hover,
html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input:focus{
	border-color: rgba(214,40,57,.70) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.08), rgba(255,255,255,.018)),
			#0B0C10 !important;
	box-shadow:
			0 0 0 3px rgba(198,31,50,.14),
			0 10px 18px rgba(0,0,0,.28),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input.valid{
	border-color: rgba(214,40,57,.74) !important;
	box-shadow:
			0 0 0 3px rgba(198,31,50,.13),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-counter{
	right: 14px !important;
	color: var(--cc-nick-text-muted) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-counter.warn{
	color: #FF6B78 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-preview{
	min-height: 52px !important;
	max-width: 100% !important;
	padding: 12px !important;
	border-radius: 14px !important;
	border: 1px solid var(--cc-nick-border-soft) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
			var(--cc-nick-surface-2) !important;
	color: var(--cc-nick-text-secondary) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-preview strong,
html body #cc-entry-gate #cc-eg-step-nick #cc-eg-nick-preview-text{
	color: var(--cc-nick-text-main) !important;
	font-weight: 900 !important;
	overflow-wrap: anywhere !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-preview .check{
	color: #FF6B78 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-actions{
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(128px, auto) !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-actions > span{
	min-width: 0 !important;
	max-width: 100% !important;
	color: var(--cc-nick-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	overflow-wrap: anywhere !important;
}

html body #cc-entry-gate #cc-eg-step-nick #cc-eg-save-nick.cc-eg-btn.primary{
	min-width: 0 !important;
	min-height: 48px !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	color: var(--cc-nick-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.12), transparent 45%),
			linear-gradient(135deg, var(--cc-nick-red-wine), var(--cc-nick-red-luxe-dark) 44%, var(--cc-nick-red-luxe-bright)) !important;
	box-shadow:
			0 12px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-nick #cc-eg-save-nick.cc-eg-btn.primary:disabled{
	opacity: .68 !important;
	color: rgba(245,247,250,.76) !important;
	border-color: rgba(198,31,50,.22) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.16)),
			#15171D !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	filter: none !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-shell{
		border-radius: 20px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-head{
		padding: 14px 13px 12px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-title{
		font-size: 19px !important;
	}

	html body #cc-entry-gate #cc-eg-step-nick.active{
		padding: 10px !important;
	}

	html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-box{
		padding: 12px !important;
	}
}

@media (max-width: 390px){
	html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-actions{
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 375px){
	html body #cc-entry-gate:has(#cc-eg-step-nick.active) .cc-eg-title{
		font-size: 18px !important;
	}

	html body #cc-entry-gate #cc-eg-step-nick .cc-eg-nick-input{
		font-size: 16px !important;
	}
}

/* =========================================================
   COACH RED LUXE TOURNAMENT BOARD PATCH
   ========================================================= */
html body{
	--cc-coach-red-luxe: #C61F32;
	--cc-coach-red-luxe-dark: #B3142A;
	--cc-coach-red-luxe-bright: #D62839;
	--cc-coach-red-wine: #7E1322;
	--cc-coach-bg-main: #050608;
	--cc-coach-bg-deep: #0A0B0E;
	--cc-coach-surface: #17191F;
	--cc-coach-surface-2: #1D2027;
	--cc-coach-text-main: #F5F7FA;
	--cc-coach-text-secondary: #B8BEC8;
	--cc-coach-text-muted: #8C939F;
	--cc-coach-border-soft: rgba(255,255,255,.08);
	--cc-coach-border-strong: rgba(255,255,255,.12);
	--cc-coach-border-red: rgba(198,31,50,.38);
}

html body #cc-coach-overlay{
	background:
			radial-gradient(
					circle var(--cc-spot-r, 120px) at var(--cc-spot-x, 50%) var(--cc-spot-y, 34%),
					rgba(0,0,0,0) 0%,
					rgba(0,0,0,0) 58%,
					rgba(5,6,8,.50) 74%,
					rgba(5,6,8,.86) 100%
			),
			radial-gradient(680px 320px at 50% -12%, rgba(198,31,50,.12), transparent 64%),
			rgba(5,6,8,.72) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body #cc-coach-overlay.active{
	display: block !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

html body .cc-coach-panel{
	width: min(386px, calc(100% - max(24px, calc(var(--tg-content-safe-area-inset-left, var(--safe-l, 0px)) + var(--tg-content-safe-area-inset-right, var(--safe-r, 0px)) + 24px)))) !important;
	max-width: calc(100% - max(24px, calc(var(--tg-content-safe-area-inset-left, var(--safe-l, 0px)) + var(--tg-content-safe-area-inset-right, var(--safe-r, 0px)) + 24px))) !important;
	max-height: calc(var(--tg-viewport-stable-height, 100dvh) - max(24px, calc(var(--tg-content-safe-area-inset-top, var(--safe-t, 0px)) + var(--tg-content-safe-area-inset-bottom, var(--safe-b, 0px)) + 24px))) !important;
	min-width: 0 !important;
	padding: 14px !important;
	border-radius: 18px !important;
	border: 1px solid var(--cc-coach-border-strong) !important;
	color: var(--cc-coach-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 42%),
			linear-gradient(135deg, rgba(198,31,50,.13), rgba(10,11,14,0) 46%),
			var(--cc-coach-surface) !important;
	box-shadow:
			0 16px 30px rgba(0,0,0,.48),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
	box-sizing: border-box !important;
	overflow-y: auto !important;
	scrollbar-width: thin;
	scrollbar-color: rgba(198,31,50,.72) rgba(255,255,255,.07);
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body .cc-coach-panel::-webkit-scrollbar{
	width: 6px;
}

html body .cc-coach-panel::-webkit-scrollbar-track{
	background: rgba(255,255,255,.06);
	border-radius: 999px;
}

html body .cc-coach-panel::-webkit-scrollbar-thumb{
	border-radius: 999px;
	background: linear-gradient(180deg, var(--cc-coach-red-luxe-bright), var(--cc-coach-red-luxe-dark));
}

html body .cc-coach-panel.active{
	opacity: 1 !important;
	transform: translateY(0) scale(1) !important;
}

html body .cc-coach-panel::after{
	content: "" !important;
	display: block !important;
	position: absolute !important;
	width: 14px !important;
	height: 14px !important;
	left: calc(var(--cc-coach-arrow-x, 42px) - 7px) !important;
	background: var(--cc-coach-surface) !important;
	border-left: 1px solid var(--cc-coach-border-strong) !important;
	border-top: 1px solid var(--cc-coach-border-strong) !important;
	box-shadow: none !important;
	filter: none !important;
}

html body .cc-coach-panel[data-side="bottom"]::after{
	top: -8px !important;
	bottom: auto !important;
	transform: rotate(45deg) !important;
}

html body .cc-coach-panel[data-side="top"]::after{
	top: auto !important;
	bottom: -8px !important;
	transform: rotate(225deg) !important;
}

html body .cc-coach-head{
	display: grid !important;
	grid-template-columns: auto minmax(80px, 1fr) !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 0 11px !important;
	min-width: 0 !important;
}

html body .cc-coach-step-badge{
	min-height: 28px !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	border: 1px solid var(--cc-coach-border-red) !important;
	color: #F07A84 !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.16), rgba(126,19,34,.13)),
			var(--cc-coach-bg-deep) !important;
	font-size: 12px !important;
	line-height: 1 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html body .cc-coach-progress{
	width: 100% !important;
	min-width: 0 !important;
	height: 8px !important;
	border-radius: 999px !important;
	border: 1px solid var(--cc-coach-border-soft) !important;
	background: var(--cc-coach-bg-deep) !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.45) !important;
	overflow: hidden !important;
}

html body .cc-coach-progress > span,
html body #cc-coach-progress-fill{
	display: block !important;
	height: 100% !important;
	border-radius: inherit !important;
	background: linear-gradient(90deg, var(--cc-coach-red-wine), var(--cc-coach-red-luxe), var(--cc-coach-red-luxe-bright)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
	filter: none !important;
}

html body .cc-coach-panel h4,
html body #cc-coach-title{
	margin: 0 0 7px !important;
	color: var(--cc-coach-text-main) !important;
	font-size: 18px !important;
	line-height: 1.22 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .cc-coach-panel p,
html body #cc-coach-text{
	margin: 0 !important;
	max-width: 68ch !important;
	color: var(--cc-coach-text-secondary) !important;
	font-size: 14px !important;
	line-height: 1.48 !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

html body .cc-coach-actions{
	display: grid !important;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) !important;
	gap: 8px !important;
	margin-top: 14px !important;
	min-width: 0 !important;
}

html body .cc-coach-actions .cc-eg-btn{
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	min-height: 48px !important;
	height: auto !important;
	padding: 11px 12px !important;
	border-radius: 14px !important;
	font-size: 14px !important;
	line-height: 1.15 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	box-sizing: border-box !important;
}

html body .cc-coach-actions #cc-coach-next.cc-eg-btn.primary{
	border: 1px solid rgba(255,255,255,.12) !important;
	color: var(--cc-coach-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.13), transparent 46%),
			linear-gradient(135deg, var(--cc-coach-red-wine), var(--cc-coach-red-luxe-dark) 45%, var(--cc-coach-red-luxe-bright)) !important;
	box-shadow:
			0 12px 20px rgba(0,0,0,.40),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
	text-shadow: none !important;
}

html body .cc-coach-actions #cc-coach-skip.cc-eg-btn.ghost{
	border: 1px solid var(--cc-coach-border-soft) !important;
	color: var(--cc-coach-text-secondary) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	text-shadow: none !important;
}

html body .cc-coach-actions #cc-coach-next.cc-eg-btn.primary:focus-visible,
html body .cc-coach-actions #cc-coach-skip.cc-eg-btn.ghost:focus-visible{
	outline: 2px solid rgba(214,40,57,.62) !important;
	outline-offset: 2px !important;
}

html body .cc-coach-actions #cc-coach-next.cc-eg-btn.primary:disabled,
html body .cc-coach-actions #cc-coach-skip.cc-eg-btn.ghost:disabled{
	opacity: .66 !important;
	filter: none !important;
}

html body .cc-coach-target{
	z-index: 10025 !important;
	outline: 2px solid rgba(214,40,57,.92) !important;
	outline-offset: 5px !important;
	border-radius: 16px !important;
	box-shadow:
			0 0 0 5px rgba(198,31,50,.16),
			0 12px 28px rgba(0,0,0,.38) !important;
	filter: saturate(1.04) brightness(1.05) !important;
	animation: none !important;
}

html body .bottom-nav:has(.cc-coach-target),
html body .bn-wrap:has(.cc-coach-target),
html body .bottom-navigation:has(.cc-coach-target),
html body .mobile-bottom-nav:has(.cc-coach-target),
html body .bottom-nav.cc-coach-target,
html body .bn-wrap.cc-coach-target,
html body .bottom-navigation.cc-coach-target,
html body .mobile-bottom-nav.cc-coach-target{
	z-index: 10026 !important;
}

html body .bottom-nav .bn-item.cc-coach-target{
	color: var(--cc-coach-text-main) !important;
	border-color: rgba(198,31,50,.48) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.20), rgba(126,19,34,.18)),
			var(--cc-coach-surface-2) !important;
	box-shadow:
			0 0 0 5px rgba(198,31,50,.14),
			0 10px 22px rgba(0,0,0,.34) !important;
}

@media (max-width: 430px){
	html body .cc-coach-panel{
		width: calc(100% - max(20px, calc(var(--tg-content-safe-area-inset-left, var(--safe-l, 0px)) + var(--tg-content-safe-area-inset-right, var(--safe-r, 0px)) + 20px))) !important;
		max-width: calc(100% - max(20px, calc(var(--tg-content-safe-area-inset-left, var(--safe-l, 0px)) + var(--tg-content-safe-area-inset-right, var(--safe-r, 0px)) + 20px))) !important;
		padding: 13px !important;
		border-radius: 17px !important;
	}

	html body .cc-coach-panel h4,
	html body #cc-coach-title{
		font-size: 17px !important;
	}

	html body .cc-coach-panel p,
	html body #cc-coach-text{
		font-size: 13.5px !important;
	}
}

@media (max-width: 390px){
	html body .cc-coach-head{
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px !important;
	}

	html body .cc-coach-progress{
		min-width: 0 !important;
	}

	html body .cc-coach-actions{
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (max-width: 375px){
	html body .cc-coach-panel{
		padding: 12px !important;
	}

	html body .cc-coach-step-badge{
		width: fit-content !important;
		max-width: 100% !important;
	}
}

/* =========================================================
   HEADER — RED LUXE PD-STYLE VISUAL PATCH
   Сепаратор и фон aligned с .cc-pd-hero / .cc-pd-check-row.
   Золотые hover-border у icon-btn заменены на red luxe.
   Layout/padding/position не тронуты.
   ========================================================= */

.header{
	border-bottom-color: rgba(198,31,50,.26) !important;
	background:
		radial-gradient(560px 240px at 92% 0%, rgba(240,75,55,.13), transparent 64%),
		radial-gradient(360px 180px at 0% 110%, rgba(142,31,45,.10), transparent 60%),
		linear-gradient(180deg, rgba(17,22,29,.97), rgba(10,14,19,.98)) !important;
	box-shadow:
		0 10px 24px rgba(0,0,0,.30),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Кнопка "О клубе" и другие icon-btn: red luxe hover вместо золота */
.icon-btn:hover{
	border-color: rgba(198,31,50,.34) !important;
}

#open-club-info.icon-btn--with-text:hover{
	border-color: rgba(198,31,50,.34) !important;
}

/* =========================================================
   CC-RATING-GOALS-MODAL — RED LUXE PD-STYLE VISUAL PATCH
   Убрать gold/purple/green/glassmorphism → red luxe graphite.
   Hierarchy: current=red, next=subtle white, reached=muted.
   Layout, safe-area, анимации не тронуты.
   ========================================================= */

/* Backdrop: убрать gold radial + glassmorphism */
#cc-rating-goals-modal{
	background:
		radial-gradient(740px 380px at 50% -8%, rgba(240,75,55,.14), transparent 62%),
		radial-gradient(400px 240px at 0% 110%, rgba(142,31,45,.10), transparent 58%),
		rgba(5,7,10,.88) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Dialog: red-tinted border, clean white inset */
#cc-rating-goals-modal .cc-rg-dialog,
#cc-rating-goals-modal .modal-content.club-info-modal-content.cc-rg-dialog{
	border-color: rgba(198,31,50,.26) !important;
	box-shadow:
		0 26px 78px rgba(0,0,0,.60),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Head: red border separator, no blur */
#cc-rating-goals-modal .cc-rg-head,
#cc-rating-goals-modal .modal-header--sticky.club-info-modal-header.cc-rg-head{
	border-bottom-color: rgba(198,31,50,.22) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Title icon: убрать gold bg/border → red micro-accent */
#cc-rating-goals-modal .cc-rg-title i{
	color: #F5F7FA !important;
	background: rgba(198,31,50,.14) !important;
	border-color: rgba(198,31,50,.24) !important;
}

/* Close button hover: red */
#cc-rating-goals-modal .cc-rg-close:hover{
	border-color: rgba(198,31,50,.34) !important;
	background: rgba(198,31,50,.09) !important;
}

/* Hero label: gold → secondary muted */
.cc-rg-hero-label{
	color: #B8BEC8 !important;
}

/* Level status badge default: purple → white */
.cc-level-status{
	color: #F5F7FA !important;
}

/* "Reached" icon: green → muted (already done = dim) */
.cc-level-row.is-reached .cc-level-icon-wrap{
	color: rgba(255,255,255,.48) !important;
	background: rgba(255,255,255,.05) !important;
}

/* "Next level" row: gold → subtle white accent */
.cc-level-row.is-next{
	border-color: rgba(255,255,255,.13) !important;
	background: linear-gradient(90deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
}
.cc-level-row.is-next .cc-level-icon-wrap{
	color: rgba(255,255,255,.80) !important;
	background: rgba(255,255,255,.08) !important;
}
.cc-level-row.is-next .cc-level-status{
	color: #F5F7FA !important;
	background: rgba(255,255,255,.07) !important;
	border-color: rgba(255,255,255,.13) !important;
}
.cc-level-row.is-next .cc-level-pts{
	color: #B8BEC8 !important;
}

/* =========================================================
   TOURNAMENT MODAL — RED LUXE PD-STYLE VISUAL PATCH
   Убрать gold/rainbow/glassmorphism. Всё → red luxe graphite.
   Семантика статусов (green=зарегистрирован, amber=лист ожидания)
   сохранена — это функциональные цвета.
   Layout, анимации, safe-area не тронуты.
   ========================================================= */

/* Backdrop: убрать gold radial + glassmorphism */
#tournament-modal.modal{
	background:
		radial-gradient(900px 480px at 50% -12%, rgba(240,75,55,.12), transparent 60%),
		radial-gradient(600px 360px at 0% 110%, rgba(142,31,45,.14), transparent 62%),
		rgba(5,7,10,.86) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Modal content: red-tinted border, clean white inset, убрать gold radial */
#tournament-modal .modal-content{
	border-color: rgba(198,31,50,.26) !important;
	background:
		radial-gradient(560px 220px at 100% 0%, rgba(240,75,55,.13), transparent 62%),
		linear-gradient(180deg, rgba(17,22,29,.99), rgba(8,10,14,.99)) !important;
	box-shadow:
		0 28px 80px rgba(0,0,0,.60),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Header: red border-bottom, no blur */
#tournament-modal .modal-header,
#tournament-modal .tm-head{
	border-bottom-color: rgba(198,31,50,.22) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	background: linear-gradient(180deg, rgba(17,22,29,.98), rgba(12,16,22,.96)) !important;
}

/* Header decorative line: pure red, remove gold */
#tournament-modal .modal-header::after{
	background: linear-gradient(90deg, transparent, rgba(198,31,50,.72), rgba(240,75,55,.56), transparent) !important;
	opacity: .9 !important;
}

/* Close button: red hover */
#tournament-modal .close-btn{
	border-color: rgba(255,255,255,.10) !important;
}
#tournament-modal .close-btn:hover{
	border-color: rgba(198,31,50,.34) !important;
	background: rgba(198,31,50,.09) !important;
}

/* tm-tile / detail data rows: cool gray → red-tinted */
.tm-tile,
.tm-section{
	border-color: rgba(198,31,50,.16) !important;
	background: linear-gradient(180deg, rgba(22,25,32,.92), rgba(12,14,19,.92)) !important;
}

/* Participant rows */
.tm-li,
#tournament-modal .participant-item{
	border-color: rgba(255,255,255,.07) !important;
	background: rgba(22,25,32,.70) !important;
}

/* CTA block */
#tournament-modal .tm-cta{
	border-color: rgba(198,31,50,.22) !important;
	background: rgba(10,12,16,.94) !important;
}

/* CTA top decorative line: remove gold */
#tournament-modal .tm-cta::before{
	background: linear-gradient(90deg, transparent, rgba(198,31,50,.60), rgba(240,75,55,.46), transparent) !important;
}

/* Legacy detail sections: rainbow → red luxe graphite */
#tournament-modal .detail-section > div{
	border-color: rgba(198,31,50,.16) !important;
	background: rgba(22,25,32,.72) !important;
}
#tournament-modal .detail-section:hover > div{
	border-color: rgba(198,31,50,.28) !important;
	background: rgba(29,32,39,.80) !important;
}

/* Section accent icons/labels — neutralise rainbow, keep subtle */
#tournament-modal .detail-section h4{
	color: #8C939F !important;
}
#tournament-modal .detail-section:nth-child(1) > div > div:first-child,
#tournament-modal .detail-section:nth-child(2) > div > div:first-child,
#tournament-modal .detail-section:nth-child(3) > div > div:first-child,
#tournament-modal .detail-section:nth-child(4) > div > div:first-child,
#tournament-modal .detail-section:nth-child(5) > div > div:first-child,
#tournament-modal .detail-section:nth-child(6) > div > div:first-child,
#tournament-modal .detail-section:nth-child(7) > div > div:first-child{
	background: linear-gradient(135deg, rgba(198,31,50,.18), rgba(142,31,45,.12)) !important;
	border-color: rgba(198,31,50,.22) !important;
}
#tournament-modal .detail-section:nth-child(1) h4,
#tournament-modal .detail-section:nth-child(2) h4,
#tournament-modal .detail-section:nth-child(3) h4,
#tournament-modal .detail-section:nth-child(4) h4,
#tournament-modal .detail-section:nth-child(5) h4,
#tournament-modal .detail-section:nth-child(6) h4,
#tournament-modal .detail-section:nth-child(7) h4{
	color: #8C939F !important;
}

/* =========================================================
   HERO LEVEL CARD + CARDS (LIST-PAD) — RED LUXE PD-STYLE PATCH
   hero-level-card: убрать gold border/hover/focus → red luxe.
   .card/.tournament-card: убрать ivory border/inset → red luxe.
   Фон, layout, типографика не тронуты.
   ========================================================= */

/* Hero card: red border instead of gold, stronger inset */
.hero-level-card{
	border-color: rgba(198,31,50,.24) !important;
	box-shadow:
		0 12px 28px rgba(0,0,0,.28),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.hero-level-card:hover{
	border-color: rgba(198,31,50,.40) !important;
	box-shadow:
		0 16px 34px rgba(0,0,0,.32),
		inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.hero-level-card:focus-visible{
	outline-color: rgba(198,31,50,.72) !important;
}

/* Progress bar track: subtle red border instead of cool gray */
.hero-level-progress-bar{
	border-color: rgba(198,31,50,.18) !important;
}

/* Cards in list-pad: red-tinted border, clean white inset */
.card,
.card-quiet,
.settings-item,
.game-history-item,
.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.empty-state{
	border-color: rgba(198,31,50,.18) !important;
	box-shadow:
		0 14px 32px rgba(0,0,0,.28),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.card:hover,
.tournament-card:hover{
	border-color: rgba(198,31,50,.34) !important;
	box-shadow:
		0 16px 38px rgba(0,0,0,.32),
		inset 0 1px 0 rgba(255,255,255,.09) !important;
}

/* =========================================================
   CLUB INFO MODAL — RED LUXE PD-STYLE VISUAL PATCH
   Убрать ivory/gold цвета, выровнять по стилю .cc-pd-hero /
   .cc-pd-check-row. Только цвет/фон/тень. Layout не тронут.
   ========================================================= */

/* Modal content: red-tinted border, clean white inset */
#club-info-modal .modal-content.club-info-modal-content{
	border-color: rgba(198,31,50,.24) !important;
	background:
		radial-gradient(560px 220px at 100% 0%, rgba(240,75,55,.13), transparent 62%),
		linear-gradient(180deg, rgba(17,22,29,.99), rgba(8,10,14,.99)) !important;
	box-shadow:
		0 26px 78px rgba(0,0,0,.60),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Sticky header: red separator, no blur */
#club-info-modal .modal-header--sticky.club-info-modal-header{
	border-bottom-color: rgba(198,31,50,.22) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Header decorative line: pure red, remove gold */
#club-info-modal .modal-header--sticky.club-info-modal-header::after{
	background: linear-gradient(90deg, transparent, rgba(198,31,50,.72), transparent) !important;
}

/* Close button hover: red instead of gold */
#club-info-modal .close-btn:hover{
	border-color: rgba(198,31,50,.32) !important;
	background: rgba(198,31,50,.08) !important;
}

/* Hero section: dark graphite base (как .cc-pd-hero) */
.club-info-hero{
	border-color: rgba(198,31,50,.20) !important;
	background:
		radial-gradient(480px 180px at 100% 0%, rgba(240,75,55,.13), transparent 62%),
		linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,26,.96)) !important;
	box-shadow:
		0 12px 24px rgba(0,0,0,.22),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Panels / gallery: dark graphite base */
.club-info-gallery-wrap,
.club-info-panel{
	border-color: rgba(198,31,50,.18) !important;
	background:
		linear-gradient(180deg, rgba(29,32,39,.80), rgba(17,20,26,.80)) !important;
	box-shadow:
		0 10px 20px rgba(0,0,0,.18),
		inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* Stat boxes */
.club-info-hero-stat{
	border-color: rgba(255,255,255,.07) !important;
	background: linear-gradient(180deg, rgba(29,32,39,.60), rgba(17,20,26,.60)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* Location cards */
.club-info-location-card{
	border-color: rgba(198,31,50,.16) !important;
	background: linear-gradient(180deg, rgba(22,25,32,.96), rgba(12,14,19,.96)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* Notes */
.club-info-note{
	border-color: rgba(198,31,50,.14) !important;
	background: linear-gradient(180deg, rgba(22,25,32,.60), rgba(14,16,21,.60)) !important;
}

/* Chips / eyebrow: neutral */
.club-info-chip,
.club-info-eyebrow{
	border-color: rgba(255,255,255,.09) !important;
}

/* Location badge: neutral (не rank/VIP → убрать gold) */
.club-info-location-badge{
	color: #B8BEC8 !important;
	border-color: rgba(255,255,255,.09) !important;
}

/* Photo cards: neutral border */
.club-info-photo-card{
	border-color: rgba(255,255,255,.09) !important;
}

/* FAQ */
#club-info-modal details.faq{
	border-color: rgba(198,31,50,.14) !important;
	background: linear-gradient(180deg, rgba(22,25,32,.72), rgba(12,14,19,.72)) !important;
}

/* Action/map buttons hover: red вместо gold */
#club-info-modal .club-info-actions .btn:hover,
#club-info-modal .club-info-location-actions .map-btn:hover{
	border-color: rgba(198,31,50,.30) !important;
}

/* =========================================================
   NAV ROW — RED LUXE PD-STYLE VISUAL PATCH
   Визуальный язык aligned с .cc-pd-block / .cc-pd-hero /
   .cc-pd-check-row (экран согласия на ПД).
   Только цвет/фон/тень/border — layout/spacing не тронуты.
   Safe-area и mobile-responsive фиксы не затронуты.
   ========================================================= */

/* Контейнер: убрать glassmorphism, красноватая обводка, плотный graphite */
.bottom-nav .nav-row{
	border-color: rgba(198,31,50,.26) !important;
	background:
		radial-gradient(220px 120px at 50% 0%, rgba(240,75,55,.13), transparent 68%),
		linear-gradient(180deg, rgba(29,32,39,.98), rgba(12,13,17,.99)) !important;
	box-shadow:
		0 14px 28px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Неактивная кнопка: тёмный graphite, белая обводка */
.bn-item{
	border-color: rgba(255,255,255,.07) !important;
	color: #B8BEC8 !important;
}

/* Hover: чуть светлее, без transform (уже задан !important выше) */
.bn-item:hover{
	border-color: rgba(255,255,255,.13) !important;
	color: #F5F7FA !important;
}

/* Активная кнопка: red luxe (замена золота) — как .cc-pd-check-row:checked */
.bn-item.active{
	color: #F5F7FA !important;
	border-color: rgba(198,31,50,.42) !important;
	background:
		radial-gradient(140px 70px at 50% 0%, rgba(240,75,55,.14), transparent 70%),
		linear-gradient(180deg, rgba(29,32,39,.98), rgba(12,13,17,.98)) !important;
	box-shadow:
		0 8px 20px rgba(142,31,45,.22),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Иконка активной кнопки: red luxe (как .cc-pd-hero-icon область) */
.bn-item.active .bn-icon{
	background:
		linear-gradient(135deg, rgba(142,31,45,.40), rgba(198,31,50,.26)) !important;
	border-color: rgba(198,31,50,.36) !important;
	box-shadow:
		0 6px 14px rgba(142,31,45,.18),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* =========================================================
   PROJECT RED LUXE PD-STYLE BASE LAYER
   Align common app surfaces with the PD consent board.
   Layout, DOM, JS logic and Telegram safe-area rules stay unchanged.
   ========================================================= */
:root{
	--cc-bg-main: #050608;
	--cc-bg-deep: #0A0B0E;
	--cc-surface: #17191F;
	--cc-surface-2: #1D2027;
	--cc-surface-3: #23262E;
	--cc-red-luxe: #C61F32;
	--cc-red-luxe-dark: #B3142A;
	--cc-red-luxe-bright: #D62839;
	--cc-red-wine: #7E1322;
	--cc-red-deep: #5A0E18;
	--cc-text-main: #F5F7FA;
	--cc-text-secondary: #B8BEC8;
	--cc-text-muted: #8C939F;
	--cc-border-soft: rgba(255,255,255,.08);
	--cc-border-strong: rgba(255,255,255,.12);
	--cc-border-red: rgba(198,31,50,.34);

	--bg-primary: var(--cc-bg-main);
	--bg-secondary: var(--cc-bg-deep);
	--bg-elevated: var(--cc-surface);
	--surface: rgba(255,255,255,.045);
	--accent: var(--cc-red-luxe);
	--accent-2: var(--cc-red-wine);
	--accent-3: var(--cc-red-luxe-bright);
	--text: var(--cc-text-main);
	--text-2: var(--cc-text-secondary);
	--muted: var(--cc-text-muted);
	--brd: var(--cc-border-soft);
	--brd-2: var(--cc-border-strong);
}

html,
body{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: hidden !important;
}

body{
	min-height: var(--tg-viewport-stable-height, var(--tg-vh-stable, 100dvh));
	color: var(--cc-text-main) !important;
	background:
		radial-gradient(620px 280px at 84% -80px, rgba(198,31,50,.12), transparent 66%),
		linear-gradient(180deg, var(--cc-bg-main) 0%, var(--cc-bg-deep) 100%) !important;
	background-attachment: fixed;
}

#app,
.app,
.root,
.container,
.header-inner,
main.list-pad,
.screen{
	max-width: 100%;
	box-sizing: border-box;
}

a,
.ext-link{
	color: #FF6B78 !important;
	text-decoration-color: rgba(214,40,57,.46) !important;
}

a::after{
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.78), transparent) !important;
}

a:hover,
.ext-link:hover{
	color: var(--cc-text-main) !important;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.card-link:focus-visible{
	outline: 2px solid rgba(214,40,57,.72) !important;
	outline-offset: 2px !important;
}

.brand{
	color: var(--cc-text-main) !important;
	text-shadow: none !important;
	letter-spacing: 0 !important;
}

.brand i{
	color: #FF6B78 !important;
	filter: none !important;
	animation: none !important;
}

.subtitle{
	color: var(--cc-text-secondary) !important;
}

.section-title{
	color: var(--cc-text-main) !important;
	letter-spacing: 0 !important;
}

.section-title i{
	color: #FF6B78 !important;
	background: none !important;
}

.nav-tab{
	border-color: var(--cc-border-soft) !important;
	color: var(--cc-text-secondary) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.nav-tab::before{
	background: linear-gradient(135deg, rgba(198,31,50,.16), rgba(126,19,34,.10)) !important;
}

.nav-tab:hover,
.nav-tab.active{
	color: var(--cc-text-main) !important;
	border-color: rgba(198,31,50,.40) !important;
	box-shadow:
		0 10px 22px rgba(0,0,0,.30),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.nav-tab.active{
	background:
		radial-gradient(160px 80px at 50% 0%, rgba(198,31,50,.16), transparent 72%),
		linear-gradient(180deg, var(--cc-surface-2), var(--cc-surface)) !important;
}

.card,
.card-quiet,
.stat-card,
.contact-item,
.settings-item,
.game-history-item,
.participant-item,
.info-item,
.profile-compact-row,
.profile-more,
.profile-medals-counter,
.profile-medals-next,
.profile-medals-section,
.award-cell,
.awards-count-bubble,
.awards-next-box,
.cc-menu-card,
.cc-admin-menu-item,
.cc-waiter-table-btn,
.rating-player-card,
.rating-chip,
.empty-state,
details.faq{
	border-color: var(--cc-border-soft) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
		var(--cc-surface) !important;
	box-shadow:
		0 12px 26px rgba(0,0,0,.30),
		inset 0 1px 0 rgba(255,255,255,.045) !important;
	color: var(--cc-text-secondary) !important;
}

.card::before,
.tournament-card::before,
.empty-state::before,
.cc-menu-card::before{
	background: radial-gradient(520px 220px at var(--mx, 50%) var(--my, 0%), rgba(198,31,50,.12), transparent 70%) !important;
}

.card:hover,
.stat-card:hover,
.contact-item:hover,
.settings-item:hover,
.game-history-item:hover,
.participant-item:hover,
.profile-compact-row:hover,
.cc-menu-card:hover,
.cc-waiter-table-btn:hover,
.cc-waiter-table-btn.selected,
.rating-player-card:hover,
details.faq:hover{
	border-color: rgba(198,31,50,.34) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
		var(--cc-surface-2) !important;
	box-shadow:
		0 14px 30px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.065) !important;
}

.tournament-card{
	background:
		radial-gradient(460px 180px at 100% 0%, rgba(198,31,50,.10), transparent 62%),
		linear-gradient(180deg, var(--cc-surface-2), var(--cc-surface)) !important;
}

.tournament-card::after{
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.72), transparent) !important;
}

.tournament-title,
.info-value,
.stat-value,
.game-position,
.profile-compact-place,
.rating-player-name,
.cc-menu-card__name,
.award-title,
.awards-next-name{
	color: var(--cc-text-main) !important;
	background: none !important;
	-webkit-background-clip: initial !important;
	background-clip: initial !important;
	letter-spacing: 0 !important;
}

.tournament-date,
.info-label,
.stat-label,
.hint,
.profile-compact-sub,
.profile-medals-next-sub,
.cc-menu-card__desc,
.cc-rg-hero-label,
.rating-chip,
.tournament-clean-price-sub,
.tournament-helper,
.cta-micro,
.contact-item .terms-note{
	color: var(--cc-text-muted) !important;
}

.btn,
.cc-site-auth-btn,
.cc-site-auth-telegram-btn,
.cc-cookie-btn{
	min-height: 44px;
	color: var(--cc-text-main) !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.12), transparent 45%),
		linear-gradient(135deg, var(--cc-red-wine), var(--cc-red-luxe-dark) 45%, var(--cc-red-luxe-bright)) !important;
	box-shadow:
		0 12px 24px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.14) !important;
	text-shadow: none !important;
}

.btn:hover,
.cc-site-auth-btn:hover,
.cc-site-auth-telegram-btn:hover,
.cc-cookie-btn:hover{
	filter: brightness(1.05) !important;
	box-shadow:
		0 14px 28px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.btn-secondary,
.btn.ghost,
.cc-eg-btn.ghost,
.map-btn,
.card-link,
.tournaments-empty-btn,
.cc-site-auth-btn.ghost,
.cc-cookie-close{
	color: var(--cc-text-secondary) !important;
	border: 1px solid var(--cc-border-soft) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.btn-secondary:hover,
.btn.ghost:hover,
.cc-eg-btn.ghost:hover,
.map-btn:hover,
.card-link:hover,
.tournaments-empty-btn:hover,
.cc-site-auth-btn.ghost:hover,
.cc-cookie-close:hover{
	color: var(--cc-text-main) !important;
	border-color: rgba(198,31,50,.34) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.13), rgba(255,255,255,.018)),
		var(--cc-surface-2) !important;
}

.btn-danger,
.tournaments-empty-btn--accent{
	background:
		linear-gradient(180deg, rgba(255,255,255,.11), transparent 45%),
		linear-gradient(135deg, var(--cc-red-deep), var(--cc-red-luxe-dark), var(--cc-red-luxe-bright)) !important;
}

.btn[disabled],
.btn:disabled,
.cc-eg-btn[disabled]{
	opacity: .66 !important;
	color: rgba(245,247,250,.72) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.12), rgba(126,19,34,.10)),
		#15171D !important;
	border-color: rgba(198,31,50,.18) !important;
	filter: none !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.field,
.cc-site-auth-field,
.cc-pd-check-row{
	border: 1px solid var(--cc-border-soft) !important;
	outline: 0 !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.field:focus-within,
.cc-site-auth-field:focus-within{
	border-color: rgba(214,40,57,.58) !important;
	box-shadow:
		0 0 0 3px rgba(198,31,50,.13),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
	transform: none !important;
}

.field i{
	color: #FF6B78 !important;
}

.field input[type="text"],
.field input[type="email"],
.cc-site-auth-field input,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select{
	max-width: 100%;
	color: var(--cc-text-main) !important;
	background: #0B0C10 !important;
	border-color: rgba(255,255,255,.08) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.field input::placeholder,
input::placeholder,
textarea::placeholder{
	color: rgba(184,190,200,.56) !important;
}

.field input:focus,
.cc-site-auth-field input:focus,
input:focus,
textarea:focus,
select:focus{
	border-color: rgba(214,40,57,.62) !important;
	box-shadow:
		0 0 0 3px rgba(198,31,50,.13),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.field input[type="checkbox"],
input[type="checkbox"]{
	border-color: rgba(214,40,57,.58) !important;
	background: #07080A !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.field input[type="checkbox"]:checked,
input[type="checkbox"]:checked{
	border-color: #FF6B78 !important;
	background: linear-gradient(135deg, var(--cc-red-wine), var(--cc-red-luxe-bright)) !important;
	box-shadow:
		0 0 0 3px rgba(198,31,50,.13),
		inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.progress,
.hero-level-progress-bar,
.tournament-seats-line,
.award-bar,
.awards-next-bar,
.cc-rg-progress-bar{
	border-color: var(--cc-border-soft) !important;
	background: #0B0C10 !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.42) !important;
}

.progress > span,
.hero-level-progress-bar > span,
#hero-level-progress-fill,
.tournament-seats-line > span,
.award-bar > span,
.awards-next-bar > span,
.cc-rg-progress-fill{
	background: linear-gradient(90deg, var(--cc-red-wine), var(--cc-red-luxe), var(--cc-red-luxe-bright)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.tm-chip,
.club-info-chip,
.club-info-eyebrow,
.profile-medals-section-badge,
.profile-compact-badge,
.rating-chip,
.waitlist-badge{
	color: var(--cc-text-secondary) !important;
	border-color: var(--cc-border-soft) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
	box-shadow: none !important;
}

.tm-chip i,
.club-info-chip i,
.rating-chip i,
.map-btn i,
.card-link i,
.cc-menu-card__price,
.rating-player-medal,
.hero-level-rank-badge{
	color: #FF6B78 !important;
}

.hero-level-rank-badge,
.rating-player-medal,
.profile-compact-place,
.pstat-season-val.is-rank{
	border-color: rgba(198,31,50,.34) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.12)),
		var(--cc-bg-deep) !important;
}

.status-full,
.status-wait,
.waitlist-badge,
.tournament-helper.warn,
.profile-compact-badge.is-wait{
	color: #FFB1B8 !important;
	border-color: rgba(198,31,50,.34) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.14), rgba(126,19,34,.10)) !important;
}

.status-registered,
.status-upcoming,
.tournament-helper.ok,
.profile-compact-badge.is-ok,
.profile-medals-section-badge.is-ok,
.participant-item.current-user{
	color: var(--cc-text-main) !important;
	border-color: rgba(198,31,50,.38) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.16), rgba(29,32,39,.86)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
}

.tournament-clean-price,
.tournament-helper,
.tournament-seats,
.cta-lead,
.club-info-note,
.club-info-panel,
.club-info-gallery-wrap,
.club-info-location-card{
	border-color: var(--cc-border-soft) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
		var(--cc-surface) !important;
	color: var(--cc-text-secondary) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.tournament-clean-price-main,
.club-info-block-title,
.club-info-hero-title,
.profile-medals-next-title,
.profile-medals-section-title,
.awards-count-top,
.modal-title,
details.faq summary{
	color: var(--cc-text-main) !important;
}

.modal,
#rating-info-modal,
#cc-rating-goals-modal,
#cc-site-auth-gate{
	background:
		radial-gradient(760px 360px at 50% -12%, rgba(198,31,50,.13), transparent 64%),
		rgba(5,6,8,.88) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.modal-content,
.modal .modal-content,
#terms-modal .modal-content,
#nick-modal .modal-content,
#confirm-modal .modal-content,
#waiter-modal .modal-content,
#rating-info-modal .modal-content,
#cc-site-auth-gate .cc-site-auth-card{
	max-width: calc(100vw - 24px) !important;
	box-sizing: border-box !important;
	border-color: var(--cc-border-strong) !important;
	color: var(--cc-text-main) !important;
	background:
		radial-gradient(520px 220px at 100% 0%, rgba(198,31,50,.11), transparent 64%),
		linear-gradient(180deg, var(--cc-surface) 0%, #090A0D 100%) !important;
	box-shadow:
		0 24px 68px rgba(0,0,0,.58),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.modal-header,
.modal-header--sticky,
.club-info-modal-header,
.cc-rg-head{
	border-bottom-color: rgba(198,31,50,.24) !important;
	background: linear-gradient(180deg, rgba(23,25,31,.98), rgba(14,15,19,.96)) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.close-btn,
.cc-rg-close,
.award-popup-close{
	color: var(--cc-text-secondary) !important;
	border-color: var(--cc-border-soft) !important;
	background: rgba(255,255,255,.045) !important;
}

.close-btn:hover,
.cc-rg-close:hover,
.award-popup-close:hover{
	color: var(--cc-text-main) !important;
	border-color: rgba(198,31,50,.34) !important;
	background: rgba(198,31,50,.10) !important;
}

.cc-toast,
.notice{
	color: var(--cc-text-main) !important;
	border-color: var(--cc-border-soft) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
	box-shadow:
		0 14px 30px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.055) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.cc-toast.info,
.cc-toast.ok,
.notice.ok{
	--accent-toast: #FF6B78 !important;
	border-color: rgba(198,31,50,.34) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.14), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
}

.cc-toast.warn,
.notice.warn{
	--accent-toast: #FFB1B8 !important;
	border-color: rgba(198,31,50,.30) !important;
	background:
		linear-gradient(180deg, rgba(126,19,34,.20), rgba(255,255,255,.018)),
		var(--cc-surface) !important;
}

.cc-toast.err,
.notice.err{
	--accent-toast: var(--cc-red-luxe-bright) !important;
	border-color: rgba(214,40,57,.44) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.18), rgba(90,14,24,.16)),
		var(--cc-surface) !important;
}

.notice-progress::after,
.cc-toast .bar > span{
	background: linear-gradient(90deg, var(--cc-red-wine), var(--cc-red-luxe), var(--cc-red-luxe-bright)) !important;
}

.skeleton-card,
.cc-doc-skeleton .sh{
	border-color: var(--cc-border-soft) !important;
	background:
		linear-gradient(90deg, rgba(255,255,255,.035), rgba(198,31,50,.08), rgba(255,255,255,.035)),
		var(--cc-surface) !important;
}

.empty-state.empty-state--tournaments{
	border-color: rgba(198,31,50,.20) !important;
	background:
		radial-gradient(460px 180px at 100% 0%, rgba(198,31,50,.12), transparent 62%),
		linear-gradient(180deg, var(--cc-surface), #0C0D11) !important;
}

#cc-cookie-banner .cc-cookie-inner{
	border-color: var(--cc-border-strong) !important;
	background:
		radial-gradient(360px 160px at 100% 0%, rgba(198,31,50,.12), transparent 64%),
		linear-gradient(180deg, var(--cc-surface), #0C0D11) !important;
	box-shadow:
		0 18px 34px rgba(0,0,0,.46),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

#cc-cookie-banner .cc-cookie-text,
#cc-cookie-banner .cc-cookie-text span{
	color: var(--cc-text-secondary) !important;
}

#cc-cookie-banner .cc-cookie-text strong{
	color: var(--cc-text-main) !important;
}

table,
.modal table,
#cc-entry-gate table{
	max-width: 100%;
	border-color: var(--cc-border-soft) !important;
	background: var(--cc-surface) !important;
	color: var(--cc-text-secondary) !important;
}

th,
td{
	border-color: var(--cc-border-soft) !important;
	color: var(--cc-text-secondary) !important;
}

th{
	color: var(--cc-text-main) !important;
	background: rgba(198,31,50,.10) !important;
}

@media (max-width: 430px){
	.card,
	.card-quiet,
	.stat-card,
	.contact-item,
	.settings-item,
	.game-history-item,
	.profile-compact-row,
	.cc-menu-card,
	.rating-player-card{
		max-width: 100%;
	}

	.card-actions,
	.map-links,
	.club-info-actions{
		max-width: 100%;
	}
}

/* =========================================================
   TOURNAMENT LINKS, RATING MEDALS, RATING INFO MODAL
   Final targeted cleanup. Structure and JS stay unchanged.
   ========================================================= */
.tournament-card--clean .card-links{
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px 18px !important;
	max-width: 100% !important;
	margin-top: 12px !important;
}

.tournament-card--clean .card-link{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
	min-height: 44px !important;
	max-width: 100% !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-color: transparent !important;
	border-radius: 8px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--cc-text-secondary) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	appearance: none !important;
}

.tournament-card--clean .card-link::after{
	display: none !important;
	content: none !important;
}

.tournament-card--clean .card-link i{
	flex: 0 0 auto !important;
	color: #FF6B78 !important;
	font-size: 16px !important;
	line-height: 1 !important;
}

.tournament-card--clean .card-link:hover,
.tournament-card--clean .card-link:active{
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--cc-text-main) !important;
	transform: none !important;
	filter: none !important;
}

.tournament-card--clean .card-link:focus-visible{
	outline: 2px solid rgba(214,40,57,.72) !important;
	outline-offset: 2px !important;
}

.rating-player-card .rating-player-medal{
	width: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	filter: none !important;
	text-shadow: none !important;
}

.rating-player-card .rating-player-medal:empty{
	display: none !important;
}

#rating-info-modal{
	--cc-ri-safe-top: max(var(--tg-content-safe-area-inset-top, 0px), var(--safe-t, 0px));
	--cc-ri-safe-right: max(var(--tg-content-safe-area-inset-right, 0px), var(--safe-r, 0px));
	--cc-ri-safe-bottom: max(var(--tg-content-safe-area-inset-bottom, 0px), var(--safe-b, 0px));
	--cc-ri-safe-left: max(var(--tg-content-safe-area-inset-left, 0px), var(--safe-l, 0px));
	--cc-ri-gap: 12px;
	--cc-ri-stable-h: var(--tg-viewport-stable-height, var(--tg-vh-stable, 100dvh));

	width: 100% !important;
	max-width: 100% !important;
	height: var(--cc-ri-stable-h) !important;
	max-height: var(--cc-ri-stable-h) !important;
	margin: 0 !important;
	padding-top: max(var(--cc-ri-gap), var(--cc-ri-safe-top)) !important;
	padding-right: max(var(--cc-ri-gap), var(--cc-ri-safe-right)) !important;
	padding-bottom: max(var(--cc-ri-gap), var(--cc-ri-safe-bottom)) !important;
	padding-left: max(var(--cc-ri-gap), var(--cc-ri-safe-left)) !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

#rating-info-modal.active{
	display: flex !important;
}

#rating-info-modal .modal-content{
	width: min(640px, calc(100vw - 24px)) !important;
	max-width: calc(100vw - 24px) !important;
	max-height: calc(var(--cc-ri-stable-h) - max(24px, calc(var(--cc-ri-safe-top) + var(--cc-ri-safe-bottom) + 24px))) !important;
	min-width: 0 !important;
	margin: 0 auto !important;
	border-radius: 18px !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	box-sizing: border-box !important;
}

#rating-info-modal .modal-header{
	position: sticky !important;
	top: 0 !important;
	z-index: 2 !important;
	flex: 0 0 auto !important;
	min-width: 0 !important;
	min-height: 56px !important;
	padding: 10px 12px !important;
	gap: 10px !important;
}

#rating-info-modal .modal-title{
	min-width: 0 !important;
	font-size: 16px !important;
	line-height: 1.18 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

#rating-info-modal .close-btn{
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	flex: 0 0 44px !important;
}

#rating-info-modal .ri-bar-chart-2-line{
	color: #FF6B78 !important;
	filter: none !important;
}

#rating-info-modal .modal-content > div:not(.modal-header){
	min-width: 0 !important;
	max-width: 100% !important;
	padding: 18px !important;
	box-sizing: border-box !important;
}

#rating-info-modal .modal-content h2,
#rating-info-modal .modal-content h3,
#rating-info-modal .modal-content p,
#rating-info-modal .modal-content li{
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}

#rating-info-modal .modal-content h2{
	color: var(--cc-text-main) !important;
	font-size: 22px !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
}

#rating-info-modal .modal-content h3{
	color: var(--cc-text-main) !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
}

#rating-info-modal .card,
#rating-info-modal .card-quiet,
#rating-info-modal .post{
	max-width: 100% !important;
	border-color: var(--cc-border-soft) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)),
		var(--cc-surface) !important;
	box-shadow:
		0 10px 22px rgba(0,0,0,.28),
		inset 0 1px 0 rgba(255,255,255,.045) !important;
}

#rating-info-modal .post{
	overflow-x: hidden !important;
}

#rating-info-modal .ul-clean{
	max-width: 100% !important;
	padding-left: 0 !important;
}

@media (max-width: 560px){
	.rating-player-card .rating-player-name{
		padding-right: 0 !important;
	}

	.rating-player-card[data-rank="1"] .rating-player-name,
	.rating-player-card[data-rank="2"] .rating-player-name,
	.rating-player-card[data-rank="3"] .rating-player-name{
		padding-right: 38px !important;
	}
}

@media (max-width: 540px){
	:root{
		--cc-ri-tg-top-controls-h: 58px;
	}

	#rating-info-modal,
	#rating-info-modal.active{
		--cc-ri-gap: 8px;
		--cc-ri-top-pad: calc(max(12px, var(--cc-ri-safe-top)) + var(--cc-ri-tg-top-controls-h));
		--cc-ri-bottom-pad: max(12px, var(--cc-ri-safe-bottom));

		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		height: var(--cc-ri-stable-h) !important;
		min-height: var(--cc-ri-stable-h) !important;
		max-height: var(--cc-ri-stable-h) !important;
		margin: 0 !important;
		padding-top: var(--cc-ri-top-pad) !important;
		padding-right: max(8px, var(--cc-ri-safe-right)) !important;
		padding-bottom: var(--cc-ri-bottom-pad) !important;
		padding-left: max(8px, var(--cc-ri-safe-left)) !important;
		align-items: stretch !important;
		justify-content: center !important;
	}

	#rating-info-modal .modal-content{
		width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: 100% !important;
		border-radius: 18px !important;
	}

	#rating-info-modal .modal-content > div:not(.modal-header){
		padding: 14px !important;
	}

	#rating-info-modal .modal-content > div:not(.modal-header) > div:first-child{
		margin-bottom: 14px !important;
	}

	#rating-info-modal .modal-content h2{
		font-size: 20px !important;
	}

	#rating-info-modal .modal-content h3{
		font-size: 15px !important;
	}

	#rating-info-modal .card,
	#rating-info-modal .card-quiet,
	#rating-info-modal .post{
		margin-bottom: 12px !important;
		padding: 14px !important;
		border-radius: 14px !important;
	}
}

@media (max-width: 390px){
	:root{
		--cc-ri-tg-top-controls-h: 64px;
	}

	#rating-info-modal .modal-title{
		font-size: 14px !important;
	}

	#rating-info-modal .modal-content > div:not(.modal-header){
		padding: 12px !important;
	}

	#rating-info-modal .modal-content h2{
		font-size: 18px !important;
	}

	#rating-info-modal .modal-content h3{
		font-size: 14px !important;
	}

	.rating-player-card[data-rank="1"] .rating-player-name,
	.rating-player-card[data-rank="2"] .rating-player-name,
	.rating-player-card[data-rank="3"] .rating-player-name{
		padding-right: 34px !important;
	}
}

/* =========================================================
   RED LUXE SURFACE BACKGROUND PATCH
   Final layer for text containers and large blocks.
   Structure, JS and Telegram safe-area rules stay unchanged.
   ========================================================= */
:root{
	--cc-bg-main: #050608;
	--cc-bg-deep: #0A0B0E;
	--cc-surface: #17191F;
	--cc-surface-2: #1D2027;
	--cc-surface-3: #23262E;
	--cc-red-luxe: #C61F32;
	--cc-red-luxe-dark: #B3142A;
	--cc-red-luxe-bright: #D62839;
	--cc-red-wine: #7E1322;
	--cc-red-deep: #5A0E18;
	--cc-text-main: #F5F7FA;
	--cc-text-secondary: #B8BEC8;
	--cc-text-muted: #8C939F;
	--cc-border-soft: rgba(255,255,255,.08);
	--cc-border-strong: rgba(255,255,255,.12);
	--cc-border-red: rgba(198,31,50,.30);

	--cc-bg-page: linear-gradient(180deg, #050608 0%, #0A0B0E 100%);
	--cc-bg-text-surface: linear-gradient(180deg, #1D2027 0%, #17191F 100%);
	--cc-bg-text-surface-soft: linear-gradient(180deg, rgba(35,38,46,.92) 0%, rgba(23,25,31,.96) 100%);
	--cc-bg-panel-large:
		radial-gradient(640px 240px at 100% 0%, rgba(198,31,50,.12), transparent 68%),
		linear-gradient(180deg, #17191F 0%, #0A0B0E 100%);
	--cc-bg-input: #0D0F14;

	--bg-primary: var(--cc-bg-main);
	--bg-secondary: var(--cc-bg-deep);
	--bg-elevated: var(--cc-surface);
	--surface: rgba(255,255,255,.045);
	--accent: var(--cc-red-luxe);
	--accent-2: var(--cc-red-wine);
	--accent-3: var(--cc-red-luxe-bright);
	--text: var(--cc-text-main);
	--text-1: var(--cc-text-main);
	--text-2: var(--cc-text-secondary);
	--muted: var(--cc-text-muted);
	--ok: var(--cc-red-luxe-bright);
	--warn: #C9A35F;
	--err: var(--cc-red-luxe-bright);
	--brd: var(--cc-border-soft);
	--brd-2: var(--cc-border-strong);
}

html,
body{
	background: var(--cc-bg-main) !important;
}

body{
	min-height: var(--tg-viewport-stable-height, var(--tg-vh-stable, 100dvh));
	color: var(--cc-text-main) !important;
	background:
		radial-gradient(620px 280px at 86% -90px, rgba(198,31,50,.12), transparent 66%),
		var(--cc-bg-page) !important;
}

.card,
.card-quiet,
.settings-item,
.game-history-item,
.participant-item,
.info-item,
.contact-item,
.profile-compact-row,
.profile-more,
.profile-medals-counter,
.profile-medals-next,
.profile-medals-section,
.award-cell,
.awards-count-bubble,
.awards-next-box,
.cc-menu-card,
.cc-admin-menu-item,
.cc-waiter-table-btn,
.rating-player-card,
.rating-chip,
.empty-state,
.post,
details.faq,
#rating-info-modal .card,
#rating-info-modal .card-quiet,
#rating-info-modal .post,
[style*="background:rgba(255,255,255,0.03)"],
[style*="background:rgba(255,255,255,.03)"],
[style*="background:rgba(255,255,255,.04)"]{
	border-color: var(--cc-border-soft) !important;
	background: var(--cc-bg-text-surface) !important;
	color: var(--cc-text-secondary) !important;
	box-shadow:
		0 16px 36px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.055) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.card:hover,
.settings-item:hover,
.game-history-item:hover,
.participant-item:hover,
.contact-item:hover,
.profile-compact-row:hover,
.cc-menu-card:hover,
.cc-waiter-table-btn:hover,
.rating-player-card:hover,
details.faq:hover{
	border-color: rgba(198,31,50,.34) !important;
	background: var(--cc-bg-text-surface-soft) !important;
	box-shadow:
		0 18px 40px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
}

.tournament-card,
.tournament-card--clean,
.tournament-card--compact,
.hero-level-card,
.club-info-hero,
.club-info-gallery-wrap,
.club-info-panel,
.modal-content,
#club-info-modal .modal-content.club-info-modal-content,
#cc-rating-goals-modal .cc-rg-dialog,
#cc-rating-goals-modal .cc-rating-goals-dialog,
#cc-site-auth-gate .cc-site-auth-card,
#cc-entry-gate .cc-eg-shell,
#cc-boot-preloader .cc-boot-card,
#cc-reconnect-overlay .cc-reconnect-card,
#cc-cookie-banner .cc-cookie-inner,
.empty-state.empty-state--tournaments{
	border-color: var(--cc-border-red) !important;
	background: var(--cc-bg-panel-large) !important;
	color: var(--cc-text-main) !important;
	box-shadow:
		0 20px 46px rgba(0,0,0,.42),
		inset 0 1px 0 rgba(255,255,255,.075) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.tournament-title,
.tournament-clean-price-main,
.tournament-price-main,
.club-info-hero-title,
.club-info-block-title,
.profile-medals-next-title,
.profile-medals-section-title,
.rating-player-name,
.cc-menu-card__name,
.modal-title,
.section-title,
details.faq summary,
[style*="color:var(--text-1)"]{
	color: var(--cc-text-main) !important;
	-webkit-text-fill-color: var(--cc-text-main) !important;
	background: none !important;
	text-shadow: none !important;
}

.subtitle,
.hint,
.tournament-date,
.tournament-helper,
.tournament-clean-location,
.tournament-clean-price-sub,
.tournament-price-sub,
.profile-compact-sub,
.profile-medals-next-sub,
.club-info-hero-sub,
.club-info-block-sub,
.club-info-location-address,
.club-info-note,
.cc-menu-card__desc,
.rating-chip,
[style*="color:var(--text-2)"],
[style*="color:var(--muted)"]{
	color: var(--cc-text-secondary) !important;
}

.modal-title i,
.section-title i,
.brand i,
.club-info-chip i,
.card-link i,
.tm-chip i,
.cc-menu-card__price,
#rating-info-modal .ri-bar-chart-2-line,
[style*="color:#a78bfa"]{
	color: var(--cc-red-luxe-bright) !important;
	-webkit-text-fill-color: var(--cc-red-luxe-bright) !important;
	filter: none !important;
	background: none !important;
}

.tm-chip,
.club-info-chip,
.club-info-eyebrow,
.club-info-location-badge,
.profile-compact-badge,
.profile-medals-section-badge,
.waitlist-badge,
.status-badge,
.tournament-helper,
.tournament-seats,
.tournament-clean-price,
.cta-lead,
.cc-auth-links-row,
.cc-auth-links-badge,
.cc-pd-check-row,
.cc-eg-card,
.cc-offer-wrap,
.cc-offer-inline,
.cc-pd-operator,
.cc-pd-contact-chip,
.cc-pd-block,
.cc-rating-goals-box,
.cc-rating-goal-row{
	border-color: var(--cc-border-soft) !important;
	background: var(--cc-bg-text-surface) !important;
	color: var(--cc-text-secondary) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.status-registered,
.status-upcoming,
.tournament-helper.ok,
.profile-compact-badge.is-ok,
.profile-medals-section-badge.is-ok,
.participant-item.current-user,
.cc-auth-links-badge:not(.is-warn),
.cc-rating-goal-row.is-current,
.cc-rating-goal-row.is-reached,
.cc-rating-goal-row.is-next{
	border-color: rgba(198,31,50,.36) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.16), rgba(29,32,39,.90)),
		var(--cc-surface) !important;
	color: var(--cc-text-main) !important;
}

.tournament-card--clean .tournament-helper.muted,
.tournament-card--compact .tournament-helper.muted,
.tournament-helper.muted{
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--cc-text-muted) !important;
}

.tournament-card--clean .tournament-clean-price{
	border-color: rgba(198,31,50,.32) !important;
	background:
		radial-gradient(180px 86px at 100% 0%, rgba(214,40,57,.22), transparent 68%),
		linear-gradient(135deg, #23262E 0%, #17191F 48%, #7E1322 100%) !important;
	box-shadow:
		0 14px 28px rgba(0,0,0,.30),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.tournament-card--clean .tournament-clean-price-main{
	color: var(--cc-text-main) !important;
}

.tournament-card--clean .tournament-clean-price-sub{
	color: var(--cc-text-secondary) !important;
}

.field,
.cc-site-auth-field,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="datetime-local"],
input[type="time"],
textarea,
select,
.cc-eg-nick-input,
.cc-site-auth-field input,
.cc-pay-input{
	background: var(--cc-bg-input) !important;
	border-color: var(--cc-border-soft) !important;
	color: var(--cc-text-main) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.field:focus-within,
.cc-site-auth-field:focus-within,
input:focus,
textarea:focus,
select:focus,
.cc-eg-nick-input:focus,
.cc-pay-input:focus{
	border-color: rgba(214,40,57,.62) !important;
	box-shadow:
		0 0 0 3px rgba(198,31,50,.14),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.btn,
.btn-primary,
.btn-main,
.primary-btn,
.cc-eg-btn.primary,
.cc-site-auth-btn,
.cc-site-auth-telegram-btn,
.cc-cookie-btn{
	color: var(--cc-text-main) !important;
	border-color: rgba(214,40,57,.34) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.12), transparent 46%),
		linear-gradient(135deg, var(--cc-red-luxe-dark) 0%, var(--cc-red-luxe) 56%, var(--cc-red-luxe-bright) 100%) !important;
	box-shadow:
		0 14px 30px rgba(179,20,42,.26),
		inset 0 1px 0 rgba(255,255,255,.14) !important;
}

.btn-secondary,
.btn.ghost,
.cc-eg-btn.ghost,
.map-btn,
.card-link,
.tournaments-empty-btn,
.cc-cookie-close{
	color: var(--cc-text-secondary) !important;
	border-color: var(--cc-border-soft) !important;
	background: var(--cc-bg-text-surface) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.btn-secondary:hover,
.btn.ghost:hover,
.cc-eg-btn.ghost:hover,
.map-btn:hover,
.card-link:hover,
.tournaments-empty-btn:hover,
.cc-cookie-close:hover{
	color: var(--cc-text-main) !important;
	border-color: rgba(198,31,50,.34) !important;
	background:
		linear-gradient(180deg, rgba(198,31,50,.13), rgba(255,255,255,.018)),
		var(--cc-surface-2) !important;
}

.bottom-nav .nav-row,
.modal-header,
.modal-header--sticky,
.club-info-modal-header,
.cc-rg-head,
.cc-rating-goals-head,
.cc-eg-head,
.cc-eg-footer,
.cc-cookie-inner{
	border-color: rgba(198,31,50,.22) !important;
	background:
		radial-gradient(360px 140px at 50% 0%, rgba(198,31,50,.10), transparent 70%),
		linear-gradient(180deg, #17191F 0%, #0B0C10 100%) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

.progress,
.hero-level-progress-bar,
.tournament-seats-line,
.award-bar,
.awards-next-bar,
.cc-rg-progress-bar,
.cc-rating-goals-progress,
.cc-boot-line,
.cc-reconnect-line,
.cc-eg-progress-track{
	border-color: var(--cc-border-soft) !important;
	background: #0B0C10 !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.42) !important;
}

.progress > span,
.hero-level-progress-bar > span,
#hero-level-progress-fill,
.tournament-seats-line > span,
.award-bar > span,
.awards-next-bar > span,
.cc-rg-progress-fill,
.cc-rating-goals-progress span,
.cc-reconnect-line > span,
.cc-eg-progress-fill,
.cc-toast .bar > span{
	background: linear-gradient(90deg, var(--cc-red-wine), var(--cc-red-luxe), var(--cc-red-luxe-bright)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.16) !important;
}

@media (max-width: 430px){
	.card,
	.card-quiet,
	.tournament-card,
	.tournament-card--clean,
	.tournament-card--compact,
	.hero-level-card,
	.modal-content,
	.club-info-panel,
	.club-info-gallery-wrap,
	.club-info-hero,
	.rating-player-card,
	.cc-menu-card,
	.empty-state{
		max-width: 100% !important;
	}
}

/* =========================================================
   RED LUXE HOVER COMPLETION PATCH
   Keeps hover states in the same graphite / red luxe system.
   ========================================================= */
:root{
	--cc-bg-text-surface-hover:
		linear-gradient(180deg, rgba(35,38,46,.96) 0%, rgba(23,25,31,.98) 100%);
	--cc-bg-panel-large-hover:
		radial-gradient(680px 250px at 100% 0%, rgba(214,40,57,.16), transparent 68%),
		linear-gradient(180deg, #1D2027 0%, #0A0B0E 100%);
	--cc-bg-price:
		linear-gradient(180deg, rgba(255,255,255,.10), transparent 42%),
		radial-gradient(190px 92px at 100% 0%, rgba(214,40,57,.28), transparent 70%),
		radial-gradient(220px 120px at 0% 100%, rgba(90,14,24,.24), transparent 72%),
		linear-gradient(135deg, #262932 0%, #17191F 48%, #5A0E18 100%);
	--cc-bg-price-hover:
		linear-gradient(180deg, rgba(255,255,255,.12), transparent 42%),
		radial-gradient(210px 100px at 100% 0%, rgba(214,40,57,.34), transparent 70%),
		radial-gradient(240px 130px at 0% 100%, rgba(90,14,24,.30), transparent 72%),
		linear-gradient(135deg, #2A2D36 0%, #181A21 45%, #7E1322 100%);
}

.tournament-card--clean .tournament-clean-price{
	position: relative;
	overflow: hidden;
	border-color: rgba(214,40,57,.38) !important;
	background: var(--cc-bg-price) !important;
	box-shadow:
		0 16px 30px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.tournament-card--clean .tournament-clean-price-main{
	color: var(--cc-text-main) !important;
	text-shadow: 0 1px 0 rgba(0,0,0,.28) !important;
}

.tournament-card--clean .tournament-clean-price-sub{
	color: var(--cc-text-secondary) !important;
}

@media (hover:hover) and (pointer:fine){
	.tournament-card:hover,
	.tournament-card--clean:hover,
	.tournament-card--compact:hover,
	.hero-level-card:hover,
	.empty-state.empty-state--tournaments:hover{
		border-color: rgba(214,40,57,.42) !important;
		background: var(--cc-bg-panel-large-hover) !important;
		box-shadow:
			0 22px 50px rgba(0,0,0,.46),
			inset 0 1px 0 rgba(255,255,255,.09) !important;
	}

	.tournament-card--clean:hover .tournament-clean-price{
		border-color: rgba(214,40,57,.50) !important;
		background: var(--cc-bg-price-hover) !important;
		box-shadow:
			0 18px 34px rgba(0,0,0,.38),
			0 0 0 1px rgba(214,40,57,.08),
			inset 0 1px 0 rgba(255,255,255,.12) !important;
	}

	.card:hover,
	.card-quiet:hover,
	.stat-card:hover,
	.settings-item:hover,
	.game-history-item:hover,
	.participant-item:hover,
	.contact-item:hover,
	.info-item:hover,
	.profile-compact-row:hover,
	.cc-menu-card:hover,
	.cc-waiter-table-btn:hover,
	.rating-player-card:hover,
	details.faq:hover{
		color: var(--cc-text-secondary) !important;
		border-color: rgba(198,31,50,.34) !important;
		background: var(--cc-bg-text-surface-hover) !important;
		box-shadow:
			0 18px 40px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
	}

	.nav-tab:hover,
	.nav-tab.active,
	.bn-item:hover,
	.bn-item.active{
		color: var(--cc-text-main) !important;
		border-color: rgba(198,31,50,.38) !important;
		background:
			linear-gradient(180deg, rgba(198,31,50,.15), rgba(255,255,255,.018)),
			var(--cc-surface-2) !important;
		box-shadow:
			0 10px 22px rgba(0,0,0,.30),
			inset 0 1px 0 rgba(255,255,255,.07) !important;
	}

	.icon-btn:hover,
	#open-club-info.icon-btn--with-text:hover,
	.close-btn:hover,
	#tournament-modal .close-btn:hover,
	#club-info-modal .close-btn:hover,
	.modal-close:hover,
	.notice-close:hover,
	.cc-toast .x:hover,
	.cc-rg-close:hover,
	.award-popup-close:hover{
		color: var(--cc-text-main) !important;
		border-color: rgba(198,31,50,.34) !important;
		background: rgba(198,31,50,.10) !important;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
	}

	.btn:not(.btn-secondary):not(.btn-danger):hover,
	.btn-primary:hover,
	.btn-main:hover,
	.primary-btn:hover,
	.cc-eg-btn.primary:hover,
	.cc-eg-primary:hover,
	.cc-site-auth-btn:hover,
	.cc-site-auth-telegram-btn:hover,
	.cc-site-auth-submit:hover,
	.cc-cookie-btn:hover,
	.cc-waiter-btn:hover,
	#save-nick-btn:not([disabled]):hover{
		color: var(--cc-text-main) !important;
		border-color: rgba(214,40,57,.42) !important;
		background:
			linear-gradient(180deg, rgba(255,255,255,.14), transparent 46%),
			linear-gradient(135deg, var(--cc-red-deep) 0%, var(--cc-red-luxe) 56%, var(--cc-red-luxe-bright) 100%) !important;
		box-shadow:
			0 16px 32px rgba(179,20,42,.28),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
		filter: none !important;
	}

	.btn-secondary:hover,
	.btn.ghost:hover,
	.cc-eg-btn.ghost:hover,
	.map-btn:hover,
	#tournament-modal .map-btn:hover,
	#club-info-modal .club-info-location-actions .map-btn:hover,
	.card-link:hover,
	.tournaments-empty-btn:hover,
	.cc-site-auth-btn.ghost:hover,
	.cc-cookie-close:hover{
		color: var(--cc-text-main) !important;
		border-color: rgba(198,31,50,.34) !important;
		background:
			linear-gradient(180deg, rgba(198,31,50,.13), rgba(255,255,255,.018)),
			var(--cc-surface-2) !important;
		box-shadow: inset 0 1px 0 rgba(255,255,255,.065) !important;
	}

	.tournament-card--clean .card-link:hover,
	.tournament-card--clean .card-link:active{
		background: transparent !important;
		border-color: transparent !important;
		box-shadow: none !important;
		color: var(--cc-text-main) !important;
	}

	details.faq summary:hover,
	.ext-link:hover,
	a:hover{
		color: #FF6B78 !important;
		-webkit-text-fill-color: #FF6B78 !important;
	}
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.icon-btn:focus-visible,
.bn-item:focus-visible,
.card-link:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline: 2px solid rgba(214,40,57,.72) !important;
	outline-offset: 2px !important;
}

/* TOURNAMENT CLEAN CARD HOVER FIX
   .tournament-card--clean is also .card, so the later generic .card:hover
   must not wash out the Red Luxe tournament hover surface. */
@media (hover:hover) and (pointer:fine){
	.card.tournament-card.tournament-card--clean:hover,
	.tournament-card.tournament-card--clean:hover{
		border-color: rgba(214,40,57,.46) !important;
		background:
			radial-gradient(680px 250px at 100% 0%, rgba(214,40,57,.18), transparent 68%),
			radial-gradient(520px 220px at 0% 100%, rgba(90,14,24,.20), transparent 72%),
			linear-gradient(180deg, #1D2027 0%, #0A0B0E 100%) !important;
		box-shadow:
			0 22px 50px rgba(0,0,0,.46),
			0 0 0 1px rgba(198,31,50,.08),
			inset 0 1px 0 rgba(255,255,255,.09) !important;
	}

	.card.tournament-card.tournament-card--clean:hover .tournament-clean-price,
	.tournament-card.tournament-card--clean:hover .tournament-clean-price{
		border-color: rgba(214,40,57,.52) !important;
		background:
			linear-gradient(180deg, rgba(255,255,255,.12), transparent 42%),
			radial-gradient(210px 100px at 100% 0%, rgba(214,40,57,.34), transparent 70%),
			radial-gradient(240px 130px at 0% 100%, rgba(90,14,24,.30), transparent 72%),
			linear-gradient(135deg, #2A2D36 0%, #181A21 45%, #7E1322 100%) !important;
		box-shadow:
			0 18px 34px rgba(0,0,0,.38),
			0 0 0 1px rgba(214,40,57,.08),
			inset 0 1px 0 rgba(255,255,255,.12) !important;
	}
}

/* =========================================================
   PROFILE TAB — RED LUXE PREMIUM LAYER
   ========================================================= */

#profile-screen {
	color: var(--cc-text-main);
}

#profile-screen,
#profile-screen * {
	box-sizing: border-box;
}

#profile-screen .card,
#profile-screen .card-quiet,
#profile-screen .settings-item,
#profile-screen .cc-auth-links-card,
#profile-screen .user-profile,
#profile-screen .awards-wrap,
#profile-screen .pstat-wrap,
#profile-screen .profile-more {
	min-width: 0;
	max-width: 100%;
}

#profile-screen .card,
#profile-screen .card-quiet,
#profile-screen .settings-item,
#profile-screen .cc-auth-links-card {
	border-radius: 16px;
	border: 1px solid var(--cc-border-soft);
	background:
		radial-gradient(320px 140px at 100% 0%, rgba(198,31,50,.14), transparent 66%),
		linear-gradient(180deg, var(--cc-surface-2), var(--cc-surface)) !important;
	box-shadow:
		0 16px 36px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#profile-screen .card:hover,
#profile-screen .card-quiet:hover,
#profile-screen .settings-item:hover,
#profile-screen .cc-auth-links-card:hover {
	border-color: rgba(198,31,50,.24);
	box-shadow:
		0 18px 38px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.07);
}

#profile-screen .user-profile {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	padding: 18px !important;
	border-radius: 18px;
	border: 1px solid rgba(198,31,50,.20) !important;
	background:
		radial-gradient(540px 220px at 100% 0%, rgba(198,31,50,.18), transparent 58%),
		radial-gradient(320px 180px at 0% 100%, rgba(126,19,34,.10), transparent 62%),
		linear-gradient(180deg, rgba(35,38,46,.98), rgba(23,25,31,.98)) !important;
	box-shadow:
		0 18px 40px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.06) !important;
}

#profile-screen .user-avatar {
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	border-radius: 18px;
	background:
		linear-gradient(135deg, #B3142A 0%, #C61F32 54%, #D62839 100%);
	border: 1px solid rgba(255,255,255,.10);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.14),
		0 14px 30px rgba(179,20,42,.28);
	color: #fff;
}

#profile-screen .user-info {
	min-width: 0;
}

#profile-screen .user-info h3 {
	color: var(--cc-text-main);
	font-size: 18px;
	line-height: 1.25;
}

#profile-screen .user-info p {
	color: var(--cc-text-secondary) !important;
	line-height: 1.45;
}

#profile-screen .user-info strong {
	color: var(--cc-text-main);
	font-weight: 800;
}

#profile-screen .profile-compact-list {
	gap: 12px;
}

#profile-screen .profile-compact-row {
	padding: 14px 16px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(320px 120px at 100% 0%, rgba(198,31,50,.10), transparent 66%),
		linear-gradient(180deg, rgba(35,38,46,.88), rgba(23,25,31,.96));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.04);
}

#profile-screen .profile-compact-row:hover {
	transform: translateY(-1px);
	border-color: rgba(198,31,50,.24);
	background:
		radial-gradient(360px 140px at 100% 0%, rgba(198,31,50,.16), transparent 66%),
		linear-gradient(180deg, rgba(35,38,46,.94), rgba(23,25,31,.98));
}

#profile-screen .profile-compact-title {
	color: var(--cc-text-main);
}

#profile-screen .profile-compact-sub {
	color: var(--cc-text-secondary);
}

#profile-screen .profile-compact-badge {
	border: 1px solid transparent;
	letter-spacing: .25px;
}

#profile-screen .profile-compact-badge.is-ok,
#profile-screen .profile-medals-section-badge.is-ok {
	color: #F5F7FA;
	background: linear-gradient(135deg, rgba(179,20,42,.92), rgba(198,31,50,.86));
	border-color: rgba(214,40,57,.28);
}

#profile-screen .profile-compact-badge.is-wait {
	color: #F5F7FA;
	background: linear-gradient(135deg, rgba(126,19,34,.92), rgba(90,14,24,.88));
	border-color: rgba(198,31,50,.20);
}

#profile-screen .profile-compact-place {
	color: #F5F7FA;
}

#profile-screen .profile-compact-place span {
	color: var(--cc-text-secondary);
}

#profile-screen .profile-more {
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.02);
}

#profile-screen .profile-more summary {
	color: var(--cc-text-main);
}

#profile-screen .profile-medals-shell {
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(460px 220px at 100% 0%, rgba(198,31,50,.14), transparent 62%),
		linear-gradient(180deg, rgba(29,32,39,.98), rgba(23,25,31,.98));
	box-shadow:
		0 16px 36px rgba(0,0,0,.34),
		inset 0 1px 0 rgba(255,255,255,.05);
}

#profile-screen .profile-medals-top,
#profile-screen .profile-medals-section-head,
#profile-screen .awards-header {
	gap: 12px;
}

#profile-screen .profile-medals-counter,
#profile-screen .profile-medals-next,
#profile-screen .profile-medals-section,
#profile-screen .pstat-hero-item,
#profile-screen .pstat-cell,
#profile-screen .pstat-season,
#profile-screen .pstat-rep,
#profile-screen .award-cell,
#profile-screen .award-popup,
#profile-screen .cc-auth-links-row {
	border-color: rgba(255,255,255,.08);
}

#profile-screen .profile-medals-counter {
	background:
		radial-gradient(180px 110px at 50% 0%, rgba(198,31,50,.12), transparent 66%),
		linear-gradient(180deg, rgba(35,38,46,.9), rgba(23,25,31,.96));
}

#profile-screen .profile-medals-counter-value,
#profile-screen .pstat-hero-val,
#profile-screen .pstat-val,
#profile-screen .award-popup-title,
#profile-screen .awards-next-name,
#profile-screen .rating-player-name,
#profile-screen .rating-player-head,
#profile-screen .cc-auth-links-title {
	color: var(--cc-text-main);
}

#profile-screen .profile-medals-counter-label,
#profile-screen .profile-medals-next-label,
#profile-screen .profile-medals-next-sub,
#profile-screen .profile-medals-section-badge,
#profile-screen .pstat-hero-label,
#profile-screen .pstat-label,
#profile-screen .pstat-season-key,
#profile-screen .pstat-season-val,
#profile-screen .award-how-short,
#profile-screen .award-popup-desc,
#profile-screen .award-popup-how,
#profile-screen .award-popup-status,
#profile-screen .cc-auth-links-sub,
#profile-screen .rating-player-stats {
	color: var(--cc-text-secondary);
}

#profile-screen .profile-medals-next,
#profile-screen .awards-next-box,
#profile-screen .pstat-season,
#profile-screen .cc-auth-links-card {
	background:
		radial-gradient(360px 180px at 100% 0%, rgba(198,31,50,.12), transparent 62%),
		linear-gradient(180deg, var(--cc-surface-2), var(--cc-surface)) !important;
}

#profile-screen .profile-medals-section-title,
#profile-screen .awards-next-eyebrow,
#profile-screen .award-popup-how-label,
#profile-screen .pstat-season-val.is-rank {
	color: #E0B24F;
}

#profile-screen .profile-medals-grid {
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#profile-screen .profile-medals-locked-list {
	gap: 12px;
}

#profile-screen .medal-mini-card,
#profile-screen .medal-locked-row,
#profile-screen .award-cell,
#profile-screen .cc-auth-links-row,
#profile-screen .rating-player-card {
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, rgba(35,38,46,.88), rgba(23,25,31,.96));
}

#profile-screen .medal-mini-card.is-owned,
#profile-screen .award-cell.is-owned,
#profile-screen .rating-player-card.current-user {
	border-color: rgba(198,31,50,.28);
	background:
		radial-gradient(420px 180px at 100% 0%, rgba(198,31,50,.16), transparent 62%),
		linear-gradient(180deg, rgba(35,38,46,.96), rgba(23,25,31,.98));
	box-shadow:
		0 16px 34px rgba(0,0,0,.32),
		inset 0 1px 0 rgba(255,255,255,.05);
}

#profile-screen .medal-mini-title,
#profile-screen .award-title {
	color: var(--cc-text-main);
}

#profile-screen .medal-mini-meta,
#profile-screen .award-got {
	color: #E0B24F;
}

#profile-screen .award-cell:not(.is-owned) .award-title,
#profile-screen .award-cell:not(.is-owned) .award-how-short {
	color: var(--cc-text-muted);
}

#profile-screen .award-cell:not(.is-owned) .award-lock {
	background: rgba(7,11,18,.96);
	border-color: rgba(255,255,255,.10);
	color: #8C939F;
}

#profile-screen .award-bar,
#profile-screen .awards-next-bar,
#profile-screen .award-popup-prog {
	background: rgba(255,255,255,.08);
}

#profile-screen .award-bar > span,
#profile-screen .awards-next-bar > span,
#profile-screen .award-popup-prog > span {
	background: linear-gradient(90deg, var(--cc-red-luxe-dark), var(--cc-red-luxe-bright));
}

#profile-screen .award-popup {
	max-width: 360px;
	background:
		radial-gradient(360px 200px at 50% 0%, rgba(198,31,50,.16), transparent 58%),
		linear-gradient(180deg, #1D2027 0%, #0A0B0E 100%);
}

#profile-screen .award-popup.is-owned {
	border-color: rgba(198,31,50,.22);
}

#profile-screen .award-popup-close {
	background: rgba(255,255,255,.06);
	border-color: rgba(255,255,255,.10);
	color: var(--cc-text-secondary);
}

#profile-screen .award-popup-close:hover {
	background: rgba(198,31,50,.16);
	color: var(--cc-text-main);
}

#profile-screen .pstat-hero,
#profile-screen .pstat-grid,
#profile-screen .awards-grid {
	gap: 10px;
}

#profile-screen .pstat-hero {
	border-color: rgba(255,255,255,.08);
}

#profile-screen .pstat-hero-item.is-gold,
#profile-screen .pstat-season-val.is-rank {
	color: #E0B24F;
}

#profile-screen .pstat-season-key i,
#profile-screen .pstat-rep i {
	color: var(--cc-red-luxe-bright);
}

#profile-screen .pstat-rep {
	background:
		radial-gradient(280px 120px at 0% 50%, rgba(198,31,50,.10), transparent 60%),
		linear-gradient(180deg, rgba(35,38,46,.88), rgba(23,25,31,.96));
	color: var(--cc-text-secondary);
	border-color: rgba(198,31,50,.16);
}

#profile-screen .rating-player-card {
	border: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, rgba(35,38,46,.88), rgba(23,25,31,.96));
}

#profile-screen .rating-player-card:hover {
	border-color: rgba(198,31,50,.24);
	background:
		radial-gradient(520px 180px at 100% 0%, rgba(198,31,50,.12), transparent 62%),
		linear-gradient(180deg, rgba(35,38,46,.94), rgba(23,25,31,.98));
}

#profile-screen .rating-player-badges span,
#profile-screen .cc-auth-links-badge {
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.04);
	color: var(--cc-text-secondary);
}

#profile-screen .cc-auth-links-badge:not(.is-warn) {
	color: var(--cc-text-main);
	background: linear-gradient(135deg, rgba(179,20,42,.92), rgba(198,31,50,.86));
	border-color: rgba(214,40,57,.26);
}

#profile-screen .cc-auth-links-badge.is-warn {
	background: linear-gradient(135deg, rgba(126,19,34,.92), rgba(90,14,24,.88));
	color: var(--cc-text-main);
	border-color: rgba(198,31,50,.18);
}

#profile-screen .cc-auth-links-title {
	font-weight: 900;
}

#profile-screen .cc-auth-links-row {
	gap: 12px;
	padding: 14px 16px;
}

#profile-screen .cc-auth-links-grid {
	gap: 10px;
}

@media (max-width: 767px) {
	#profile-screen .user-profile {
		grid-template-columns: 1fr;
	}

	#profile-screen .user-avatar {
		width: 58px;
		height: 58px;
		flex-basis: 58px;
	}

	#profile-screen .profile-medals-grid,
	#profile-screen .awards-grid,
	#profile-screen .pstat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#profile-screen .awards-header {
		grid-template-columns: 78px minmax(0, 1fr);
	}
}

@media (max-width: 420px) {
	#profile-screen .profile-medals-grid,
	#profile-screen .awards-grid,
	#profile-screen .pstat-grid {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   PROFILE HERO CARD — tournament-card-style header
   ========================================================= */
#profile-screen .profile-hero-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	cursor: default;
	animation: cardSlideIn .5s var(--spring) backwards;
}

#profile-screen .profile-hero-card:hover {
	transform: none !important;
}

#profile-screen .profile-hero-card .user-avatar {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: linear-gradient(135deg, #B3142A 0%, #C61F32 54%, #D62839 100%);
	border: 1px solid rgba(255,255,255,.10);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 10px 24px rgba(179,20,42,.28);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.5px;
}

#profile-screen .profile-hero-body {
	min-width: 0;
	flex: 1 1 auto;
}

#profile-screen .profile-hero-name {
	margin: 0 0 2px;
	font-size: 18px;
	font-weight: 900;
	color: var(--cc-text-main);
	letter-spacing: -.3px;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#profile-screen .profile-hero-username {
	font-size: 12px;
	color: var(--cc-text-muted);
	margin: 0 0 10px;
}

#profile-screen .profile-hero-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Staggered entrance for profile cards */
#profile-screen .card.card-quiet {
	animation: cardSlideIn .5s var(--spring) backwards;
}

#profile-screen .profile-compact-row {
	animation: cardSlideIn .4s var(--spring) backwards;
}

#profile-screen .medal-mini-card,
#profile-screen .award-cell {
	animation: cardSlideIn .4s var(--spring) backwards;
}

/* Stat chips row in profile overview */
#profile-screen .pstat-chips-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

@media (max-width: 420px) {
	#profile-screen .profile-hero-card {
		gap: 12px;
		padding: 14px 16px;
	}
	#profile-screen .profile-hero-name {
		font-size: 16px;
	}
}

/* =========================================================
   PROFILE — ALIGN WITH TOURNAMENT VISUAL LANGUAGE (patch)
   ========================================================= */

/* Stop floating animation on profile avatar — static card, not toy */
#profile-screen .profile-hero-card .user-avatar {
	animation: none;
}

/* Field inside profile: darken to sit cleanly on dark card surface */
#profile-screen .field {
	background: rgba(255,255,255,.04);
	outline-color: rgba(255,255,255,.08);
	border-radius: 14px;
}
#profile-screen .field:focus-within {
	outline-color: rgba(198,31,50,.55);
	box-shadow: 0 0 0 3px rgba(198,31,50,.10);
	transform: none;
}
#profile-screen .field i {
	color: var(--cc-text-muted);
}
#profile-screen .field input[type="text"] {
	background: rgba(255,255,255,.05);
	color: var(--cc-text-main);
}
#profile-screen .field input::placeholder {
	color: var(--cc-text-muted);
}

/* pstat-cell: visible dark surface — matches tournament info tile weight */
#profile-screen .pstat-cell {
	background: linear-gradient(180deg, rgba(35,38,46,.9), rgba(23,25,31,.98));
	border: 1px solid rgba(255,255,255,.08);
}
#profile-screen .pstat-cell:hover {
	border-color: rgba(198,31,50,.2);
}

/* pstat-hero: align border tone */
#profile-screen .pstat-hero {
	border-color: rgba(255,255,255,.08);
}
#profile-screen .pstat-hero-item {
	background: linear-gradient(180deg, rgba(35,38,46,.9), rgba(23,25,31,.98));
}
#profile-screen .pstat-hero-item.is-gold {
	background:
		radial-gradient(140px 90px at 100% 0%, rgba(201,163,95,.14), transparent 60%),
		linear-gradient(180deg, rgba(35,38,46,.9), rgba(23,25,31,.98));
}

/* profile-more: match card surface */
#profile-screen .profile-more {
	border-color: rgba(255,255,255,.08);
	background: rgba(23,25,31,.6);
}
#profile-screen .profile-more summary {
	color: var(--cc-text-secondary);
}

/* Hint text */
#profile-screen .hint {
	color: var(--cc-text-muted);
	font-size: 12px;
	line-height: 1.45;
}

/* Section titles in profile cards — consistent sizing with tournament titles */
#profile-screen .section-title {
	font-size: 15px;
	margin: 0 0 14px;
	letter-spacing: -.2px;
}

/* profile-compact-sub: ensure chip sits naturally without layout shift */
#profile-screen .profile-compact-sub {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 6px;
}

/* tm-chip inside profile: match tournament pill sizing */
#profile-screen .tm-chip {
	font-size: 11px;
	padding: 4px 8px;
	min-height: 24px;
}

/* award-cell hover: red-luxe border on hover */
#profile-screen .award-cell:hover {
	border-color: rgba(198,31,50,.22) !important;
}

/* Mobile safe — profile screen doesn't overflow */
@media (max-width: 390px) {
	#profile-screen .profile-hero-chips {
		gap: 5px;
	}
	#profile-screen .tm-chip {
		font-size: 10px;
		padding: 4px 7px;
	}
	#profile-screen .pstat-chips-row {
		gap: 6px;
	}
}

/* =========================================================
   PROFILE — FORCE TOURNAMENT RED LUXE THEME
   Цель: #profile-screen выглядит так же, как #tournaments-screen.
   Чистый тёмный графит. Красный ТОЛЬКО в borders и иконках.
   Без мутных красных/фиолетовых заливок в фоне карточек.
   ========================================================= */

/* --- Base cards: clean dark graphite, no murky red bg tint --- */
#profile-screen .card,
#profile-screen .card.card-quiet,
#profile-screen .profile-hero-card,
#profile-screen .cc-auth-links-card,
#profile-screen .user-profile,
#profile-screen .settings-item {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
	border-radius: 16px;
}

#profile-screen .card:hover,
#profile-screen .card.card-quiet:hover,
#profile-screen .cc-auth-links-card:hover {
	border-color: rgba(198,31,50,.42) !important;
	box-shadow: 0 10px 28px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06) !important;
	transform: none !important;
}

#profile-screen .profile-hero-card:hover {
	transform: none !important;
}

/* --- Section titles --- */
#profile-screen .section-title {
	color: #F5F7FA !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	letter-spacing: -.2px !important;
	margin: 0 0 14px !important;
}

#profile-screen .section-title i {
	/* background: linear-gradient(135deg, #ef4444, #A32632) !important; */
	/* -webkit-background-clip: border-box !important; */
	/* background-clip: border-box !important; */
	color: #F4EFE8 !important;
}

/* --- Avatar --- */
#profile-screen .user-avatar {
	background: linear-gradient(135deg, #B3142A 0%, #C61F32 54%, #D62839 100%) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 6px 16px rgba(179,20,42,.18) !important;
	animation: none !important;
	color: #fff !important;
}

/* --- Profile hero text --- */
#profile-screen .profile-hero-name,
#profile-screen .user-info h3 {
	color: #F5F7FA !important;
}

#profile-screen .profile-hero-username,
#profile-screen .user-info p {
	color: #8C939F !important;
}

#profile-screen .user-info strong {
	color: #F5F7FA !important;
}

/* --- Input field (nick) --- */
#profile-screen .field {
	background: rgba(10,11,14,.9) !important;
	outline: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: none !important;
	border-radius: 14px !important;
	transform: none !important;
}

#profile-screen .field:focus-within {
	outline-color: rgba(198,31,50,.55) !important;
	box-shadow: 0 0 0 3px rgba(198,31,50,.10) !important;
	transform: none !important;
}

#profile-screen .field i {
	color: #8C939F !important;
}

#profile-screen .field input[type="text"],
#profile-screen .field input[type="email"],
#profile-screen input[type="text"],
#profile-screen input[type="email"] {
	background: rgba(7,9,13,.85) !important;
	color: #F5F7FA !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.07) !important;
}

#profile-screen .field input::placeholder,
#profile-screen input::placeholder {
	color: #8C939F !important;
}

#profile-screen .field input:focus,
#profile-screen input:focus {
	background: rgba(7,9,13,.95) !important;
	box-shadow: inset 0 0 0 1px rgba(198,31,50,.45) !important;
}

/* --- Hint --- */
#profile-screen .hint {
	color: #8C939F !important;
}

/* --- pstat-hero (big numbers) --- */
#profile-screen .pstat-hero {
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 14px !important;
}

#profile-screen .pstat-hero-item {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
}

#profile-screen .pstat-hero-item + .pstat-hero-item {
	border-left-color: rgba(255,255,255,.06) !important;
}

#profile-screen .pstat-hero-item.is-gold {
	background:
		radial-gradient(110px 70px at 100% 0%, rgba(201,163,95,.10), transparent 60%),
		linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
}

#profile-screen .pstat-hero-val { color: #F5F7FA !important; }
#profile-screen .pstat-hero-val.is-gold { color: #C9A35F !important; }
#profile-screen .pstat-hero-label { color: #8C939F !important; }

/* --- pstat-cell (3-col grid) --- */
#profile-screen .pstat-cell {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
}

#profile-screen .pstat-val { color: #F5F7FA !important; }
#profile-screen .pstat-label { color: #8C939F !important; }

/* --- pstat-season panel --- */
#profile-screen .pstat-season {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.18) !important;
}

#profile-screen .pstat-season-row + .pstat-season-row {
	border-top-color: rgba(255,255,255,.05) !important;
}

#profile-screen .pstat-season-key { color: #B8BEC8 !important; }
#profile-screen .pstat-season-key i { color: #C61F32 !important; }
#profile-screen .pstat-season-val { color: #F5F7FA !important; }
#profile-screen .pstat-season-val.is-rank { color: #C9A35F !important; }

/* --- pstat-rep (reputation strip) --- */
#profile-screen .pstat-rep {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.18) !important;
	color: #B8BEC8 !important;
}
#profile-screen .pstat-rep i { color: #C61F32 !important; }

/* --- Compact rows (active regs / history) --- */
#profile-screen .profile-compact-row {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: none !important;
}

#profile-screen .profile-compact-row:hover {
	border-color: rgba(198,31,50,.3) !important;
	transform: none !important;
	background: linear-gradient(180deg, rgba(35,38,46,.97), rgba(20,23,29,.99)) !important;
}

#profile-screen .profile-compact-title { color: #F5F7FA !important; }
#profile-screen .profile-compact-sub { color: #8C939F !important; }

/* --- profile-more (expandable) --- */
#profile-screen .profile-more {
	background: rgba(17,20,25,.8) !important;
	border-color: rgba(255,255,255,.07) !important;
}

#profile-screen .profile-more summary { color: #B8BEC8 !important; }

/* --- Medals / awards --- */
#profile-screen .medal-mini-card,
#profile-screen .award-cell,
#profile-screen .medal-locked-row {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
}

#profile-screen .medal-mini-card.is-owned,
#profile-screen .award-cell.is-owned {
	border-color: rgba(198,31,50,.28) !important;
}

#profile-screen .award-cell:hover {
	border-color: rgba(198,31,50,.3) !important;
}

#profile-screen .medal-mini-title,
#profile-screen .award-title { color: #F5F7FA !important; }
#profile-screen .medal-mini-meta,
#profile-screen .award-got { color: #C9A35F !important; }
#profile-screen .award-how-short { color: #8C939F !important; }

/* --- Awards header (bubble + next goal) --- */
#profile-screen .awards-count-bubble,
#profile-screen .awards-next-box {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
}

/* --- tm-chips in profile --- */
#profile-screen .tm-chip {
	background: rgba(10,11,14,.85) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	color: #B8BEC8 !important;
}

#profile-screen .tm-chip.tm-chip--ok {
	background: rgba(16,185,129,.07) !important;
	border-color: rgba(16,185,129,.22) !important;
	color: #86efac !important;
}

#profile-screen .tm-chip.tm-chip--warn {
	background: rgba(198,31,50,.07) !important;
	border-color: rgba(198,31,50,.22) !important;
	color: #fca5a5 !important;
}

#profile-screen .tm-chip.tm-chip--gold {
	background: rgba(201,163,95,.07) !important;
	border-color: rgba(201,163,95,.22) !important;
	color: #C9A35F !important;
}

/* --- Buttons --- */
#profile-screen .btn {
	background: linear-gradient(135deg, #B3142A 0%, #C61F32 54%, #D62839 100%) !important;
	color: #F5F7FA !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 8px 20px rgba(179,20,42,.18) !important;
}

#profile-screen .btn-secondary {
	background: linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,25,.98)) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	color: #B8BEC8 !important;
	box-shadow: none !important;
}

#profile-screen .btn-secondary:hover {
	border-color: rgba(198,31,50,.3) !important;
	color: #F5F7FA !important;
}

#profile-screen .btn[disabled],
#profile-screen .btn.btn-secondary[disabled] {
	opacity: .35 !important;
}

/* --- Auth links card internals --- */
#profile-screen .cc-auth-links-row {
	background: linear-gradient(180deg, rgba(29,32,39,.9), rgba(17,20,25,.98)) !important;
	border-color: rgba(255,255,255,.07) !important;
}

#profile-screen .cc-auth-links-title { color: #F5F7FA !important; font-weight: 900 !important; }

#profile-screen .cc-auth-links-badge:not(.is-warn) {
	background: linear-gradient(135deg, #B3142A, #C61F32) !important;
	border-color: rgba(214,40,57,.26) !important;
	color: #F5F7FA !important;
}

#profile-screen .cc-auth-links-badge.is-warn {
	background: rgba(198,31,50,.08) !important;
	border-color: rgba(198,31,50,.22) !important;
	color: #fca5a5 !important;
}

/* --- Progress bars --- */
#profile-screen .award-bar,
#profile-screen .awards-next-bar,
#profile-screen .award-popup-prog {
	background: rgba(255,255,255,.06) !important;
}

#profile-screen .award-bar > span,
#profile-screen .awards-next-bar > span,
#profile-screen .award-popup-prog > span {
	background: linear-gradient(90deg, #B3142A, #D62839) !important;
}

/* --- Award popup --- */
#profile-screen .award-popup {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(10,11,14,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
}

/* --- Mobile safety --- */
@media (max-width: 420px) {
	#profile-screen .card,
	#profile-screen .card.card-quiet {
		border-radius: 14px !important;
	}
}

/* =========================================================
   RATING — FORCE TOURNAMENT RED LUXE THEME
   Цель: #rating-screen выглядит так же, как #tournaments-screen.
   Чистый тёмный графит. Красный ТОЛЬКО в borders и иконках.
   Без фиолетовых/синеватых заливок.
   ========================================================= */

/* --- Rating player cards: clean dark graphite --- */
#rating-screen .rating-player-card,
#rating-screen .game-history-item {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.18) !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#rating-screen .rating-player-card:hover,
#rating-screen .game-history-item:hover {
	border-color: rgba(198,31,50,.36) !important;
	box-shadow: 0 8px 24px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.06) !important;
	transform: none !important;
}

/* Current user row: clean graphite + gold accent border (gold = my position, luxury ok) */
#rating-screen .rating-player-card.current-user {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border-color: rgba(201,163,95,.38) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,.28), 0 0 0 1px rgba(201,163,95,.10), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

/* --- Player name / stats text --- */
#rating-screen .rating-player-name { color: #F5F7FA !important; }
#rating-screen .rating-player-stats { color: #B8BEC8 !important; }

/* --- Fix purple .rating-chip--me → red accent --- */
.rating-chip--me {
	background: rgba(198,31,50,.12) !important;
	border: 1px solid rgba(198,31,50,.28) !important;
	color: #fca5a5 !important;
}

/* --- Fix blue-gray .rating-chip--games border → neutral --- */
.rating-chip--games {
	background: rgba(255,255,255,.05) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	color: #B8BEC8 !important;
}

/* --- Rating screen section title --- */
#rating-screen .section-title {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

/* --- Month nav buttons --- */
#rating-month-prev,
#rating-month-next {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border-color: rgba(198,31,50,.22) !important;
	color: #B8BEC8 !important;
}

#rating-month-prev:hover,
#rating-month-next:hover {
	border-color: rgba(198,31,50,.42) !important;
	color: #F5F7FA !important;
}

#rating-month-label {
	color: #F5F7FA !important;
	font-weight: 800 !important;
}

/* --- Mobile safety --- */
@media (max-width: 420px) {
	#rating-screen .rating-player-card {
		border-radius: 14px !important;
	}
}

/* =========================================================
   CONTACT — FORCE TOURNAMENT RED LUXE THEME
   Цель: #support-screen выглядит так же, как #tournaments-screen.
   Убираем мутные radial-gradient заливки, оставляем чистый графит.
   ========================================================= */

/* --- Contact / ext-link cards: clean dark graphite --- */
#support-screen .contact-item,
#support-screen .settings-item,
#support-screen .ext-link {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
	border-radius: 16px !important;
	transform: none !important;
}

#support-screen .contact-item:hover,
#support-screen .settings-item:hover,
#support-screen .ext-link:hover {
	border-color: rgba(198,31,50,.42) !important;
	box-shadow: 0 10px 28px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06) !important;
	transform: none !important;
}

/* --- Text hierarchy --- */
#support-screen .contact-item .item-title,
#support-screen .settings-item .item-title,
#support-screen h3,
#support-screen strong {
	color: #F5F7FA !important;
}

#support-screen .contact-item .item-sub,
#support-screen .settings-item .item-sub,
#support-screen p,
#support-screen .hint {
	color: #8C939F !important;
}

#support-screen .terms-note {
	color: rgba(184,190,200,.7) !important;
	border-top-color: rgba(255,255,255,.06) !important;
}

/* --- Icons --- */
#support-screen .contact-item i,
#support-screen .settings-item i,
#support-screen .ext-link i {
	color: #C61F32 !important;
}

/* --- Section title --- */
#support-screen .section-title {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

/* =========================================================
   MODALS — FORCE TOURNAMENT RED LUXE THEME
   Цель: все модальные окна — чистый графит, красная граница.
   Убираем мутные radial-gradient в фоне modal-content.
   ========================================================= */

/* --- Base modal content: clean dark graphite --- */
.modal-content {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
	box-shadow: 0 28px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* --- Modal header/close button --- */
.modal-header {
	border-bottom-color: rgba(255,255,255,.07) !important;
	background: linear-gradient(180deg, rgba(21,25,32,.97), rgba(17,20,25,.90)) !important;
}

.modal-title {
	color: #F5F7FA !important;
}

.close-btn {
	border-color: rgba(255,255,255,.10) !important;
}

.close-btn:hover {
	border-color: rgba(198,31,50,.35) !important;
	background: rgba(255,255,255,.07) !important;
	color: #fff !important;
}

/* --- Tournament modal: clean dark graphite, red border --- */
#tournament-modal .modal-content {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.26) !important;
	box-shadow: 0 30px 80px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#tournament-modal .modal-content.tm-neo {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.26) !important;
}

#tournament-modal .modal-header,
#tournament-modal .tm-head {
	background: linear-gradient(180deg, rgba(21,25,32,.97), rgba(17,20,25,.90)) !important;
	border-bottom-color: rgba(198,31,50,.20) !important;
}

/* Red accent line under tournament modal header */
#tournament-modal .modal-header::after {
	background: linear-gradient(90deg, transparent, rgba(198,31,50,.7), rgba(214,40,57,.5), transparent) !important;
}

#tournament-modal .modal-title {
	color: #F5F7FA !important;
	background: none !important;
	-webkit-background-clip: unset !important;
	background-clip: unset !important;
}

/* --- Club info modal: clean dark graphite --- */
#club-info-modal .modal-content.club-info-modal-content {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
	box-shadow: 0 28px 64px rgba(0,0,0,.54), inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#club-info-modal .modal-header--sticky.club-info-modal-header {
	background: linear-gradient(180deg, rgba(21,25,32,.97), rgba(17,20,25,.90)) !important;
	border-bottom-color: rgba(198,31,50,.18) !important;
}

#club-info-modal .club-info-hero {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border-color: rgba(198,31,50,.18) !important;
}

#club-info-modal .club-info-chip {
	background: rgba(255,255,255,.04) !important;
	border-color: rgba(255,255,255,.10) !important;
	color: #B8BEC8 !important;
}

#club-info-modal .club-info-hero-stat {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border-color: rgba(255,255,255,.07) !important;
}

#club-info-modal .club-info-hero-stat-k { color: #8C939F !important; }
#club-info-modal .club-info-hero-stat-v { color: #F5F7FA !important; }
#club-info-modal .club-info-hero-title { color: #F5F7FA !important; }
#club-info-modal .club-info-hero-sub { color: #B8BEC8 !important; }
#club-info-modal .club-info-eyebrow {
	background: rgba(255,255,255,.04) !important;
	border-color: rgba(255,255,255,.10) !important;
	color: #8C939F !important;
}

/* --- Rating info modal --- */
#rating-info-modal .modal-content {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.22) !important;
}

/* --- Rating goals modal (bottom sheet) --- */
#cc-rating-goals-modal .cc-rg-dialog {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border-color: rgba(198,31,50,.22) !important;
}

#cc-rating-goals-modal .cc-rg-head {
	border-bottom-color: rgba(255,255,255,.07) !important;
}

#cc-rating-goals-modal .cc-rg-title { color: #F5F7FA !important; }

#cc-rating-goals-modal .cc-rg-close {
	border-color: rgba(255,255,255,.10) !important;
	background: rgba(255,255,255,.05) !important;
}

#cc-rating-goals-modal .cc-rg-close:hover {
	border-color: rgba(198,31,50,.35) !important;
}

/* (TOURNAMENT MODAL FORCE block removed — see FINAL block below) */

/* =========================================================
   RATING INFO MODAL — FORCE TOURNAMENT RED LUXE THEME
   Цель: #rating-info-modal = чистый тёмный графит как турниры.
   Inline styles убраны из HTML. CSS управляет всем визуалом.
   ========================================================= */

/* --- Modal wrapper: scroll preserved --- */
#rating-info-modal .modal-content {
	background: linear-gradient(180deg, rgba(29,32,39,.99), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.26) !important;
	box-shadow: 0 28px 80px rgba(0,0,0,.60), inset 0 1px 0 rgba(255,255,255,.04) !important;
	max-height: var(--app-modal-max-h) !important;
	overflow-y: auto !important;
}

/* --- Header --- */
#rating-info-modal .modal-header {
	background: linear-gradient(180deg, rgba(21,25,32,.98), rgba(17,20,25,.92)) !important;
	border-bottom: 1px solid rgba(198,31,50,.20) !important;
}

#rating-info-modal .modal-title {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

#rating-info-modal .modal-title i {
	color: #C9A35F !important;
	font-size: 20px !important;
}

#rating-info-modal .close-btn {
	border-color: rgba(255,255,255,.10) !important;
}

#rating-info-modal .close-btn:hover {
	border-color: rgba(198,31,50,.35) !important;
	background: rgba(255,255,255,.07) !important;
}

/* --- Hero icon (was purple #a78bfa) --- */
#rating-info-modal .ri-hero-icon,
#rating-info-modal i.ri-hero-icon {
	font-size: 44px !important;
	color: #C61F32 !important;
	display: block !important;
}

/* Safety net — перебиваем любой оставшийся inline color:#a78bfa */
#rating-info-modal i[style*="a78bfa"] {
	color: #D62839 !important;
}

/* --- Hero heading and lead text --- */
#rating-info-modal h2 {
	color: #F5F7FA !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	margin: 10px 0 0 !important;
}

#rating-info-modal .rating-info-lead {
	color: #8C939F !important;
	font-size: 15px !important;
	margin-top: 6px !important;
	line-height: 1.5 !important;
}

/* --- Cards inside modal: clean dark graphite --- */
#rating-info-modal .card,
#rating-info-modal .card.card-quiet {
	background: linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.18) !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04) !important;
	margin-bottom: 16px !important;
	border-radius: 16px !important;
}

#rating-info-modal .card:last-child,
#rating-info-modal .card.card-quiet:last-child {
	margin-bottom: 0 !important;
}

/* --- Card headings --- */
#rating-info-modal h3 {
	color: #F5F7FA !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	margin: 0 0 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

#rating-info-modal h3 i {
	color: #C61F32 !important;
	font-size: 18px !important;
}

/* Gold for medal/final icons */
#rating-info-modal h3 .ri-medal-2-line,
#rating-info-modal h3 .ri-star-smile-line {
	color: #C9A35F !important;
}

/* --- Body text --- */
#rating-info-modal p {
	color: #B8BEC8 !important;
	margin: 0 0 0 !important;
	line-height: 1.55 !important;
}

#rating-info-modal p + p {
	margin-top: 8px !important;
}

#rating-info-modal p.ri-muted {
	color: #8C939F !important;
	font-size: 14px !important;
}

#rating-info-modal p.ri-ok-note {
	color: #86efac !important;
}

/* --- Strong --- */
#rating-info-modal strong {
	color: #F5F7FA !important;
	font-weight: 700 !important;
}

/* --- Links --- */
#rating-info-modal a {
	color: #D62839 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

#rating-info-modal a:hover {
	color: #ef4444 !important;
}

/* --- post / ul-clean --- */
#rating-info-modal .post {
	margin-top: 10px !important;
	padding: 10px 14px !important;
	background: rgba(10,11,14,.60) !important;
	border: 1px solid rgba(255,255,255,.06) !important;
	border-radius: 12px !important;
}

#rating-info-modal .ul-clean {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	line-height: 1.6 !important;
}

#rating-info-modal .ul-clean li {
	color: #B8BEC8 !important;
	padding: 2px 0 !important;
}

#rating-info-modal .ul-clean li strong {
	color: #F5F7FA !important;
}

/* --- Hint footer --- */
#rating-info-modal .hint {
	color: #8C939F !important;
	font-size: 14px !important;
	text-align: center !important;
	line-height: 1.5 !important;
}

/* --- Generic icon fallback (no purple) --- */
#rating-info-modal i {
	color: inherit !important;
}

/* --- Inner padding wrapper --- */
#rating-info-modal > .modal-content > div:not(.modal-header) {
	padding: 20px !important;
}

/* =========================================================
   TOURNAMENT MODAL — FINAL TOURNAMENT CARD THEME
   ========================================================= */

#tournament-modal.modal {
	background: rgba(0,0,0,.72) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

#tournament-modal .modal-content.tm-neo,
#tournament-modal .modal-content {
	width: min(100% - 24px, 620px) !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 24px) !important;
	margin: 12px auto !important;
	padding: 0 !important;
	overflow: hidden !important;

	background:
		linear-gradient(180deg, rgba(18,20,26,.98), rgba(7,8,12,.99)) !important;
	border: 1px solid rgba(198,31,50,.28) !important;
	border-radius: 22px !important;
	box-shadow: 0 26px 70px rgba(0,0,0,.76) !important;
	color: #F5F7FA !important;
}

/* Убираем пустую тяжёлую шапку. Оставляем только крестик */
#tournament-modal .modal-header {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 5 !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

#tournament-modal .modal-title {
	display: none !important;
}

#tournament-modal .close-btn {
	width: 42px !important;
	height: 42px !important;
	border-radius: 14px !important;
	background: rgba(255,255,255,.06) !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	color: #F5F7FA !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.35) !important;
}

#tournament-modal .close-btn:hover {
	background: rgba(198,31,50,.14) !important;
	border-color: rgba(198,31,50,.42) !important;
}

/* Главная шапка турнира — как tournament card */
#tournament-modal .tm-head {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;

	padding: 24px 64px 18px 18px !important;
	margin: 0 !important;

	background:
		linear-gradient(135deg, rgba(126,19,34,.44), rgba(18,20,26,.98) 44%, rgba(7,8,12,.99)) !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(198,31,50,.26) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

#tournament-modal .tm-title {
	margin: 0 !important;
	color: #F5F7FA !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	line-height: 1.18 !important;
	letter-spacing: -.35px !important;
	text-transform: uppercase !important;
}

#tournament-modal .tm-sub {
	margin-top: 8px !important;
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #8C939F !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

#tournament-modal .tm-sub i {
	color: #D62839 !important;
}

#tournament-modal .tm-badge {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 28px !important;
	padding: 6px 12px !important;
	border-radius: 999px !important;

	background: rgba(34,197,94,.12) !important;
	border: 1px solid rgba(34,197,94,.28) !important;
	color: #C7F9D4 !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	box-shadow: none !important;
}

/* Тело */
#tournament-modal .tm-body {
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 122px) !important;
	padding: 16px !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	background: transparent !important;
}

/* Инфо-блоки — не админские поля, а компактные карточки */
#tournament-modal .tm-meta {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
	margin: 0 0 12px !important;
}

#tournament-modal .tm-tile,
#tournament-modal .tm-section {
	padding: 14px !important;
	margin: 0 0 12px !important;
	border-radius: 16px !important;

	background:
		linear-gradient(180deg, rgba(29,32,39,.84), rgba(13,15,20,.96)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: none !important;
	color: #F5F7FA !important;
}

#tournament-modal .tm-tile:hover,
#tournament-modal .tm-section:hover {
	border-color: rgba(198,31,50,.24) !important;
	transform: none !important;
}

/* Убираем заголовки-полоски */
#tournament-modal .tm-k,
#tournament-modal .tm-h {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;

	margin: 0 0 9px !important;
	padding: 0 !important;

	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;

	color: #8C939F !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
}

#tournament-modal .tm-k i,
#tournament-modal .tm-h i {
	color: #D62839 !important;
	font-size: 15px !important;
}

#tournament-modal .tm-v {
	color: #B8BEC8 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

#tournament-modal .tm-v strong,
#tournament-modal .tm-p strong {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

#tournament-modal [style*="color:#94a3b8"],
#tournament-modal [style*="color: #94a3b8"] {
	color: #8C939F !important;
}

/* Описание */
#tournament-modal .tm-p {
	margin: 0 !important;
	color: #B8BEC8 !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	white-space: normal !important;
}

/* Кнопка карт */
#tournament-modal .map-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	min-height: 40px !important;
	margin-top: 10px !important;
	padding: 9px 13px !important;
	border-radius: 12px !important;

	background: rgba(255,255,255,.045) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	color: #F5F7FA !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

#tournament-modal .map-btn i {
	color: #D62839 !important;
}

#tournament-modal .map-btn:hover {
	background: rgba(198,31,50,.10) !important;
	border-color: rgba(198,31,50,.32) !important;
}

/* Гости */
#tournament-modal .tm-list {
	margin: 0 !important;
	padding: 0 !important;
	max-height: min(42vh, 360px) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	border-radius: 14px !important;
	background: rgba(5,6,8,.42) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
}

#tournament-modal .tm-list::-webkit-scrollbar {
	width: 6px !important;
}

#tournament-modal .tm-list::-webkit-scrollbar-thumb {
	background: rgba(163,38,50,.55) !important;
	border-radius: 999px !important;
}

#tournament-modal .tm-list::-webkit-scrollbar-track {
	background: transparent !important;
}

#tournament-modal .tm-li {
	display: flex !important;
	align-items: center !important;
	min-height: 40px !important;
	padding: 10px 12px !important;
	background: transparent !important;
	border-bottom: 1px solid rgba(255,255,255,.07) !important;
	color: #B8BEC8 !important;
}

#tournament-modal .tm-li:last-child {
	border-bottom: 0 !important;
}

#tournament-modal .tm-li span {
	color: #F5F7FA !important;
	font-weight: 800 !important;
}

/* CTA должен быть обычным блоком в потоке, ничего не перекрывать */
#tournament-modal .tm-cta {
	position: static !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	inset: auto !important;

	display: block !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#tournament-modal .tm-cta-hint {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;

	margin: 0 0 12px !important;
	padding: 12px !important;
	border-radius: 14px !important;

	background:
		linear-gradient(180deg, rgba(29,32,39,.84), rgba(13,15,20,.96)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	color: #B8BEC8 !important;
}

#tournament-modal .tm-cta-dot {
	width: 9px !important;
	height: 9px !important;
	margin-top: 5px !important;
	border-radius: 999px !important;
	background: #C9A35F !important;
	box-shadow: none !important;
}

#tournament-modal .tm-cta-text b {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

#tournament-modal .tm-cta-sub {
	margin-top: 3px !important;
	color: #8C939F !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

#tournament-modal .tm-row {
	display: block !important;
	margin: 0 !important;
}

#tournament-modal .btn {
	width: 100% !important;
	min-height: 50px !important;
	border-radius: 14px !important;

	background:
		linear-gradient(135deg, #B3142A 0%, #C61F32 56%, #D62839 100%) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	color: #F5F7FA !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.14),
		0 12px 26px rgba(179,20,42,.22) !important;
}

@media (max-width: 540px) {
	#tournament-modal .modal-content.tm-neo,
	#tournament-modal .modal-content {
		width: calc(100vw - 16px) !important;
		max-width: calc(100vw - 16px) !important;
		margin: 8px auto !important;
		border-radius: 20px !important;
	}

	#tournament-modal .tm-head {
		padding: 22px 58px 16px 16px !important;
	}

	#tournament-modal .tm-title {
		font-size: 18px !important;
	}

	#tournament-modal .tm-body {
		padding: 14px !important;
	}

	#tournament-modal .tm-tile,
	#tournament-modal .tm-section {
		padding: 13px !important;
		border-radius: 14px !important;
	}
}

/* =========================================================
   TOURNAMENT MODAL — STICKY CTA AND CLOSE FIX
   ========================================================= */

#tournament-modal .modal-content.tm-neo,
#tournament-modal .modal-content {
	position: relative !important;
	overflow: hidden !important;
}

/* Крестик закрытия — всегда поверх модалки */
#tournament-modal .modal-header {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	z-index: 50 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	pointer-events: none !important;
}

#tournament-modal .close-btn {
	pointer-events: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	border-radius: 14px !important;
	background: rgba(23,25,31,.96) !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	color: #F5F7FA !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.42) !important;
	z-index: 60 !important;
}

#tournament-modal .close-btn i {
	display: block !important;
	color: #F5F7FA !important;
	font-size: 20px !important;
	line-height: 1 !important;
	opacity: 1 !important;
}

#tournament-modal .close-btn:hover,
#tournament-modal .close-btn:active {
	background: rgba(198,31,50,.16) !important;
	border-color: rgba(198,31,50,.46) !important;
}

/* Скролл-контейнер получает запас снизу под закреплённую CTA-панель */
#tournament-modal .tm-body {
	position: relative !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: calc(156px + max(12px, var(--safe-b, 0px))) !important;
}

/* CTA закреплена внизу внутри scroll area */
#tournament-modal .tm-cta {
	position: sticky !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 30 !important;

	margin: 16px -16px calc(-156px - max(12px, var(--safe-b, 0px))) !important;
	padding: 12px 16px calc(12px + max(8px, var(--safe-b, 0px))) !important;

	background:
		linear-gradient(180deg, rgba(7,8,12,.20) 0%, rgba(7,8,12,.96) 18%, rgba(7,8,12,.99) 100%) !important;
	border-top: 1px solid rgba(198,31,50,.24) !important;
	box-shadow: 0 -18px 36px rgba(0,0,0,.42) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
}

/* Подсказка внутри CTA */
#tournament-modal .tm-cta-hint {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;

	margin: 0 0 10px !important;
	padding: 11px 12px !important;
	border-radius: 14px !important;

	background: rgba(23,25,31,.92) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: none !important;
	color: #B8BEC8 !important;
}

#tournament-modal .tm-cta-text b {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

#tournament-modal .tm-cta-sub {
	margin-top: 3px !important;
	color: #8C939F !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

#tournament-modal .tm-cta-dot {
	width: 9px !important;
	height: 9px !important;
	margin-top: 5px !important;
	border-radius: 999px !important;
	background: #C9A35F !important;
	box-shadow: 0 0 0 4px rgba(201,163,95,.10) !important;
	flex: 0 0 auto !important;
}

/* Кнопка записи в закреплённой панели */
#tournament-modal .tm-cta .btn {
	width: 100% !important;
	min-height: 50px !important;
	border-radius: 14px !important;

	background:
		linear-gradient(135deg, #B3142A 0%, #C61F32 56%, #D62839 100%) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	color: #F5F7FA !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.14),
		0 12px 26px rgba(179,20,42,.24) !important;
}

@media (max-width: 540px) {
	#tournament-modal .modal-header {
		top: 10px !important;
		right: 10px !important;
	}

	#tournament-modal .close-btn {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		border-radius: 13px !important;
	}

	#tournament-modal .tm-body {
		padding-bottom: calc(164px + max(12px, var(--safe-b, 0px))) !important;
	}

	#tournament-modal .tm-cta {
		margin-right: -14px !important;
		margin-left: -14px !important;
		margin-bottom: calc(-164px - max(12px, var(--safe-b, 0px))) !important;
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}

/* =========================================================
   RATING GOALS MODAL — TOURNAMENT RED LUXE THEME
   ========================================================= */

#cc-rating-goals-modal.modal {
	background: rgba(0,0,0,.72) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	backdrop-filter: blur(8px) !important;
}

#cc-rating-goals-modal .cc-rg-dialog,
#cc-rating-goals-modal .modal-content {
	width: min(100% - 24px, 620px) !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 24px) !important;
	margin: 12px auto !important;
	padding: 0 !important;
	overflow: hidden !important;

	background:
		radial-gradient(circle at 20% 0%, rgba(220,38,65,.10), transparent 34%),
		linear-gradient(180deg, #11141b 0%, #080a0f 100%) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 22px !important;
	box-shadow: 0 24px 70px rgba(0,0,0,.58) !important;
	color: #F5F7FA !important;
}

/* Header */
#cc-rating-goals-modal .cc-rg-head,
#cc-rating-goals-modal .modal-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 30 !important;

	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;

	padding: 14px 16px !important;
	background: rgba(13,15,20,.96) !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
}

#cc-rating-goals-modal .cc-rg-title {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;

	color: #F5F7FA !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: -.2px !important;
}

#cc-rating-goals-modal .cc-rg-title i {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	border-radius: 12px !important;

	background: rgba(198,31,50,.14) !important;
	border: 1px solid rgba(198,31,50,.28) !important;
	color: #F5F7FA !important;
}

#cc-rating-goals-modal .cc-rg-close,
#cc-rating-goals-modal .modal-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;

	border-radius: 14px !important;
	background: rgba(23,25,31,.96) !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	color: #F5F7FA !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.42) !important;
}

#cc-rating-goals-modal .cc-rg-close i,
#cc-rating-goals-modal .modal-close i {
	color: #F5F7FA !important;
	font-size: 20px !important;
}

#cc-rating-goals-modal .cc-rg-close:hover,
#cc-rating-goals-modal .modal-close:hover {
	background: rgba(198,31,50,.16) !important;
	border-color: rgba(198,31,50,.46) !important;
}

/* Body */
#cc-rating-goals-modal .cc-rg-body,
#cc-rating-goals-modal .club-info-shell {
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 82px) !important;
	padding: 14px !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	background: transparent !important;
}

/* Hero */
#cc-rating-goals-modal .cc-rg-hero {
	margin: 0 0 12px !important;
	padding: 16px !important;
	border-radius: 18px !important;

	background:
		radial-gradient(circle at 12% 0%, rgba(220,38,65,.13), transparent 40%),
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

#cc-rating-goals-modal .cc-rg-hero-top {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin-bottom: 16px !important;
}

#cc-rating-goals-modal .cc-rg-hero-label {
	color: #C9A35F !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
}

#cc-rating-goals-modal .cc-rg-hero-level {
	margin-top: 6px !important;
	color: #F5F7FA !important;
	font-size: 28px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	letter-spacing: -.5px !important;
	text-transform: uppercase !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts {
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 4px !important;
	padding: 10px 12px !important;
	border-radius: 14px !important;

	background: rgba(5,6,8,.52) !important;
	border: 1px solid rgba(201,163,95,.22) !important;
	color: #8C939F !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts span {
	color: #8C939F !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
}

#cc-rating-goals-modal .cc-rg-hero-pts b {
	color: #C9A35F !important;
	font-size: 15px !important;
	font-weight: 900 !important;
}

#cc-rating-goals-modal .cc-rg-progress-bar {
	height: 9px !important;
	overflow: hidden !important;
	border-radius: 999px !important;
	background: rgba(5,6,8,.70) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

#cc-rating-goals-modal .cc-rg-progress-fill {
	display: block !important;
	height: 100% !important;
	border-radius: inherit !important;
	background:
		linear-gradient(90deg, #B3142A 0%, #C61F32 56%, #D62839 100%) !important;
	box-shadow: none !important;
}

#cc-rating-goals-modal .cc-rg-progress-label {
	margin-top: 12px !important;
	color: #C9A35F !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

#cc-rating-goals-modal .cc-rg-progress-label b {
	color: #F5F7FA !important;
}

/* Level list */
#cc-rating-goals-modal .cc-level-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 0 8px !important;
}

#cc-rating-goals-modal .cc-level-row {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) auto !important;
	align-items: center !important;
	gap: 10px !important;

	min-height: 62px !important;
	padding: 10px 12px !important;
	border-radius: 16px !important;

	background:
		linear-gradient(180deg, rgba(29,32,39,.84), rgba(13,15,20,.96)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: none !important;
	color: #F5F7FA !important;
}

#cc-rating-goals-modal .cc-level-row:hover {
	border-color: rgba(255,255,255,.14) !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)) !important;
	transform: none !important;
}

#cc-rating-goals-modal .cc-level-icon-wrap {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 13px !important;

	background: rgba(255,255,255,.045) !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	color: #8C939F !important;
}

#cc-rating-goals-modal .cc-level-name {
	color: #F5F7FA !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
}

#cc-rating-goals-modal .cc-level-sub {
	margin-top: 3px !important;
	color: #8C939F !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

#cc-rating-goals-modal .cc-level-side {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 5px !important;
	min-width: 76px !important;
}

#cc-rating-goals-modal .cc-level-status {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 22px !important;
	padding: 4px 9px !important;
	border-radius: 999px !important;

	background: rgba(255,255,255,.045) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	color: #8C939F !important;
	font-size: 9px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
}

#cc-rating-goals-modal .cc-level-pts {
	color: #B8BEC8 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
}

/* Reached */
#cc-rating-goals-modal .cc-level-row.is-reached .cc-level-icon-wrap {
	background: rgba(201,163,95,.10) !important;
	border-color: rgba(201,163,95,.22) !important;
	color: #C9A35F !important;
}

#cc-rating-goals-modal .cc-level-row.is-reached .cc-level-status {
	background: rgba(201,163,95,.08) !important;
	border-color: rgba(201,163,95,.20) !important;
	color: #C9A35F !important;
}

/* Current */
#cc-rating-goals-modal .cc-level-row.is-current {
	background:
		linear-gradient(180deg, rgba(220,38,65,.10), rgba(255,255,255,.025)) !important;
	border-color: rgba(220,38,65,.45) !important;
	box-shadow: inset 0 0 0 1px rgba(220,38,65,.10) !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-icon-wrap {
	background:
		linear-gradient(135deg, #B3142A 0%, #C61F32 56%, #D62839 100%) !important;
	border-color: rgba(255,255,255,.12) !important;
	color: #F5F7FA !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-status {
	background: rgba(198,31,50,.18) !important;
	border-color: rgba(198,31,50,.42) !important;
	color: #F5F7FA !important;
}

#cc-rating-goals-modal .cc-level-row.is-current .cc-level-pts {
	color: #C9A35F !important;
}

/* Next */
#cc-rating-goals-modal .cc-level-row.is-next {
	border-color: rgba(201,163,95,.34) !important;
	background:
		linear-gradient(135deg, rgba(201,163,95,.08), rgba(29,32,39,.86) 44%, rgba(13,15,20,.98)) !important;
}

#cc-rating-goals-modal .cc-level-row.is-next .cc-level-icon-wrap {
	background: rgba(201,163,95,.10) !important;
	border-color: rgba(201,163,95,.26) !important;
	color: #C9A35F !important;
}

#cc-rating-goals-modal .cc-level-row.is-next .cc-level-status {
	background: rgba(201,163,95,.10) !important;
	border-color: rgba(201,163,95,.26) !important;
	color: #C9A35F !important;
}

#cc-rating-goals-modal .cc-level-row.is-next .cc-level-pts {
	color: #C9A35F !important;
}

/* Locked */
#cc-rating-goals-modal .cc-level-row:not(.is-reached):not(.is-current):not(.is-next) {
	opacity: .82 !important;
}

#cc-rating-goals-modal .cc-level-row:not(.is-reached):not(.is-current):not(.is-next) .cc-level-icon-wrap {
	background: rgba(255,255,255,.03) !important;
	color: #6F7784 !important;
}

@media (max-width: 540px) {
	#cc-rating-goals-modal .cc-rg-dialog,
	#cc-rating-goals-modal .modal-content {
		width: calc(100vw - 16px) !important;
		max-width: calc(100vw - 16px) !important;
		margin: 8px auto !important;
		border-radius: 20px !important;
	}

	#cc-rating-goals-modal .cc-rg-body,
	#cc-rating-goals-modal .club-info-shell {
		padding: 12px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero {
		padding: 14px !important;
		border-radius: 16px !important;
	}

	#cc-rating-goals-modal .cc-rg-hero-level {
		font-size: 24px !important;
	}

	#cc-rating-goals-modal .cc-level-row {
		grid-template-columns: 38px minmax(0, 1fr) auto !important;
		gap: 8px !important;
		padding: 9px 10px !important;
		border-radius: 14px !important;
	}

	#cc-rating-goals-modal .cc-level-icon-wrap {
		width: 34px !important;
		height: 34px !important;
		border-radius: 12px !important;
	}

	#cc-rating-goals-modal .cc-level-side {
		min-width: 66px !important;
	}

	#cc-rating-goals-modal .cc-level-name {
		font-size: 13px !important;
	}

	#cc-rating-goals-modal .cc-level-status {
		padding: 4px 7px !important;
		font-size: 8px !important;
	}
}

/* =========================================================
   RATING INFO MODAL — FINAL RED LUXE + Z-INDEX FIX
   ========================================================= */

#rating-info-modal.modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 100000 !important;

	align-items: center !important;
	justify-content: center !important;

	padding:
		max(12px, var(--safe-t, 0px))
		12px
		max(12px, var(--safe-b, 0px)) !important;

	background: rgba(0,0,0,.74) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
}

#rating-info-modal.modal.active {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

#rating-info-modal .modal-content {
	position: relative !important;
	z-index: 100001 !important;

	width: min(100% - 16px, 620px) !important;
	max-width: min(100% - 16px, 620px) !important;
	max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 24px) !important;

	margin: 0 auto !important;
	padding: 0 !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;

	background:
		linear-gradient(180deg, rgba(18,20,26,.99), rgba(7,8,12,.99)) !important;
	border: 1px solid rgba(198,31,50,.30) !important;
	border-radius: 22px !important;
	box-shadow: 0 28px 80px rgba(0,0,0,.78) !important;
	color: #F5F7FA !important;
}

#rating-info-modal .modal-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 100002 !important;

	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;

	padding: 14px 16px !important;
	background: rgba(13,15,20,.96) !important;
	border-bottom: 1px solid rgba(198,31,50,.24) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	backdrop-filter: blur(10px) !important;
}

#rating-info-modal .modal-title {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;

	color: #F5F7FA !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: -.2px !important;
}

#rating-info-modal .modal-title i {
	color: #D62839 !important;
}

#rating-info-modal .close-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;

	border-radius: 14px !important;
	background: rgba(23,25,31,.96) !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	color: #F5F7FA !important;
	opacity: 1 !important;
	visibility: visible !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.42) !important;
}

#rating-info-modal .close-btn i {
	color: #F5F7FA !important;
	font-size: 20px !important;
	line-height: 1 !important;
}

#rating-info-modal .close-btn:hover,
#rating-info-modal .close-btn:active {
	background: rgba(198,31,50,.16) !important;
	border-color: rgba(198,31,50,.46) !important;
}

#rating-info-modal .modal-content > div[style*="padding"] {
	padding: 18px !important;
}

/* Верхний intro-блок */
#rating-info-modal div[style*="text-align:center"] {
	margin-bottom: 18px !important;
	padding: 10px 4px 4px !important;
}

#rating-info-modal i[style*="a78bfa"],
#rating-info-modal i[style*="#a78bfa"] {
	color: #D62839 !important;
}

#rating-info-modal h2,
#rating-info-modal h3 {
	color: #F5F7FA !important;
	font-weight: 900 !important;
	letter-spacing: -.2px !important;
}

#rating-info-modal h2 {
	font-size: 22px !important;
	line-height: 1.2 !important;
}

#rating-info-modal h3 {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;

	margin: 0 0 10px !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}

#rating-info-modal h3 i {
	color: #D62839 !important;
}

#rating-info-modal p,
#rating-info-modal li,
#rating-info-modal .hint {
	color: #B8BEC8 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}

#rating-info-modal strong {
	color: #F5F7FA !important;
	font-weight: 900 !important;
}

#rating-info-modal a {
	color: #D62839 !important;
	border-bottom-color: rgba(214,40,57,.35) !important;
	font-weight: 900 !important;
}

#rating-info-modal a:hover {
	color: #F5F7FA !important;
	border-bottom-color: rgba(214,40,57,.65) !important;
}

/* Карточки внутри модалки */
#rating-info-modal .card.card-quiet {
	margin-bottom: 16px !important;
	padding: 16px !important;

	background:
		linear-gradient(180deg, rgba(29,32,39,.92), rgba(13,15,20,.98)) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	color: #F5F7FA !important;
	transform: none !important;
}

#rating-info-modal .card.card-quiet:hover {
	border-color: rgba(198,31,50,.28) !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Перебиваем старые inline background */
#rating-info-modal .card[style*="rgba(255,255,255,0.03)"],
#rating-info-modal .card[style*="rgba(255,255,255,.03)"] {
	background:
		linear-gradient(180deg, rgba(29,32,39,.92), rgba(13,15,20,.98)) !important;
}

/* Пример распределения */
#rating-info-modal .post {
	margin-top: 12px !important;
	padding: 14px !important;

	background: rgba(5,6,8,.48) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 14px !important;
	color: #B8BEC8 !important;
	box-shadow: none !important;
}

#rating-info-modal .post strong {
	color: #F5F7FA !important;
}

#rating-info-modal .ul-clean {
	margin: 8px 0 0 !important;
	padding-left: 18px !important;
	color: #B8BEC8 !important;
}

#rating-info-modal .ul-clean li {
	margin: 6px 0 !important;
	color: #B8BEC8 !important;
}

#rating-info-modal .ul-clean li::marker {
	color: #D62839 !important;
}

/* Старые inline цвета */
#rating-info-modal [style*="color:var(--text-1)"],
#rating-info-modal [style*="color: var(--text-1)"],
#rating-info-modal [style*="color:var(--text-2)"],
#rating-info-modal [style*="color: var(--text-2)"] {
	color: #B8BEC8 !important;
}

#rating-info-modal [style*="color:var(--ok)"],
#rating-info-modal [style*="color: var(--ok)"] {
	color: #C9A35F !important;
}

/* Подсказка снизу */
#rating-info-modal .hint {
	margin-top: 18px !important;
	padding: 13px 14px !important;

	background: rgba(5,6,8,.42) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	border-radius: 14px !important;
	color: #8C939F !important;
	text-align: center !important;
}

/* Дополнительная страховка: box-sizing */
#rating-info-modal *,
#rating-info-modal *::before,
#rating-info-modal *::after {
	box-sizing: border-box !important;
}

/* На мобильных */
@media (max-width: 540px) {
	#rating-info-modal.modal {
		padding:
			max(10px, var(--safe-t, 0px))
			8px
			max(10px, var(--safe-b, 0px)) !important;
	}

	#rating-info-modal .modal-content {
		width: calc(100vw - 16px) !important;
		max-width: calc(100vw - 16px) !important;
		max-height: calc(var(--tg-vh-stable, 100dvh) - var(--safe-t, 0px) - var(--safe-b, 0px) - 20px) !important;
		border-radius: 20px !important;
	}

	#rating-info-modal .modal-header {
		padding: 12px 14px !important;
	}

	#rating-info-modal .modal-title {
		font-size: 15px !important;
	}

	#rating-info-modal .close-btn {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		border-radius: 13px !important;
	}

	#rating-info-modal .modal-content > div[style*="padding"] {
		padding: 14px !important;
	}

	#rating-info-modal .card.card-quiet {
		padding: 14px !important;
		border-radius: 14px !important;
	}

	#rating-info-modal h2 {
		font-size: 20px !important;
	}

	#rating-info-modal h3 {
		font-size: 15px !important;
	}

	#rating-info-modal p,
	#rating-info-modal li {
		font-size: 13.5px !important;
	}
}

/* =========================================================
   RATING INFO MODAL — TELEGRAM FULLSCREEN SAFE AREA FIX
   ========================================================= */

@media (max-width: 540px) {
	:root {
		--cc-tg-top-controls-h: 58px;
		--cc-rating-modal-top-pad: calc(max(12px, var(--safe-t, 0px)) + var(--cc-tg-top-controls-h));
		--cc-rating-modal-bottom-pad: max(14px, var(--safe-b, 0px));
	}

	#rating-info-modal.modal {
		position: fixed !important;
		inset: 0 !important;
		z-index: 2147483000 !important;

		display: none !important;
		align-items: stretch !important;
		justify-content: center !important;

		width: 100vw !important;
		height: var(--tg-vh-stable, 100dvh) !important;
		min-height: var(--tg-vh-stable, 100dvh) !important;
		max-height: var(--tg-vh-stable, 100dvh) !important;

		margin: 0 !important;
		padding-top: var(--cc-rating-modal-top-pad) !important;
		padding-right: max(8px, var(--safe-r, 0px)) !important;
		padding-bottom: var(--cc-rating-modal-bottom-pad) !important;
		padding-left: max(8px, var(--safe-l, 0px)) !important;

		overflow: hidden !important;
		background: rgba(0,0,0,.78) !important;
		-webkit-backdrop-filter: blur(10px) !important;
		backdrop-filter: blur(10px) !important;
		box-sizing: border-box !important;

		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	#rating-info-modal.modal.active {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	#rating-info-modal .modal-content {
		position: relative !important;
		z-index: 2147483001 !important;

		width: min(100%, 620px) !important;
		max-width: 100% !important;
		height: 100% !important;
		max-height: none !important;

		margin: 0 auto !important;
		padding: 0 !important;

		display: flex !important;
		flex-direction: column !important;

		overflow: hidden !important;
		border-radius: 20px !important;
		box-sizing: border-box !important;
	}

	#rating-info-modal .modal-header {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		z-index: 2147483002 !important;

		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;

		min-height: 58px !important;
		padding: 10px 12px !important;

		background: rgba(13,15,20,.96) !important;
		border-bottom: 1px solid rgba(198,31,50,.24) !important;
		box-sizing: border-box !important;
	}

	#rating-info-modal .modal-title {
		min-width: 0 !important;
		max-width: calc(100% - 54px) !important;
		font-size: 17px !important;
		line-height: 1.2 !important;
		white-space: normal !important;
	}

	#rating-info-modal .close-btn {
		position: relative !important;
		z-index: 2147483003 !important;

		flex: 0 0 42px !important;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;

		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	#rating-info-modal .modal-content > div:not(.modal-header) {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 14px !important;
		padding-bottom: calc(18px + var(--cc-rating-modal-bottom-pad)) !important;
		box-sizing: border-box !important;
	}

	/* страховка: нижняя навигация не должна быть поверх активной модалки */
	#app:has(#rating-info-modal.active) + .bottom-nav,
	#app:has(#rating-info-modal.active) + .bottom-nav .nav-row,
	body:has(#rating-info-modal.active) .bottom-nav,
	body:has(#rating-info-modal.active) .bottom-nav .nav-row,
	body:has(#rating-info-modal.active) .bn-wrap,
	body:has(#rating-info-modal.active) .bn-wrap .nav-row,
	body:has(#rating-info-modal.active) .bn,
	body:has(#rating-info-modal.active) .bottom-navigation,
	body:has(#rating-info-modal.active) .bottom-navigation .nav-row,
	body:has(#rating-info-modal.active) .mobile-bottom-nav,
	body:has(#rating-info-modal.active) .mobile-bottom-nav .nav-row {
		display: none !important;
		z-index: 1 !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

@media (max-width: 390px) {
	:root {
		--cc-tg-top-controls-h: 64px;
	}
}

/* =========================================================
   GLOBAL CARDS — TOURNAMENT COLOR SYSTEM
   ========================================================= */

:root {
	--cc-card-bg-tournament:
		radial-gradient(520px 220px at 100% 0%, rgba(198,31,50,.18), transparent 62%),
		linear-gradient(180deg, rgba(33,19,28,.96) 0%, rgba(18,20,26,.98) 42%, rgba(7,8,12,.99) 100%);

	--cc-card-bg-tournament-hover:
		radial-gradient(560px 240px at 100% 0%, rgba(214,40,57,.24), transparent 64%),
		linear-gradient(180deg, rgba(40,22,32,.98) 0%, rgba(20,22,28,.99) 42%, rgba(7,8,12,.99) 100%);

	--cc-card-border-tournament: rgba(198,31,50,.26);
	--cc-card-border-tournament-hover: rgba(214,40,57,.48);

	--cc-card-inner-bg:
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));

	--cc-card-shadow-tournament:
		0 18px 42px rgba(0,0,0,.38),
		inset 0 1px 0 rgba(255,255,255,.045);
}

.card,
.card.card-quiet,
.modal-content,
.tournament-card,
.tournament-card--clean,
#profile-screen .card,
#profile-screen .card.card-quiet,
#profile-screen .profile-hero-card,
#profile-screen .pstat-hero,
#profile-screen .pstat-hero-item,
#profile-screen .pstat-season,
#profile-screen .profile-more,
#rating-screen .card,
#contact-screen .card,
#support-screen .card,
#rating-info-modal .card.card-quiet,
#club-info-modal .card,
#club-info-modal .club-info-card,
#rating-info-modal .modal-content,
#tournament-modal .modal-content {
	background: var(--cc-card-bg-tournament) !important;
	border: 1px solid var(--cc-card-border-tournament) !important;
	box-shadow: var(--cc-card-shadow-tournament) !important;
	color: #F5F7FA !important;
	transition:
		border-color .22s cubic-bezier(.22,1,.36,1),
		box-shadow .22s cubic-bezier(.22,1,.36,1),
		transform .22s cubic-bezier(.22,1,.36,1) !important;
}

@media (hover:hover) and (pointer:fine) {
	/* Premium hover: лёгкий подъём + тонкий красный edge-glow + мягкая тень.
	   НЕ заливаем фон красным — красный остаётся только акцентом по краю. */
	.card:hover,
	.card.card-quiet:hover,
	.tournament-card:hover,
	.tournament-card--clean:hover,
	#profile-screen .card:hover,
	#profile-screen .card.card-quiet:hover,
	#profile-screen .profile-hero-card:hover,
	#profile-screen .profile-more:hover,
	#rating-screen .card:hover,
	#contact-screen .card:hover,
	#support-screen .card:hover,
	#rating-info-modal .card.card-quiet:hover,
	#club-info-modal .card:hover,
	#club-info-modal .club-info-card:hover {
		border-color: rgba(214,40,57,.30) !important;
		box-shadow:
			0 20px 44px rgba(0,0,0,.44),
			inset 0 0 0 1px rgba(214,40,57,.10),
			inset 0 1px 0 rgba(255,255,255,.06) !important;
		transform: none !important;
	}

	/* Модалки на hover не реагируют заливкой (курсор всегда над ними) */
	.modal-content:hover,
	#rating-info-modal .modal-content:hover,
	#tournament-modal .modal-content:hover {
		transform: none !important;
	}
}

@media (hover:none), (pointer:coarse) {
	.card,
	.card.card-quiet,
	.tournament-card,
	.tournament-card--clean,
	#profile-screen .card,
	#profile-screen .card.card-quiet,
	#profile-screen .profile-hero-card,
	#profile-screen .pstat-hero,
	#profile-screen .pstat-hero-item,
	#profile-screen .pstat-season,
	#profile-screen .profile-more,
	#rating-screen .card,
	#contact-screen .card,
	#support-screen .card,
	#tournament-modal .tm-tile,
	#tournament-modal .tm-section,
	#tournament-modal .tm-cta-hint,
	#rating-info-modal .card.card-quiet,
	#cc-rating-goals-modal .cc-rg-hero,
	#cc-rating-goals-modal .cc-level-row,
	#club-info-modal .card,
	#club-info-modal .club-info-card {
		transform: none !important;
	}
}

#profile-screen .field,
#profile-screen .pstat-cell,
#profile-screen .profile-compact-row,
#profile-screen .profile-more summary,
#profile-screen .profile-more-body,
#profile-screen .medal-mini-card,
#profile-screen .medal-locked-row,
#profile-screen .award-cell,
#profile-screen .rating-player-card,
#profile-screen .cc-auth-links-row,
#profile-screen .awards-count-bubble,
#profile-screen .awards-next-box,
#rating-screen .field,
#contact-screen .field,
#support-screen .field,
#tournament-modal .tm-list,
#tournament-modal .tm-li,
#tournament-modal .map-btn,
#rating-info-modal .post,
#rating-info-modal .hint,
#cc-rating-goals-modal .cc-rg-hero-pts,
#cc-rating-goals-modal .cc-level-icon-wrap,
#cc-rating-goals-modal .cc-level-status,
#club-info-modal .club-info-chip,
#club-info-modal .club-info-hero-stat,
#club-info-modal .club-info-eyebrow,
.tm-chip,
.status-badge {
	background: var(--cc-card-inner-bg) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
	color: #B8BEC8 !important;
}

@media (hover:hover) and (pointer:fine) {
	#profile-screen .field:hover,
	#profile-screen .pstat-cell:hover,
	#profile-screen .profile-compact-row:hover,
	#profile-screen .profile-more summary:hover,
	#profile-screen .medal-mini-card:hover,
	#profile-screen .medal-locked-row:hover,
	#profile-screen .award-cell:hover,
	#profile-screen .rating-player-card:hover,
	#profile-screen .cc-auth-links-row:hover,
	#tournament-modal .tm-li:hover,
	#tournament-modal .map-btn:hover,
	#rating-info-modal .post:hover,
	#cc-rating-goals-modal .cc-level-icon-wrap:hover,
	#club-info-modal .club-info-chip:hover,
	.tm-chip:hover {
		background:
			linear-gradient(180deg, rgba(255,255,255,.070), rgba(255,255,255,.030)) !important;
		border-color: rgba(214,40,57,.28) !important;
		transform: none !important;
	}
}

#profile-screen .section-title,
#rating-screen .section-title,
#contact-screen .section-title,
#support-screen .section-title,
#tournament-modal .tm-title,
#tournament-modal .tm-h,
#tournament-modal .tm-v strong,
#tournament-modal .tm-p strong,
#rating-info-modal h2,
#rating-info-modal h3,
#cc-rating-goals-modal .cc-rg-title,
#cc-rating-goals-modal .cc-level-name,
#club-info-modal .club-info-hero-title,
.card h2,
.card h3,
.card strong {
	color: #F5F7FA !important;
}

#profile-screen .hint,
#profile-screen .profile-hero-username,
#profile-screen .pstat-label,
#profile-screen .pstat-hero-label,
#profile-screen .pstat-season-key,
#rating-screen .hint,
#contact-screen .hint,
#support-screen .hint,
#tournament-modal .tm-sub,
#tournament-modal .tm-p,
#tournament-modal .tm-k,
#tournament-modal .tm-v,
#rating-info-modal p,
#rating-info-modal li,
#cc-rating-goals-modal .cc-level-sub,
#club-info-modal .club-info-hero-sub,
.card p,
.card li {
	color: #B8BEC8 !important;
}

#profile-screen .section-title i,
#profile-screen .pstat-season-key i,
#tournament-modal .tm-k i,
#tournament-modal .tm-h i,
#tournament-modal .map-btn i,
#rating-info-modal h3 i,
#rating-info-modal .ri-hero-icon,
#cc-rating-goals-modal .cc-rg-title i,
#club-info-modal .club-info-hero-title i,
.card i {
	color: #D62839 !important;
}

/* =========================================================
   GLOBAL TYPOGRAPHY — PREMIUM READABLE FONT SYSTEM
   ========================================================= */

:root {
	--cc-font-ui:
		"Onest",
		"Manrope",
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Arial,
		sans-serif;

	--cc-font-display:
		"Manrope",
		"Onest",
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Arial,
		sans-serif;

	--cc-font-mono:
		"JetBrains Mono",
		"SFMono-Regular",
		Consolas,
		"Liberation Mono",
		monospace;
}

html,
body {
	font-family: var(--cc-font-ui) !important;
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

button,
input,
select,
textarea,
.btn,
.icon-btn,
.bn-item,
.modal-content,
.card,
.field,
.chip,
.tm-chip,
.status-badge {
	font-family: var(--cc-font-ui) !important;
	letter-spacing: 0 !important;
}

.brand,
.section-title,
.tournament-title,
.tournament-clean-price-main,
.tournament-price-main,
.modal-title,
.tm-title,
.tm-h,
.profile-hero-name,
.pstat-hero-val,
.pstat-val,
.cc-rg-title,
.cc-rg-hero-level,
.cc-level-name,
.club-info-hero-title,
.rating-player-name,
h1,
h2,
h3,
h4 {
	font-family: var(--cc-font-display) !important;
	letter-spacing: 0 !important;
}

.section-title,
.tournament-title,
.tournament-clean-price-main,
.tournament-price-main,
.modal-title,
.tm-title,
.profile-hero-name,
.pstat-hero-val,
.pstat-val,
.cc-rg-title,
.cc-rg-hero-level,
.cc-level-name,
.club-info-hero-title {
	font-weight: 800 !important;
}

.btn,
.icon-btn,
.bn-label,
.status-badge,
.tm-chip,
.profile-compact-badge,
.cc-level-status,
.cc-rg-progress-label {
	font-weight: 800 !important;
}

.tournament-clean-price-main,
.tournament-price-main,
.pstat-hero-val,
.pstat-val,
.cc-rg-hero-pts b,
.cc-level-pts,
.profile-compact-place,
.rating-player-place {
	font-family: var(--cc-font-display) !important;
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1, "kern" 1;
	letter-spacing: 0 !important;
}

code,
pre,
kbd,
samp,
.mono,
.cc-code,
[class*="mono"] {
	font-family: var(--cc-font-mono) !important;
}

/* =========================================================
   TOURNAMENT PRICE — QUIET INNER TILE
   ========================================================= */

.tournament-card--clean .tournament-clean-price {
	background:
		radial-gradient(240px 110px at 100% 0%, rgba(198,31,50,.10), transparent 70%),
		linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.020)) !important;
	border-color: rgba(198,31,50,.16) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.tournament-card--clean .tournament-clean-price-main {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #F5F7FA !important;
	text-shadow: none !important;
}

.tournament-card--clean .tournament-clean-price-sub {
	color: #8C939F !important;
}

@media (hover:hover) and (pointer:fine) {
	.tournament-card--clean:hover .tournament-clean-price {
		background:
			radial-gradient(260px 120px at 100% 0%, rgba(214,40,57,.14), transparent 72%),
			linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.024)) !important;
		border-color: rgba(214,40,57,.24) !important;
		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.045) !important;
		transform: none !important;
	}
}

/* =========================================================
   RATING TAB STRUCTURE PATCH
   Purpose: clear first focus, compact controls, stable no-autoscroll layout.
   ========================================================= */

#rating-screen{
	width: 100%;
	max-width: 980px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#rating-screen .rating-head{
	display: grid;
	gap: 12px;
	margin-bottom: 14px;
}

#rating-screen .rating-title-row{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	min-height: 58px;
	padding: 12px;
	border-radius: 16px;
	border: 1px solid rgba(198,31,50,.22);
	background:
		linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,25,.98));
	box-shadow: 0 12px 26px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.045);
}

#rating-screen .rating-title-row .section-title{
	margin: 0 !important;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

#rating-screen .rating-help-btn{
	flex: 0 0 auto;
	min-height: 44px;
	padding: 0 14px !important;
	gap: 8px;
	white-space: nowrap;
}

#rating-screen .rating-help-btn i{
	margin-right: 0 !important;
	color: #FF6B78 !important;
}

#rating-screen .rating-controls-card{
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin: 0 !important;
	padding: 12px !important;
	border-radius: 16px !important;
	background:
		linear-gradient(180deg, rgba(29,32,39,.97), rgba(17,20,25,.99)) !important;
	border: 1px solid rgba(198,31,50,.24) !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

#rating-screen .rating-month-nav{
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 8px;
	width: 100%;
	max-width: 100%;
}

#rating-screen .rating-month-btn{
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border-radius: 12px !important;
}

#rating-screen .rating-month-label{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.09);
	background: rgba(5,6,8,.42);
	color: var(--cc-text-main) !important;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.15;
	text-align: center;
}

#rating-screen .rating-final-note{
	margin: 0;
	padding: 10px 12px;
	border-radius: 12px;
	border: 1px solid rgba(198,31,50,.16);
	background: rgba(198,31,50,.08);
	color: var(--cc-text-secondary) !important;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;
}

#rating-screen .rating-final-note strong{
	color: var(--cc-text-main) !important;
	font-weight: 900;
}

#rating-list{
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 12px !important;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

#rating-screen .rating-self-card,
#rating-screen .rating-overview,
#rating-screen .rating-table-head,
#rating-screen .rating-player-card{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

#rating-screen .rating-self-card{
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	overflow: hidden;
	padding: 16px;
	border-radius: 18px;
	border: 1px solid rgba(198,31,50,.34);
	background:
		radial-gradient(520px 220px at 100% 0%, rgba(198,31,50,.18), transparent 68%),
		linear-gradient(180deg, rgba(29,32,39,.98), rgba(10,11,14,.99));
	box-shadow: 0 16px 36px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07);
	scroll-margin-top: max(16px, calc(var(--safe-t, 0px) + 14px));
}

#rating-screen .rating-self-card--final{
	border-color: rgba(214,40,57,.72);
	background:
		radial-gradient(620px 260px at 100% -10%, rgba(214,40,57,.30), transparent 66%),
		radial-gradient(360px 180px at 0% 110%, rgba(126,19,34,.22), transparent 64%),
		linear-gradient(180deg, rgba(29,32,39,.99), rgba(10,11,14,.99));
	box-shadow:
		0 20px 44px rgba(0,0,0,.44),
		0 0 0 1px rgba(214,40,57,.18),
		0 0 28px rgba(198,31,50,.22),
		inset 0 1px 0 rgba(255,255,255,.09);
	animation: ccRatingFinalPulse 2.8s ease-in-out infinite;
}

#rating-screen .rating-self-card--warning,
#rating-screen .rating-self-card--chase{
	border-color: rgba(214,40,57,.40);
}

#rating-screen .rating-self-main{
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: start;
	gap: 12px;
	min-width: 0;
}

#rating-screen .rating-self-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	border: 1px solid rgba(214,40,57,.30);
	background: rgba(198,31,50,.14);
	color: #FF6B78;
}

#rating-screen .rating-self-card--final .rating-self-icon{
	border-color: rgba(214,40,57,.50);
	background:
		linear-gradient(135deg, rgba(126,19,34,.78), rgba(198,31,50,.46));
	color: var(--cc-text-main);
	box-shadow: 0 10px 22px rgba(198,31,50,.18), inset 0 1px 0 rgba(255,255,255,.10);
}

#rating-screen .rating-self-icon i{
	font-size: 23px;
	line-height: 1;
}

#rating-screen .rating-eyebrow{
	display: block;
	margin-bottom: 4px;
	color: #FF6B78 !important;
	font-size: 10px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: .08em;
	text-transform: uppercase;
}

#rating-screen .rating-self-copy,
#rating-screen .rating-self-copy h3,
#rating-screen .rating-self-copy p{
	min-width: 0;
	max-width: 100%;
}

#rating-screen .rating-self-copy h3{
	margin: 0;
	padding-right: 112px;
	color: var(--cc-text-main) !important;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.18;
	letter-spacing: 0;
}

#rating-screen .rating-self-copy p{
	margin: 6px 0 0;
	color: var(--cc-text-secondary) !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

#rating-screen .rating-self-stats{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

#rating-screen .rating-self-stats div{
	min-width: 0;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.045);
}

#rating-screen .rating-self-stats span{
	display: block;
	color: var(--cc-text-muted) !important;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

#rating-screen .rating-self-stats strong{
	display: block;
	overflow: hidden;
	margin-top: 5px;
	color: var(--cc-text-main) !important;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.15;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#rating-screen .rating-self-badge{
	position: absolute;
	top: 14px;
	right: 14px;
	max-width: calc(100% - 28px);
	padding: 7px 10px;
	border-radius: 999px;
	border: 1px solid rgba(214,40,57,.30);
	background: rgba(198,31,50,.16);
	color: var(--cc-text-main);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

#rating-screen .rating-self-card--final .rating-self-badge{
	border-color: rgba(214,40,57,.52);
	background:
		linear-gradient(135deg, rgba(126,19,34,.90), rgba(198,31,50,.58));
	color: var(--cc-text-main);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

#rating-screen .rating-self-card.is-focus-pulse{
	animation:
		ccRatingSelfFocus 1.05s ease-out 2,
		ccRatingFinalPulse 2.8s ease-in-out infinite;
}

@keyframes ccRatingFinalPulse{
	0%, 100%{
		border-color: rgba(214,40,57,.62);
		box-shadow:
			0 20px 44px rgba(0,0,0,.44),
			0 0 0 1px rgba(214,40,57,.14),
			0 0 20px rgba(198,31,50,.16),
			inset 0 1px 0 rgba(255,255,255,.08);
	}
	50%{
		border-color: rgba(214,40,57,.88);
		box-shadow:
			0 22px 48px rgba(0,0,0,.48),
			0 0 0 1px rgba(214,40,57,.28),
			0 0 34px rgba(198,31,50,.26),
			inset 0 1px 0 rgba(255,255,255,.11);
	}
}

@keyframes ccRatingSelfFocus{
	0%{
		transform: translateY(0);
	}
	38%{
		transform: translateY(-1px);
		box-shadow:
			0 24px 52px rgba(0,0,0,.50),
			0 0 0 2px rgba(214,40,57,.30),
			0 0 38px rgba(198,31,50,.30),
			inset 0 1px 0 rgba(255,255,255,.12);
	}
	100%{
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce){
	#rating-screen .rating-self-card--final,
	#rating-screen .rating-self-card.is-focus-pulse{
		animation: none !important;
	}
}

#rating-screen .rating-overview{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

#rating-screen .rating-metric{
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 12px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,25,.98));
	box-shadow: 0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
}

#rating-screen .rating-metric--final{
	border-color: rgba(198,31,50,.28);
	background:
		radial-gradient(260px 120px at 100% 0%, rgba(198,31,50,.14), transparent 72%),
		linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,25,.98));
}

#rating-screen .rating-metric i{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 12px;
	border: 1px solid rgba(198,31,50,.24);
	background: rgba(198,31,50,.10);
	color: #FF6B78 !important;
	font-size: 18px;
}

#rating-screen .rating-metric div{
	min-width: 0;
}

#rating-screen .rating-metric strong,
#rating-screen .rating-metric span,
#rating-screen .rating-metric em{
	display: block;
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#rating-screen .rating-metric strong{
	color: var(--cc-text-main) !important;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.12;
}

#rating-screen .rating-metric span{
	margin-top: 3px;
	color: var(--cc-text-secondary) !important;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
}

#rating-screen .rating-metric em{
	margin-top: 4px;
	color: var(--cc-text-muted) !important;
	font-size: 11px;
	font-style: normal;
	font-weight: 650;
	line-height: 1.15;
}

#rating-screen .rating-table-head{
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 2px 0;
}

#rating-screen .rating-table-head h3{
	margin: 0;
	color: var(--cc-text-main) !important;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.15;
}

#rating-screen .rating-table-head p{
	max-width: 430px;
	margin: 0;
	color: var(--cc-text-muted) !important;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
	text-align: right;
}

#rating-screen .rating-player-card{
	display: grid !important;
	grid-template-columns: 62px minmax(0, 1fr) !important;
	align-items: stretch !important;
	gap: 12px !important;
	min-height: 74px;
	margin: 0 !important;
	padding: 12px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(198,31,50,.18) !important;
	background:
		linear-gradient(180deg, rgba(29,32,39,.96), rgba(17,20,25,.99)) !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04) !important;
	transform: none !important;
	scroll-margin-top: max(88px, calc(var(--safe-t, 0px) + 72px));
}

#rating-screen .rating-player-card.is-finalist{
	border-color: rgba(198,31,50,.34) !important;
}

#rating-screen .rating-player-card.current-user{
	border-color: rgba(214,40,57,.76) !important;
	background:
		radial-gradient(520px 190px at 100% -12%, rgba(214,40,57,.26), transparent 68%),
		radial-gradient(260px 140px at 0% 115%, rgba(126,19,34,.24), transparent 64%),
		linear-gradient(180deg, rgba(35,38,46,.98), rgba(10,11,14,.99)) !important;
	box-shadow:
		0 18px 42px rgba(0,0,0,.44),
		0 0 0 1px rgba(214,40,57,.20),
		0 0 30px rgba(198,31,50,.22),
		inset 0 1px 0 rgba(255,255,255,.08) !important;
	animation: ccRatingCurrentSubtlePulse 3.2s ease-in-out infinite;
}

#rating-screen .rating-player-card.current-user.is-finalist{
	border-color: rgba(214,40,57,.88) !important;
}

#rating-screen .rating-player-card.is-locked{
	border-color: rgba(255,255,255,.08) !important;
}

#rating-screen .rating-player-rank{
	display: grid;
	align-content: center;
	justify-items: center;
	gap: 5px;
	min-width: 0;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.035);
}

#rating-screen .rating-player-card.current-user .rating-player-rank{
	border-color: rgba(214,40,57,.42);
	background:
		linear-gradient(135deg, rgba(126,19,34,.86), rgba(198,31,50,.38));
	box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

#rating-screen .rating-player-place{
	display: block;
	color: var(--cc-text-main) !important;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

#rating-screen .rating-player-card.current-user .rating-player-place{
	color: var(--cc-text-main) !important;
	text-shadow: 0 1px 10px rgba(0,0,0,.34);
}

#rating-screen .rating-player-medal{
	position: static !important;
	display: flex !important;
	width: auto !important;
	min-height: 18px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--cc-gold-soft) !important;
	font-size: 17px !important;
	line-height: 1 !important;
}

#rating-screen .rating-player-medal:empty{
	display: none !important;
}

#rating-screen .game-info--rating{
	display: grid;
	align-content: center;
	gap: 7px;
	min-width: 0 !important;
}

#rating-screen .rating-player-mainline{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 10px;
	min-width: 0;
}

#rating-screen .rating-player-name{
	min-width: 0 !important;
	max-width: 100% !important;
	padding-right: 0 !important;
	overflow: hidden !important;
	color: var(--cc-text-main) !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

#rating-screen .rating-player-score{
	display: grid;
	justify-items: end;
	gap: 2px;
	min-width: 76px;
	color: var(--cc-text-muted) !important;
	text-align: right;
}

#rating-screen .rating-player-card.current-user .rating-player-score{
	min-width: 88px;
	padding: 8px 10px;
	border-radius: 12px;
	border: 1px solid rgba(214,40,57,.30);
	background: rgba(5,6,8,.38);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

#rating-screen .rating-player-score b{
	color: var(--cc-text-main) !important;
	font-size: 15px;
	font-weight: 900;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

#rating-screen .rating-player-score span{
	color: var(--cc-text-muted) !important;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

#rating-screen .rating-player-badges{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 5px !important;
	min-width: 0 !important;
	padding-right: 0 !important;
}

#rating-screen .rating-chip{
	min-height: 24px !important;
	padding: 5px 8px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255,255,255,.09) !important;
	background: rgba(255,255,255,.045) !important;
	color: var(--cc-text-secondary) !important;
	font-size: 10.5px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

#rating-screen .rating-chip i{
	color: #FF6B78 !important;
	font-size: 12px !important;
}

#rating-screen .rating-chip--final,
#rating-screen .rating-chip--me{
	border-color: rgba(198,31,50,.32) !important;
	background: rgba(198,31,50,.13) !important;
	color: var(--cc-text-main) !important;
}

#rating-screen .rating-player-card.current-user .rating-chip--final,
#rating-screen .rating-player-card.current-user .rating-chip--me{
	border-color: rgba(214,40,57,.46) !important;
	background:
		linear-gradient(135deg, rgba(126,19,34,.82), rgba(198,31,50,.34)) !important;
	color: var(--cc-text-main) !important;
}

#rating-screen .rating-player-card.current-user .rating-player-name{
	color: var(--cc-text-main) !important;
}

#rating-screen .rating-player-card.current-user .rating-player-score b{
	color: var(--cc-text-main) !important;
}

#rating-screen .rating-player-card.current-user .rating-player-stats{
	color: var(--cc-text-secondary) !important;
}

@keyframes ccRatingCurrentSubtlePulse{
	0%, 100%{
		border-color: rgba(214,40,57,.68);
		box-shadow:
			0 18px 42px rgba(0,0,0,.44),
			0 0 0 1px rgba(214,40,57,.16),
			0 0 22px rgba(198,31,50,.16),
			inset 0 1px 0 rgba(255,255,255,.08);
	}
	50%{
		border-color: rgba(214,40,57,.92);
		box-shadow:
			0 20px 46px rgba(0,0,0,.48),
			0 0 0 1px rgba(214,40,57,.30),
			0 0 34px rgba(198,31,50,.26),
			inset 0 1px 0 rgba(255,255,255,.10);
	}
}

@media (prefers-reduced-motion: reduce){
	#rating-screen .rating-player-card.current-user{
		animation: none !important;
	}
}

#rating-screen .rating-chip--level{
	border-color: rgba(201,163,95,.24) !important;
	background: rgba(201,163,95,.08) !important;
	color: var(--cc-gold-soft) !important;
}

#rating-screen .rating-chip--blocked{
	border-color: rgba(255,255,255,.09) !important;
	background: rgba(255,255,255,.035) !important;
	color: var(--cc-text-muted) !important;
}

#rating-screen .rating-player-stats{
	margin: 0 !important;
	color: var(--cc-text-muted) !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	overflow-wrap: anywhere !important;
}

@media (hover:hover) and (pointer:fine){
	#rating-screen .rating-player-card:hover,
	#rating-screen .rating-metric:hover{
		border-color: rgba(214,40,57,.38) !important;
		background:
			linear-gradient(180deg, rgba(35,38,46,.98), rgba(17,20,25,.99)) !important;
		box-shadow: 0 14px 30px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055) !important;
		transform: none !important;
	}

	#rating-screen .rating-player-card.current-user:hover{
		border-color: rgba(214,40,57,.92) !important;
		background:
			radial-gradient(560px 200px at 100% -12%, rgba(214,40,57,.30), transparent 68%),
			radial-gradient(280px 150px at 0% 115%, rgba(126,19,34,.26), transparent 64%),
			linear-gradient(180deg, rgba(35,38,46,.99), rgba(10,11,14,.99)) !important;
		box-shadow:
			0 22px 48px rgba(0,0,0,.48),
			0 0 0 1px rgba(214,40,57,.30),
			0 0 36px rgba(198,31,50,.26),
			inset 0 1px 0 rgba(255,255,255,.10) !important;
	}
}

@media (max-width: 720px){
	#rating-screen .rating-overview{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#rating-screen .rating-self-stats{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 540px){
	#rating-screen .rating-head{
		gap: 10px;
		margin-bottom: 12px;
	}

	#rating-screen .rating-title-row{
		align-items: flex-start;
		min-height: 56px;
		padding: 11px;
		border-radius: 14px;
	}

	#rating-screen .rating-title-row .section-title{
		font-size: 22px !important;
		line-height: 1.15;
	}

	#rating-screen .rating-help-btn{
		width: auto !important;
		min-width: 44px;
		padding: 0 12px !important;
	}

	#rating-screen .rating-controls-card{
		padding: 10px !important;
		border-radius: 14px !important;
	}

	#rating-screen .rating-self-card{
		padding: 14px;
		border-radius: 16px;
	}

	#rating-screen .rating-self-main{
		grid-template-columns: 42px minmax(0, 1fr);
	}

	#rating-screen .rating-self-icon{
		width: 42px;
		height: 42px;
		border-radius: 13px;
	}

	#rating-screen .rating-self-copy h3{
		padding-right: 74px;
		font-size: 16px;
	}

	#rating-screen .rating-self-badge{
		top: 12px;
		right: 12px;
		font-size: 10px;
	}

	#rating-screen .rating-table-head{
		display: grid;
		gap: 6px;
	}

	#rating-screen .rating-table-head p{
		max-width: 100%;
		text-align: left;
	}

	#rating-screen .rating-player-card{
		grid-template-columns: 50px minmax(0, 1fr) !important;
		gap: 10px !important;
		min-height: 72px;
		padding: 10px !important;
		border-radius: 14px !important;
	}

	#rating-screen .rating-player-mainline{
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
	}

	#rating-screen .rating-player-score{
		display: flex;
		justify-content: flex-start;
		align-items: baseline;
		gap: 4px;
		min-width: 0;
		text-align: left;
	}

	#rating-screen .rating-player-score b{
		font-size: 14px;
	}
}

@media (max-width: 390px){
	#rating-screen .rating-title-row{
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	#rating-screen .rating-help-btn span{
		display: none;
	}

	#rating-screen .rating-overview{
		grid-template-columns: minmax(0, 1fr);
	}

	#rating-screen .rating-self-copy h3{
		padding-right: 0;
	}

	#rating-screen .rating-self-badge{
		position: static;
		justify-self: start;
		order: 3;
	}

	#rating-screen .rating-self-stats{
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	#rating-screen .rating-player-name{
		font-size: 14px !important;
	}

	#rating-screen .rating-chip{
		font-size: 9.5px !important;
		padding: 5px 7px !important;
	}
}

/* Admin scroll bottom button: Red Luxe override */
html body #admin-scroll-bottom-btn{
	min-width: 152px;
	height: 44px;
	padding: 0 16px;
	overflow: hidden;
	border: 1px solid rgba(214, 40, 57, .48);
	background:
		linear-gradient(180deg, rgba(245, 247, 250, .10) 0%, rgba(245, 247, 250, 0) 42%),
		linear-gradient(135deg, #5A0E18 0%, #B3142A 48%, #D62839 100%);
	color: #F5F7FA;
	letter-spacing: 0;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .28);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .14),
		0 14px 30px rgba(179, 20, 42, .28),
		0 16px 34px rgba(0, 0, 0, .42);
}

html body #admin-scroll-bottom-btn::before{
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 0%, rgba(245, 247, 250, .16) 48%, transparent 100%);
	opacity: .72;
	transform: translateX(-74%);
	transition: transform .22s ease, opacity .18s ease;
}

html body #admin-scroll-bottom-btn.is-show{
	transform: translateX(-50%) translateY(0);
}

html body #admin-scroll-bottom-btn:hover{
	filter: brightness(1.04);
	border-color: rgba(214, 40, 57, .72);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .16),
		0 16px 34px rgba(198, 31, 50, .34),
		0 18px 38px rgba(0, 0, 0, .44);
}

html body #admin-scroll-bottom-btn:hover::before{
	opacity: .9;
	transform: translateX(74%);
}

html body #admin-scroll-bottom-btn:focus-visible{
	outline: none;
	border-color: rgba(245, 247, 250, .34);
	box-shadow:
		0 0 0 3px rgba(198, 31, 50, .24),
		inset 0 1px 0 rgba(255, 255, 255, .16),
		0 16px 34px rgba(179, 20, 42, .32),
		0 18px 38px rgba(0, 0, 0, .44);
}

html body #admin-scroll-bottom-btn:active{
	transform: translateX(-50%) translateY(0) scale(.985);
	filter: brightness(.98);
}

html body #admin-scroll-bottom-btn i{
	color: #F5F7FA;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .28);
}

@media (max-width: 560px){
	html body #admin-scroll-bottom-btn{
		min-width: 136px;
		height: 44px;
		max-width: calc(100vw - 24px);
		padding: 0 14px;
		font-size: 11px;
	}
}
/* === photo consent (entry-gate) — optional, separate, never pre-checked === */
.cc-eg-req{color:var(--cc-text-muted,#8C939F);font-weight:600}
.cc-eg-photo-consents{margin-top:14px;padding-top:14px;border-top:1px solid var(--cc-border-soft,rgba(255,255,255,.08));display:flex;flex-direction:column;gap:10px}
.cc-eg-photo-title{font-size:13px;font-weight:800;color:var(--cc-text-main,#F5F7FA);letter-spacing:.2px}
.cc-eg-opt{color:var(--cc-text-muted,#8C939F);font-weight:600}
.cc-eg-check--opt{background:var(--cc-surface,#17191F)}
.cc-eg-photo-note{font-size:12px;line-height:1.45;color:var(--cc-text-muted,#8C939F);margin:2px 2px 0}

/* Высота области с политикой на шаге ПД — скролл всегда читаемый. */
html body #cc-entry-gate #cc-eg-pd-scroll,
html body #cc-entry-gate #cc-eg-step-pd .cc-offer-scroll{
	min-height: 30vh !important;
}

/* =========================================================
   ПД entry-gate — шаг «Фото и новости» (#cc-eg-step-extras):
   ПОЛНОЕ зеркало red-luxe оформления шага ПД, чтобы экран
   (в т.ч. как активный у существующих юзеров) выглядел так же
   премиально. Сгенерировано из блока #cc-eg-step-pd.
   ========================================================= */
html body #cc-entry-gate:has(#cc-eg-step-extras.active){
	--cc-pd-red-luxe: #C61F32;
	--cc-pd-red-luxe-dark: #B3142A;
	--cc-pd-red-luxe-bright: #D62839;
	--cc-pd-red-wine: #7E1322;
	--cc-pd-bg-main: #050608;
	--cc-pd-bg-deep: #0A0B0E;
	--cc-pd-surface-luxe: #17191F;
	--cc-pd-surface-luxe-2: #1D2027;
	--cc-pd-text-main: #F5F7FA;
	--cc-pd-text-secondary: #B8BEC8;
	--cc-pd-text-muted: #8C939F;
	--cc-pd-border-soft: rgba(255,255,255,.08);
	--cc-pd-border-strong: rgba(255,255,255,.12);
	--cc-pd-border-red: rgba(198,31,50,.38);

	background:
			radial-gradient(520px 260px at 50% -140px, rgba(198,31,50,.16), transparent 64%),
			linear-gradient(180deg, var(--cc-pd-bg-main), var(--cc-pd-bg-deep)) !important;
	color: var(--cc-pd-text-main) !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active)::before,
html body #cc-entry-gate:has(#cc-eg-step-extras.active)::after,
html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-shell::before,
html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-shell::after{
	display: none !important;
	content: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-shell{
	width: min(100%, 430px) !important;
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 22px !important;
	border: 1px solid var(--cc-pd-border-strong) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), transparent 86px),
			linear-gradient(180deg, #121419 0%, #090A0D 100%) !important;
	box-shadow:
			0 18px 34px rgba(0,0,0,.62),
			inset 0 1px 0 rgba(255,255,255,.055) !important;
	overflow: hidden !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-head{
	position: relative !important;
	padding: 16px 16px 14px !important;
	border-bottom: 1px solid rgba(214,40,57,.38) !important;
	background:
			linear-gradient(180deg, rgba(23,25,31,.98), rgba(14,15,19,.98)) !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-head::before{
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	bottom: 0 !important;
	left: 16px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent, rgba(214,40,57,.92), transparent) !important;
	opacity: 1 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-title{
	color: var(--cc-pd-text-main) !important;
	font-size: 20px !important;
	line-height: 1.14 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-sub{
	color: var(--cc-pd-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.36 !important;
	margin-top: 6px !important;
}

html body #cc-entry-gate #cc-eg-step-extras.active{
	gap: 12px !important;
	padding: 12px !important;
	overflow-x: hidden !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-step-label{
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-step-badge,
html body #cc-entry-gate #cc-eg-pd-badge{
	min-width: 0 !important;
	min-height: 28px !important;
	padding: 0 11px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(214,40,57,.52) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.12)) !important;
	color: #FF6B78 !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-step-name{
	color: var(--cc-pd-text-main) !important;
	font-size: 15px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-step-desc{
	color: var(--cc-pd-text-muted) !important;
	font-size: 12px !important;
	line-height: 1.28 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-offer-wrap{
	max-width: 100% !important;
	min-width: 0 !important;
	border-radius: 18px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background:
			linear-gradient(180deg, var(--cc-pd-surface-luxe), #0C0D11) !important;
	box-shadow:
			0 10px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll,
html body #cc-entry-gate #cc-eg-step-extras .cc-offer-scroll{
	padding: 13px !important;
	color: var(--cc-pd-text-secondary) !important;
	background: #0B0C10 !important;
	scrollbar-color: rgba(198,31,50,.56) transparent !important;
}

html body #cc-entry-gate #cc-eg-pd-scroll::-webkit-scrollbar-thumb,
html body #cc-entry-gate #cc-eg-step-extras .cc-offer-scroll::-webkit-scrollbar-thumb{
	background: rgba(198,31,50,.64) !important;
	border: 0 !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-policy{
	display: grid !important;
	gap: 11px !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero{
	position: relative !important;
	isolation: isolate !important;
	overflow: hidden !important;
	grid-template-columns: 44px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: center !important;
	padding: 14px !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	background:
			linear-gradient(135deg, var(--cc-pd-red-wine) 0%, var(--cc-pd-red-luxe-dark) 48%, var(--cc-pd-red-luxe) 100%) !important;
	box-shadow:
			0 12px 24px rgba(0,0,0,.36),
			inset 0 1px 0 rgba(255,255,255,.13) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero::before{
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	pointer-events: none !important;
	background:
			linear-gradient(90deg, rgba(255,255,255,.10), transparent 42%),
			repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 10px) !important;
	opacity: .42 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero > *{
	position: relative !important;
	z-index: 1 !important;
	min-width: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero-icon{
	width: 44px !important;
	height: 44px !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.22) !important;
	color: var(--cc-pd-text-main) !important;
	background:
			linear-gradient(145deg, rgba(245,247,250,.20), rgba(245,247,250,.055)),
			rgba(5,6,8,.78) !important;
	box-shadow:
			0 8px 16px rgba(0,0,0,.32),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero-title{
	color: var(--cc-pd-text-main) !important;
	font-size: 15.5px !important;
	line-height: 1.18 !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero-sub{
	margin-top: 4px !important;
	color: rgba(245,247,250,.80) !important;
	font-size: 12.5px !important;
	line-height: 1.34 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-chips{
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 7px !important;
	max-width: 100% !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-chips span,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-contact-chip{
	min-height: 32px !important;
	max-width: 100% !important;
	padding: 0 10px !important;
	border-radius: 999px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
	color: var(--cc-pd-text-secondary) !important;
	box-shadow: none !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-chips span i,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-contact-chip i{
	color: var(--cc-pd-red-luxe-bright) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-block,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-operator{
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 13px !important;
	border-radius: 15px !important;
	border: 1px solid var(--cc-pd-border-soft) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)),
			var(--cc-pd-surface-luxe) !important;
	box-shadow:
			0 8px 16px rgba(0,0,0,.24),
			inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-block-title{
	margin-bottom: 4px !important;
	color: #FF6B78 !important;
	font-size: 11.5px !important;
	line-height: 1.2 !important;
	font-weight: 900 !important;
	letter-spacing: .04em !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-text,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list li,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-label{
	color: var(--cc-pd-text-secondary) !important;
	font-size: 13px !important;
	line-height: 1.48 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list{
	display: grid !important;
	gap: 7px !important;
	padding-left: 0 !important;
	list-style: none !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list li{
	position: relative !important;
	padding-left: 17px !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list li::before{
	content: "" !important;
	position: absolute !important;
	top: .68em !important;
	left: 2px !important;
	width: 6px !important;
	height: 6px !important;
	border-radius: 999px !important;
	background: var(--cc-pd-red-luxe-bright) !important;
	box-shadow: none !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list code{
	color: var(--cc-pd-text-main) !important;
	border: 1px solid rgba(198,31,50,.28) !important;
	background: rgba(198,31,50,.14) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-law,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-op-meta,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-op-name{
	color: var(--cc-pd-text-muted) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-full-link{
	min-height: 44px !important;
	max-width: 100% !important;
	padding: 0 13px !important;
	border-radius: 13px !important;
	justify-content: center !important;
	border: 1px solid rgba(198,31,50,.34) !important;
	background: linear-gradient(180deg, rgba(198,31,50,.14), rgba(29,32,39,.94)) !important;
	color: var(--cc-pd-text-main) !important;
	text-decoration: none !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-inline-link,
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-inline-link strong{
	color: #FF6B78 !important;
	text-decoration-color: rgba(214,40,57,.50) !important;
	border-bottom-color: rgba(214,40,57,.50) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-pd-footer{
	border-top: 1px solid var(--cc-pd-border-soft) !important;
	background: linear-gradient(180deg, #101116, #07080A) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-checks{
	gap: 8px !important;
	padding: 11px 11px 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-row{
	display: grid !important;
	grid-template-columns: 24px minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 11px !important;
	min-height: 52px !important;
	max-width: 100% !important;
	padding: 12px !important;
	border-radius: 14px !important;
	border: 1px solid var(--cc-pd-border-red) !important;
	background: linear-gradient(180deg, rgba(29,32,39,.98), rgba(12,13,17,.98)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-row input[type="checkbox"]{
	width: 22px !important;
	height: 22px !important;
	margin: 1px 0 0 !important;
	border-radius: 6px !important;
	border: 2px solid rgba(214,40,57,.70) !important;
	background: #07080A !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-row input[type="checkbox"]:checked{
	border-color: #FF6B78 !important;
	background: linear-gradient(135deg, var(--cc-pd-red-wine), var(--cc-pd-red-luxe-bright)) !important;
	box-shadow:
			0 0 0 3px rgba(198,31,50,.14),
			inset 0 1px 0 rgba(255,255,255,.13) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-row input[type="checkbox"]:checked::after{
	border-color: var(--cc-pd-text-main) !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-label strong{
	color: #FF6B78 !important;
}

html body #cc-entry-gate #cc-eg-step-extras .cc-eg-pd-btn-row{
	padding: 12px !important;
	padding-bottom: max(12px, min(22px, var(--cc-eg-inset-bottom, var(--safe-b, 0px)))) !important;
}

html body #cc-entry-gate #cc-eg-step-extras #cc-eg-accept-extras.cc-eg-btn.primary{
	position: relative !important;
	overflow: hidden !important;
	min-height: 48px !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 14px !important;
	border: 1px solid rgba(255,255,255,.12) !important;
	color: var(--cc-pd-text-main) !important;
	background:
			linear-gradient(180deg, rgba(255,255,255,.12), transparent 45%),
			linear-gradient(135deg, var(--cc-pd-red-wine), var(--cc-pd-red-luxe-dark) 44%, var(--cc-pd-red-luxe-bright)) !important;
	box-shadow:
			0 12px 20px rgba(0,0,0,.38),
			inset 0 1px 0 rgba(255,255,255,.16) !important;
	font-weight: 900 !important;
	letter-spacing: 0 !important;
}

html body #cc-entry-gate #cc-eg-step-extras #cc-eg-accept-extras.cc-eg-btn.primary::before{
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	bottom: 0 !important;
	left: -42% !important;
	width: 42% !important;
	pointer-events: none !important;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent) !important;
	transform: skewX(-18deg) !important;
}

html body #cc-entry-gate #cc-eg-step-extras #cc-eg-accept-extras.cc-eg-btn.primary:not(:disabled):hover::before{
	left: 112% !important;
	transition: left .42s ease-out !important;
}

html body #cc-entry-gate #cc-eg-step-extras #cc-eg-accept-extras.cc-eg-btn.primary:disabled{
	opacity: .68 !important;
	color: rgba(245,247,250,.76) !important;
	border-color: rgba(198,31,50,.22) !important;
	background:
			linear-gradient(180deg, rgba(198,31,50,.15), rgba(126,19,34,.16)),
			#15171D !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
	filter: none !important;
}

@media (max-width: 430px){
	html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-shell{
		border-radius: 20px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-head{
		padding: 14px 13px 12px !important;
	}

	html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-title{
		font-size: 19px !important;
	}

	html body #cc-entry-gate #cc-eg-step-extras.active{
		padding: 10px !important;
	}

	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero{
		grid-template-columns: 40px minmax(0, 1fr) !important;
		padding: 12px !important;
	}

	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-hero-icon{
		width: 40px !important;
		height: 40px !important;
	}
}

@media (max-width: 375px){
	html body #cc-entry-gate:has(#cc-eg-step-extras.active) .cc-eg-title{
		font-size: 18px !important;
	}

	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-text,
	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-list li,
	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-label{
		font-size: 12.5px !important;
	}

	html body #cc-entry-gate #cc-eg-step-extras .cc-pd-check-row{
		grid-template-columns: 22px minmax(0, 1fr) !important;
		gap: 10px !important;
		padding: 11px !important;
	}
}

/* extras: вертикальная раскладка блоков + высота (нет .cc-pd-policy-обёртки) */
html body #cc-entry-gate #cc-eg-step-extras .cc-offer-scroll{
	display: grid !important;
	gap: 12px !important;
	align-content: start !important;
	min-height: 30vh !important;
}
html body #cc-entry-gate #cc-eg-step-extras .cc-pd-block-title{
	display: flex !important;
	align-items: center !important;
}

/* =========================================================
   ПД entry-gate — переспрос при отказе от съёмки
   (#cc-eg-reconsider). Мягкое «передумайте», НЕ блокировка.
   ========================================================= */
html body #cc-entry-gate .cc-eg-shell{ position: relative; }
html body #cc-entry-gate .cc-eg-reconsider{
	position: absolute;
	inset: 0;
	z-index: 40;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 18px;
	background: rgba(5,6,8,.74);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
html body #cc-entry-gate .cc-eg-reconsider.visible{ display: flex; animation: ccEgStepIn .2s ease; }
html body #cc-entry-gate .cc-eg-reconsider-card{
	width: min(100%, 360px);
	padding: 22px 20px;
	border-radius: 20px;
	border: 1px solid rgba(214,40,57,.34);
	background:
			radial-gradient(360px 160px at 50% -40px, rgba(198,31,50,.18), transparent 64%),
			linear-gradient(180deg, #15171D, #0A0B0E);
	box-shadow: 0 22px 48px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.06);
	text-align: center;
}
html body #cc-entry-gate .cc-eg-reconsider-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 12px;
	border-radius: 50%;
	border: 1px solid rgba(214,40,57,.5);
	background: rgba(214,40,57,.14);
	color: #FF6B78;
	font-size: 24px;
}
html body #cc-entry-gate .cc-eg-reconsider-title{
	margin: 0 0 8px;
	font-size: 19px;
	font-weight: 900;
	color: #F5F7FA;
}
html body #cc-entry-gate .cc-eg-reconsider-text{
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.5;
	color: #C8CED8;
}
html body #cc-entry-gate .cc-eg-reconsider-text strong{ color: #FF6B78; }
html body #cc-entry-gate .cc-eg-reconsider-note{
	margin: 0 0 18px;
	font-size: 12.5px;
	line-height: 1.45;
	color: #8C939F;
}
html body #cc-entry-gate .cc-eg-reconsider-actions{
	display: grid;
	gap: 9px;
}
html body #cc-entry-gate .cc-eg-reconsider-actions .cc-eg-btn{
	width: 100%;
	min-height: 46px;
}

/* =========================================================
   Профиль — карточка «Фото и рассылка» (переключатели)
   ========================================================= */
#consent-prefs-card .cc-pref-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 0;
	border-top: 1px solid var(--cc-border-soft, rgba(255,255,255,.08));
	cursor: pointer;
}
#consent-prefs-card .cc-pref-row:first-of-type{ border-top: 0; }
#consent-prefs-card .cc-pref-text{ display: flex; flex-direction: column; gap: 3px; min-width: 0; }
#consent-prefs-card .cc-pref-text b{ font-size: 14px; font-weight: 800; color: var(--cc-text-main, #F5F7FA); }
#consent-prefs-card .cc-pref-text i{ font-style: normal; font-size: 12px; line-height: 1.4; color: var(--cc-text-muted, #8C939F); }

#consent-prefs-card .cc-switch{
	appearance: none;
	-webkit-appearance: none;
	flex: 0 0 auto;
	width: 46px;
	height: 28px;
	border-radius: 999px;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.16);
	position: relative;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}
#consent-prefs-card .cc-switch::after{
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.4);
	transition: transform .2s ease;
}
#consent-prefs-card .cc-switch:checked{
	background: linear-gradient(135deg, #B3142A, #D62839);
	border-color: rgba(214,40,57,.6);
}
#consent-prefs-card .cc-switch:checked::after{ transform: translateX(18px); }

/* Fix: status-helper (ok/warn/live) рендерился как заливка без отступов и
   скруглений (padding/radius нигде не задавались, кроме .muted). Делаем из него
   аккуратный статус-баннер в стиле .tournament-seats. .muted остаётся текстом. */
.tournament-helper:not(.muted),
.tournament-card--clean .tournament-helper:not(.muted),
.tournament-card--compact .tournament-helper:not(.muted){
	padding: 10px 12px !important;
	border-radius: 14px !important;
	margin: 8px 0 !important;
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
}

/* Red Luxe: статус "ok" (вы в основном списке) — спокойный тёмный графит со
   строгим белым текстом и тонким ЗОЛОТЫМ акцентом (premium). Без сильного
   красного фона: красный закреплён за .warn, так статусы ещё и различимы. */
.tournament-helper.ok,
.tournament-card--clean .tournament-helper.ok,
.tournament-card--compact .tournament-helper.ok{
	background:
		linear-gradient(180deg, rgba(212,175,55,.07), rgba(255,255,255,.012)),
		var(--cc-surface) !important;
	border: 1px solid rgba(212,175,55,.22) !important;
	border-left: 3px solid rgba(212,175,55,.60) !important;
	color: var(--cc-text-main) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Red Luxe: .card-quiet — "тихая" карточка. Раньше наследовала громкий красный
   радиальный фон турнирных карт (--cc-card-bg-tournament) → нечитаемо и слишком
   ярко-красно. Возвращаем спокойный тёмный графит; красный — только тонким
   акцентом в рамке. Текст остаётся читаемо-светлым. */
.card.card-quiet,
#profile-screen .card.card-quiet,
#rating-info-modal .card.card-quiet{
	background:
		radial-gradient(440px 200px at 100% 0%, rgba(198,31,50,.07), transparent 60%),
		linear-gradient(180deg, rgba(29,32,39,.97) 0%, rgba(17,20,25,.99) 100%) !important;
	border: 1px solid rgba(198,31,50,.16) !important;
	box-shadow:
		0 14px 32px rgba(0,0,0,.30),
		inset 0 1px 0 rgba(255,255,255,.045) !important;
	color: var(--cc-text-main) !important;
}
.card.card-quiet:hover,
#profile-screen .card.card-quiet:hover,
#rating-info-modal .card.card-quiet:hover{
	background:
		radial-gradient(460px 210px at 100% 0%, rgba(214,40,57,.10), transparent 62%),
		linear-gradient(180deg, rgba(35,38,46,.98) 0%, rgba(20,23,29,.99) 100%) !important;
	border-color: rgba(198,31,50,.28) !important;
}

/* =========================================================
   "Моя статистика" — Red Luxe premium редизайн (v2)
   Источник разметки: app.js renderProfileStats. Новые классы:
   .pstat-head / .pstat-metric / .pstat-chip / .pstat-season-head / .pstat-rep-*.
   Слой перекрывает старые .pstat-* правила. Палитра строго проектная.
   ========================================================= */

@keyframes pstatRise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes pstatGold {
	0%, 100% { background-position: 0% 50%; }
	50%      { background-position: 100% 50%; }
}

/* — контейнер — */
#profile-screen .pstat-card .pstat-wrap,
.pstat-card .pstat-wrap {
	display: grid;
	gap: 12px;
}

/* — Premium header — */
.pstat-card .pstat-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	animation: pstatRise .45s cubic-bezier(.22,1,.36,1) .02s both;
}
.pstat-card .pstat-head-icon {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	color: #ff5a73;
	background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
	border: 1px solid rgba(255,59,95,.32);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.06),
		0 10px 24px rgba(0,0,0,.22);
}
.pstat-card .pstat-head-icon i {
	font-size: 19px;
	line-height: 1;
}
.pstat-card .pstat-head-text { min-width: 0; }
.pstat-card .pstat-head-title {
	margin: 0;
	font-size: 16.5px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--cc-text-main, #F5F7FA);
	line-height: 1.15;
}
.pstat-card .pstat-head-sub {
	margin: 2px 0 0;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--cc-text-muted, #8C939F);
}

/* — Hero: 2 отдельные метрик-карточки (без жёсткой таблицы) — */
#profile-screen .pstat-hero,
.pstat-card .pstat-hero {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	border: 0 !important;
	border-radius: 18px !important;
	overflow: visible !important;
	background: transparent !important;
	box-shadow: none !important;
}
/* hero — это только сетка-обёртка, своего фона/ховера у неё нет */
#profile-screen .pstat-hero:hover,
.pstat-card .pstat-hero:hover {
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	border-color: transparent !important;
}
#profile-screen .pstat-metric,
.pstat-card .pstat-metric {
	position: relative;
	overflow: hidden;
	padding: 18px 16px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(220px 130px at 100% 0%, rgba(198,31,50,.14), transparent 62%),
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.06),
		0 10px 26px rgba(0,0,0,.30);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
	animation: pstatRise .5s cubic-bezier(.22,1,.36,1) both;
}
#profile-screen .pstat-metric:nth-child(1) { animation-delay: .08s; }
#profile-screen .pstat-metric:nth-child(2) { animation-delay: .15s; }
#profile-screen .pstat-metric--gold,
.pstat-card .pstat-metric--gold {
	border-color: rgba(201,163,95,.34);
	background:
		radial-gradient(220px 130px at 100% 0%, rgba(201,163,95,.20), transparent 62%),
		linear-gradient(180deg, rgba(201,163,95,.07), rgba(255,255,255,.02));
}
/* hover — только лёгкий подъём + тень + рамка, БЕЗ смены фона */
@media (hover:hover) and (pointer:fine) {
	#profile-screen .pstat-metric:hover {
		transform: translateY(-1px);
		border-color: rgba(198,31,50,.30);
		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.06),
			0 14px 30px rgba(0,0,0,.24);
	}
	#profile-screen .pstat-metric--gold:hover { border-color: rgba(201,163,95,.50); }
}
/* тач: никаких залипающих hover-состояний */
@media (hover: none), (pointer: coarse) {
	#profile-screen .pstat-hero:hover,
	#profile-screen .pstat-metric:hover,
	#profile-screen .pstat-metric--gold:hover {
		transform: none;
		box-shadow:
			inset 0 1px 0 rgba(255,255,255,.06),
			0 10px 26px rgba(0,0,0,.30);
	}
}
/* watermark-иконка в углу метрики */
.pstat-card .pstat-metric-ic {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 30px;
	line-height: 1;
	color: rgba(255,255,255,.07);
	pointer-events: none;
}
.pstat-card .pstat-metric--gold .pstat-metric-ic { color: rgba(201,163,95,.16); }
#profile-screen .pstat-metric-value,
.pstat-card .pstat-metric-value {
	position: relative;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -.02em;
	line-height: .96;
	color: var(--cc-text-main, #F5F7FA);
}
/* золотой шиммер на победах (дозированное золото) */
#profile-screen .pstat-metric--gold .pstat-metric-value {
	background: linear-gradient(100deg, #C9A35F 0%, #F4E3B0 30%, #C9A35F 55%, #E0B24F 100%);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: pstatGold 4.2s ease-in-out infinite;
	filter: drop-shadow(0 1px 8px rgba(201,163,95,.18));
}
#profile-screen .pstat-metric-label,
.pstat-card .pstat-metric-label {
	margin-top: 6px;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .09em;
	color: var(--cc-text-muted, #8C939F);
}

/* — Чипы: единая высота, аккуратные, без случайных цветов — */
#profile-screen .pstat-chips-row,
.pstat-card .pstat-chips-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	animation: pstatRise .5s cubic-bezier(.22,1,.36,1) .22s both;
}
#profile-screen .pstat-chip,
.pstat-card .pstat-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 13px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	color: var(--cc-text-secondary, #B8BEC8);
	background: rgba(255,255,255,.045);
	border: 1px solid rgba(255,255,255,.09);
	transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.pstat-card .pstat-chip i { font-size: 14px; color: var(--cc-text-muted, #8C939F); }
.pstat-card .pstat-chip b { color: var(--cc-text-main, #F5F7FA); font-weight: 800; }
.pstat-card .pstat-chip--gold {
	color: #E6C98A;
	background: rgba(201,163,95,.10);
	border-color: rgba(201,163,95,.28);
}
.pstat-card .pstat-chip--gold i { color: #C9A35F; }
.pstat-card .pstat-chip--ok {
	color: #7FE0B0;
	background: rgba(16,185,129,.10);
	border-color: rgba(16,185,129,.26);
}
.pstat-card .pstat-chip--ok i { color: #6EE7B7; }
@media (hover:hover) and (pointer:fine) {
	#profile-screen .pstat-chip:hover { transform: translateY(-2px); }
}

/* — Сезонная карточка — */
#profile-screen .pstat-season,
.pstat-card .pstat-season {
	border-radius: 18px !important;
	border: 1px solid rgba(255,255,255,.07) !important;
	overflow: hidden;
	background:
		radial-gradient(360px 180px at 100% 0%, rgba(198,31,50,.12), transparent 62%),
		linear-gradient(180deg, rgba(35,38,46,.92), rgba(20,22,28,.98)) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
	animation: pstatRise .5s cubic-bezier(.22,1,.36,1) .30s both;
}
.pstat-card .pstat-season-head {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 13px 16px 4px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #C9A35F;
}
.pstat-card .pstat-season-head i { font-size: 13px; color: var(--cc-red-luxe-bright, #D62839); }
#profile-screen .pstat-season-row,
.pstat-card .pstat-season-row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 16px;
}
#profile-screen .pstat-season-row + .pstat-season-row,
.pstat-card .pstat-season-row + .pstat-season-row {
	border-top: 1px solid rgba(255,255,255,.05) !important;
}
#profile-screen .pstat-season-key,
.pstat-card .pstat-season-key {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--cc-text-secondary, #B8BEC8) !important;
}
.pstat-card .pstat-season-key i { font-size: 14px; color: var(--cc-red-luxe-bright, #D62839); flex: 0 0 auto; }
/* значение как pill */
#profile-screen .pstat-season-val,
.pstat-card .pstat-season-val {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 800;
	white-space: nowrap;
	color: var(--cc-text-main, #F5F7FA) !important;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.09);
}
#profile-screen .pstat-season-val.is-rank,
.pstat-card .pstat-season-val.is-rank {
	color: #F4E3B0 !important;
	background: linear-gradient(135deg, rgba(201,163,95,.18), rgba(198,31,50,.16)) !important;
	border-color: rgba(201,163,95,.30) !important;
}

/* — Репутация: muted-danger strip (не агрессивно) — */
#profile-screen .pstat-rep,
.pstat-card .pstat-rep {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 14px;
	border: 1px solid rgba(198,31,50,.16) !important;
	background: rgba(198,31,50,.055) !important;
	animation: pstatRise .5s cubic-bezier(.22,1,.36,1) .38s both;
}
.pstat-card .pstat-rep-ic {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	display: grid;
	place-items: center;
	border-radius: 8px;
	background: rgba(198,31,50,.14);
	color: #E8848E;
	font-size: 14px;
}
#profile-screen .pstat-rep-text,
.pstat-card .pstat-rep-text {
	font-size: 12px;
	font-weight: 600;
	color: var(--cc-text-secondary, #B8BEC8) !important;
}

/* — Адаптив — */
@media (max-width: 360px) {
	/* очень узкие экраны: метрики в одну колонку, чтобы число не жалось */
	#profile-screen .pstat-hero,
	.pstat-card .pstat-hero { grid-template-columns: 1fr; }
	#profile-screen .pstat-metric-value,
	.pstat-card .pstat-metric-value { font-size: 34px; }
}
@media (min-width: 768px) {
	.pstat-card .pstat-hero { gap: 12px; }
	#profile-screen .pstat-metric,
	.pstat-card .pstat-metric { padding: 22px 20px; }
	#profile-screen .pstat-metric-value,
	.pstat-card .pstat-metric-value { font-size: 46px; }
}

/* — Доступность — */
@media (prefers-reduced-motion: reduce) {
	.pstat-card .pstat-head,
	#profile-screen .pstat-metric,
	#profile-screen .pstat-chips-row,
	#profile-screen .pstat-season,
	#profile-screen .pstat-rep,
	#profile-screen .pstat-metric--gold .pstat-metric-value {
		animation: none !important;
	}
}

/* pstat-card: компактнее отступ на мобиле (спека: 14–16px) */
@media (max-width: 430px) {
	#profile-screen .card.card-quiet.pstat-card,
	.pstat-card { padding: 16px; }
}

/* =========================================================
   #tournament-modal — спокойный premium dark (графит, красный только акцент)
   Финальный слой. Красный фон tm-tile/tm-section/tm-cta-hint уже снят выше
   (исключены из общего --cc-card-bg-tournament блока). Здесь — донастройка
   рамки модалки, header, CTA, кнопки отмены и скроллбара.
   ========================================================= */

/* 1. Рамка модалки мягче + лёгкий красный радиал сверху (не заливка) */
#tournament-modal .modal-content.tm-neo,
#tournament-modal .modal-content {
	background:
		radial-gradient(520px 240px at 20% 0%, rgba(214,40,57,.10), transparent 38%),
		linear-gradient(180deg, #11141b 0%, #0b0d12 100%) !important;
	border: 1px solid rgba(255,255,255,.08) !important;
	box-shadow: 0 24px 70px rgba(0,0,0,.58) !important;
}

/* 2. Header — графит, без бордовой заливки, только мягкий нижний border */
#tournament-modal .tm-head {
	background:
		radial-gradient(360px 150px at 0% 0%, rgba(214,40,57,.08), transparent 60%),
		linear-gradient(180deg, rgba(255,255,255,.03), transparent) !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

/* 3. Плитки/секции — графит, мягкий hover (без красной заливки) */
#tournament-modal .tm-tile:hover,
#tournament-modal .tm-section:hover {
	border-color: rgba(255,255,255,.14) !important;
	background:
		linear-gradient(180deg, rgba(35,38,46,.92), rgba(15,17,22,.98)) !important;
}

/* 4. CTA — нейтральная карточка состояния (пользователь записан) */
#tournament-modal .tm-cta {
	border-top: 1px solid rgba(255,255,255,.08) !important;
}
#tournament-modal .tm-cta-hint {
	border-left: 2px solid rgba(34,197,94,.45) !important;
}
#tournament-modal .tm-cta-dot {
	background: #22c55e !important;
	box-shadow: 0 0 0 4px rgba(34,197,94,.14) !important;
}

/* 5. Кнопка "Не смогу прийти" — аккуратный красный, без кислотности и заливки вокруг */
#tournament-modal .btn.btn-cancel-soft {
	background: linear-gradient(180deg, #dc263f, #b91630) !important;
	border: 1px solid rgba(255,255,255,.10) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 28px rgba(220,38,65,.22) !important;
}
#tournament-modal .btn.btn-cancel-soft:hover {
	filter: brightness(1.05) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.10),
		0 14px 32px rgba(220,38,65,.28) !important;
}

/* 6. Скроллбар модалки — тонкий и спокойный (глобальный красный не трогаем) */
#tournament-modal .tm-body {
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,.22) transparent;
}
#tournament-modal .tm-body::-webkit-scrollbar { width: 8px; }
#tournament-modal .tm-body::-webkit-scrollbar-track { background: transparent; }
#tournament-modal .tm-body::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,.18);
	border-radius: 999px;
	border: 2px solid transparent;
	background-clip: padding-box;
}
#tournament-modal .tm-body::-webkit-scrollbar-thumb:hover {
	background: rgba(255,255,255,.30);
	background-clip: padding-box;
}

/* 7. Адаптив 360–430: padding-комфорт, без распирания */
@media (max-width: 430px) {
	#tournament-modal .tm-head { padding: 22px 60px 16px 16px !important; }
	#tournament-modal .tm-tile,
	#tournament-modal .tm-section { padding: 13px 14px !important; }
}

/* =========================================================
   INTERACTION POLISH — единый premium press + reduced-motion
   (hover уже унифицирован выше: подъём + красный edge-glow, без заливки фона)
   ========================================================= */

/* Press для карточек: без сдвига/скейла — окно не должно дёргаться при нажатии */
@media (hover:hover) and (pointer:fine) {
	.card:active,
	.tournament-card:active,
	.tournament-card--clean:active,
	#profile-screen .card:active,
	#rating-screen .card:active,
	#contact-screen .card:active,
	#support-screen .card:active {
		transform: none !important;
	}
}

/* Доступность: гасим подъём/анимации интерактивных поверхностей */
@media (prefers-reduced-motion: reduce) {
	.card,
	.card.card-quiet,
	.tournament-card,
	.tournament-card--clean,
	.modal-content,
	#profile-screen .card,
	#profile-screen .profile-hero-card,
	#club-info-modal .card,
	#club-info-modal .club-info-card {
		transition: none !important;
	}
	.card:hover,
	.tournament-card:hover,
	.tournament-card--clean:hover,
	#profile-screen .card:hover,
	#club-info-modal .card:hover,
	#club-info-modal .club-info-card:hover {
		transform: none !important;
	}
}

/* =========================================================
   UNIFIED HOVER — JS-рендеренные блоки и элементы модалок
   Те же ощущения, что у .card/.tournament-card: подъём + тонкий
   красный edge-glow + мягкая тень, плавно, без заливки фона.
   ========================================================= */

/* Карточкоподобные JS-блоки (меню, рейтинг-игроки, награды, медали, статы, история) */
.cc-menu-card,
.stat-card,
.game-history-item,
#rating-screen .game-history-item,
#rating-screen .rating-player-card,
#profile-screen .rating-player-card,
#profile-screen .medal-mini-card,
#profile-screen .medal-locked-row,
#profile-screen .award-cell {
	transition:
		border-color .22s cubic-bezier(.22,1,.36,1),
		box-shadow .22s cubic-bezier(.22,1,.36,1),
		transform .22s cubic-bezier(.22,1,.36,1) !important;
}

@media (hover:hover) and (pointer:fine) {
	.cc-menu-card:hover,
	.stat-card:hover,
	.game-history-item:hover,
	#rating-screen .game-history-item:hover,
	#rating-screen .rating-player-card:hover,
	#profile-screen .rating-player-card:hover,
	#profile-screen .medal-mini-card:hover,
	#profile-screen .medal-locked-row:hover,
	#profile-screen .award-cell:hover {
		border-color: rgba(214,40,57,.30) !important;
		box-shadow:
			0 16px 36px rgba(0,0,0,.40),
			inset 0 0 0 1px rgba(214,40,57,.10),
			inset 0 1px 0 rgba(255,255,255,.06) !important;
		transform: translateY(-2px) !important;
	}
}

/* Информационные плитки внутри модалок — тот же язык, но без подъёма
   (это не кликабельные карточки, а инфо-блоки): мягкий edge-glow + плавность.
   Состояния .is-current/.is-next у уровней не трогаем — у них свой акцент. */
#tournament-modal .tm-tile,
#tournament-modal .tm-section {
	transition:
		border-color .22s cubic-bezier(.22,1,.36,1),
		box-shadow .22s cubic-bezier(.22,1,.36,1) !important;
}

@media (hover:hover) and (pointer:fine) {
	#tournament-modal .tm-tile:hover,
	#tournament-modal .tm-section:hover {
		border-color: rgba(214,40,57,.26) !important;
		box-shadow:
			inset 0 0 0 1px rgba(214,40,57,.08),
			0 10px 26px rgba(0,0,0,.30) !important;
	}
}

/* Доступность: без подъёма для reduce-motion */
@media (prefers-reduced-motion: reduce) {
	.cc-menu-card:hover,
	.stat-card:hover,
	.game-history-item:hover,
	#rating-screen .rating-player-card:hover,
	#profile-screen .rating-player-card:hover,
	#profile-screen .medal-mini-card:hover,
	#profile-screen .award-cell:hover {
		transform: none !important;
	}
}

/* =========================================================
   #club-info-modal — секция "Вопросы и ответы": панель = карточка,
   FAQ внутри = чистые строки с мягким разделителем (без двойных карточек).
   ========================================================= */
#club-info-modal .club-info-faq .club-info-block-title {
	margin-bottom: 4px;
}
#club-info-modal .club-info-faq details.faq {
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}
#club-info-modal .club-info-faq details.faq + details.faq {
	margin-top: 0 !important;
	border-top: 1px solid rgba(255,255,255,.07) !important;
}
#club-info-modal .club-info-faq details.faq summary {
	padding: 12px 0 !important;
}
#club-info-modal .club-info-faq details.faq p {
	padding: 0 0 12px !important;
}

/* Red Luxe status helper: "Вы в основном списке участников" */
.tournament-helper.ok,
.tournament-card--clean .tournament-helper.ok,
.tournament-card--compact .tournament-helper.ok {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 44px !important;
	margin: 8px 0 !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(214,40,57,.38) !important;
	border-left: 1px solid rgba(214,40,57,.38) !important;
	border-radius: 14px !important;
	background:
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.016)),
		linear-gradient(135deg, rgba(198,31,50,.18), rgba(90,14,24,.08)),
		var(--cc-surface) !important;
	color: var(--cc-text-main) !important;
	box-shadow:
		0 10px 22px rgba(0,0,0,.22),
		inset 0 1px 0 rgba(255,255,255,.07) !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	overflow-wrap: anywhere !important;
}

.tournament-helper.ok::before,
.tournament-card--clean .tournament-helper.ok::before,
.tournament-card--compact .tournament-helper.ok::before {
	content: "\2713";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--cc-red-luxe-dark), var(--cc-red-luxe-bright));
	color: var(--cc-text-main);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.16),
		0 8px 16px rgba(198,31,50,.22);
	font-size: 13px;
	font-weight: 950;
	line-height: 1;
}
