.flex-layout:has(.nova-cursor) {
	overflow: hidden;
}

.nova-cursor {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: max(.75rem, calc(.8125 * var(--su)));
	height: auto;
	aspect-ratio: 1;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	--cursor-line: var(--white-100);
	--cursor-dot: var(--white-100);
	--cursor-text: var(--white-100);
}

.nova-cursor::before,
.nova-cursor::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	opacity: .3;
	background-color: var(--cursor-line);
}

.nova-cursor::before {
	width: 200vw;
	height: 1px;
}

.nova-cursor::after {
	width: 1px;
	height: 200vh;
}

.nova-cursor .dot {
	position: absolute;
	z-index: 1;
	inset: 0;
	border-radius: 50%;
	background-color: var(--cursor-dot);
}

.nova-cursor .value {
	position: absolute;
	z-index: 1;
	font-family: 'Spline Sans Mono';
	font-size: var(--incidental-label-fontsize);
	line-height: 1.4;
	color: var(--cursor-text);
	white-space: nowrap;
}

.nova-cursor .value-x {
	left: 100%;
	bottom: 100%;
	margin-left: max(.25rem, calc(.25 * var(--su)));
	margin-bottom: max(.25rem, calc(.25 * var(--su)));
}

.nova-cursor .value-y {
	right: 100%;
	top: 100%;
	margin-right: max(.25rem, calc(.25 * var(--su)));
	margin-top: max(.25rem, calc(.25 * var(--su)));
}

