body.tpm-tg-player-active {
	overflow: hidden;
}

.tpm-tg-player__launch {
	position: fixed;
	z-index: 999980;
	right: 16px;
	bottom: 16px;
	max-width: min(320px, calc(100vw - 32px));
	padding: 12px 16px;
	border: none;
	border-radius: 999px;
	background: #2271b1;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
}

.tpm-tg-player__launch:hover {
	background: #135e96;
}

.tpm-tg-player-spotlight {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999985;
	pointer-events: none;
}

body.admin-bar .tpm-tg-player-spotlight {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .tpm-tg-player-spotlight {
		top: 46px;
	}
}

.tpm-tg-player-dim {
	position: absolute;
	pointer-events: auto;
	background: rgba(15, 23, 42, 0.62);
}

.tpm-tg-player-dim--top {
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
}

.tpm-tg-player-dim--left {
	top: 0;
	left: 0;
	width: 0;
	height: 0;
}

.tpm-tg-player-dim--right {
	top: 0;
	width: 0;
	height: 0;
} 

.tpm-tg-player-dim--bottom {
	left: 0;
	width: 100%;
	height: 0;
}

.tpm-tg-player-highlight {
	position: absolute;
	pointer-events: none;
	z-index: 2;
	box-sizing: border-box;
	border: 3px solid rgba(234, 140, 160, 0.95);
	border-radius: 6px;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.88),
		0 0 16px rgba(234, 100, 130, 0.5);
}

.tpm-tg-player-bubble {
	position: fixed;
	z-index: 999990;
	width: min(360px, calc(100vw - 24px));
	max-height: min(70vh, 480px);
	overflow: auto;
	padding: 14px 16px 16px;
	border-radius: 8px;
	background: #1d2327;
	color: #f0f0f1;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
	pointer-events: auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
	font-size: 14px;
	line-height: 1.5;
}

.tpm-tg-player-bubble__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

.tpm-tg-player-bubble__meta {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #72aee6;
}

.tpm-tg-player-bubble__close {
	border: none;
	background: transparent;
	color: #c3c4c7;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}

.tpm-tg-player-bubble__title {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 600;
	color: #fff;
}

.tpm-tg-player-bubble__body {
	margin-bottom: 10px;
	color: #e2e4e7;
}

.tpm-tg-player-bubble__body p:first-child {
	margin-top: 0;
}

.tpm-tg-player-bubble__body p:last-child {
	margin-bottom: 0;
}

.tpm-tg-player-bubble__missing {
	margin: 0 0 10px;
	padding: 8px 10px;
	border-radius: 4px;
	background: rgba(248, 113, 113, 0.15);
	color: #fca5a5;
	font-size: 13px;
}

.tpm-tg-player-bubble__actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.tpm-tg-player-btn {
	border: none;
	border-radius: 4px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.tpm-tg-player-btn--primary {
	background: #2271b1;
	color: #fff;
}

.tpm-tg-player-btn--primary:hover {
	background: #135e96;
}

.tpm-tg-player-btn--ghost {
	background: rgba(255, 255, 255, 0.08);
	color: #f0f0f1;
}

.tpm-tg-player-btn--ghost:hover:not(:disabled) {
	background: rgba(255, 255, 255, 0.14);
}

.tpm-tg-player-btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}
