/* Nyrox Crimson Rose bubble — user_id 1 only
   Vampire night: crimson / midnight, soft blood-sparkle dust */

@keyframes nyroxTwinkleSharp {
	0%, 100% { opacity: 0.25; transform: scale(0.9); }
	35% { opacity: 1; transform: scale(1.2); }
	55% { opacity: 0.4; transform: scale(0.95); }
	75% { opacity: 0.85; transform: scale(1.1); }
}
@keyframes nyroxTwinkleGlow {
	0%, 100% { opacity: 0.2; }
	45% { opacity: 0.55; }
	70% { opacity: 0.28; }
}
@keyframes nyroxBubblePulse {
	0%, 100% { box-shadow: inset 0 1px 0 rgba(242, 214, 222, 0.06), 0 0 10px rgba(196, 30, 74, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.35); }
	50% { box-shadow: inset 0 1px 0 rgba(242, 214, 222, 0.08), 0 0 18px rgba(196, 30, 74, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.35); }
}

#show_chat li.chat_log[data-user="1"] .mbubble,
li.privlog:has(img.get_info[data="1"]) .hunter_private,
li.privlog:has(img.get_info[data="1"]) .target_private {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: #f2d6de !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
	border: 1px solid rgba(196, 30, 74, 0.55) !important;
	box-shadow:
		inset 0 1px 0 rgba(242, 214, 222, 0.06),
		0 0 12px rgba(196, 30, 74, 0.3),
		0 0 0 1px rgba(0, 0, 0, 0.35);
	background:
		radial-gradient(ellipse 80% 70% at 85% 0%, rgba(26, 42, 90, 0.35) 0%, transparent 55%),
		linear-gradient(168deg, #1a0c16 0%, #0c0812 48%, #08050c 100%) !important;
	animation: nyroxBubblePulse 2.8s ease-in-out infinite;
}

/* Soft crimson / moon glow sparks — behind text */
#show_chat li.chat_log[data-user="1"] .mbubble::before,
li.privlog:has(img.get_info[data="1"]) .hunter_private::before,
li.privlog:has(img.get_info[data="1"]) .target_private::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: -1;
	background:
		radial-gradient(circle 3px at 16% 26%, rgba(196, 30, 74, 0.55), transparent 72%),
		radial-gradient(circle 2.5px at 74% 20%, rgba(242, 214, 222, 0.35), transparent 72%),
		radial-gradient(circle 3.5px at 56% 70%, rgba(139, 21, 56, 0.48), transparent 72%),
		radial-gradient(circle 2.5px at 28% 80%, rgba(224, 112, 144, 0.4), transparent 72%),
		radial-gradient(circle 3px at 90% 56%, rgba(80, 100, 180, 0.32), transparent 72%);
	filter: blur(1.8px);
	animation: nyroxTwinkleGlow 8s ease-in-out infinite;
	animation-delay: -2.5s;
}

/* Sharp tiny sparks — behind text */
#show_chat li.chat_log[data-user="1"] .mbubble::after,
li.privlog:has(img.get_info[data="1"]) .hunter_private::after,
li.privlog:has(img.get_info[data="1"]) .target_private::after {
	content: "";
	position: absolute;
	width: 1.5px;
	height: 1.5px;
	left: 12%;
	top: 30%;
	border-radius: 50%;
	pointer-events: none;
	z-index: -1;
	background: rgba(242, 214, 222, 0.95);
	box-shadow:
		0 0 1.5px 0.4px rgba(242, 214, 222, 0.7),
		38px -6px 0 0.15px rgba(196, 30, 74, 0.95),
		38px -6px 1.5px 0.4px rgba(196, 30, 74, 0.5),
		72px 16px 0 0 rgba(242, 214, 222, 0.9),
		72px 16px 1.2px 0.35px rgba(242, 214, 222, 0.45),
		16px 26px 0 0.1px rgba(224, 112, 144, 0.95),
		16px 26px 1.3px 0.35px rgba(224, 112, 144, 0.45),
		98px 4px 0 0 rgba(242, 214, 222, 0.85),
		98px 4px 1px 0.3px rgba(242, 214, 222, 0.4),
		54px 34px 0 0.15px rgba(139, 21, 56, 0.9),
		54px 34px 1.4px 0.4px rgba(139, 21, 56, 0.45),
		118px 28px 0 0 rgba(180, 200, 255, 0.7),
		118px 28px 1px 0.3px rgba(180, 200, 255, 0.35),
		-4px 12px 0 0.1px rgba(196, 30, 74, 0.85),
		-4px 12px 1.2px 0.35px rgba(196, 30, 74, 0.4);
	filter: blur(0.25px);
	animation: nyroxTwinkleSharp 5.2s ease-in-out infinite;
	animation-delay: -0.8s;
}

#show_chat li.chat_log[data-user="1"] .mbubble a,
li.privlog:has(img.get_info[data="1"]) .hunter_private a,
li.privlog:has(img.get_info[data="1"]) .target_private a {
	color: #e07090 !important;
}

@media (prefers-reduced-motion: reduce) {
	#show_chat li.chat_log[data-user="1"] .mbubble,
	li.privlog:has(img.get_info[data="1"]) .hunter_private,
	li.privlog:has(img.get_info[data="1"]) .target_private {
		animation: none;
	}
	#show_chat li.chat_log[data-user="1"] .mbubble::before,
	#show_chat li.chat_log[data-user="1"] .mbubble::after,
	li.privlog:has(img.get_info[data="1"]) .hunter_private::before,
	li.privlog:has(img.get_info[data="1"]) .hunter_private::after,
	li.privlog:has(img.get_info[data="1"]) .target_private::before,
	li.privlog:has(img.get_info[data="1"]) .target_private::after {
		animation: none;
		opacity: 0.35;
		transform: none;
	}
}
