/* =====================================================
   Point Carrom
   Carrom - Board Renderer
   Step 2A
   ===================================================== */

.tbg-point-carrom-game {
	position: relative;
	width: 100%;
	min-height: 620px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	overflow: hidden;
}


/* =====================================================
   Game Stage
   ===================================================== */

.tbg-point-carrom-stage {
	position: relative;
	width: 100%;
	min-height: 620px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	padding: 24px;

	box-sizing: border-box;

	background:
		radial-gradient(
			circle at 50% 35%,
			rgba(255, 255, 255, 0.04),
			transparent 42%
		),
		linear-gradient(
			180deg,
			rgba(9, 12, 22, 0.15),
			rgba(4, 6, 13, 0.55)
		);
}


/* =====================================================
   Board Shell
   ===================================================== */

.tbg-point-carrom-board-shell {
	position: relative;

	width: min(
		82vh,
		92vw,
		820px
	);

	aspect-ratio: 1 / 1;

	flex: 0 0 auto;

	border-radius: 22px;

	box-sizing: border-box;

	filter:
		drop-shadow(
			0 25px 45px
			rgba(0, 0, 0, 0.38)
		);

	transition:
		transform 0.25s ease,
		filter 0.25s ease;
}


.tbg-point-carrom-board-shell:hover {
	filter:
		drop-shadow(
			0 30px 55px
			rgba(0, 0, 0, 0.45)
		);
}


/* =====================================================
   Canvas
   ===================================================== */

.tbg-point-carrom-canvas {
	display: block;

	width: 100%;
	height: 100%;

	border-radius: 22px;

	touch-action: none;

	user-select: none;
	-webkit-user-select: none;

	-webkit-tap-highlight-color:
		transparent;

	cursor: crosshair;
}


/* =====================================================
   Status
   ===================================================== */

.tbg-point-carrom-board-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	margin-top: 16px;

	padding:
		7px 13px;

	border-radius: 999px;

	background:
		rgba(15, 19, 31, 0.76);

	border:
		1px solid
		rgba(255, 255, 255, 0.08);

	color:
		rgba(255, 255, 255, 0.68);

	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;

	box-shadow:
		0 8px 25px
		rgba(0, 0, 0, 0.18);

	backdrop-filter:
		blur(10px);

	-webkit-backdrop-filter:
		blur(10px);
}


.tbg-point-carrom-status-dot {
	display: block;

	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: #6ee7a8;

	box-shadow:
		0 0 10px
		rgba(110, 231, 168, 0.75);
}


/* =====================================================
   Tablet
   ===================================================== */

@media (
	max-width: 900px
) {

	.tbg-point-carrom-game {
		min-height: 560px;
	}

	.tbg-point-carrom-stage {
		min-height: 560px;

		padding:
			18px;
	}

	.tbg-point-carrom-board-shell {
		width: min(
			78vh,
			94vw,
			700px
		);
	}
}


/* =====================================================
   Mobile
   ===================================================== */

@media (
	max-width: 600px
) {

	.tbg-point-carrom-game {
		min-height: auto;
	}

	.tbg-point-carrom-stage {
		min-height: auto;

		padding:
			10px 6px 14px;
	}

	.tbg-point-carrom-board-shell {
		width:
			min(
				96vw,
				620px
			);

		border-radius:
			14px;
	}

	.tbg-point-carrom-canvas {
		border-radius:
			14px;
	}

	.tbg-point-carrom-board-status {
		margin-top:
			10px;

		padding:
			6px 10px;

		font-size:
			10px;
	}
}


/* =====================================================
   Small Mobile
   ===================================================== */

@media (
	max-width: 380px
) {

	.tbg-point-carrom-stage {
		padding-left:
			3px;

		padding-right:
			3px;
	}

	.tbg-point-carrom-board-shell {
		width:
			97vw;
	}
}

/* ==================================================
   TWO PLAYER HUD
   ================================================== */

.tbg-point-carrom-player-hud {
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	margin-bottom: 14px;
}

.tbg-point-carrom-player-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;

	min-width: 0;
	padding: 12px 14px;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.08),
			rgba(255, 255, 255, 0.025)
		);

	border:
		1px solid
		rgba(255, 255, 255, 0.10);

	border-radius: 14px;

	opacity: 0.68;

	transform: scale(0.985);

	transition:
		opacity 0.22s ease,
		transform 0.22s ease,
		border-color 0.22s ease,
		box-shadow 0.22s ease;
}

.tbg-point-carrom-player-card.is-active {
	opacity: 1;

	transform: scale(1);

	border-color:
		rgba(78, 196, 255, 0.75);

	box-shadow:
		0 0 0 1px rgba(78, 196, 255, 0.12),
		0 7px 24px rgba(0, 0, 0, 0.22);
}

.tbg-point-carrom-player-main {
	display: flex;
	align-items: center;
	gap: 10px;

	min-width: 0;
}

.tbg-point-carrom-player-coin {
	width: 28px;
	height: 28px;
	flex: 0 0 28px;

	border-radius: 50%;

	box-shadow:
		inset 0 0 0 2px rgba(0, 0, 0, 0.22),
		0 3px 8px rgba(0, 0, 0, 0.32);
}

.tbg-point-carrom-player-coin--white {
	background:
		radial-gradient(
			circle at 35% 30%,
			#ffffff,
			#e8e2d5 58%,
			#a99f8d
		);
}

.tbg-point-carrom-player-coin--black {
	background:
		radial-gradient(
			circle at 35% 30%,
			#777777,
			#222222 55%,
			#050505
		);
}

.tbg-point-carrom-player-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.tbg-point-carrom-player-info strong {
	font-size: 14px;
	line-height: 1.2;
	color: #ffffff;
}

.tbg-point-carrom-player-info span {
	margin-top: 3px;

	font-size: 11px;
	color: rgba(255, 255, 255, 0.60);
}

.tbg-point-carrom-player-stats {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;

	white-space: nowrap;

	font-size: 11px;
	color: rgba(255, 255, 255, 0.64);
}

.tbg-point-carrom-player-stats strong {
	color: #ffffff;
}

.tbg-point-carrom-turn-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-width: 110px;

	padding: 8px 12px;

	border-radius: 13px;

	background:
		rgba(0, 0, 0, 0.18);

	text-align: center;
}

.tbg-point-carrom-turn-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;

	color:
		rgba(255, 255, 255, 0.48);
}

#tbg-point-carrom-current-turn {
	margin-top: 3px;

	font-size: 14px;
	color: #ffffff;
}

.tbg-point-carrom-turn-number {
	margin-top: 2px;

	font-size: 10px;

	color:
		rgba(255, 255, 255, 0.55);
}


/* Mobile */
@media (max-width: 700px) {

	.tbg-point-carrom-player-hud {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.tbg-point-carrom-turn-center {
		grid-column: 1 / -1;
		grid-row: 1;

		min-width: 0;
		padding: 6px 10px;
	}

	.tbg-point-carrom-player-card {
		grid-row: 2;

		padding: 9px 10px;
	}

	.tbg-point-carrom-player-card {
		flex-direction: column;
		align-items: flex-start;
	}

	.tbg-point-carrom-player-stats {
		width: 100%;

		flex-direction: row;
		justify-content: space-between;
		align-items: center;

		font-size: 10px;
	}

	.tbg-point-carrom-player-coin {
		width: 24px;
		height: 24px;
		flex-basis: 24px;
	}

	.tbg-point-carrom-player-info strong {
		font-size: 12px;
	}

	.tbg-point-carrom-player-info span {
		font-size: 10px;
	}
}

/* ==================================================
   FLOATING GAME NOTIFICATION
   ================================================== */

.tbg-point-carrom-game-notice {
	position: fixed;

	top: 86px;
	right: 20px;

	z-index: 99999;

	width: min(360px, calc(100vw - 32px));

	display: flex;
	align-items: center;
	gap: 12px;

	box-sizing: border-box;

	padding: 13px 15px;

	border-radius: 15px;

	border:
		1px solid rgba(255, 255, 255, 0.13);

	background:
		linear-gradient(
			135deg,
			rgba(26, 31, 42, 0.97),
			rgba(13, 16, 23, 0.98)
		);

	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.35),
		0 4px 14px rgba(0, 0, 0, 0.24);

	backdrop-filter:
		blur(14px);

	-webkit-backdrop-filter:
		blur(14px);


	/**
	 * Hidden state.
	 */
	opacity: 0;

	visibility: hidden;

	pointer-events: none;

	transform:
		translateX(35px)
		scale(0.94);

	filter:
		blur(2px);


	transition:
		opacity 0.28s ease,
		transform 0.34s
			cubic-bezier(
				0.22,
				1,
				0.36,
				1
			),
		filter 0.28s ease,
		visibility 0.28s ease;
}


/**
 * Small decorative shine.
 */
.tbg-point-carrom-game-notice::before {
	content: '';

	position: absolute;

	top: 0;
	left: 14px;
	right: 14px;

	height: 1px;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.42),
			transparent
		);

	opacity: 0.65;
}


/**
 * Visible state.
 */
.tbg-point-carrom-game-notice.is-visible {
	opacity: 1;

	visibility: visible;

	transform:
		translateX(0)
		scale(1);

	filter:
		blur(0);
}


/* ==================================================
   FOUL
   ================================================== */

.tbg-point-carrom-game-notice.is-foul {
	border-color:
		rgba(255, 91, 103, 0.48);

	background:
		linear-gradient(
			135deg,
			rgba(104, 27, 36, 0.97),
			rgba(48, 15, 22, 0.98)
		);

	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.35),
		0 0 25px rgba(255, 72, 89, 0.12);
}


/* ==================================================
   PENALTY
   ================================================== */

.tbg-point-carrom-game-notice.is-penalty {
	border-color:
		rgba(255, 183, 67, 0.55);

	background:
		linear-gradient(
			135deg,
			rgba(105, 66, 20, 0.98),
			rgba(48, 29, 12, 0.98)
		);

	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.35),
		0 0 25px rgba(255, 180, 65, 0.13);
}


/* ==================================================
   SUCCESS
   ================================================== */

.tbg-point-carrom-game-notice.is-success {
	border-color:
		rgba(74, 218, 143, 0.48);

	background:
		linear-gradient(
			135deg,
			rgba(18, 87, 57, 0.98),
			rgba(9, 43, 29, 0.98)
		);

	box-shadow:
		0 18px 45px rgba(0, 0, 0, 0.35),
		0 0 25px rgba(69, 214, 137, 0.13);
}


/* ==================================================
   ICON
   ================================================== */

.tbg-point-carrom-game-notice-icon {
	position: relative;

	width: 38px;
	height: 38px;

	flex: 0 0 38px;

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

	border-radius: 12px;

	background:
		rgba(255, 255, 255, 0.12);

	border:
		1px solid rgba(255, 255, 255, 0.10);

	color: #ffffff;

	font-size: 18px;

	font-weight: 800;

	box-shadow:
		inset 0 1px 0
			rgba(255, 255, 255, 0.10);
}


/**
 * Subtle pulse when appearing.
 */
.tbg-point-carrom-game-notice.is-visible
.tbg-point-carrom-game-notice-icon {
	animation:
		tbgPointCarromNoticeIconPop
		0.48s ease;
}


@keyframes tbgPointCarromNoticeIconPop {

	0% {
		transform:
			scale(0.55)
			rotate(-12deg);
	}

	65% {
		transform:
			scale(1.12)
			rotate(3deg);
	}

	100% {
		transform:
			scale(1)
			rotate(0);
	}
}


/* ==================================================
   TEXT
   ================================================== */

.tbg-point-carrom-game-notice-content {
	display: flex;

	flex-direction: column;

	gap: 4px;

	min-width: 0;

	flex: 1;
}


.tbg-point-carrom-game-notice-content strong {
	font-size: 13px;

	line-height: 1.25;

	font-weight: 700;

	color: #ffffff;

	letter-spacing:
		0.01em;
}


.tbg-point-carrom-game-notice-content span {
	font-size: 11px;

	line-height: 1.45;

	color:
		rgba(255, 255, 255, 0.73);
}


/* ==================================================
   AUTO-TIMER BAR EFFECT
   ================================================== */

.tbg-point-carrom-game-notice::after {
	content: '';

	position: absolute;

	left: 10px;
	right: 10px;
	bottom: 0;

	height: 2px;

	border-radius:
		2px 2px 0 0;

	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.80),
			rgba(255, 255, 255, 0.15)
		);

	transform-origin:
		left center;

	transform:
		scaleX(0);

	opacity: 0;
}


.tbg-point-carrom-game-notice.is-visible::after {
	opacity: 0.8;

	animation:
		tbgPointCarromNoticeTimer
		3.2s linear forwards;
}


@keyframes tbgPointCarromNoticeTimer {

	from {
		transform:
			scaleX(1);
	}

	to {
		transform:
			scaleX(0);
	}
}


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

@media (max-width: 700px) {

	.tbg-point-carrom-game-notice {
		top: 72px;

		right: 10px;

		width:
			calc(100vw - 20px);

		max-width: 340px;

		padding:
			11px 12px;

		gap: 10px;

		border-radius: 13px;
	}


	.tbg-point-carrom-game-notice-icon {
		width: 34px;
		height: 34px;

		flex-basis: 34px;

		border-radius: 10px;

		font-size: 16px;
	}


	.tbg-point-carrom-game-notice-content strong {
		font-size: 12px;
	}


	.tbg-point-carrom-game-notice-content span {
		font-size: 10px;
	}

}


/**
 * Very small phones.
 */
@media (max-width: 420px) {

	.tbg-point-carrom-game-notice {
		top: 64px;

		right: 8px;

		width:
			calc(100vw - 16px);
	}

}

/* ==================================================
   STEP 2I-B
   CARROM WINNER OVERLAY
   ================================================== */

.tbg-point-carrom-game {
	position: relative;
}


/* Full game overlay */
.tbg-point-carrom-winner-overlay {
	position: absolute;
	inset: 0;
	z-index: 1000;

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

	padding: 22px;

	background:
		radial-gradient(
			circle at 50% 38%,
			rgba(255, 205, 86, 0.17),
			transparent 35%
		),
		rgba(10, 8, 7, 0.78);

	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.32s ease,
		visibility 0.32s ease;
}


.tbg-point-carrom-winner-overlay.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


/* Winner card */
.tbg-point-carrom-winner-card {
	position: relative;

	width: min(
		430px,
		100%
	);

	padding:
		54px
		30px
		30px;

	overflow: hidden;

	text-align: center;

	border:
		1px solid
		rgba(255, 218, 130, 0.32);

	border-radius: 26px;

	background:
		linear-gradient(
			145deg,
			rgba(48, 37, 26, 0.98),
			rgba(20, 16, 14, 0.99)
		);

	box-shadow:
		0 28px 80px
		rgba(0, 0, 0, 0.55),
		inset 0 1px 0
		rgba(255, 255, 255, 0.08);

	transform:
		translateY(24px)
		scale(0.94);

	opacity: 0;

	transition:
		transform 0.45s
		cubic-bezier(
			0.22,
			1,
			0.36,
			1
		),
		opacity 0.35s ease;
}


.tbg-point-carrom-winner-overlay.is-visible
.tbg-point-carrom-winner-card {
	transform:
		translateY(0)
		scale(1);

	opacity: 1;
}


/* Soft background glow */
.tbg-point-carrom-winner-glow {
	position: absolute;
	top: -110px;
	left: 50%;

	width: 300px;
	height: 220px;

	transform:
		translateX(-50%);

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(255, 194, 63, 0.30),
			transparent 70%
		);

	pointer-events: none;
}


