.rtph-hud,
.rtph-hud * {
	box-sizing: border-box;
}

.rtph-hud {
	--rtph-accent: #c93422;
	--rtph-panel-width: 340px;
	--rtph-panel-height: 0px;
	--rtph-content-width: 1200px;
	--rtph-side-gap: 24px;
	--rtph-text: rgba(255,255,255,.94);
	--rtph-muted: rgba(255,255,255,.68);
	--rtph-line: rgba(255,255,255,.15);
	--rtph-black: rgba(5,7,9,.74);
	position: fixed;
	z-index: 99980;
	width: var(--rtph-panel-width);
	max-width: calc(100vw - 32px);
	padding: 18px;
	color: var(--rtph-text);
	font-family: Inter, Rajdhani, Oswald, "Arial Narrow", Arial, sans-serif;
	background: linear-gradient(145deg, rgba(7,9,12,.78), rgba(16,18,22,.55));
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 24px 80px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.13), inset 0 0 0 1px rgba(255,255,255,.035);
	backdrop-filter: blur(18px) saturate(124%);
	-webkit-backdrop-filter: blur(18px) saturate(124%);
	isolation: isolate;
	overflow: hidden;
	transform: translateZ(0);
	will-change: transform, opacity;
}

.rtph-position-page {
	position: absolute;
}

.rtph-position-page.rtph-vertical-center {
	top: 50vh;
}

.rtph-position-page.rtph-vertical-bottom {
	top: calc(100vh - 260px);
	bottom: auto;
}

.rtph-height-custom {
	height: var(--rtph-panel-height);
	max-height: calc(100vh - 36px);
	display: flex;
	flex-direction: column;
}

.rtph-height-custom .rtph-content {
	flex: 0 1 auto;
}

.rtph-height-custom .rtph-button {
	margin-top: auto;
}

.rtph-height-custom .rtph-media {
	flex: 0 0 auto;
}

.rtph-user-positioned {
	transform: none !important;
}

.rtph-side-right {
	right: 16px;
	right: max(16px, calc((100vw - var(--rtph-content-width)) / 2 - var(--rtph-panel-width) - var(--rtph-side-gap)));
}

.rtph-side-left {
	left: 16px;
	left: max(16px, calc((100vw - var(--rtph-content-width)) / 2 - var(--rtph-panel-width) - var(--rtph-side-gap)));
}

.rtph-vertical-top { top: 132px; }
.rtph-vertical-center { top: 50%; transform: translateY(-50%) translateZ(0); }
.rtph-vertical-bottom { bottom: 34px; }

.rtph-hud::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(255,255,255,.055), transparent 18%, transparent 82%, rgba(255,255,255,.035)),
		radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--rtph-accent) 42%, transparent), transparent 34%),
		linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 44%);
	pointer-events: none;
}

.rtph-hud::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.085) 40%, transparent 48% 100%);
	opacity: .42;
	pointer-events: none;
}

.rtph-has-bg-media::before {
	background:
		linear-gradient(180deg, rgba(0,0,0,.32), rgba(0,0,0,.72)),
		var(--rtph-bg-image) center/cover no-repeat;
	opacity: 1;
}

.rtph-glass-noise {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: .13;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(0deg, rgba(255,255,255,.08) 0 1px, transparent 1px 4px),
		repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 7px);
	mix-blend-mode: screen;
}

.rtph-edge {
	position: absolute;
	left: 18px;
	right: 18px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--rtph-accent), rgba(255,255,255,.55), transparent);
	opacity: .72;
	pointer-events: none;
}

.rtph-edge-top { top: 0; }
.rtph-edge-bottom { bottom: 0; opacity: .38; }

.rtph-header,
.rtph-content,
.rtph-media,
.rtph-countdown,
.rtph-button {
	position: relative;
	z-index: 2;
}

.rtph-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 24px;
	margin-bottom: 12px;
}

