/**
 * CryptoMag custom cursor — live-tick follower (desktop only).
 */

html.cryptomag-cursor-active body {
	cursor: none;
}

html.cryptomag-cursor-active a,
html.cryptomag-cursor-active button,
html.cryptomag-cursor-active [role="button"],
html.cryptomag-cursor-active label,
html.cryptomag-cursor-active summary,
html.cryptomag-cursor-active .cryptomag-ticker-item,
html.cryptomag-cursor-active .cryptomag-markets-page__sort {
	cursor: none;
}

html.cryptomag-cursor-active input,
html.cryptomag-cursor-active textarea,
html.cryptomag-cursor-active select,
html.cryptomag-cursor-active [contenteditable="true"] {
	cursor: text;
}

html.cryptomag-cursor-active.cryptomag-cursor-over-chart body,
html.cryptomag-cursor-active.cryptomag-cursor-over-chart [data-chart-hit],
html.cryptomag-cursor-active.cryptomag-cursor-over-chart .cryptomag-market-coin__chart,
html.cryptomag-cursor-active.cryptomag-cursor-over-chart .cryptomag-article-market__chart {
	cursor: crosshair;
}

.cryptomag-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	pointer-events: none;
	opacity: 0;
	transform: translate3d(-100px, -100px, 0);
	transition: opacity 0.2s ease;
	will-change: transform;
}

.cryptomag-cursor.is-visible {
	opacity: 1;
}

.cryptomag-cursor.is-hidden {
	opacity: 0;
}

.cryptomag-cursor__ring,
.cryptomag-cursor__dot {
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 9999px;
	transform: translate(-50%, -50%);
}

.cryptomag-cursor__ring {
	width: 28px;
	height: 28px;
	border: 2px solid rgba(19, 128, 133, 0.55);
	background: rgba(35, 255, 107, 0.08);
	transition: width 0.2s ease, height 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.cryptomag-cursor__dot {
	width: 8px;
	height: 8px;
	background: #23ff6b;
	box-shadow: 0 0 0 1px rgba(17, 18, 20, 0.12), 0 0 14px rgba(35, 255, 107, 0.45);
	transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.cryptomag-cursor.is-hover .cryptomag-cursor__ring {
	width: 40px;
	height: 40px;
	border-color: rgba(255, 151, 0, 0.75);
	background: rgba(255, 151, 0, 0.1);
}

.cryptomag-cursor.is-hover .cryptomag-cursor__dot {
	transform: translate(-50%, -50%) scale(1.15);
	background: #ff9700;
	box-shadow: 0 0 0 1px rgba(17, 18, 20, 0.12), 0 0 16px rgba(255, 151, 0, 0.45);
}

.cryptomag-cursor.is-pressed .cryptomag-cursor__ring {
	width: 22px;
	height: 22px;
}

.cryptomag-cursor.is-pressed .cryptomag-cursor__dot {
	transform: translate(-50%, -50%) scale(0.85);
}

@media (prefers-reduced-motion: reduce) {
	.cryptomag-cursor {
		display: none !important;
	}

	html.cryptomag-cursor-active body,
	html.cryptomag-cursor-active a,
	html.cryptomag-cursor-active button {
		cursor: auto;
	}
}