/* Winner icon */
.tbg-point-carrom-winner-crown {
	position: absolute;
	top: -1px;
	left: 50%;

	width: 76px;
	height: 58px;

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

	transform:
		translateX(-50%);

	border-radius:
		0 0 22px 22px;

	background:
		linear-gradient(
			135deg,
			#ffd86b,
			#e49c25
		);

	box-shadow:
		0 10px 28px
		rgba(224, 159, 41, 0.28);

	font-size: 27px;
	line-height: 1;

	color: #4a2c08;
}


.tbg-point-carrom-winner-overlay.is-visible
.tbg-point-carrom-winner-crown span {
	animation:
		tbgWinnerStar
		0.7s
		0.22s
		both;
}


@keyframes tbgWinnerStar {

	0% {
		transform:
			scale(0)
			rotate(-140deg);
	}

	70% {
		transform:
			scale(1.22)
			rotate(12deg);
	}

	100% {
		transform:
			scale(1)
			rotate(0deg);
	}
}


/* Small heading */
.tbg-point-carrom-winner-label {
	margin-bottom: 10px;

	font-size: 11px;
	font-weight: 800;

	letter-spacing: 2.4px;
	text-transform: uppercase;

	color: #d8a94d;
}


/* Winner title */
.tbg-point-carrom-winner-title {
	margin:
		0 0 9px;

	font-size:
		clamp(
			30px,
			5vw,
			42px
		);

	font-weight: 800;
	line-height: 1.08;

	color: #fff7e6;
}


.tbg-point-carrom-winner-title span {
	color: #ffd56c;
}


/* Winner color badge */
.tbg-point-carrom-winner-color {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	min-height: 30px;

	padding:
		5px 13px;

	border-radius: 999px;

	font-size: 12px;
	font-weight: 700;

	background:
		rgba(255, 255, 255, 0.08);

	color:
		rgba(255, 255, 255, 0.78);
}


.tbg-point-carrom-winner-color::before {
	content: "";

	width: 9px;
	height: 9px;

	flex: 0 0 9px;

	border-radius: 50%;

	background: #c9c9c9;

	box-shadow:
		0 0 0 3px
		rgba(255, 255, 255, 0.06);
}


.tbg-point-carrom-winner-color.is-white::before {
	background: #f6efe2;
}


.tbg-point-carrom-winner-color.is-black::before {
	background: #111111;

	border:
		1px solid
		rgba(255, 255, 255, 0.28);
}


/* Divider */
.tbg-point-carrom-winner-divider {
	width: 56px;
	height: 2px;

	margin:
		22px auto;

	border-radius: 10px;

	background:
		linear-gradient(
			90deg,
			transparent,
			#d6a33c,
			transparent
		);
}


/* Stats */
.tbg-point-carrom-winner-stats {
	display: grid;

	grid-template-columns:
		repeat(
			3,
			1fr
		);

	gap: 10px;

	margin-bottom: 25px;
}


.tbg-point-carrom-winner-stat {
	min-width: 0;

	padding:
		13px
		7px;

	border:
		1px solid
		rgba(255, 255, 255, 0.07);

	border-radius: 14px;

	background:
		rgba(255, 255, 255, 0.045);
}


.tbg-point-carrom-winner-stat strong {
	display: block;

	margin-bottom: 3px;

	font-size: 21px;
	font-weight: 800;

	color: #ffd56c;
}


.tbg-point-carrom-winner-stat span {
	display: block;

	font-size: 10px;
	font-weight: 700;

	letter-spacing: 0.8px;
	text-transform: uppercase;

	color:
		rgba(255, 255, 255, 0.56);
}


/* Play again */
.tbg-point-carrom-play-again {
	position: relative;

	width: 100%;
	min-height: 52px;

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

	gap: 9px;

	padding:
		12px 22px;

	border: 0;
	border-radius: 15px;

	cursor: pointer;

	font-family: inherit;

	font-size: 14px;
	font-weight: 800;

	letter-spacing: 0.3px;

	color: #422704;

	background:
		linear-gradient(
			135deg,
			#ffe080,
			#eba638
		);

	box-shadow:
		0 12px 28px
		rgba(218, 151, 38, 0.24);

	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease,
		filter 0.18s ease;
}


.tbg-point-carrom-play-again:hover {
	transform:
		translateY(-2px);

	box-shadow:
		0 16px 32px
		rgba(218, 151, 38, 0.34);

	filter:
		brightness(1.04);
}


.tbg-point-carrom-play-again:active {
	transform:
		translateY(0)
		scale(0.985);
}


.tbg-point-carrom-play-again:focus-visible {
	outline:
		3px solid
		rgba(255, 216, 107, 0.40);

	outline-offset: 4px;
}


.tbg-point-carrom-play-again-icon {
	font-size: 21px;
	line-height: 1;
}


/* Mobile */
@media (
	max-width: 600px
) {

	.tbg-point-carrom-winner-overlay {
		padding: 14px;
	}


	.tbg-point-carrom-winner-card {
		padding:
			50px
			20px
			22px;

		border-radius: 21px;
	}


	.tbg-point-carrom-winner-title {
		font-size: 30px;
	}


	.tbg-point-carrom-winner-stats {
		gap: 7px;
	}


	.tbg-point-carrom-winner-stat {
		padding:
			11px
			5px;
	}


	.tbg-point-carrom-winner-stat strong {
		font-size: 19px;
	}
}

/* ==========================================
   WINNER REASON
   ========================================== */

.tbg-point-carrom-winner-reason {
	max-width: 330px;

	margin:
		12px auto 0;

	font-size: 12px;
	font-weight: 500;
	line-height: 1.55;

	color:
		rgba(255, 255, 255, 0.62);
}









