/* 鼠标光标特效 - 自定义光标跟随 */
.cursor-wrapper {
	position: fixed;
	pointer-events: none;
	z-index: 99999;
}

.cursor-dot {
	position: absolute;
	width: 8px;
	height: 8px;
	background: var(--color);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: background 0.3s;
}

.cursor-ring {
	position: absolute;
	width: var(--width);
	height: var(--height);
	transform: translate(-50%, -50%);
	transition: width 0.3s, height 0.3s, border-radius 0.3s;
}

.cursor-ring::before,
.cursor-ring::after,
.cursor-ring .corner-tl,
.cursor-ring .corner-tr {
	content: '';
	position: absolute;
	width: 15px;
	height: 15px;
	border-color: var(--color);
	border-style: solid;
	transition: border-color 0.3s;
}

.cursor-ring::before { top: 0; left: 0; border-width: 3px 0 0 3px; border-radius: 5px 0 0 0; }
.cursor-ring::after { top: 0; right: 0; border-width: 3px 3px 0 0; border-radius: 0 5px 0 0; }
.cursor-ring .corner-tl { bottom: 0; left: 0; border-width: 0 0 3px 3px; border-radius: 0 0 0 5px; }
.cursor-ring .corner-tr { bottom: 0; right: 0; border-width: 0 3px 3px 0; border-radius: 0 0 5px 0; }

body { cursor: none; }
._target { cursor: none; }
