/* Фон входа и 404: всегда тёмный, три размытых пятна цвета темы медленно
   плывут, поверх — волна (waves.js). При ограничении движения стоят. */
.aura {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.aura i {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: 0.55;
	will-change: transform;
}

.aura i:nth-child(1) {
	top: -140px;
	left: -120px;
	width: 520px;
	height: 520px;
	background: var(--accent);
	animation: auraDrift1 14s ease-in-out infinite alternate;
}

.aura i:nth-child(2) {
	top: 30%;
	right: 8%;
	width: 420px;
	height: 420px;
	background: color-mix(in srgb, var(--accent) 55%, #3db8f5);
	opacity: 0.4;
	animation: auraDrift2 17s ease-in-out infinite alternate;
}

.aura i:nth-child(3) {
	bottom: -180px;
	left: 25%;
	width: 380px;
	height: 380px;
	background: color-mix(in srgb, var(--accent) 60%, #ec4899);
	opacity: 0.35;
	animation: auraDrift3 15s ease-in-out infinite alternate;
}

.aura canvas.waves {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

@keyframes auraDrift1 { to { transform: translate(180px, 140px) scale(1.15); } }
@keyframes auraDrift2 { to { transform: translate(-200px, -120px) scale(0.9); } }
@keyframes auraDrift3 { to { transform: translate(140px, -160px) scale(1.2); } }

@media (prefers-reduced-motion: reduce) {
	.aura i { animation: none; }
}

.dark-stage {
	--stage-text: #eceef4;
	--stage-muted: rgba(236, 238, 244, 0.6);
	--stage-faint: rgba(236, 238, 244, 0.35);
	color-scheme: dark;
	background: #0a0b0f;
	color: var(--stage-text);
}

.stage-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-decoration: none;
}