.rtph-label {
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 34px);
	min-height: 24px;
	padding: 3px 8px 2px;
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #fff;
	background: var(--rtph-accent);
	background: color-mix(in srgb, var(--rtph-accent) 78%, rgba(0,0,0,.4));
	border-left: 2px solid rgba(255,255,255,.55);
	box-shadow: 0 0 22px rgba(201,52,34,.24);
	box-shadow: 0 0 22px color-mix(in srgb, var(--rtph-accent) 28%, transparent);
}

.rtph-close {
	appearance: none;
	-webkit-appearance: none;
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	margin: -4px -4px 0 0;
	padding: 0;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 0;
	background: rgba(255,255,255,.055);
	color: rgba(255,255,255,.86);
	font: 400 22px/1 Arial, sans-serif;
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.rtph-close:hover,
.rtph-close:focus-visible {
	background: var(--rtph-accent);
	border-color: rgba(255,255,255,.42);
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

@media (min-width: 783px) {
	.rtph-draggable {
		cursor: grab;
		touch-action: none;
	}

	.rtph-draggable a,
	.rtph-draggable button {
		cursor: pointer;
	}

	.rtph-is-dragging {
		cursor: grabbing;
		user-select: none;
	}
}

.rtph-media {
	width: 100%;
	margin: 0 0 14px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.045);
	overflow: hidden;
}

.rtph-media img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 190px;
	object-fit: cover;
}

.rtph-media.is-empty {
	display: none;
}

.rtph-countdown {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	align-items: center;
	margin: 2px 0 15px;
	padding: 9px 10px 8px;
	font-variant-numeric: tabular-nums;
	font-size: 25px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: .055em;
	text-align: center;
	color: #fff;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(0,0,0,.28);
	box-shadow: inset 0 0 22px rgba(0,0,0,.3);
}

