/* Loading curtain only — classic homepage “正在开启闻思修旅程” */

html.ausbia-loading-active,
body.ausbia-loading-active {
	overflow: hidden;
}

.karot-loading {
	position: fixed;
	inset: 0;
	background: #f5f5f0;
	color: #fffaf0;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	overflow: hidden;
}

.karot-loading.is-hidden {
	opacity: 0;
	visibility: hidden;
}

.karot-loading.is-opening {
	overflow: hidden;
	background: transparent;
	pointer-events: none;
}

.karot-loading.is-opening .karot-loading__mask--up {
	animation: karot-loading-mask-open-top 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.karot-loading.is-opening .karot-loading__mask--down {
	animation: karot-loading-mask-open-bottom 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.karot-loading.is-opening .karot-loading__line {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.karot-loading.is-opening .karot-loading__logo,
.karot-loading.is-opening .karot-loading__progress,
.karot-loading.is-opening .karot-loading__hint {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.karot-loading__mask {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 50%;
	overflow: hidden;
	z-index: 10;
}

.karot-loading__mask--up {
	top: 0;
}

.karot-loading__mask--down {
	bottom: 0;
}

.karot-loading__mask svg {
	display: block;
	width: 100%;
	height: 100%;
}

.karot-loading__line {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 11;
	width: 100%;
	height: 122.4px;
	transform: translateY(-50%);
	opacity: 1;
	pointer-events: none;
}

.karot-loading__logo {
	display: none;
}

.karot-loading__progress {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 12;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	transform: translate(-50%, -50%);
}

.karot-loading__progress-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.karot-loading__progress-title,
.karot-loading__progress-percent {
	margin: 0;
	color: #4a4a4a;
	font-family: "Courier New", monospace;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.karot-loading__hint {
	position: relative;
	z-index: 5;
	color: #000000;
	font-size: 0.95rem;
}

@keyframes karot-loading-mask-open-top {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-120%);
	}
}

@keyframes karot-loading-mask-open-bottom {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(120%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.karot-loading.is-opening .karot-loading__mask--up,
	.karot-loading.is-opening .karot-loading__mask--down {
		animation-duration: 0.01ms !important;
	}
}