/* Point Carrom — Step 2P Logged-in Carrom Arena UI */
.tbg-point-carrom-arena-overlay{padding:18px;background:rgba(5,8,15,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tbg-point-carrom-arena-lobby{width:min(1380px,98%);min-height:min(760px,90vh);display:grid;grid-template-columns:290px minmax(480px,1fr) 260px;gap:20px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(145deg,#111722,#0a0f17);box-shadow:0 28px 80px rgba(0,0,0,.48);color:#f7f7f5;box-sizing:border-box}
.tbg-point-carrom-arena-panel,.tbg-point-carrom-arena-main{border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(14,20,30,.92);box-sizing:border-box}
.tbg-point-carrom-arena-panel{padding:20px;display:flex;flex-direction:column}
.tbg-point-carrom-arena-brand{display:flex;align-items:center;gap:13px}.tbg-point-carrom-arena-brand h2{margin:0;font-size:20px}.tbg-point-carrom-arena-brand p{margin:4px 0 0;color:#9aa3b1;font-size:12px}
.tbg-point-carrom-arena-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ffdf8b,#d89a22);color:#fff;box-shadow:0 12px 30px rgba(218,159,42,.25);font-size:22px}
.tbg-point-carrom-arena-divider{height:1px;background:rgba(255,255,255,.08);margin:18px 0}
.tbg-point-carrom-arena-section{margin-bottom:20px}.tbg-point-carrom-arena-label{display:block;margin-bottom:8px;color:#a6aebb;font-size:12px;font-weight:800}
.tbg-point-carrom-arena-mode,.tbg-point-carrom-arena-wallet{border:1px solid rgba(255,255,255,.10);border-radius:13px;background:#1a202b;padding:14px}.tbg-point-carrom-arena-mode strong,.tbg-point-carrom-arena-mode small,.tbg-point-carrom-arena-wallet strong,.tbg-point-carrom-arena-wallet small{display:block}.tbg-point-carrom-arena-mode small,.tbg-point-carrom-arena-wallet small{margin-top:4px;color:#8d97a5;font-size:11px}
.tbg-point-carrom-arena-wallet{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.tbg-point-carrom-arena-wallet span{grid-row:1/3;font-size:22px}.tbg-point-carrom-arena-wallet strong{font-size:22px;color:#ffe08a}.tbg-point-carrom-arena-account{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:18px}.tbg-point-carrom-arena-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#242b36;font-weight:900;color:#ffe08a}.tbg-point-carrom-arena-account small,.tbg-point-carrom-arena-account strong{display:block}.tbg-point-carrom-arena-account small{font-size:9px;color:#8c96a4;letter-spacing:.1em}.tbg-point-carrom-arena-account strong{font-size:13px;margin-top:2px}
.tbg-point-carrom-arena-main{padding:18px;display:flex;flex-direction:column;justify-content:center}
.tbg-point-carrom-arena-versus{display:grid;grid-template-columns:1fr 150px 1fr;gap:12px;align-items:stretch;margin-bottom:24px}.tbg-point-carrom-arena-player,.tbg-point-carrom-arena-turn{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#171d26;padding:12px;display:flex;align-items:center;gap:10px}.tbg-point-carrom-arena-player--active{border-color:rgba(224,170,62,.55)}.tbg-point-carrom-arena-player-icon{width:36px;height:36px;border-radius:11px;background:#252c37;display:grid;place-items:center;color:#ffe08a}.tbg-point-carrom-arena-player strong,.tbg-point-carrom-arena-player small{display:block}.tbg-point-carrom-arena-player small{margin-top:3px;color:#858f9d;font-size:11px}.tbg-point-carrom-arena-turn{justify-content:center;flex-direction:column;text-align:center}.tbg-point-carrom-arena-turn small{color:#a8b0bb;font-size:10px;font-weight:800}.tbg-point-carrom-arena-turn strong{color:#ffe08a;font-size:15px}
.tbg-point-carrom-arena-heading{text-align:center;max-width:680px;margin:0 auto 18px}.tbg-point-carrom-arena-heading span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#c7a75d}.tbg-point-carrom-arena-heading h3{margin:6px 0 7px;font-size:28px}.tbg-point-carrom-arena-heading p{margin:0;color:#9aa3b0;font-size:13px;line-height:1.55}
.tbg-point-carrom-arena-lobby .tbg-point-carrom-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tbg-point-carrom-arena-level{position:relative;text-align:left;padding:18px 16px 16px;min-height:190px;border-radius:16px;background:linear-gradient(180deg,#1c2430,#131922);border:1px solid rgba(255,255,255,.10);overflow:hidden}.tbg-point-carrom-arena-level:hover{border-color:rgba(231,184,83,.55);transform:translateY(-2px)}.tbg-point-carrom-arena-level__badge{display:inline-block!important;width:auto!important;margin-bottom:14px;padding:5px 8px;border-radius:999px;background:rgba(255,221,130,.10);color:#ffe08a;font-size:10px!important;font-weight:900!important;letter-spacing:.08em}.tbg-point-carrom-arena-level strong{font-size:18px!important;margin-bottom:12px!important}.tbg-point-carrom-arena-level span{font-size:12px!important}.tbg-point-carrom-arena-level span b{color:#ffe08a}.tbg-point-carrom-arena-level small{font-size:11px!important;line-height:1.4}.tbg-point-carrom-arena-level em{display:block;margin-top:18px;padding:9px 10px;border-radius:10px;background:linear-gradient(135deg,#ffe18e,#d99b26);color:#17120a;font-style:normal;font-size:11px;font-weight:900;text-align:center}.tbg-point-carrom-arena-level.is-unaffordable{opacity:.62}.tbg-point-carrom-arena-level.is-unaffordable em{background:#272d36;color:#aab1bb}
.tbg-point-carrom-arena-main .tbg-point-carrom-level-message{margin-top:16px;padding:12px 14px;border-radius:12px;background:#111720;border:1px solid rgba(255,255,255,.07);color:#f2c968}
.tbg-point-carrom-arena-stat{padding:16px;border-radius:14px;background:#171d26;text-align:center}.tbg-point-carrom-arena-stat small,.tbg-point-carrom-arena-stat strong{display:block}.tbg-point-carrom-arena-stat small{color:#939ca8;font-size:10px;font-weight:900}.tbg-point-carrom-arena-stat strong{margin-top:7px;font-size:25px;color:#ffe08a}.tbg-point-carrom-arena-panel--right h3{margin:0 0 14px;font-size:18px}.tbg-point-carrom-arena-rule{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:0 0 13px}.tbg-point-carrom-arena-rule span{width:26px;height:26px;border-radius:8px;background:#202733;color:#ffe08a;display:grid;place-items:center;font-size:11px;font-weight:900}.tbg-point-carrom-arena-rule p{margin:1px 0 0;color:#a2aab6;font-size:11px;line-height:1.45}.tbg-point-carrom-arena-security{margin-top:auto;padding:13px;border-radius:12px;background:rgba(60,135,91,.10);border:1px solid rgba(83,185,122,.20)}.tbg-point-carrom-arena-security strong,.tbg-point-carrom-arena-security small{display:block}.tbg-point-carrom-arena-security strong{font-size:12px;color:#79d69b}.tbg-point-carrom-arena-security small{margin-top:4px;color:#8fa499;font-size:10px;line-height:1.4}
.tbg-point-carrom-match-hud{position:relative;z-index:18;width:min(980px,96%);margin:0 auto 14px;display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:10px;padding:10px;border-radius:15px;background:rgba(14,20,29,.94);border:1px solid rgba(255,255,255,.09);box-sizing:border-box}.tbg-point-carrom-match-hud__player,.tbg-point-carrom-match-hud__center,.tbg-point-carrom-match-hud__wallet{min-height:58px;border-radius:11px;background:#181f29;display:flex;align-items:center;padding:9px 11px;box-sizing:border-box}.tbg-point-carrom-match-hud__player{gap:9px}.tbg-point-carrom-match-hud__player--right{justify-content:flex-end;text-align:right}.tbg-point-carrom-match-hud__avatar{width:34px;height:34px;border-radius:9px;background:#252c37;display:grid;place-items:center;font-size:8px;font-weight:900;color:#ffe08a}.tbg-point-carrom-match-hud small,.tbg-point-carrom-match-hud strong,.tbg-point-carrom-match-hud span{display:block}.tbg-point-carrom-match-hud small{font-size:9px;color:#8f98a4;font-weight:900}.tbg-point-carrom-match-hud strong{font-size:13px;margin-top:3px}.tbg-point-carrom-match-hud__center{flex-direction:column;justify-content:center;text-align:center;border:1px solid rgba(224,170,62,.22)}.tbg-point-carrom-match-hud__center>strong{color:#ffe08a}.tbg-point-carrom-match-hud__center>span{margin-top:3px;color:#a1aab5;font-size:9px}.tbg-point-carrom-match-hud__wallet{flex-direction:column;justify-content:center;min-width:116px}.tbg-point-carrom-match-hud__wallet strong{color:#ffe08a}
@media(max-width:1050px){.tbg-point-carrom-arena-lobby{grid-template-columns:230px 1fr}.tbg-point-carrom-arena-panel--right{grid-column:1/-1;display:grid;grid-template-columns:160px 1fr 1fr;gap:14px}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-divider{display:none}.tbg-point-carrom-arena-panel--right h3{display:none}.tbg-point-carrom-arena-rule{margin:0}.tbg-point-carrom-arena-security{margin:0}.tbg-point-carrom-match-hud{grid-template-columns:1fr 1fr}.tbg-point-carrom-match-hud__wallet{min-width:0}}
@media(max-width:760px){.tbg-point-carrom-arena-overlay{padding:8px;align-items:flex-start;overflow:auto}.tbg-point-carrom-arena-lobby{grid-template-columns:1fr;gap:10px;padding:10px;min-height:auto}.tbg-point-carrom-arena-panel{padding:14px}.tbg-point-carrom-arena-panel--left .tbg-point-carrom-arena-section:nth-of-type(1){margin-bottom:10px}.tbg-point-carrom-arena-account{display:none}.tbg-point-carrom-arena-main{padding:12px}.tbg-point-carrom-arena-versus{grid-template-columns:1fr 90px 1fr}.tbg-point-carrom-arena-player{padding:8px}.tbg-point-carrom-arena-player-icon{display:none}.tbg-point-carrom-arena-heading h3{font-size:22px}.tbg-point-carrom-arena-lobby .tbg-point-carrom-level-grid{grid-template-columns:1fr}.tbg-point-carrom-arena-level{min-height:auto}.tbg-point-carrom-arena-panel--right{grid-column:auto;display:block}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-rule,.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-security{display:none}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-stat{margin:0}.tbg-point-carrom-match-hud{grid-template-columns:1fr 1fr;padding:7px;margin-bottom:8px}.tbg-point-carrom-match-hud__center{grid-column:1/-1;grid-row:1}.tbg-point-carrom-match-hud__wallet{grid-column:1/-1;min-height:42px}.tbg-point-carrom-match-hud__player{min-height:48px}}

















/* Point Carrom — Step 2P Logged-in Carrom Arena UI */
.tbg-point-carrom-arena-overlay{padding:18px;background:rgba(5,8,15,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tbg-point-carrom-arena-lobby{width:min(1380px,98%);min-height:min(760px,90vh);display:grid;grid-template-columns:290px minmax(480px,1fr) 260px;gap:20px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:24px;background:linear-gradient(145deg,#111722,#0a0f17);box-shadow:0 28px 80px rgba(0,0,0,.48);color:#f7f7f5;box-sizing:border-box}
.tbg-point-carrom-arena-panel,.tbg-point-carrom-arena-main{border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(14,20,30,.92);box-sizing:border-box}
.tbg-point-carrom-arena-panel{padding:20px;display:flex;flex-direction:column}
.tbg-point-carrom-arena-brand{display:flex;align-items:center;gap:13px}.tbg-point-carrom-arena-brand h2{margin:0;font-size:20px}.tbg-point-carrom-arena-brand p{margin:4px 0 0;color:#9aa3b1;font-size:12px}
.tbg-point-carrom-arena-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#ffdf8b,#d89a22);color:#fff;box-shadow:0 12px 30px rgba(218,159,42,.25);font-size:22px}
.tbg-point-carrom-arena-divider{height:1px;background:rgba(255,255,255,.08);margin:18px 0}
.tbg-point-carrom-arena-section{margin-bottom:20px}.tbg-point-carrom-arena-label{display:block;margin-bottom:8px;color:#a6aebb;font-size:12px;font-weight:800}
.tbg-point-carrom-arena-mode,.tbg-point-carrom-arena-wallet{border:1px solid rgba(255,255,255,.10);border-radius:13px;background:#1a202b;padding:14px}.tbg-point-carrom-arena-mode strong,.tbg-point-carrom-arena-mode small,.tbg-point-carrom-arena-wallet strong,.tbg-point-carrom-arena-wallet small{display:block}.tbg-point-carrom-arena-mode small,.tbg-point-carrom-arena-wallet small{margin-top:4px;color:#8d97a5;font-size:11px}
.tbg-point-carrom-arena-wallet{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.tbg-point-carrom-arena-wallet span{grid-row:1/3;font-size:22px}.tbg-point-carrom-arena-wallet strong{font-size:22px;color:#ffe08a}.tbg-point-carrom-arena-account{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:18px}.tbg-point-carrom-arena-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#242b36;font-weight:900;color:#ffe08a}.tbg-point-carrom-arena-account small,.tbg-point-carrom-arena-account strong{display:block}.tbg-point-carrom-arena-account small{font-size:9px;color:#8c96a4;letter-spacing:.1em}.tbg-point-carrom-arena-account strong{font-size:13px;margin-top:2px}
.tbg-point-carrom-arena-main{padding:18px;display:flex;flex-direction:column;justify-content:center}
.tbg-point-carrom-arena-versus{display:grid;grid-template-columns:1fr 150px 1fr;gap:12px;align-items:stretch;margin-bottom:24px}.tbg-point-carrom-arena-player,.tbg-point-carrom-arena-turn{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#171d26;padding:12px;display:flex;align-items:center;gap:10px}.tbg-point-carrom-arena-player--active{border-color:rgba(224,170,62,.55)}.tbg-point-carrom-arena-player-icon{width:36px;height:36px;border-radius:11px;background:#252c37;display:grid;place-items:center;color:#ffe08a}.tbg-point-carrom-arena-player strong,.tbg-point-carrom-arena-player small{display:block}.tbg-point-carrom-arena-player small{margin-top:3px;color:#858f9d;font-size:11px}.tbg-point-carrom-arena-turn{justify-content:center;flex-direction:column;text-align:center}.tbg-point-carrom-arena-turn small{color:#a8b0bb;font-size:10px;font-weight:800}.tbg-point-carrom-arena-turn strong{color:#ffe08a;font-size:15px}
.tbg-point-carrom-arena-heading{text-align:center;max-width:680px;margin:0 auto 18px}.tbg-point-carrom-arena-heading span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#c7a75d}.tbg-point-carrom-arena-heading h3{margin:6px 0 7px;font-size:28px}.tbg-point-carrom-arena-heading p{margin:0;color:#9aa3b0;font-size:13px;line-height:1.55}
.tbg-point-carrom-arena-lobby .tbg-point-carrom-level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tbg-point-carrom-arena-level{position:relative;text-align:left;padding:18px 16px 16px;min-height:190px;border-radius:16px;background:linear-gradient(180deg,#1c2430,#131922);border:1px solid rgba(255,255,255,.10);overflow:hidden}.tbg-point-carrom-arena-level:hover{border-color:rgba(231,184,83,.55);transform:translateY(-2px)}.tbg-point-carrom-arena-level__badge{display:inline-block!important;width:auto!important;margin-bottom:14px;padding:5px 8px;border-radius:999px;background:rgba(255,221,130,.10);color:#ffe08a;font-size:10px!important;font-weight:900!important;letter-spacing:.08em}.tbg-point-carrom-arena-level strong{font-size:18px!important;margin-bottom:12px!important}.tbg-point-carrom-arena-level span{font-size:12px!important}.tbg-point-carrom-arena-level span b{color:#ffe08a}.tbg-point-carrom-arena-level small{font-size:11px!important;line-height:1.4}.tbg-point-carrom-arena-level em{display:block;margin-top:18px;padding:9px 10px;border-radius:10px;background:linear-gradient(135deg,#ffe18e,#d99b26);color:#17120a;font-style:normal;font-size:11px;font-weight:900;text-align:center}.tbg-point-carrom-arena-level.is-unaffordable{opacity:.62}.tbg-point-carrom-arena-level.is-unaffordable em{background:#272d36;color:#aab1bb}
.tbg-point-carrom-arena-main .tbg-point-carrom-level-message{margin-top:16px;padding:12px 14px;border-radius:12px;background:#111720;border:1px solid rgba(255,255,255,.07);color:#f2c968}
.tbg-point-carrom-arena-stat{padding:16px;border-radius:14px;background:#171d26;text-align:center}.tbg-point-carrom-arena-stat small,.tbg-point-carrom-arena-stat strong{display:block}.tbg-point-carrom-arena-stat small{color:#939ca8;font-size:10px;font-weight:900}.tbg-point-carrom-arena-stat strong{margin-top:7px;font-size:25px;color:#ffe08a}.tbg-point-carrom-arena-panel--right h3{margin:0 0 14px;font-size:18px}.tbg-point-carrom-arena-rule{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:0 0 13px}.tbg-point-carrom-arena-rule span{width:26px;height:26px;border-radius:8px;background:#202733;color:#ffe08a;display:grid;place-items:center;font-size:11px;font-weight:900}.tbg-point-carrom-arena-rule p{margin:1px 0 0;color:#a2aab6;font-size:11px;line-height:1.45}.tbg-point-carrom-arena-security{margin-top:auto;padding:13px;border-radius:12px;background:rgba(60,135,91,.10);border:1px solid rgba(83,185,122,.20)}.tbg-point-carrom-arena-security strong,.tbg-point-carrom-arena-security small{display:block}.tbg-point-carrom-arena-security strong{font-size:12px;color:#79d69b}.tbg-point-carrom-arena-security small{margin-top:4px;color:#8fa499;font-size:10px;line-height:1.4}
.tbg-point-carrom-match-hud{position:relative;z-index:18;width:min(980px,96%);margin:0 auto 14px;display:grid;grid-template-columns:1fr 1.2fr 1fr auto;gap:10px;padding:10px;border-radius:15px;background:rgba(14,20,29,.94);border:1px solid rgba(255,255,255,.09);box-sizing:border-box}.tbg-point-carrom-match-hud__player,.tbg-point-carrom-match-hud__center,.tbg-point-carrom-match-hud__wallet{min-height:58px;border-radius:11px;background:#181f29;display:flex;align-items:center;padding:9px 11px;box-sizing:border-box}.tbg-point-carrom-match-hud__player{gap:9px}.tbg-point-carrom-match-hud__player--right{justify-content:flex-end;text-align:right}.tbg-point-carrom-match-hud__avatar{width:34px;height:34px;border-radius:9px;background:#252c37;display:grid;place-items:center;font-size:8px;font-weight:900;color:#ffe08a}.tbg-point-carrom-match-hud small,.tbg-point-carrom-match-hud strong,.tbg-point-carrom-match-hud span{display:block}.tbg-point-carrom-match-hud small{font-size:9px;color:#8f98a4;font-weight:900}.tbg-point-carrom-match-hud strong{font-size:13px;margin-top:3px}.tbg-point-carrom-match-hud__center{flex-direction:column;justify-content:center;text-align:center;border:1px solid rgba(224,170,62,.22)}.tbg-point-carrom-match-hud__center>strong{color:#ffe08a}.tbg-point-carrom-match-hud__center>span{margin-top:3px;color:#a1aab5;font-size:9px}.tbg-point-carrom-match-hud__wallet{flex-direction:column;justify-content:center;min-width:116px}.tbg-point-carrom-match-hud__wallet strong{color:#ffe08a}
@media(max-width:1050px){.tbg-point-carrom-arena-lobby{grid-template-columns:230px 1fr}.tbg-point-carrom-arena-panel--right{grid-column:1/-1;display:grid;grid-template-columns:160px 1fr 1fr;gap:14px}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-divider{display:none}.tbg-point-carrom-arena-panel--right h3{display:none}.tbg-point-carrom-arena-rule{margin:0}.tbg-point-carrom-arena-security{margin:0}.tbg-point-carrom-match-hud{grid-template-columns:1fr 1fr}.tbg-point-carrom-match-hud__wallet{min-width:0}}
@media(max-width:760px){.tbg-point-carrom-arena-overlay{padding:8px;align-items:flex-start;overflow:auto}.tbg-point-carrom-arena-lobby{grid-template-columns:1fr;gap:10px;padding:10px;min-height:auto}.tbg-point-carrom-arena-panel{padding:14px}.tbg-point-carrom-arena-panel--left .tbg-point-carrom-arena-section:nth-of-type(1){margin-bottom:10px}.tbg-point-carrom-arena-account{display:none}.tbg-point-carrom-arena-main{padding:12px}.tbg-point-carrom-arena-versus{grid-template-columns:1fr 90px 1fr}.tbg-point-carrom-arena-player{padding:8px}.tbg-point-carrom-arena-player-icon{display:none}.tbg-point-carrom-arena-heading h3{font-size:22px}.tbg-point-carrom-arena-lobby .tbg-point-carrom-level-grid{grid-template-columns:1fr}.tbg-point-carrom-arena-level{min-height:auto}.tbg-point-carrom-arena-panel--right{grid-column:auto;display:block}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-rule,.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-security{display:none}.tbg-point-carrom-arena-panel--right .tbg-point-carrom-arena-stat{margin:0}.tbg-point-carrom-match-hud{grid-template-columns:1fr 1fr;padding:7px;margin-bottom:8px}.tbg-point-carrom-match-hud__center{grid-column:1/-1;grid-row:1}.tbg-point-carrom-match-hud__wallet{grid-column:1/-1;min-height:42px}.tbg-point-carrom-match-hud__player{min-height:48px}}








.tbg-point-carrom-level-overlay{position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(5,8,18,.82);backdrop-filter:blur(8px);box-sizing:border-box}.tbg-point-carrom-level-card{width:min(620px,94%);padding:26px;border-radius:24px;background:linear-gradient(180deg,rgba(24,30,49,.98),rgba(10,14,27,.98));border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 70px rgba(0,0,0,.45);text-align:center;color:#fff}.tbg-point-carrom-level-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;opacity:.65}.tbg-point-carrom-level-card h2{margin:8px 0 4px;font-size:30px}.tbg-point-carrom-level-card p{margin:0 0 20px;opacity:.72}.tbg-point-carrom-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tbg-point-carrom-level-button{appearance:none;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px 10px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:.18s ease}.tbg-point-carrom-level-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.11)}.tbg-point-carrom-level-button:disabled{opacity:.45;cursor:wait;transform:none}.tbg-point-carrom-level-button strong,.tbg-point-carrom-level-button span,.tbg-point-carrom-level-button small{display:block}.tbg-point-carrom-level-button strong{font-size:18px;margin-bottom:8px}.tbg-point-carrom-level-button span{font-weight:800;font-size:13px}.tbg-point-carrom-level-button small{margin-top:6px;opacity:.68}.tbg-point-carrom-level-message{min-height:20px;margin-top:14px;font-size:13px;font-weight:700;color:#facc15}@media(max-width:560px){.tbg-point-carrom-level-card{padding:20px 14px}.tbg-point-carrom-level-grid{grid-template-columns:1fr}.tbg-point-carrom-level-button{padding:13px}}





/* Point Carrom — Step 2Q Compact Carrom Arena */
.tbg-point-carrom-arena-overlay{padding:12px;background:rgba(5,8,15,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:auto}
.tbg-point-carrom-arena-lobby--compact{width:min(1180px,96vw);max-height:94vh;display:flex;flex-direction:column;background:linear-gradient(145deg,#101723,#080d15);border:1px solid rgba(255,255,255,.10);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.50);overflow:hidden;color:#f7f8fb;box-sizing:border-box}
.tbg-point-carrom-arena-topbar{min-height:72px;padding:12px 18px;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(9,14,23,.94)}
.tbg-point-carrom-arena-brand{display:flex;align-items:center;gap:11px;min-width:0}.tbg-point-carrom-arena-brand h2{margin:0;font-size:20px;line-height:1.1}.tbg-point-carrom-arena-brand p{margin:3px 0 0;color:#929dac;font-size:11px}
.tbg-point-carrom-arena-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe28a,#dea326);color:#372300;font-size:24px;font-weight:900;box-shadow:0 8px 22px rgba(218,159,42,.22)}
.tbg-point-carrom-arena-topwallet{height:42px;padding:0 14px;display:flex;align-items:center;gap:8px;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:#161d28}.tbg-point-carrom-arena-topwallet strong{font-size:18px;color:#ffe083}.tbg-point-carrom-arena-user{display:flex;align-items:center;gap:8px;font-size:12px;max-width:180px}.tbg-point-carrom-arena-user strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbg-point-carrom-arena-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#252d39;color:#ffe083;font-weight:900}
.tbg-point-carrom-arena-body{padding:16px;display:grid;grid-template-columns:320px minmax(360px,1fr) 210px;gap:16px;min-height:0;align-items:stretch}
.tbg-point-carrom-arena-controls,.tbg-point-carrom-arena-board-preview,.tbg-point-carrom-arena-opponent{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#111823;box-sizing:border-box}
.tbg-point-carrom-arena-controls{padding:15px;display:flex;flex-direction:column}.tbg-point-carrom-arena-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.tbg-point-carrom-arena-title-row>div:first-child{display:flex;flex-direction:column;gap:3px}.tbg-point-carrom-arena-title-row strong{font-size:15px}.tbg-point-carrom-arena-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#aab2be;font-weight:800}.tbg-point-carrom-arena-mini-wallet{font-size:12px;font-weight:900;color:#ffe083;background:#1b2330;border:1px solid rgba(255,255,255,.08);padding:7px 9px;border-radius:9px;white-space:nowrap}
.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0!important}
.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button{min-width:0!important;min-height:94px!important;padding:11px 6px!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.11)!important;background:#1a2230!important;text-align:center!important;color:#fff!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;box-shadow:none!important;transform:none!important}
.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button strong{display:block!important;margin:0!important;font-size:14px!important;line-height:1.1!important;color:#fff!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button span{display:block!important;margin:0!important;font-size:12px!important;font-weight:900!important;color:#ffd86c!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button small{display:block!important;margin:0!important;font-size:9px!important;color:#9eabba!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button em,.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-arena-level__badge{display:none!important}
.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-arena-level--easy{border-color:rgba(37,184,93,.45)!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-arena-level--moderate{border-color:rgba(54,150,255,.48)!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-arena-level--hard{border-color:rgba(238,79,79,.48)!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button.is-selected{outline:2px solid #f6c95a!important;outline-offset:1px;background:#232b37!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button.is-unaffordable{opacity:.42!important;filter:grayscale(.25)}
.tbg-point-carrom-start-button{width:100%;margin-top:12px;min-height:44px;border:0;border-radius:11px;background:linear-gradient(135deg,#ffe286,#dfa324);color:#1a1408;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 9px 24px rgba(213,154,32,.20)}.tbg-point-carrom-start-button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.tbg-point-carrom-level-message{min-height:18px!important;margin:9px 0 0!important;padding:0!important;background:none!important;border:0!important;text-align:center!important;color:#abb5c2!important;font-size:10px!important}.tbg-point-carrom-match-cancel{margin-top:6px!important;min-height:34px!important;font-size:11px!important}
.tbg-point-carrom-arena-board-preview{padding:18px;display:grid;place-items:center;background:radial-gradient(circle at center,#192333 0,#101721 65%)}
.tbg-point-carrom-arena-board-ring{position:relative;width:min(48vh,100%);max-width:430px;aspect-ratio:1;border:16px solid #8d4c21;border-radius:18px;background:linear-gradient(135deg,#f7df9f,#ebc979);box-shadow:inset 0 0 0 3px rgba(91,44,15,.55),0 16px 34px rgba(0,0,0,.30)}.tbg-point-carrom-arena-board-ring:before{content:"";position:absolute;inset:13%;border:2px solid #ad3434;border-radius:10px}.tbg-point-carrom-arena-board-ring:after{content:"";position:absolute;left:50%;top:50%;width:30%;height:30%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#d82f35 0 11%,#f3ead1 12% 23%,#1c232a 24% 31%,#f1ead5 32% 39%,#252b31 40% 47%,transparent 48%)}
.tbg-point-carrom-arena-board-dot{position:absolute;width:28px;height:28px;border-radius:50%;background:#080b0f;box-shadow:inset 0 0 0 4px rgba(255,255,255,.06)}.tbg-point-carrom-arena-board-dot--1{left:8px;top:8px}.tbg-point-carrom-arena-board-dot--2{right:8px;top:8px}.tbg-point-carrom-arena-board-dot--3{left:8px;bottom:8px}.tbg-point-carrom-arena-board-dot--4{right:8px;bottom:8px}.tbg-point-carrom-arena-board-center{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#22a9ea;border:4px solid #e9f5fb;color:#fff;font-size:18px;font-weight:900;z-index:2}
.tbg-point-carrom-arena-opponent{padding:14px;display:flex;flex-direction:column;justify-content:center;gap:10px}.tbg-point-carrom-arena-opponent-card{display:flex;gap:9px;align-items:center;padding:10px;border-radius:11px;background:#181f2a}.tbg-point-carrom-arena-opponent-card small,.tbg-point-carrom-arena-opponent-card strong{display:block}.tbg-point-carrom-arena-opponent-card small{font-size:9px;color:#909aa7}.tbg-point-carrom-arena-opponent-card strong{margin-top:2px;font-size:12px}.tbg-point-carrom-arena-vs{text-align:center;color:#f5c85d;font-size:22px;font-weight:900}.tbg-point-carrom-arena-stakes{margin-top:4px;display:grid;gap:7px;padding:10px;border-radius:11px;background:#171e28}.tbg-point-carrom-arena-stakes span{display:flex;justify-content:space-between;gap:8px;color:#8f99a6;font-size:10px}.tbg-point-carrom-arena-stakes b{color:#ffe083;font-size:10px}
/* keep actual game fully visible after lobby closes */
.tbg-point-carrom-game .tbg-point-carrom-match-hud{width:min(900px,96%);margin-bottom:8px;padding:7px;gap:7px}.tbg-point-carrom-game .tbg-point-carrom-match-hud__player,.tbg-point-carrom-game .tbg-point-carrom-match-hud__center,.tbg-point-carrom-game .tbg-point-carrom-match-hud__wallet{min-height:46px;padding:7px 9px}.tbg-point-carrom-game .tbg-point-carrom-match-hud__avatar{width:29px;height:29px}.tbg-point-carrom-game .tbg-point-carrom-match-hud strong{font-size:11px}.tbg-point-carrom-game .tbg-point-carrom-match-hud small,.tbg-point-carrom-game .tbg-point-carrom-match-hud span{font-size:8px}
@media(max-width:920px){.tbg-point-carrom-arena-body{grid-template-columns:280px minmax(300px,1fr)}.tbg-point-carrom-arena-opponent{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:center;padding:9px}.tbg-point-carrom-arena-opponent-card{min-width:150px}.tbg-point-carrom-arena-stakes{grid-template-columns:1fr 1fr;min-width:220px}.tbg-point-carrom-arena-vs{font-size:16px}}
@media(max-width:680px){.tbg-point-carrom-arena-overlay{padding:4px;align-items:flex-start}.tbg-point-carrom-arena-lobby--compact{width:100%;max-height:none;border-radius:14px}.tbg-point-carrom-arena-topbar{min-height:54px;padding:8px 10px;grid-template-columns:1fr auto}.tbg-point-carrom-arena-brand{gap:7px}.tbg-point-carrom-arena-icon{width:34px;height:34px;flex-basis:34px;border-radius:10px;font-size:18px}.tbg-point-carrom-arena-brand h2{font-size:14px}.tbg-point-carrom-arena-brand p,.tbg-point-carrom-arena-user{display:none}.tbg-point-carrom-arena-topwallet{height:34px;padding:0 9px}.tbg-point-carrom-arena-topwallet strong{font-size:14px}.tbg-point-carrom-arena-body{padding:8px;display:flex;flex-direction:column;gap:8px}.tbg-point-carrom-arena-board-preview{order:1;padding:10px}.tbg-point-carrom-arena-controls{order:2;padding:10px}.tbg-point-carrom-arena-opponent{order:3;display:none}.tbg-point-carrom-arena-board-ring{width:min(70vw,310px);border-width:12px}.tbg-point-carrom-arena-title-row{margin-bottom:8px}.tbg-point-carrom-arena-title-row strong{font-size:13px}.tbg-point-carrom-arena-mini-wallet{display:none}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-grid{gap:6px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button{min-height:72px!important;padding:8px 3px!important;border-radius:10px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button strong{font-size:12px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button span{font-size:10px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button small{font-size:8px!important}.tbg-point-carrom-start-button{min-height:40px;margin-top:8px}.tbg-point-carrom-level-message{margin-top:5px!important}.tbg-point-carrom-game .tbg-point-carrom-match-hud{grid-template-columns:1fr 1fr;width:98%;padding:5px;gap:5px}.tbg-point-carrom-game .tbg-point-carrom-match-hud__center{grid-column:1/-1;grid-row:1}.tbg-point-carrom-game .tbg-point-carrom-match-hud__wallet{grid-column:1/-1;min-height:34px}.tbg-point-carrom-game .tbg-point-carrom-match-hud__player{min-height:40px}.tbg-point-carrom-game .tbg-point-carrom-match-hud__avatar{display:none}}
@media(max-width:390px){.tbg-point-carrom-arena-board-ring{width:min(66vw,265px)}.tbg-point-carrom-arena-topbar{padding:7px}.tbg-point-carrom-arena-brand h2{font-size:13px}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button{min-height:66px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button strong{font-size:11px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button span{font-size:9px!important}.tbg-point-carrom-arena-lobby--compact .tbg-point-carrom-level-button small{font-size:7px!important}}









/* =========================================================
   Point Carrom — Step 2R
   PROFESSIONAL ONGOING CARROM MATCH ARENA
   Applies to solo matches after the player chooses a level.
   ========================================================= */

.tbg-point-carrom-game.tbg-point-carrom-game--ongoing {
    overflow: visible;
    align-items: stretch;
    background:
        radial-gradient(circle at 50% 35%, rgba(231,179,72,.08), transparent 34%),
        linear-gradient(180deg,#0a1019,#070b12);
}

.tbg-point-carrom-game--ongoing .tbg-point-carrom-stage {
    width: 100%;
    min-height: 0;
    padding: 14px;
    display: block;
    background: transparent;
}

.tbg-point-carrom-player-hud--ongoing-hidden,
.tbg-point-carrom-match-hud--ongoing-hidden {
    display: none !important;
}

.tbg-point-carrom-ongoing-arena {
    width: min(1380px,100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(190px,230px) minmax(440px,760px) minmax(190px,230px);
    justify-content: center;
    align-items: start;
    gap: 14px;
    box-sizing: border-box;
}

.tbg-point-carrom-ongoing-side,
.tbg-point-carrom-ongoing-center {
    min-width: 0;
}

.tbg-point-carrom-ongoing-side {
    display: grid;
    gap: 12px;
}

.tbg-point-carrom-ongoing-player-card,
.tbg-point-carrom-ongoing-info-card,
.tbg-point-carrom-ongoing-statusbar,
.tbg-point-carrom-ongoing-tip {
    border: 1px solid rgba(255,255,255,.09);
    background: linear-gradient(180deg,rgba(18,25,37,.97),rgba(10,15,24,.98));
    box-shadow: 0 15px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}

.tbg-point-carrom-ongoing-player-card {
    padding: 14px;
    border-radius: 16px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.tbg-point-carrom-ongoing-player-card.is-active {
    border-color: rgba(242,188,70,.72);
    box-shadow: 0 0 0 1px rgba(242,188,70,.10),0 16px 40px rgba(0,0,0,.26),0 0 28px rgba(238,174,51,.08);
}

.tbg-point-carrom-ongoing-player-head {
    display: grid;
    grid-template-columns: 42px 1fr 8px;
    gap: 10px;
    align-items: center;
}

.tbg-point-carrom-ongoing-player-head small,
.tbg-point-carrom-ongoing-card-label,
.tbg-point-carrom-ongoing-statusbar small {
    display: block;
    color: #818c9c;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .11em;
}

.tbg-point-carrom-ongoing-player-head strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #f7f8fa;
    font-size: 14px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tbg-point-carrom-ongoing-avatar {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #232c39;
    border: 1px solid rgba(255,255,255,.08);
    color: #f9d475;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
}

.tbg-point-carrom-ongoing-avatar--you {
    background: linear-gradient(145deg,#2a3543,#1d2530);
}

.tbg-point-carrom-ongoing-avatar--opponent {
    color: #dfe6ef;
}

.tbg-point-carrom-ongoing-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #42d98b;
    box-shadow: 0 0 10px rgba(66,217,139,.55);
}

.tbg-point-carrom-ongoing-online-dot--opponent {
    background: #f2b94d;
    box-shadow: 0 0 10px rgba(242,185,77,.45);
}

.tbg-point-carrom-ongoing-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 14px;
}

.tbg-point-carrom-ongoing-stats > div {
    padding: 10px;
    border-radius: 11px;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.055);
}

.tbg-point-carrom-ongoing-stats span,
.tbg-point-carrom-ongoing-detail span {
    display: block;
    color: #8f99a8;
    font-size: 9px;
    font-weight: 700;
}

.tbg-point-carrom-ongoing-stats strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 15px;
}

.tbg-point-carrom-ongoing-info-card {
    padding: 13px 14px;
    border-radius: 14px;
}

.tbg-point-carrom-ongoing-card-label {
    margin-bottom: 10px;
}

.tbg-point-carrom-ongoing-wallet {
    display: block;
    color: #ffd977;
    font-size: 20px;
    line-height: 1.1;
}

.tbg-point-carrom-ongoing-detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,.055);
}

.tbg-point-carrom-ongoing-detail:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tbg-point-carrom-ongoing-detail strong {
    color: #f4f6f9;
    font-size: 11px;
    text-align: right;
}

.tbg-point-carrom-ongoing-detail strong b {
    color: #ffd66e;
}

.tbg-point-carrom-ongoing-secure {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 9px;
    align-items: center;
}

.tbg-point-carrom-ongoing-secure > span {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: rgba(65,190,124,.13);
    color: #63d99a;
    font-weight: 900;
}

.tbg-point-carrom-ongoing-secure strong,
.tbg-point-carrom-ongoing-secure small {
    display: block;
}

.tbg-point-carrom-ongoing-secure strong {
    color: #dff7e9;
    font-size: 11px;
}

.tbg-point-carrom-ongoing-secure small {
    margin-top: 2px;
    color: #778796;
    font-size: 8px;
    line-height: 1.35;
}

.tbg-point-carrom-ongoing-center {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.tbg-point-carrom-ongoing-statusbar {
    min-height: 54px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    padding: 9px 14px;
    border-radius: 14px;
}

.tbg-point-carrom-ongoing-statusbar strong {
    display: block;
    margin-top: 2px;
    color: #f6d372;
    font-size: 14px;
}

.tbg-point-carrom-ongoing-statusbar__right {
    text-align: right;
}

.tbg-point-carrom-ongoing-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #49d98d;
    box-shadow: 0 0 12px rgba(73,217,141,.55);
}

.tbg-point-carrom-ongoing-board-slot {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
    width: min(68vh,100%,720px);
    max-width: 720px;
    margin: 0 auto;
    border-radius: 18px;
    filter: drop-shadow(0 22px 34px rgba(0,0,0,.42));
}

.tbg-point-carrom-game--ongoing .tbg-point-carrom-canvas {
    border-radius: 18px;
}

.tbg-point-carrom-ongoing-tip {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
    padding: 8px 13px;
    border-radius: 12px;
}

.tbg-point-carrom-ongoing-tip > span {
    color: #6ca9ff;
    font-size: 10px;
}

.tbg-point-carrom-ongoing-tip p {
    margin: 0;
    color: #9da7b5;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}

/* Medium desktop / tablet landscape */
@media (max-width: 1080px) {
    .tbg-point-carrom-ongoing-arena {
        grid-template-columns: minmax(165px,190px) minmax(390px,1fr) minmax(165px,190px);
        gap: 10px;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width: min(64vh,100%,640px);
    }
    .tbg-point-carrom-ongoing-player-card,
    .tbg-point-carrom-ongoing-info-card { padding: 11px; }
}

/* Tablet portrait: compact sidebars remain beside board when possible */
@media (max-width: 880px) and (min-width: 701px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage { padding: 10px; }
    .tbg-point-carrom-ongoing-arena {
        grid-template-columns: 150px minmax(360px,1fr) 150px;
        gap: 8px;
    }
    .tbg-point-carrom-ongoing-avatar { width: 34px;height:34px;border-radius:10px; }
    .tbg-point-carrom-ongoing-player-head { grid-template-columns:34px 1fr 7px;gap:7px; }
    .tbg-point-carrom-ongoing-player-head strong { font-size:12px; }
    .tbg-point-carrom-ongoing-wallet { font-size:16px; }
    .tbg-point-carrom-ongoing-desktop-only { display:none; }
}

/* Mobile gameplay layout:
   Player + Opponent compact cards on top, board centered below,
   with only essential live match data visible. */
@media (max-width: 700px) {
    .tbg-point-carrom-game.tbg-point-carrom-game--ongoing {
        overflow-x: hidden;
    }

    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage {
        padding: 6px;
    }

    .tbg-point-carrom-ongoing-arena {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1fr);
        gap: 7px;
    }

    .tbg-point-carrom-ongoing-side--you,
    .tbg-point-carrom-ongoing-side--opponent {
        grid-row: 1;
        gap: 6px;
    }

    .tbg-point-carrom-ongoing-side--you { grid-column: 1; }
    .tbg-point-carrom-ongoing-side--opponent { grid-column: 2; }

    .tbg-point-carrom-ongoing-center {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }

    .tbg-point-carrom-ongoing-player-card {
        padding: 9px;
        border-radius: 12px;
    }

    .tbg-point-carrom-ongoing-player-head {
        grid-template-columns: 30px minmax(0,1fr) 6px;
        gap: 6px;
    }

    .tbg-point-carrom-ongoing-avatar {
        width: 30px;
        height: 30px;
        border-radius: 9px;
        font-size: 7px;
    }

    .tbg-point-carrom-ongoing-player-head small { font-size: 7px; }
    .tbg-point-carrom-ongoing-player-head strong { font-size: 11px; }
    .tbg-point-carrom-ongoing-online-dot { width:6px;height:6px; }

    .tbg-point-carrom-ongoing-stats {
        gap: 5px;
        margin-top: 7px;
    }

    .tbg-point-carrom-ongoing-stats > div {
        padding: 6px;
        border-radius: 8px;
    }

    .tbg-point-carrom-ongoing-stats span { font-size: 7px; }
    .tbg-point-carrom-ongoing-stats strong { margin-top:2px;font-size:11px; }

    .tbg-point-carrom-ongoing-side .tbg-point-carrom-ongoing-info-card {
        padding: 7px 9px;
        border-radius: 10px;
    }

    .tbg-point-carrom-ongoing-side--you .tbg-point-carrom-ongoing-info-card--wallet {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 5px;
    }

    .tbg-point-carrom-ongoing-card-label { margin:0;font-size:7px; }
    .tbg-point-carrom-ongoing-wallet { font-size:12px; }

    .tbg-point-carrom-ongoing-side--opponent .tbg-point-carrom-ongoing-info-card:not(.tbg-point-carrom-ongoing-desktop-only) {
        display: grid;
        grid-template-columns: auto 1fr 1fr;
        gap: 5px;
        align-items: center;
    }

    .tbg-point-carrom-ongoing-side--opponent .tbg-point-carrom-ongoing-detail {
        display: block;
        padding: 0;
        border: 0;
        text-align: right;
    }

    .tbg-point-carrom-ongoing-side--opponent .tbg-point-carrom-ongoing-detail span { font-size:6px; }
    .tbg-point-carrom-ongoing-side--opponent .tbg-point-carrom-ongoing-detail strong { display:block;margin-top:2px;font-size:9px; }

    .tbg-point-carrom-ongoing-desktop-only { display: none !important; }

    .tbg-point-carrom-ongoing-statusbar {
        min-height: 42px;
        margin-bottom: 6px;
        padding: 6px 10px;
        border-radius: 10px;
    }

    .tbg-point-carrom-ongoing-statusbar small { font-size: 7px; }
    .tbg-point-carrom-ongoing-statusbar strong { font-size: 11px; }
    .tbg-point-carrom-ongoing-status-dot { width:6px;height:6px; }

    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width: min(96vw,600px);
        max-width: 100%;
        border-radius: 12px;
    }

    .tbg-point-carrom-game--ongoing .tbg-point-carrom-canvas {
        border-radius: 12px;
    }

    .tbg-point-carrom-ongoing-tip {
        min-height: 34px;
        margin-top: 6px;
        padding: 6px 9px;
        border-radius: 9px;
    }

    .tbg-point-carrom-ongoing-tip p { font-size: 8px; }
}

@media (max-width: 390px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage { padding: 4px; }
    .tbg-point-carrom-ongoing-arena { gap: 5px; }
    .tbg-point-carrom-ongoing-player-card { padding: 7px; }
    .tbg-point-carrom-ongoing-player-head { grid-template-columns:27px minmax(0,1fr) 5px;gap:5px; }
    .tbg-point-carrom-ongoing-avatar { width:27px;height:27px; }
    .tbg-point-carrom-ongoing-player-head strong { font-size:10px; }
    .tbg-point-carrom-ongoing-stats > div { padding:5px; }
    .tbg-point-carrom-ongoing-wallet { font-size:11px; }
    .tbg-point-carrom-ongoing-tip p { font-size:7.5px; }
}

/* =========================================================
   Point Carrom — Step 2T
   Android-style Striker Position Control
   Ongoing Carrom match only
   ========================================================= */

.tbg-point-carrom-game--ongoing .tbg-point-carrom-striker-positioner {
    width: min(430px, calc(41% + 100px));
    margin: 10px auto 3px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    box-sizing: border-box;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(22,29,40,.96), rgba(12,17,25,.96));
    box-shadow: 0 8px 22px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}

.tbg-point-carrom-striker-track-wrap { min-width: 0; }

.tbg-point-carrom-striker-position-label {
    display: block;
    margin: 0 0 4px;
    text-align: center;
    font-size: 8px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .13em;
    color: rgba(255,255,255,.48);
}

.tbg-point-carrom-striker-slider {
    width: 100%;
    height: 22px;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    cursor: pointer;
    touch-action: pan-x;
}

.tbg-point-carrom-striker-slider::-webkit-slider-runnable-track {
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ba6d31, #7e3e1e);
    border: 1px solid rgba(255,211,132,.35);
    box-shadow: inset 0 2px 3px rgba(0,0,0,.42), 0 1px 0 rgba(255,255,255,.08);
}

.tbg-point-carrom-striker-slider::-moz-range-track {
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ba6d31, #7e3e1e);
    border: 1px solid rgba(255,211,132,.35);
}

.tbg-point-carrom-striker-slider::-webkit-slider-thumb {
    appearance: none;
    -webkit-appearance: none;
    width: 27px;
    height: 27px;
    margin-top: -11px;
    border-radius: 50%;
    border: 3px solid #f7f2e7;
    background: radial-gradient(circle at 40% 35%, #effbff 0 18%, #38bdf8 20% 37%, #087bb6 39% 57%, #e8f7ff 59% 72%, #159bd8 74% 100%);
    box-shadow: 0 3px 9px rgba(0,0,0,.42), 0 0 0 2px rgba(56,189,248,.19);
}

.tbg-point-carrom-striker-slider::-moz-range-thumb {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    border: 3px solid #f7f2e7;
    background: #159bd8;
    box-shadow: 0 3px 9px rgba(0,0,0,.42);
}

.tbg-point-carrom-striker-nudge {
    width: 38px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;
    background: #1b2430;
    color: #ffe08a;
    font: inherit;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.tbg-point-carrom-striker-nudge:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(255,208,100,.45);
    background: #222d3b;
}

.tbg-point-carrom-striker-positioner.is-disabled { opacity: .48; }
.tbg-point-carrom-striker-positioner.is-disabled .tbg-point-carrom-striker-slider,
.tbg-point-carrom-striker-nudge:disabled { cursor: not-allowed; }

.tbg-point-carrom-striker-positioner.is-ready {
    border-color: rgba(255,205,91,.20);
}

@media (max-width: 700px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-striker-positioner {
        width: min(430px, calc(41% + 82px));
        grid-template-columns: 34px minmax(0,1fr) 34px;
        gap: 6px;
        margin-top: 7px;
        padding: 6px 7px;
        border-radius: 12px;
    }
    .tbg-point-carrom-striker-position-label { font-size: 7px; margin-bottom: 2px; }
    .tbg-point-carrom-striker-nudge { width: 34px; height: 31px; font-size: 22px; border-radius: 9px; }
    .tbg-point-carrom-striker-slider { height: 20px; }
    .tbg-point-carrom-striker-slider::-webkit-slider-thumb { width: 25px; height: 25px; margin-top: -10px; }
}

/* Opponent cards use the same white/black piece language as the board. */
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-player-head {
    grid-template-columns: 42px 1fr 25px;
}
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot {
    width: 23px;
    height: 23px;
    border: 2px solid #b9a77f;
    background:
        radial-gradient(circle at 34% 27%, #fff 0 8%, #f6ead2 10% 35%, #d8c29c 58%, #8e7955 100%);
    box-shadow:
        inset 0 2px 3px rgba(255,255,255,.8),
        inset 0 -3px 5px rgba(92,66,27,.25),
        0 3px 7px rgba(0,0,0,.38);
}
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot--opponent {
    border-color: #5d6570;
    background:
        radial-gradient(circle at 34% 27%, #7a828d 0 7%, #363b43 11% 39%, #171a1f 63%, #050608 100%);
    box-shadow:
        inset 0 2px 3px rgba(255,255,255,.24),
        inset 0 -3px 5px rgba(0,0,0,.72),
        0 3px 7px rgba(0,0,0,.48);
}

/* Professional guest-only mode selector. */
.tbg-point-carrom-guest-lobby {
    width: min(1180px, 96vw);
    overflow: hidden;
    color: #f7f8fb;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 22px;
    background:
        radial-gradient(circle at 24% 20%, rgba(230,174,54,.09), transparent 31%),
        linear-gradient(145deg,#111925,#080d15);
    box-shadow: 0 28px 80px rgba(0,0,0,.55);
}
.tbg-point-carrom-guest-lobby__topbar {
    min-height: 72px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(8,13,22,.88);
}
.tbg-point-carrom-guest-lobby__status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid rgba(82,220,164,.2);
    border-radius: 999px;
    color: #92e7c0;
    background: rgba(38,141,102,.09);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.tbg-point-carrom-guest-lobby__status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4cdda0;
    box-shadow: 0 0 11px rgba(76,221,160,.65);
}
.tbg-point-carrom-guest-lobby__body {
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(230px,.9fr) minmax(330px,1.25fr) minmax(220px,.78fr);
    gap: 16px;
}
.tbg-point-carrom-guest-lobby__intro,
.tbg-point-carrom-guest-lobby__levels,
.tbg-point-carrom-guest-lobby__signin {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 17px;
    background: linear-gradient(180deg,rgba(24,33,47,.95),rgba(13,19,29,.97));
    box-sizing: border-box;
}
.tbg-point-carrom-guest-lobby h3 { margin: 8px 0 7px; color:#fff; font-size:20px; line-height:1.15; }
.tbg-point-carrom-guest-lobby p { margin:0; color:#98a4b4; font-size:11px; line-height:1.55; }
.tbg-point-carrom-guest-lobby__benefits { display:flex;flex-wrap:wrap;gap:6px;margin-top:13px; }
.tbg-point-carrom-guest-lobby__benefits span { padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.045);color:#c8d0db;font-size:9px;font-weight:800; }
.tbg-point-carrom-guest-lobby__board {
    position:relative;
    width:min(190px,82%);
    aspect-ratio:1;
    margin:18px auto 0;
    border:11px solid #8b4b22;
    border-radius:17px;
    background:linear-gradient(135deg,#efd28c,#dcb66a);
    box-shadow:inset 0 0 0 2px rgba(87,44,16,.48),0 12px 24px rgba(0,0,0,.27);
}
.tbg-point-carrom-guest-lobby__board:before { content:"";position:absolute;inset:15%;border:2px solid rgba(145,46,37,.7);border-radius:8px; }
.tbg-point-carrom-guest-lobby__board i { position:absolute;width:18px;height:18px;border-radius:50%;background:#07090c;box-shadow:inset 0 0 0 3px rgba(255,255,255,.06); }
.tbg-point-carrom-guest-lobby__board i:nth-child(1){left:5px;top:5px}.tbg-point-carrom-guest-lobby__board i:nth-child(2){right:5px;top:5px}.tbg-point-carrom-guest-lobby__board i:nth-child(3){left:5px;bottom:5px}.tbg-point-carrom-guest-lobby__board i:nth-child(4){right:5px;bottom:5px}
.tbg-point-carrom-guest-lobby__board b { position:absolute;left:50%;top:50%;width:31%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#d93232 0 12%,#f4ead1 13% 25%,#272c31 26% 36%,#f4ead1 37% 48%,#252a30 49% 59%,transparent 60%); }
.tbg-point-carrom-guest-lobby__section-title { margin-bottom:14px; }
.tbg-point-carrom-guest-lobby__section-title small,.tbg-point-carrom-guest-lobby__section-title strong { display:block; }
.tbg-point-carrom-guest-lobby__section-title small { color:#8490a0;font-size:9px;font-weight:900;letter-spacing:.12em; }
.tbg-point-carrom-guest-lobby__section-title strong { margin-top:4px;color:#fff;font-size:17px; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button { min-height:148px;padding:14px 8px;border-radius:14px;background:linear-gradient(180deg,#202b3a,#141b26); }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button strong { margin:8px 0 5px;font-size:15px; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button span { color:#6fe0ac;font-size:10px; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button small { font-size:9px; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button em { display:block;margin-top:13px;padding:7px;border-radius:8px;background:linear-gradient(135deg,#f5d26d,#d99b27);color:#201707;font-size:9px;font-style:normal;font-weight:900; }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-arena-level--easy { border-color:rgba(71,205,139,.35); }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-arena-level--moderate { border-color:rgba(69,147,236,.38); }
.tbg-point-carrom-guest-lobby .tbg-point-carrom-arena-level--hard { border-color:rgba(232,85,91,.38); }
.tbg-point-carrom-guest-lobby__signin { display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(155deg,rgba(52,40,21,.9),rgba(17,22,32,.98) 58%);border-color:rgba(239,190,74,.18); }
.tbg-point-carrom-guest-lobby__signin-icon { width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#f6d879,#cf8e1c);color:#2d1b04;font-size:24px;box-shadow:0 9px 24px rgba(214,153,33,.2); }
.tbg-point-carrom-guest-lobby__signin small { margin-top:16px;color:#e4bd59;font-size:9px;font-weight:900;letter-spacing:.12em; }
.tbg-point-carrom-guest-lobby__signin h3 { font-size:18px; }
.tbg-point-carrom-guest-lobby__signin ul { margin:16px 0;padding:0;display:grid;gap:8px;list-style:none;color:#c3ccd7;font-size:10px;font-weight:700; }
.tbg-point-carrom-guest-lobby__signin li:before { content:"✓";margin-right:7px;color:#62dda4;font-weight:900; }
.tbg-point-carrom-guest-lobby__signin-button { width:100%;margin-top:auto;padding:11px 13px;border-radius:10px;background:linear-gradient(135deg,#ffe184,#d99b27);color:#211706!important;text-align:center;text-decoration:none!important;font-size:12px;font-weight:900;box-shadow:0 9px 22px rgba(211,151,30,.2);box-sizing:border-box; }

@media(max-width:900px){
    .tbg-point-carrom-guest-lobby__body{grid-template-columns:1fr 1.25fr}.tbg-point-carrom-guest-lobby__signin{grid-column:1/-1;display:grid;grid-template-columns:46px 1fr auto;column-gap:13px;align-items:center}.tbg-point-carrom-guest-lobby__signin-icon{grid-row:1/4}.tbg-point-carrom-guest-lobby__signin small,.tbg-point-carrom-guest-lobby__signin h3,.tbg-point-carrom-guest-lobby__signin p{grid-column:2}.tbg-point-carrom-guest-lobby__signin small{margin-top:0}.tbg-point-carrom-guest-lobby__signin h3{margin:3px 0}.tbg-point-carrom-guest-lobby__signin ul{display:none}.tbg-point-carrom-guest-lobby__signin-button{grid-column:3;grid-row:1/4;width:130px;margin:0}
}
@media(max-width:680px){
    .tbg-point-carrom-guest-lobby{width:100%;border-radius:14px}.tbg-point-carrom-guest-lobby__topbar{min-height:54px;padding:8px 10px}.tbg-point-carrom-guest-lobby__status{padding:6px 8px;font-size:8px}.tbg-point-carrom-guest-lobby__body{padding:8px;display:flex;flex-direction:column;gap:8px}.tbg-point-carrom-guest-lobby__intro{padding:13px}.tbg-point-carrom-guest-lobby__intro h3{font-size:16px}.tbg-point-carrom-guest-lobby__board{display:none}.tbg-point-carrom-guest-lobby__levels{padding:12px;order:1}.tbg-point-carrom-guest-lobby__intro{order:2}.tbg-point-carrom-guest-lobby__signin{order:3;display:grid;padding:12px;grid-template-columns:38px 1fr auto}.tbg-point-carrom-guest-lobby__signin-icon{width:38px;height:38px;border-radius:11px;font-size:20px}.tbg-point-carrom-guest-lobby__signin h3{font-size:13px}.tbg-point-carrom-guest-lobby__signin p{display:none}.tbg-point-carrom-guest-lobby__signin-button{width:90px;padding:9px;font-size:10px}.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-grid{gap:6px}.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button{min-height:105px;padding:9px 4px}.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button strong{font-size:12px}.tbg-point-carrom-guest-lobby .tbg-point-carrom-level-button em{margin-top:8px;padding:5px}.tbg-point-carrom-guest-lobby__benefits{margin-top:9px}
    .tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-player-head{grid-template-columns:30px minmax(0,1fr) 20px}.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot{width:18px;height:18px}
}






/* Point Carrom — Step 2U Guest Ongoing Arena */

/* Guest matches reuse the professional Step 2R/2T arena instead of the old bare board. */
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-info-card--wallet {
    background: linear-gradient(145deg, rgba(24,92,76,.20), rgba(12,30,32,.92));
    border-color: rgba(77,214,169,.24);
}
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-wallet {
    color: #74e5b8;
    letter-spacing: .06em;
}
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-side--opponent .tbg-point-carrom-ongoing-info-card {
    background: linear-gradient(145deg, rgba(48,58,83,.62), rgba(15,22,35,.94));
}
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-avatar--opponent {
    background: linear-gradient(145deg,#292f3b,#161a22);
    color:#ffd86e;
}
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-online-dot--opponent {
    background:#f4b942;
    box-shadow:0 0 0 3px rgba(244,185,66,.12),0 0 12px rgba(244,185,66,.55);
}

/* AI opponent always uses the black board-piece design, including guest play. */
.tbg-point-carrom-ongoing-arena--guest.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot--opponent,
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot--opponent {
    border-color: #5d6570;
    background:
        radial-gradient(circle at 34% 27%, #7a828d 0 7%, #363b43 11% 39%, #171a1f 63%, #050608 100%);
    box-shadow:
        inset 0 2px 3px rgba(255,255,255,.24),
        inset 0 -3px 5px rgba(0,0,0,.72),
        0 3px 7px rgba(0,0,0,.48);
}
.tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-statusbar {
    border-color: rgba(244,185,66,.20);
}

/* Mobile guest matches keep the useful player/AI cards visible while the board remains dominant. */
@media (max-width: 760px) {
    .tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-side {
        display:grid;
    }
    .tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-info-card--wallet,
    .tbg-point-carrom-ongoing-arena--guest .tbg-point-carrom-ongoing-side--opponent > .tbg-point-carrom-ongoing-info-card {
        min-height:56px;
    }
}

.tbg-point-carrom-settlement-panel{margin:18px 0 16px;padding:13px;border:1px solid rgba(255,216,107,.20);border-radius:16px;background:linear-gradient(145deg,rgba(255,216,107,.075),rgba(255,255,255,.035));text-align:left}.tbg-point-carrom-settlement-panel[hidden]{display:none!important}.tbg-point-carrom-settlement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.tbg-point-carrom-settlement-grid>div{padding:9px 8px;border-radius:11px;background:rgba(255,255,255,.045);min-width:0}.tbg-point-carrom-settlement-grid span,.tbg-point-carrom-settlement-grid strong{display:block}.tbg-point-carrom-settlement-grid span{font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.48)}.tbg-point-carrom-settlement-grid strong{margin-top:4px;font-size:11px;color:#fff7e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbg-point-carrom-settlement-balance strong{color:#ffd56c}.tbg-point-carrom-settlement-status{margin-top:9px;padding:8px 10px;border-radius:10px;font-size:10px;font-weight:800;text-align:center}.tbg-point-carrom-settlement-status.is-pending{background:rgba(234,179,54,.10);color:#f5cc68}.tbg-point-carrom-settlement-status.is-success{background:rgba(66,190,111,.12);color:#7ee0a1}.tbg-point-carrom-settlement-status.is-done{background:rgba(77,157,229,.10);color:#8ac7ff}.tbg-point-carrom-settlement-status.is-error{background:rgba(230,79,90,.12);color:#ff9aa2}@media(max-width:600px){.tbg-point-carrom-settlement-panel{margin:14px 0 12px;padding:10px}.tbg-point-carrom-settlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tbg-point-carrom-settlement-balance{grid-column:1/-1}.tbg-point-carrom-settlement-grid>div{padding:8px}.tbg-point-carrom-settlement-grid strong{font-size:10px}.tbg-point-carrom-settlement-status{font-size:9px}}

/* =========================================================
   Point Carrom — Step 2W Gameplay Polish
   Turn ring + ongoing-match refinements only
   ========================================================= */

/* Illustrated solo avatar portraits share the same sizing, clipping, and turn-ring behavior as the player portrait. */
.tbg-point-carrom-ongoing-avatar .tbg-match-avatar-art {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

/* 30-second visual countdown around the active player's avatar. */
.tbg-point-carrom-ongoing-avatar {
    position: relative;
    isolation: isolate;
    --tbg-turn-progress: 360;
}

.tbg-point-carrom-ongoing-avatar.is-turn-timer::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    padding: 3px;
    background: conic-gradient(
        from -90deg,
        #f7c84b 0deg,
        #f7c84b calc(var(--tbg-turn-progress) * 1deg),
        rgba(255,255,255,.09) calc(var(--tbg-turn-progress) * 1deg),
        rgba(255,255,255,.09) 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 2;
    filter: drop-shadow(0 0 7px rgba(247,200,75,.38));
}

.tbg-point-carrom-ongoing-avatar.is-turn-timer::after {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 1px solid rgba(247,200,75,.16);
    pointer-events: none;
    z-index: 1;
}

/* Slightly emphasize the card whose turn is active. */
.tbg-point-carrom-ongoing-player-card.is-active {
    box-shadow: 0 0 0 1px rgba(247,200,75,.20), 0 14px 34px rgba(0,0,0,.22);
}

/* Dedicated position control is now the only left/right placement UI. */
.tbg-point-carrom-striker-positioner {
    position: relative;
    z-index: 8;
}

/* Small phones: keep timer ring clean without increasing card height. */
@media (max-width: 600px) {
    .tbg-point-carrom-ongoing-avatar.is-turn-timer::before { inset: -4px; padding: 2px; }
    .tbg-point-carrom-ongoing-avatar.is-turn-timer::after { inset: -7px; }
}

/* =========================================================
   Point Carrom — Step 2W-B Carrom Repolish
   Pocket celebrations + result card + Queen score badge
   ========================================================= */

.tbg-point-carrom-board-shell { position: relative; }
.tbg-point-carrom-pocket-celebration {
    --tbg-fx-x: 0px;
    --tbg-fx-y: -42px;
    position: absolute;
    z-index: 80;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.45);
    padding: 7px 12px;
    border-radius: 999px;
    font-size: clamp(11px, 1.1vw, 14px);
    font-weight: 900;
    letter-spacing: .045em;
    white-space: nowrap;
    color: #fff;
    background: linear-gradient(135deg, rgba(13,44,51,.96), rgba(22,83,91,.96));
    border: 1px solid rgba(255,255,255,.28);
    box-shadow: 0 10px 26px rgba(0,0,0,.30), 0 0 20px rgba(54,219,199,.22);
    animation: tbgPocketCelebrate 1.25s cubic-bezier(.2,.8,.2,1) forwards;
}
.tbg-point-carrom-pocket-celebration.is-combo {
    background: linear-gradient(135deg, rgba(115,42,15,.98), rgba(196,102,21,.98));
    box-shadow: 0 10px 28px rgba(0,0,0,.32), 0 0 24px rgba(255,187,75,.36);
}
.tbg-point-carrom-pocket-celebration.is-pocket-0,
.tbg-point-carrom-pocket-celebration.is-pocket-1 { --tbg-fx-y: 42px; }
.tbg-point-carrom-pocket-celebration.is-pocket-0,
.tbg-point-carrom-pocket-celebration.is-pocket-2 { --tbg-fx-x: 34px; }
.tbg-point-carrom-pocket-celebration.is-pocket-1,
.tbg-point-carrom-pocket-celebration.is-pocket-3 { --tbg-fx-x: -34px; }
@keyframes tbgPocketCelebrate {
    0% { opacity:0; transform:translate(-50%,-50%) scale(.42); filter:blur(1px); }
    18% { opacity:1; transform:translate(calc(-50% + var(--tbg-fx-x)), calc(-50% + var(--tbg-fx-y))) scale(1.08); filter:blur(0); }
    68% { opacity:1; transform:translate(calc(-50% + var(--tbg-fx-x)), calc(-50% + var(--tbg-fx-y))) scale(1); }
    100% { opacity:0; transform:translate(calc(-50% + var(--tbg-fx-x)), calc(-50% + var(--tbg-fx-y) - 8px)) scale(.92); }
}

.tbg-point-carrom-pocket-score { display:inline-flex; align-items:center; gap:2px; }
.tbg-point-carrom-queen-score-coin {
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin-left:6px;
    border-radius:50%;
    background: radial-gradient(circle at 34% 28%, #ffb5a9 0 8%, #e74435 10% 42%, #9e1714 68%, #67100f 100%);
    border:2px solid rgba(255,220,178,.82);
    box-shadow: inset 0 1px 2px rgba(255,255,255,.42), 0 2px 7px rgba(145,22,18,.38);
}
.tbg-point-carrom-queen-score-coin[hidden] { display:none !important; }

.tbg-point-carrom-winner-overlay .tbg-point-carrom-result-card {
    position:relative;
    width:min(92vw, 560px);
    max-height:min(90vh, 760px);
    overflow:auto;
    padding:26px 26px 24px;
    border-radius:24px;
    text-align:center;
}
.tbg-point-carrom-result-back {
    position:absolute;
    top:16px;
    left:16px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    padding:7px 11px;
    border-radius:11px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.07);
    color:inherit;
    font-weight:750;
    cursor:pointer;
}
.tbg-point-carrom-result-back:hover { background:rgba(255,255,255,.12); transform:translateY(-1px); }
.tbg-point-carrom-result-badge {
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:2px auto 10px;
    border-radius:18px;
    font-size:28px;
    color:#2c2109;
    background:linear-gradient(145deg,#ffe78b,#f4bd3d);
    box-shadow:0 10px 30px rgba(245,191,60,.24), inset 0 1px 0 rgba(255,255,255,.65);
}
.tbg-point-carrom-result-summary {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:18px 0 12px;
}
.tbg-point-carrom-result-summary > div {
    padding:10px 8px;
    border-radius:13px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.08);
}
.tbg-point-carrom-result-summary small { display:block; opacity:.62; font-size:10px; font-weight:800; letter-spacing:.09em; margin-bottom:4px; }
.tbg-point-carrom-result-summary strong { display:block; font-size:13px; }
.tbg-point-carrom-result-stats { margin-top:10px; }
.tbg-point-carrom-result-queen-coin {
    color:#e23d32 !important;
    font-size:27px !important;
    line-height:.8;
    text-shadow:0 2px 0 #781613, 0 0 10px rgba(226,61,50,.28);
}
.tbg-point-carrom-result-actions {
    display:grid;
    grid-template-columns:1.25fr 1fr;
    gap:10px;
    margin-top:16px;
}
.tbg-point-carrom-result-actions .tbg-point-carrom-play-again,
.tbg-point-carrom-result-games {
    min-height:46px;
    border-radius:14px;
    border:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:850;
    cursor:pointer;
}
.tbg-point-carrom-result-games {
    color:inherit;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.11);
}
.tbg-point-carrom-result-games:hover { background:rgba(255,255,255,.13); }
.tbg-point-carrom-winner-overlay.is-local-win [data-tbg-result-summary-outcome] { color:#72e6a6; }
.tbg-point-carrom-winner-overlay.is-local-loss [data-tbg-result-summary-outcome] { color:#ff9b8f; }

@media (max-width:600px) {
    .tbg-point-carrom-pocket-celebration { padding:6px 10px; font-size:11px; }
    .tbg-point-carrom-queen-score-coin { width:15px; height:15px; flex-basis:15px; margin-left:4px; }
    .tbg-point-carrom-winner-overlay .tbg-point-carrom-result-card { width:min(94vw,520px); padding:22px 14px 16px; border-radius:20px; }
    .tbg-point-carrom-result-back span { display:none; }
    .tbg-point-carrom-result-back { top:12px; left:12px; width:34px; justify-content:center; padding:0; }
    .tbg-point-carrom-result-summary { gap:6px; margin-top:14px; }
    .tbg-point-carrom-result-summary > div { padding:8px 5px; }
    .tbg-point-carrom-result-summary strong { font-size:12px; }
    .tbg-point-carrom-result-actions { grid-template-columns:1fr 1fr; gap:8px; }
    .tbg-point-carrom-result-actions .tbg-point-carrom-play-again,
    .tbg-point-carrom-result-games { min-height:43px; font-size:12px; }
}

/* =========================================================
   Point Carrom — Step 2W-C Requested Refinements Only
   1) Queen inline with Pocketed score
   2) Logged-in result redesign (guest result unchanged)
   ========================================================= */

/* Pocketed score: force one-line 5/9 + Queen layout. */
.tbg-point-carrom-ongoing-stats .tbg-point-carrom-pocket-score,
.tbg-point-carrom-result-pocket-score {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
.tbg-point-carrom-ongoing-stats .tbg-point-carrom-pocket-score > b,
.tbg-point-carrom-result-pocket-score > b {
    display: inline !important;
    line-height: 1 !important;
}
.tbg-point-carrom-ongoing-stats .tbg-point-carrom-pocket-score > span,
.tbg-point-carrom-result-pocket-score > span {
    display: inline !important;
    line-height: 1 !important;
}
.tbg-point-carrom-ongoing-stats .tbg-point-carrom-queen-score-coin,
.tbg-point-carrom-result-pocket-score .tbg-point-carrom-queen-score-coin {
    display: inline-block;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin: 0 0 0 7px !important;
    vertical-align: middle;
}
.tbg-point-carrom-ongoing-stats .tbg-point-carrom-queen-score-coin[hidden],
.tbg-point-carrom-result-pocket-score .tbg-point-carrom-queen-score-coin[hidden] {
    display: none !important;
}

/* Logged-in result only. Guest result keeps the previous Step 2W-B design. */
.tbg-point-carrom-result-logged[hidden],
.tbg-point-carrom-result-guest[hidden] { display: none !important; }

.tbg-point-carrom-winner-overlay .tbg-point-carrom-result-card:has(.tbg-point-carrom-result-logged:not([hidden])) {
    width: min(94vw, 760px);
    padding: 24px 24px 22px;
    border: 1px solid rgba(244,190,62,.42);
    background:
        radial-gradient(circle at 50% 15%, rgba(255,198,55,.07), transparent 31%),
        linear-gradient(155deg, rgba(8,18,31,.98), rgba(11,24,39,.98));
}

.tbg-point-carrom-result-logged {
    padding-top: 2px;
}
.tbg-point-carrom-result-trophy {
    width: 62px;
    height: 52px;
    display: grid;
    place-items: center;
    margin: 0 auto -2px;
    font-size: 38px;
    filter: drop-shadow(0 6px 15px rgba(246,191,52,.24));
}
.tbg-point-carrom-result-outcome-title {
    width: min(300px, 76%);
    margin: 0 auto;
    padding: 9px 20px 10px;
    border-radius: 14px;
    font-size: clamp(27px, 4vw, 40px);
    line-height: 1;
    font-weight: 950;
    letter-spacing: .01em;
    color: #eaffef;
    background: linear-gradient(180deg, rgba(0,107,74,.96), rgba(0,57,47,.98));
    border: 1px solid rgba(37,232,164,.75);
    box-shadow: 0 0 25px rgba(21,206,144,.16), inset 0 1px 0 rgba(255,255,255,.13);
}
.tbg-point-carrom-winner-overlay.is-local-loss .tbg-point-carrom-result-outcome-title {
    color: #fff0f1;
    background: linear-gradient(180deg, rgba(121,15,31,.96), rgba(66,8,18,.98));
    border-color: rgba(255,68,93,.72);
    box-shadow: 0 0 25px rgba(238,42,71,.15), inset 0 1px 0 rgba(255,255,255,.10);
}
.tbg-point-carrom-result-subtitle {
    margin: 8px 0 15px;
    font-size: 14px;
    font-weight: 750;
    color: rgba(236,244,255,.86);
}

.tbg-point-carrom-result-versus {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(190px,.95fr) minmax(0,1fr);
    gap: 11px;
    align-items: stretch;
}
.tbg-point-carrom-result-player,
.tbg-point-carrom-result-core {
    min-width: 0;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
    padding: 12px;
}
.tbg-point-carrom-result-player-head {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 10px;
    text-align: left;
}
.tbg-point-carrom-result-player-head--opponent { justify-content: flex-start; }
.tbg-point-carrom-result-player-head strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}
.tbg-point-carrom-result-avatar {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(153,188,228,.34);
    background: radial-gradient(circle at 38% 30%, #283d59, #101a2b 70%);
    color: #dce9f8;
    font-size: 11px;
    font-weight: 900;
}
.tbg-point-carrom-result-avatar--you {
    color: #ffd75d;
    border-color: rgba(244,190,62,.68);
    box-shadow: 0 0 0 2px rgba(244,190,62,.08);
}
.tbg-point-carrom-result-mini-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}
.tbg-point-carrom-result-mini-stats > div {
    min-width: 0;
    padding: 9px 8px;
    border-radius: 11px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.07);
    text-align: left;
}
.tbg-point-carrom-result-mini-stats span:first-child {
    display: block;
    margin-bottom: 5px;
    color: rgba(188,205,228,.72);
    font-size: 10px;
    font-weight: 700;
}
.tbg-point-carrom-result-mini-stats strong {
    font-size: 18px;
    color: #f5f8ff;
}

.tbg-point-carrom-result-core {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
}
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
    padding: 4px 1px;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.055);
    background: transparent;
    text-align: left;
}
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid > div:last-of-type { border-bottom: 0; }
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid span {
    color: rgba(190,207,228,.78);
    font-size: 11px;
}
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid strong {
    color: #f2f6fd;
    font-size: 12px;
    text-align: right;
}
.tbg-point-carrom-result-core [data-tbg-result-entry],
.tbg-point-carrom-result-core [data-tbg-result-reward],
.tbg-point-carrom-result-core [data-tbg-result-balance] {
    color: #ffd052 !important;
}
/* Keep only useful settlement problems visible; routine completion text is unnecessary here. */
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-status { display: none; }
.tbg-point-carrom-result-core .tbg-point-carrom-settlement-status.is-error {
    display: block;
    margin-top: 8px;
    font-size: 10px;
}

.tbg-point-carrom-result-logged + .tbg-point-carrom-result-actions {
    width: min(610px, 100%);
    margin: 16px auto 0;
}
.tbg-point-carrom-winner-overlay.is-local-win .tbg-point-carrom-result-actions .tbg-point-carrom-play-again {
    background: linear-gradient(180deg,#ffd76a,#e8ad2f);
    color: #251a04;
    box-shadow: 0 8px 20px rgba(232,173,47,.18);
}
.tbg-point-carrom-winner-overlay.is-local-loss .tbg-point-carrom-result-actions .tbg-point-carrom-play-again {
    background: linear-gradient(180deg,#ffd76a,#e8ad2f);
    color: #251a04;
}

@media (max-width: 680px) {
    .tbg-point-carrom-ongoing-stats .tbg-point-carrom-queen-score-coin,
    .tbg-point-carrom-result-pocket-score .tbg-point-carrom-queen-score-coin {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
        margin-left: 5px !important;
    }
    .tbg-point-carrom-winner-overlay .tbg-point-carrom-result-card:has(.tbg-point-carrom-result-logged:not([hidden])) {
        width: min(95vw, 560px);
        padding: 20px 12px 14px;
    }
    .tbg-point-carrom-result-trophy { width: 48px; height: 42px; font-size: 30px; }
    .tbg-point-carrom-result-outcome-title { width: min(245px,72%); font-size: 27px; padding: 8px 12px; }
    .tbg-point-carrom-result-subtitle { margin-bottom: 11px; font-size: 12px; }
    .tbg-point-carrom-result-versus {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }
    .tbg-point-carrom-result-core {
        grid-column: 1 / -1;
        grid-row: 2;
        padding: 8px 12px;
    }
    .tbg-point-carrom-result-core .tbg-point-carrom-settlement-grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 16px;
    }
    .tbg-point-carrom-result-player { padding: 9px; }
    .tbg-point-carrom-result-player-head { margin-bottom: 7px; gap: 7px; }
    .tbg-point-carrom-result-avatar { width: 34px; height: 34px; flex-basis: 34px; font-size: 9px; }
    .tbg-point-carrom-result-mini-stats > div { padding: 7px 6px; }
    .tbg-point-carrom-result-mini-stats strong { font-size: 15px; }
    .tbg-point-carrom-result-logged + .tbg-point-carrom-result-actions { margin-top: 10px; }
}






.tbg-point-carrom-point-rules {
	margin: 10px 0 12px;
	padding: 9px 12px;
	border: 1px solid rgba(66, 232, 220, .28);
	border-radius: 10px;
	background: rgba(4, 34, 61, .68);
	color: #dffefa;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
	padding: 4px;
	border: 1px solid rgba(65, 232, 218, .5);
	background: linear-gradient(145deg, rgba(14, 58, 76, .96), rgba(5, 17, 31, .98));
	box-shadow:
		0 0 0 1px rgba(226, 185, 88, .28),
		0 24px 55px rgba(0, 8, 18, .58),
		0 0 34px rgba(39, 211, 197, .12);
	filter: none;
}

.tbg-point-carrom-game--ongoing .tbg-point-carrom-canvas {
	border-radius: 14px;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

/* Point Carrom uses unrestricted pieces, so profiles show status only. */
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-player-head {
	grid-template-columns: 42px 1fr 8px;
}

.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot,
.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-online-dot--opponent {
	width: 7px;
	height: 7px;
	border: 0;
	background: #49d98d;
	box-shadow: 0 0 10px rgba(73,217,141,.62);
}

/* Queen is dim while awaiting cover and fully lit only after legal cover. */
.tbg-point-carrom-queen-score-coin.is-pending {
	opacity: .32;
	filter: saturate(.45) brightness(.72);
	box-shadow: inset 0 1px 2px rgba(255,255,255,.2), 0 1px 4px rgba(70,18,18,.18);
}

@media (max-width: 760px) {
	.tbg-point-carrom-ongoing-arena--ai .tbg-point-carrom-ongoing-player-head {
		grid-template-columns: 30px minmax(0,1fr) 7px;
	}
}

/* Engagement upgrade: collectible striker showcase and results */
.tbg-point-carrom-shop-item{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.tbg-point-carrom-shop-item:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.25)}
.tbg-point-carrom-shop-item.is-equipped{outline:1px solid rgba(122,243,202,.66);box-shadow:inset 0 0 23px rgba(62,227,173,.10)}
.tbg-point-carrom-shop-swatch:has(img){display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle,#29445a 5%,#0e1b2e 75%);border-radius:50%;}
.tbg-point-carrom-shop-swatch img{display:block;width:96%;height:96%;object-fit:contain;filter:drop-shadow(0 7px 5px rgba(0,0,0,.32));animation:pcCollectibleFloat 3.4s ease-in-out infinite}
/* Premium SVG coin previews compensate for the artwork's small outer viewBox margin. */
.tbg-point-carrom-shop-swatch.is-piece img{width:103%;height:103%;max-width:none;max-height:none;object-fit:contain;}
@keyframes pcCollectibleFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}}
.tbg-point-carrom-winner-overlay.pc-result-replay.is-local-win .tbg-point-carrom-result-card{animation:pcWinReveal .68s cubic-bezier(.2,1.5,.3,1) both;box-shadow:0 0 65px rgba(65,224,154,.24)}
.tbg-point-carrom-winner-overlay.pc-result-replay.is-local-loss .tbg-point-carrom-result-card{animation:pcLossReveal .5s ease-out both}
.tbg-point-carrom-winner-overlay.is-local-win .tbg-point-carrom-result-card:before{content:'✦  ✧  ✦';position:absolute;left:0;right:0;top:3px;text-align:center;color:#f4d790;animation:pcSparkle 1.8s ease-in-out infinite;pointer-events:none}
@keyframes pcWinReveal{from{opacity:0;transform:scale(.75) translateY(32px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes pcLossReveal{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@keyframes pcSparkle{50%{filter:brightness(1.8);letter-spacing:8px}}
@media(prefers-reduced-motion:reduce){.tbg-point-carrom-shop-swatch img,.tbg-point-carrom-winner-overlay.pc-result-replay .tbg-point-carrom-result-card,.tbg-point-carrom-winner-overlay.is-local-win .tbg-point-carrom-result-card:before{animation:none!important}}

/* Pocket sparkle appears at the real pocket position, without altering collisions. */
.pc-pocket-burst{position:absolute;z-index:20;width:16px;height:16px;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px 6px rgba(121,228,251,.85);animation:pcPocketRing .8s ease-out forwards}
.pc-pocket-burst.is-queen{box-shadow:0 0 24px 9px rgba(255,201,96,.95)}
.pc-pocket-burst i{position:absolute;top:50%;left:50%;width:5px;height:5px;border-radius:50%;background:#e9fbff;box-shadow:0 0 8px rgba(255,255,255,.7);animation:pcPocketParticle .75s ease-out forwards}
.pc-pocket-burst.is-queen i{background:#ffdc80}
.pc-pocket-burst i:nth-child(1){--x:0px;--y:-32px}.pc-pocket-burst i:nth-child(2){--x:28px;--y:-18px}.pc-pocket-burst i:nth-child(3){--x:28px;--y:19px}.pc-pocket-burst i:nth-child(4){--x:0px;--y:33px}.pc-pocket-burst i:nth-child(5){--x:-28px;--y:19px}.pc-pocket-burst i:nth-child(6){--x:-28px;--y:-18px}
@keyframes pcPocketRing{0%{opacity:.95;scale:.45}70%{opacity:.8;scale:1.55}100%{opacity:0;scale:1.9}}
@keyframes pcPocketParticle{to{transform:translate(var(--x),var(--y)) scale(.1);opacity:0}}
@media(prefers-reduced-motion:reduce){.pc-pocket-burst{display:none}}

/* Doubles Championship — four-corner companion and rival identity plates */
.pc-is-team-match .tbg-point-carrom-ongoing-arena {position:relative;overflow:visible}
.pc-team-seats {position:absolute;inset:0;pointer-events:none;z-index:8;font-family:inherit}
.pc-team-seat {position:absolute;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(240,204,125,.44);border-radius:30px;background:linear-gradient(130deg,rgba(16,29,45,.96),rgba(42,32,58,.95));box-shadow:0 6px 22px #080e1b88;color:#fff;white-space:nowrap;transition:transform .25s,box-shadow .25s}
.pc-team-seat strong{font-size:12px;letter-spacing:.02em}.pc-team-seat small{font-size:9px;color:#efcf96;font-weight:750}
.pc-team-avatar{font-size:21px;background:#2d4150;border:2px solid #e4bb62;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}
.pc-seat-top{left:50%;top:6%;transform:translateX(-50%)}
.pc-seat-left{left:0;top:48%;transform:translate(-35%,-50%);flex-direction:column;gap:2px}
.pc-seat-right{right:0;top:48%;transform:translate(35%,-50%);flex-direction:column;gap:2px}
.pc-seat-top .pc-team-avatar{border-color:#61df9d}.pc-seat-top small{color:#8df4b5}
.pc-seat-left .pc-team-avatar,.pc-seat-right .pc-team-avatar{border-color:#ffd563}
.pc-team-seat.is-active{box-shadow:0 0 0 3px #ffe38d99,0 0 24px #fbc65c70;animation:pc-seat-pulse 1.6s ease-in-out infinite}
.pc-seat-top.is-active{transform:translateX(-50%) scale(1.06)}.pc-seat-left.is-active{transform:translate(-35%,-50%) scale(1.06)}.pc-seat-right.is-active{transform:translate(35%,-50%) scale(1.06)}
.pc-team-score{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);color:#fff;font-weight:800;font-size:12px;text-align:center;padding:6px 12px;background:linear-gradient(110deg,#193b41ed,#433048ed);border:1px solid #e1c88f99;border-radius:25px;white-space:nowrap}
@keyframes pc-seat-pulse{50%{filter:brightness(1.25)}}
@media(max-width:700px){.pc-team-seat{padding:3px 5px;gap:2px}.pc-team-avatar{width:26px;height:26px;font-size:16px}.pc-team-seat strong{font-size:10px}.pc-team-seat small{font-size:8px}.pc-seat-left{transform:translate(-8%,-50%)}.pc-seat-right{transform:translate(8%,-50%)}.pc-seat-left.is-active{transform:translate(-8%,-50%) scale(1.05)}.pc-seat-right.is-active{transform:translate(8%,-50%) scale(1.05)}.pc-team-score{font-size:9px;padding:5px 8px}}

/* Championship doubles HUD — each participant anchored to their own baseline */
.pc-is-team-match .pc-team-seats{z-index:14;overflow:visible}
.pc-is-team-match .pc-team-seat{box-sizing:border-box;min-width:105px;max-width:140px;justify-content:center;gap:5px;padding:6px 9px;flex-direction:row;transform:none;backdrop-filter:blur(10px);border-radius:14px;transition:box-shadow .2s,filter .2s}
.pc-is-team-match .pc-seat-top{top:-9%;left:50%;right:auto;transform:translateX(-50%)}
.pc-is-team-match .pc-seat-bottom{bottom:-9%;left:50%;right:auto;transform:translateX(-50%)}
.pc-is-team-match .pc-seat-left{left:-8%;top:50%;right:auto;transform:translate(-50%,-50%);flex-direction:column}
.pc-is-team-match .pc-seat-right{right:-8%;top:50%;left:auto;transform:translate(50%,-50%);flex-direction:column}
.pc-is-team-match .pc-team-friends{border-color:rgba(100,244,151,.75)}
.pc-is-team-match .pc-team-rivals{border-color:rgba(255,206,86,.75)}
.pc-is-team-match .pc-team-friends .pc-team-avatar{border:2px solid #70e8a6}
.pc-is-team-match .pc-team-rivals .pc-team-avatar{border:2px solid #ffd25e}
.pc-is-team-match .pc-seat-details{display:flex;flex-direction:column;align-items:center;text-align:center}
.pc-is-team-match .pc-seat-points{position:absolute;bottom:-13px;background:#182a35;color:#fff;border-radius:20px;padding:1px 8px;font-size:10px;font-weight:800;border:1px solid #ffffff38}
.pc-is-team-match .pc-seat-clock{position:absolute;right:-9px;top:-9px;min-width:24px;padding:3px;border-radius:14px;color:#fff;background:#ec8741;font-size:10px;font-weight:900;text-align:center}
.pc-is-team-match .pc-team-seat.is-active{animation:pc-doubles-turn-glow 1s ease-in-out infinite alternate;outline:2px solid #f5d779;outline-offset:2px}
.pc-is-team-match .pc-team-seat.is-active:before{content:'';position:absolute;inset:-5px;border-radius:19px;border:3px solid transparent;background:conic-gradient(#ffdc73 var(--seat-progress,360deg),#ffffff2d 0) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}
.pc-is-team-match .pc-seat-top.is-active,.pc-is-team-match .pc-seat-bottom.is-active{transform:translateX(-50%)}
.pc-is-team-match .pc-seat-left.is-active{transform:translate(-50%,-50%)}
.pc-is-team-match .pc-seat-right.is-active{transform:translate(50%,-50%)}
.pc-is-team-match .pc-team-score{bottom:9%;left:50%;display:flex;align-items:center;gap:7px;padding:5px 12px;z-index:15;font-size:15px}
.pc-is-team-match .pc-team-score-label{font-size:9px;letter-spacing:.06em;color:#b7f5c9}
.pc-is-team-match .pc-team-divider{opacity:.55}
.pc-score-float{position:absolute;top:-20px;color:#8af9b6;font-size:17px;font-weight:900;animation:pc-score-rise 1.1s ease-out forwards}
.pc-score-bump{animation:pc-score-pulse .4s ease-out}
.pc-team-turn-toast{position:absolute;top:20%;left:50%;transform:translate(-50%,-10px) scale(.9);opacity:0;white-space:nowrap;color:#fff;font-size:15px;font-weight:900;letter-spacing:.1em;text-shadow:0 3px 10px #000;transition:opacity .2s,transform .3s;z-index:20}
.pc-team-turn-toast.pc-turn-enter{opacity:1;transform:translate(-50%,0) scale(1)}
@keyframes pc-doubles-turn-glow{to{filter:brightness(1.2);box-shadow:0 0 18px #ffe48e88}}
@keyframes pc-score-rise{to{opacity:0;transform:translateY(-30px) scale(1.3)}}
@keyframes pc-score-pulse{50%{filter:brightness(1.7);transform:translateX(-50%) scale(1.05)}}
@media(max-width:700px){.pc-is-team-match .pc-team-seat{min-width:68px;max-width:88px;padding:4px;gap:2px}.pc-is-team-match .pc-seat-top{top:-8%}.pc-is-team-match .pc-seat-bottom{bottom:-8%}.pc-is-team-match .pc-seat-left{left:-5%}.pc-is-team-match .pc-seat-right{right:-5%}.pc-is-team-match .pc-team-score{bottom:8%;font-size:12px;padding:3px 7px}.pc-is-team-match .pc-team-score-label{font-size:7px}.pc-is-team-match .pc-seat-points{font-size:8px}.pc-is-team-match .pc-team-turn-toast{font-size:12px}}


/* Doubles HUD refinement: keep both teammates/opponents inside the existing player cards. */
.pc-is-team-match .pc-team-seats { display:none !important; }
.pc-is-team-match .tbg-point-carrom-ongoing-player-head.pc-team-player-head { display:block; }
.pc-is-team-match .pc-team-card-players {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:7px; width:100%;
}
.pc-is-team-match .pc-team-card-member {
    position:relative; display:flex; align-items:center; flex-direction:column; justify-content:flex-start; gap:5px;
    min-width:0; padding:7px 4px 5px; border:1px solid rgba(255,255,255,.08); border-radius:11px;
    background:rgba(255,255,255,.025); transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.pc-is-team-match .pc-team-card-member[data-team="friends"] { border-color:rgba(100,244,151,.28); }
.pc-is-team-match .pc-team-card-member[data-team="rivals"] { border-color:rgba(255,206,86,.25); }
.pc-is-team-match .pc-team-card-member.is-active { border-color:#f5d779; background:rgba(247,200,75,.09); box-shadow:0 0 0 1px rgba(247,200,75,.2),0 0 13px rgba(247,200,75,.1); }
.pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar,
.pc-is-team-match .pc-team-inline-avatar {
    position:relative; isolation:isolate; width:34px; height:34px; min-width:34px; border-radius:50%; display:grid; place-items:center; overflow:visible;
    font-size:20px; line-height:1; border:2px solid #7ce6a4; background:linear-gradient(145deg,#21473d,#152b2a);
}
.pc-is-team-match .pc-team-card-member[data-team="rivals"] .tbg-point-carrom-ongoing-avatar,
.pc-is-team-match .pc-team-inline-avatar--rival { border-color:#ffd25e; background:linear-gradient(145deg,#54411e,#2b251a); }
.pc-is-team-match .pc-team-card-member .tbg-match-avatar-art { width:100%; height:100%; display:block; }
.pc-is-team-match .pc-team-card-member > div { min-width:0; width:100%; text-align:center; }
.pc-is-team-match .pc-team-card-member small { display:block; color:#9be8b6; font-size:8px; line-height:1.15; font-weight:850; letter-spacing:.08em; }
.pc-is-team-match .pc-team-card-member[data-team="rivals"] small { color:#f6d486; }
.pc-is-team-match .pc-team-card-member strong { display:block; max-width:100%; margin-top:3px; color:#f7f8fa; font-size:11px; line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
.pc-is-team-match .pc-team-inline-details { width:100%; min-width:0; text-align:center; }
.pc-is-team-match .pc-team-card-clock { position:absolute; top:-6px; right:-5px; z-index:5; min-width:21px; padding:3px 4px; border:1px solid rgba(255,255,255,.25); border-radius:10px; background:#d97735; color:#fff; font-size:8px; line-height:1; font-weight:900; text-align:center; box-shadow:0 3px 8px #0008; }
.pc-is-team-match .pc-team-card-clock:empty { display:none; }
.pc-is-team-match .pc-team-card-member.is-active .pc-team-card-clock { background:#f0b92f; color:#1d2631; }
.pc-is-team-match .tbg-point-carrom-ongoing-stats > div:first-child > span { color:#a7e8bc; }
.pc-is-team-match .tbg-point-carrom-ongoing-stats > div:first-child > strong { position:relative; }
.pc-team-point-addition { position:absolute; left:50%; top:-22px; z-index:3; color:#91ffc0; font-size:14px; font-weight:950; white-space:nowrap; text-shadow:0 2px 8px #000b; pointer-events:none; animation:pc-team-point-rise 1s ease-out forwards; }
.pc-team-score-count-up { animation:pc-team-score-pop .42s ease-out; }
.pc-team-player-card.pc-team-card-scoring .tbg-point-carrom-ongoing-stats > div:first-child { border-color:rgba(118,255,168,.42); }
@keyframes pc-team-point-rise { 0%{opacity:0;transform:translate(-50%,7px) scale(.75)}20%{opacity:1;transform:translate(-50%,0) scale(1.08)}100%{opacity:0;transform:translate(-50%,-24px) scale(1)} }
@keyframes pc-team-score-pop { 0%{transform:scale(1)}35%{transform:scale(1.12);color:#a6ffc7}100%{transform:scale(1);color:#fff} }
@media(max-width:880px) and (min-width:701px){
 .pc-is-team-match .pc-team-card-players{gap:4px}.pc-is-team-match .pc-team-card-member{padding:5px 2px}.pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar,.pc-is-team-match .pc-team-inline-avatar{width:29px;height:29px;min-width:29px;font-size:17px}.pc-is-team-match .pc-team-card-member strong{font-size:10px}
}
@media(max-width:700px){
 .pc-is-team-match .pc-team-card-players{gap:4px}.pc-is-team-match .pc-team-card-member{padding:5px 2px 4px;border-radius:8px;gap:4px}.pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar,.pc-is-team-match .pc-team-inline-avatar{width:26px;height:26px;min-width:26px;border-radius:50%;font-size:15px}.pc-is-team-match .pc-team-card-member small{font-size:6px;letter-spacing:.04em}.pc-is-team-match .pc-team-card-member strong{margin-top:2px;font-size:9px;line-height:1.1}.pc-is-team-match .pc-team-card-clock{top:-5px;right:-4px;min-width:18px;padding:2px 3px;font-size:7px}.pc-is-team-match .tbg-point-carrom-ongoing-stats{margin-top:7px}
}
@media(prefers-reduced-motion:reduce){.pc-team-point-addition,.pc-team-score-count-up{animation:none!important}}

.pc-is-team-match .pc-team-inline-avatar.is-turn-timer::before {
    content:"";position:absolute;inset:-5px;border-radius:50%;padding:2px;
    background:conic-gradient(from -90deg,#f7c84b 0deg,#f7c84b calc(var(--tbg-turn-progress,360) * 1deg),rgba(255,255,255,.12) calc(var(--tbg-turn-progress,360) * 1deg),rgba(255,255,255,.12) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2;
}
.pc-is-team-match .pc-team-inline-avatar.is-turn-timer::after {content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(247,200,75,.18);pointer-events:none;}

/* Doubles-only HUD polish: avatar + character name, per-player turn animation only. */
.pc-is-team-match .pc-team-card-member small {display:none !important;}
.pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar,
.pc-is-team-match .pc-team-inline-avatar {width:42px;height:42px;min-width:42px;font-size:24px;}
.pc-is-team-match .pc-team-card-member[data-team="rivals"] .tbg-point-carrom-ongoing-avatar,
.pc-is-team-match .pc-team-inline-avatar--rival {border-color:#77b9f7;background:linear-gradient(145deg,#263f61,#1a2a47);}
.pc-is-team-match .pc-team-player-card,
.pc-is-team-match .pc-team-player-card.is-active {border-color:rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.18);}
.pc-is-team-match .pc-team-card-clock {display:none !important;}
@media(max-width:700px){
.pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar,
.pc-is-team-match .pc-team-inline-avatar {width:32px;height:32px;min-width:32px;font-size:19px;}
}


/* Responsive gameplay refinement — applies to 1v1 and doubles alike.
   The mid-width HUD must not force a 150+360+150px minimum-width layout. */
.tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-arena,
.tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-center,
.tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-side,
.tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-player-card {
    min-width:0;
    box-sizing:border-box;
}
.tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell,
.tbg-point-carrom-game--ongoing .tbg-point-carrom-canvas {
    max-width:100%;
}
@media (min-width:901px) and (max-width:1200px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-arena {
        grid-template-columns:minmax(145px,0.8fr) minmax(0,2.6fr) minmax(145px,0.8fr);
        gap:clamp(6px,0.8vw,12px);
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width:min(62vh,100%,690px);
    }
}
/* Tablets in portrait and smaller landscape viewports: player cards alongside
   each other ABOVE the board, rather than squeezing the board between panels. */
@media (min-width:701px) and (max-width:900px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage { padding:clamp(6px,1.3vw,12px); }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-arena {
        width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-side--you {
        grid-column:1;grid-row:1;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-side--opponent {
        grid-column:2;grid-row:1;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-center {
        grid-column:1/-1;grid-row:2;width:100%;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width:min(73vh,100%,670px);max-width:100%;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-desktop-only {
        display:none!important;
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-side {gap:7px;}
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-player-card {padding:9px;}
    .pc-is-team-match .pc-team-card-players {display:flex;flex-wrap:nowrap;min-width:0;}
    .pc-is-team-match .pc-team-card-member {min-width:0;flex:1 1 0;}
}
@media (max-width:700px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-arena {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width:min(100%,96vw,600px);
    }
    .pc-is-team-match .pc-team-card-players {min-width:0;gap:3px;}
    .pc-is-team-match .pc-team-card-member {flex:1 1 0;min-width:0;}
    .pc-is-team-match .pc-team-card-member strong {overflow-wrap:anywhere;}
    .pc-is-team-match .pc-team-inline-avatar {max-width:100%;}
}
@media (max-width:360px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage {padding:3px;}
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-ongoing-arena {gap:4px;}
    .pc-is-team-match .pc-team-card-member {padding:3px 1px;gap:2px;}
    .pc-is-team-match .pc-team-inline-avatar,
    .pc-is-team-match .pc-team-card-member .tbg-point-carrom-ongoing-avatar {
        width:27px;height:27px;min-width:27px;font-size:16px;
    }
    .pc-is-team-match .pc-team-card-member strong {font-size:8px;}
}
@media (max-height:550px) and (min-width:901px) {
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-board-shell {
        width:min(82vh,100%,600px);
    }
    .tbg-point-carrom-game--ongoing .tbg-point-carrom-stage {padding:6px;}
}

/* Position slider mirrors the equipped, on-board striker artwork. */
.tbg-point-carrom-striker-slider::-webkit-slider-thumb {
    border: 0;
    background-color: transparent;
    background-image: var(--pc-positioner-striker);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: none;
}
.tbg-point-carrom-striker-slider::-moz-range-thumb {
    border: 0;
    background-color: transparent;
    background-image: var(--pc-positioner-striker);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: none;
}