.rtph-countdown em {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

.rtph-countdown span {
	position: relative;
	display: block;
}

.rtph-countdown span:not(:last-of-type)::after {
	content: ":";
	position: absolute;
	right: -4px;
	top: 0;
	color: color-mix(in srgb, var(--rtph-accent) 75%, #fff);
	opacity: .94;
}

.rtph-title {
	margin: 0 0 8px;
	color: #fff;
	font-size: 24px;
	font-weight: 950;
	line-height: .98;
	letter-spacing: .018em;
	text-transform: uppercase;
}

.rtph-text {
	margin: 0 0 16px;
	color: var(--rtph-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.rtph-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 12px 14px 11px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 950;
	letter-spacing: .06em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none !important;
	background: var(--rtph-accent);
	background: linear-gradient(135deg, var(--rtph-accent), color-mix(in srgb, var(--rtph-accent) 75%, #000));
	border: 1px solid rgba(255,255,255,.22);
	border: 1px solid color-mix(in srgb, var(--rtph-accent) 66%, #fff);
	box-shadow: 0 10px 30px rgba(201,52,34,.22), inset 0 1px 0 rgba(255,255,255,.2);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--rtph-accent) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.2);
	clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
	transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.rtph-button-shape-rectangle .rtph-button {
	clip-path: none;
}

.rtph-button-shape-pill .rtph-button {
	clip-path: none;
	border-radius: 999px;
}

.rtph-button:hover,
.rtph-button:focus-visible {
	color: #fff !important;
	filter: brightness(1.12) saturate(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 38px rgba(201,52,34,.28), inset 0 1px 0 rgba(255,255,255,.25);
	box-shadow: 0 14px 38px color-mix(in srgb, var(--rtph-accent) 32%, transparent), inset 0 1px 0 rgba(255,255,255,.25);
	outline: none;
}

.rtph-preset-hud {
	background: linear-gradient(145deg, rgba(4,5,7,.88), rgba(12,14,17,.66));
	border-color: rgba(201,52,34,.32);
	border-color: color-mix(in srgb, var(--rtph-accent) 28%, rgba(255,255,255,.16));
}

.rtph-preset-hud .rtph-glass-noise {
	opacity: .22;
}

.rtph-preset-hud .rtph-title {
	letter-spacing: .045em;
}

.rtph-preset-minimal {
	padding: 16px;
	background: rgba(8,9,11,.86);
	border-color: rgba(255,255,255,.1);
	box-shadow: 0 18px 55px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.09);
}

.rtph-preset-minimal .rtph-glass-noise,
.rtph-preset-minimal::after {
	display: none;
}

.rtph-preset-minimal .rtph-countdown {
	font-size: 21px;
}

.rtph-hidden {
	display: none !important;
}

.rtph-legacy-glitch-burst {
	animation: rtph-panel-burst 220ms steps(2, end) both;
}

.rtph-legacy-glitch-burst::after {
	opacity: .95;
	background:
		linear-gradient(90deg, rgba(255,255,255,.22), transparent 28%, color-mix(in srgb, var(--rtph-accent) 45%, transparent) 46%, transparent 62%, rgba(48,168,255,.22)),
		repeating-linear-gradient(0deg, rgba(255,255,255,.18) 0 1px, transparent 1px 5px);
	animation: rtph-glitch-scan 220ms steps(2, end) both;
}

.rtph-legacy-glitch-burst .rtph-glass-noise {
	opacity: .42;
}

.rtph-legacy-glitch-burst .rtph-title,
.rtph-legacy-glitch-burst .rtph-countdown,
.rtph-legacy-glitch-burst .rtph-button {
	animation: rtph-text-split 220ms steps(2, end) both;
}

@keyframes rtph-panel-burst {
	0% { filter: none; transform: translate(var(--rtph-glitch-x, 0), var(--rtph-glitch-y, 0)) translateZ(0); }
	28% { filter: brightness(1.28) contrast(1.22) saturate(1.08); }
	58% { filter: hue-rotate(-10deg) saturate(1.32); }
	100% { filter: none; }
}

@keyframes rtph-glitch-scan {
	0% { clip-path: inset(0 0 72% 0); transform: translateX(-8px); }
	45% { clip-path: inset(34% 0 42% 0); transform: translateX(8px); }
	100% { clip-path: inset(74% 0 0 0); transform: translateX(0); }
}

@keyframes rtph-text-split {
	0% { text-shadow: none; transform: translateZ(0); }
	50% { text-shadow: 2px 0 var(--rtph-accent), -2px 0 rgba(48,168,255,.62); transform: translateX(var(--rtph-glitch-x, 1px)); }
	100% { text-shadow: none; transform: translateZ(0); }
}

@media (prefers-reduced-motion: reduce) {
	.rtph-legacy-glitch-burst,
	.rtph-legacy-glitch-burst .rtph-title,
	.rtph-legacy-glitch-burst .rtph-countdown,
	.rtph-button,
	.rtph-close {
		animation: none !important;
		transition: none !important;
	}
}

@media (max-width: 782px) {
	.rtph-position-page {
		position: fixed;
	}

	.rtph-hud {
		left: 12px !important;
		right: 12px !important;
		width: auto;
		max-width: none;
		padding: 14px;
		border-left-width: 1px;
		border-right-width: 1px;
	}

	.rtph-height-custom {
		height: auto;
		max-height: calc(100vh - 28px);
	}

	.rtph-mobile-bottom {
		top: auto !important;
		bottom: 14px !important;
		transform: none !important;
	}

	.rtph-mobile-top {
		top: 14px !important;
		bottom: auto !important;
		transform: none !important;
	}

	.rtph-mobile-hidden {
		display: none !important;
	}

	.rtph-header {
		margin-bottom: 8px;
	}

	.rtph-title {
		font-size: 20px;
	}

	.rtph-text {
		font-size: 12.5px;
		margin-bottom: 12px;
	}

	.rtph-countdown {
		font-size: 21px;
		margin-bottom: 12px;
	}

	.rtph-media img {
		max-height: 125px;
	}

	.rtph-media-mobile-hidden {
		display: none;
	}
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.rtph-hud {
		background: rgba(8,10,12,.94);
	}
}

/* v1.2 cinematic light glitch + fire ambience -------------------------------- */
.rtph-fx {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	contain: paint;
}

.rtph-fx-light,
.rtph-fx-tear {
	z-index: 4;
	mix-blend-mode: screen;
}

.rtph-fx-light {
	inset: -28% -42%;
	background:
		linear-gradient(102deg, transparent 0 34%, rgba(125,184,255,.10) 40%, rgba(255,255,255,.88) 47%, rgba(255,137,72,.58) 51%, rgba(255,255,255,.36) 55%, transparent 66% 100%),
		radial-gradient(ellipse at 48% 50%, rgba(255,255,255,.32), transparent 42%);
	filter: blur(8px) saturate(1.2);
	transform: translateX(-96%) skewX(-12deg);
}

.rtph-fx-tear {
	background:
		linear-gradient(90deg, rgba(100,170,255,.24), transparent 28%, rgba(255,255,255,.22) 47%, color-mix(in srgb, var(--rtph-accent) 42%, transparent) 58%, transparent 78%),
		repeating-linear-gradient(180deg, transparent 0 17px, rgba(255,255,255,.12) 18px 20px, transparent 21px 34px);
	filter: saturate(1.35) contrast(1.12);
	clip-path: inset(38% 0 41% 0);
	transform: translateX(-6px);
}

.rtph-fx-fire,
.rtph-fx-embers {
	z-index: 1;
}

.rtph-fx-fire {
	inset: auto -18% -28% -18%;
	height: 64%;
	background:
		radial-gradient(ellipse at 22% 100%, rgba(255,80,20,.36), transparent 56%),
		radial-gradient(ellipse at 52% 100%, rgba(255,158,54,.32), transparent 58%),
		radial-gradient(ellipse at 82% 100%, rgba(255,74,14,.24), transparent 52%);
	filter: blur(16px) saturate(1.18);
	mix-blend-mode: screen;
}

.rtph-fx-fire span {
	position: absolute;
	bottom: 2%;
	width: 34%;
	height: 72%;
	border-radius: 50% 50% 44% 44%;
	background: radial-gradient(ellipse at 50% 100%, rgba(255,211,105,.28), rgba(255,89,22,.18) 42%, transparent 70%);
	filter: blur(8px);
	transform-origin: 50% 100%;
}

.rtph-fx-fire span:nth-child(1) { left: 0; animation-delay: -1.1s; }
.rtph-fx-fire span:nth-child(2) { left: 31%; width: 42%; animation-delay: -2.4s; }
.rtph-fx-fire span:nth-child(3) { right: 0; animation-delay: -.35s; }

.rtph-fire-glow .rtph-fx-fire,
.rtph-fire-embers .rtph-fx-fire {
	opacity: .72;
	animation: rtph-fire-breathe 4.4s ease-in-out infinite;
}

.rtph-fire-glow .rtph-fx-fire span,
.rtph-fire-embers .rtph-fx-fire span {
	animation-name: rtph-fire-flame;
	animation-duration: 3.2s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

.rtph-fire-embers .rtph-fx-embers {
	opacity: .88;
	mix-blend-mode: screen;
}

.rtph-fx-embers i {
	position: absolute;
	bottom: 5%;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: rgba(255,164,68,.9);
	box-shadow: 0 0 12px rgba(255,102,30,.78);
	opacity: 0;
}

.rtph-fx-embers i:nth-child(1) { left: 14%; animation: rtph-ember-rise 6.4s linear infinite; animation-delay: -1.2s; }
.rtph-fx-embers i:nth-child(2) { left: 37%; animation: rtph-ember-rise 7.6s linear infinite; animation-delay: -4.6s; }
.rtph-fx-embers i:nth-child(3) { left: 58%; animation: rtph-ember-rise 5.9s linear infinite; animation-delay: -2.7s; }
.rtph-fx-embers i:nth-child(4) { left: 76%; animation: rtph-ember-rise 8.2s linear infinite; animation-delay: -6.1s; }
.rtph-fx-embers i:nth-child(5) { left: 88%; animation: rtph-ember-rise 6.9s linear infinite; animation-delay: -3.8s; }

.rtph-fx-light-active .rtph-fx-light {
	opacity: calc(.72 * var(--rtph-fx-boost, 1));
	animation: rtph-light-burst 360ms cubic-bezier(.2,.8,.2,1) both;
}

.rtph-fx-sweep-active .rtph-fx-light {
	opacity: calc(.48 * var(--rtph-fx-boost, 1));
	animation: rtph-glass-sweep 680ms cubic-bezier(.16,.72,.17,1) both;
}

.rtph-fx-tear-active .rtph-fx-tear {
	opacity: calc(.82 * var(--rtph-fx-boost, 1));
	animation: rtph-signal-tear 360ms steps(2, end) both;
}

.rtph-fx-pulse-active {
	animation: rtph-hud-pulse 360ms steps(2, end) both;
}

.rtph-fx-tear-active .rtph-title,
.rtph-fx-tear-active .rtph-countdown,
.rtph-fx-tear-active .rtph-button {
	animation: rtph-hud-text-kick 360ms steps(2, end) both;
}

.rtph-fx-light-active .rtph-edge-top,
.rtph-fx-sweep-active .rtph-edge-top,
.rtph-fx-tear-active .rtph-edge-top,
.rtph-fx-light-active .rtph-label,
.rtph-fx-sweep-active .rtph-label,
.rtph-fx-tear-active .rtph-label {
	filter: brightness(1.35) saturate(1.18);
}

.rtph-glitch-strength-low.rtph-fx-light-active .rtph-fx-light,
.rtph-glitch-strength-low.rtph-fx-tear-active .rtph-fx-tear,
.rtph-glitch-strength-low.rtph-fx-pulse-active,
.rtph-glitch-strength-low.rtph-fx-tear-active .rtph-title,
.rtph-glitch-strength-low.rtph-fx-tear-active .rtph-countdown,
.rtph-glitch-strength-low.rtph-fx-tear-active .rtph-button {
	animation-duration: 260ms;
}

.rtph-glitch-strength-high.rtph-fx-light-active .rtph-fx-light,
.rtph-glitch-strength-high.rtph-fx-tear-active .rtph-fx-tear,
.rtph-glitch-strength-high.rtph-fx-pulse-active,
.rtph-glitch-strength-high.rtph-fx-tear-active .rtph-title,
.rtph-glitch-strength-high.rtph-fx-tear-active .rtph-countdown,
.rtph-glitch-strength-high.rtph-fx-tear-active .rtph-button {
	animation-duration: 480ms;
}

@keyframes rtph-light-burst {
	0% { transform: translateX(-98%) skewX(-12deg); opacity: 0; }
	18% { opacity: calc(.86 * var(--rtph-fx-boost, 1)); }
	48% { opacity: calc(.46 * var(--rtph-fx-boost, 1)); }
	100% { transform: translateX(98%) skewX(-12deg); opacity: 0; }
}

@keyframes rtph-glass-sweep {
	0% { transform: translateX(-105%) skewX(-18deg); opacity: 0; filter: blur(10px) saturate(1.05); }
	30% { opacity: calc(.46 * var(--rtph-fx-boost, 1)); }
	100% { transform: translateX(105%) skewX(-18deg); opacity: 0; filter: blur(7px) saturate(1.3); }
}

@keyframes rtph-signal-tear {
	0% { clip-path: inset(0 0 76% 0); transform: translateX(-9px); }
	33% { clip-path: inset(33% 0 48% 0); transform: translateX(7px); }
	66% { clip-path: inset(57% 0 26% 0); transform: translateX(-5px); }
	100% { clip-path: inset(88% 0 0 0); transform: translateX(0); opacity: 0; }
}

@keyframes rtph-hud-pulse {
	0% { filter: none; }
	38% { filter: brightness(1.18) contrast(1.08) saturate(1.08); }
	72% { filter: brightness(.96) contrast(1.15) saturate(1.18); }
	100% { filter: none; }
}

@keyframes rtph-hud-text-kick {
	0% { text-shadow: none; transform: translateZ(0); }
	45% { text-shadow: 1px 0 rgba(117,182,255,.82), -1px 0 color-mix(in srgb, var(--rtph-accent) 86%, #fff); transform: translateX(var(--rtph-glitch-x, 1px)); }
	100% { text-shadow: none; transform: translateZ(0); }
}

@keyframes rtph-fire-breathe {
	0%, 100% { transform: translateY(1px) scaleX(1); filter: blur(17px) saturate(1.08); opacity: .55; }
	45% { transform: translateY(-4px) scaleX(1.05); filter: blur(14px) saturate(1.35); opacity: .84; }
	70% { transform: translateY(-1px) scaleX(.98); opacity: .66; }
}

@keyframes rtph-fire-flame {
	0%, 100% { transform: scaleY(.84) skewX(-3deg); opacity: .55; }
	50% { transform: scaleY(1.12) skewX(5deg); opacity: .92; }
}

@keyframes rtph-ember-rise {
	0% { transform: translate3d(0, 0, 0) scale(.6); opacity: 0; }
	12% { opacity: .86; }
	72% { opacity: .34; }
	100% { transform: translate3d(18px, -138px, 0) scale(.15); opacity: 0; }
}

@media (max-width: 782px) {
	.rtph-mobile-reduce-fx .rtph-fx-embers,
	.rtph-mobile-fx-reduced-active .rtph-fx-embers {
		display: none;
	}

	.rtph-mobile-reduce-fx.rtph-fire-glow .rtph-fx-fire,
	.rtph-mobile-reduce-fx.rtph-fire-embers .rtph-fx-fire {
		opacity: .34;
		animation-duration: 6.8s;
	}

	.rtph-mobile-fx-reduced-active.rtph-fx-tear-active .rtph-fx-tear,
	.rtph-mobile-fx-reduced-active.rtph-fx-pulse-active {
		animation: none !important;
	}
}


/* v1.2.1 live reliability + stronger cinematic ambience ---------------------- */
.rtph-js-ready.rtph-fire-glow,
.rtph-js-ready.rtph-fire-embers {
	box-shadow:
		0 24px 80px rgba(0,0,0,.52),
		0 0 58px rgba(255,92,24,.12),
		inset 0 -28px 58px rgba(255,78,16,.13),
		inset 0 1px 0 rgba(255,255,255,.13),
		inset 0 0 0 1px rgba(255,255,255,.035);
}

.rtph-js-ready.rtph-fire-glow .rtph-fx-fire,
.rtph-js-ready.rtph-fire-embers .rtph-fx-fire {
	opacity: .92;
	animation: rtph-fire-breathe 3.8s ease-in-out infinite;
}

.rtph-js-ready.rtph-fire-embers .rtph-fx-embers {
	opacity: 1;
	z-index: 3;
	mix-blend-mode: screen;
}

.rtph-js-ready.rtph-fire-embers .rtph-fx-embers i {
	width: 4px;
	height: 4px;
}

.rtph-js-ready.rtph-fx-light-active .rtph-fx-light {
	opacity: calc(.92 * var(--rtph-fx-boost, 1));
}

.rtph-js-ready.rtph-fx-tear-active .rtph-fx-tear {
	opacity: calc(.96 * var(--rtph-fx-boost, 1));
}

.rtph-fx-burst-active .rtph-edge-top,
.rtph-fx-burst-active .rtph-edge-bottom {
	animation: rtph-edge-flash 420ms ease-out both;
}

.rtph-fx-burst-active .rtph-countdown {
	box-shadow:
		inset 0 0 28px rgba(255,255,255,.1),
		0 0 24px color-mix(in srgb, var(--rtph-accent) 34%, transparent);
}

@keyframes rtph-edge-flash {
	0% { opacity: .45; filter: none; }
	36% { opacity: 1; filter: brightness(2.4) saturate(1.4); }
	100% { opacity: .54; filter: none; }
}

/* Keep explicit admin-enabled FX alive even on systems with reduced motion.
   We soften via JS instead of silently disabling, because otherwise it looks broken. */
@media (prefers-reduced-motion: reduce) {
	.rtph-reduced-motion-detected.rtph-fire-glow .rtph-fx-fire,
	.rtph-reduced-motion-detected.rtph-fire-embers .rtph-fx-fire {
		animation-duration: 7s;
		opacity: .58;
	}

	.rtph-reduced-motion-detected.rtph-fire-embers .rtph-fx-embers i {
		animation-duration: 10s;
	}
}
