/**
 * 作者卡片顶部 SVG 装饰：文章/工具详情侧栏 + 作者公开页 Hero（与侧栏动效、悬停一致）.
 */

.leafs-reading-detail .leafs-author-card__deco,
.leafs-author-public__hero .leafs-author-card__deco {
	height: 60px;
	width: 100%;
	flex-shrink: 0;
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--leafs-brand) 32%, transparent) 0%,
		color-mix(in srgb, var(--leafs-brand) 8%, transparent) 55%,
		transparent 100%
	);
	pointer-events: none;
}

.leafs-reading-detail .leafs-author-card__deco-svg,
.leafs-author-public__hero .leafs-author-card__deco-svg {
	display: block;
	width: 100%;
	height: 100%;
	color: var(--leafs-brand);
}

.leafs-reading-detail .leafs-author-card__deco-wave,
.leafs-author-public__hero .leafs-author-card__deco-wave {
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke-opacity 0.25s ease;
}

.leafs-reading-detail .leafs-author-card__deco-wave--1,
.leafs-author-public__hero .leafs-author-card__deco-wave--1 {
	stroke-width: 2.35;
	stroke-opacity: 0.62;
	stroke-dasharray: 12 20;
	animation: leafs-author-deco-flow 8s linear infinite;
}

.leafs-reading-detail .leafs-author-card__deco-wave--2,
.leafs-author-public__hero .leafs-author-card__deco-wave--2 {
	stroke-width: 1.75;
	stroke-opacity: 0.48;
	stroke-dasharray: 8 24;
	animation: leafs-author-deco-flow-rev 11s linear infinite;
}

.leafs-reading-detail .leafs-author-card__deco-wave--3,
.leafs-author-public__hero .leafs-author-card__deco-wave--3 {
	stroke-width: 1.45;
	stroke-opacity: 0.52;
	stroke-dasharray: 5 14;
	animation: leafs-author-deco-flow 6.5s linear infinite;
	animation-delay: -1.5s;
}

.leafs-reading-detail .leafs-author-card__deco-wave--4,
.leafs-author-public__hero .leafs-author-card__deco-wave--4 {
	stroke-width: 1.1;
	stroke-opacity: 0.38;
	stroke-dasharray: 4 18;
	animation: leafs-author-deco-flow-rev 9s linear infinite;
	animation-delay: -3s;
}

@keyframes leafs-author-deco-flow {
	to {
		stroke-dashoffset: -96;
	}
}

@keyframes leafs-author-deco-flow-rev {
	to {
		stroke-dashoffset: 96;
	}
}

.leafs-reading-detail .leafs-author-card.leafs-author-card--enhanced:hover .leafs-author-card__deco-wave--1,
.leafs-author-public__hero:hover .leafs-author-card__deco-wave--1 {
	stroke-opacity: 0.92;
	animation-duration: 2.1s;
}

.leafs-reading-detail .leafs-author-card.leafs-author-card--enhanced:hover .leafs-author-card__deco-wave--2,
.leafs-author-public__hero:hover .leafs-author-card__deco-wave--2 {
	stroke-opacity: 0.78;
	animation-duration: 2.8s;
}

.leafs-reading-detail .leafs-author-card.leafs-author-card--enhanced:hover .leafs-author-card__deco-wave--3,
.leafs-author-public__hero:hover .leafs-author-card__deco-wave--3 {
	stroke-opacity: 0.82;
	animation-duration: 1.85s;
}

.leafs-reading-detail .leafs-author-card.leafs-author-card--enhanced:hover .leafs-author-card__deco-wave--4,
.leafs-author-public__hero:hover .leafs-author-card__deco-wave--4 {
	stroke-opacity: 0.62;
	animation-duration: 2.4s;
}

.leafs-reading-detail .leafs-author-card__deco-dot,
.leafs-author-public__hero .leafs-author-card__deco-dot {
	fill: currentColor;
	opacity: 0.45;
}

.leafs-reading-detail .leafs-author-card__deco-dot--a,
.leafs-author-public__hero .leafs-author-card__deco-dot--a {
	animation: leafs-author-dot-pulse 2.2s ease-in-out infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--b,
.leafs-author-public__hero .leafs-author-card__deco-dot--b {
	animation: leafs-author-dot-pulse 2.5s ease-in-out 0.35s infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--c,
.leafs-author-public__hero .leafs-author-card__deco-dot--c {
	animation: leafs-author-dot-pulse 2.8s ease-in-out 0.15s infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--d,
.leafs-author-public__hero .leafs-author-card__deco-dot--d {
	animation: leafs-author-dot-pulse 2.4s ease-in-out 0.65s infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--e,
.leafs-author-public__hero .leafs-author-card__deco-dot--e {
	animation: leafs-author-dot-pulse 3s ease-in-out 0.5s infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--f,
.leafs-author-public__hero .leafs-author-card__deco-dot--f {
	animation: leafs-author-dot-pulse 2.6s ease-in-out 0.9s infinite;
}

.leafs-reading-detail .leafs-author-card__deco-dot--g,
.leafs-author-public__hero .leafs-author-card__deco-dot--g {
	animation: leafs-author-dot-pulse 2.3s ease-in-out 1.1s infinite;
}

@keyframes leafs-author-dot-pulse {
	0%,
	100% {
		opacity: 0.28;
	}
	50% {
		opacity: 0.95;
	}
}

@media (max-width: 1024px) {
	.leafs-reading-detail .leafs-author-card__deco,
	.leafs-author-public__hero .leafs-author-card__deco {
		height: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.leafs-reading-detail .leafs-author-card__deco-wave,
	.leafs-author-public__hero .leafs-author-card__deco-wave {
		animation: none !important;
	}

	.leafs-reading-detail .leafs-author-card__deco-dot,
	.leafs-author-public__hero .leafs-author-card__deco-dot {
		animation: none !important;
		opacity: 0.5;
	}
}

@supports not (color: color-mix(in srgb, black 50%, white)) {
	.leafs-reading-detail .leafs-author-card__deco,
	.leafs-author-public__hero .leafs-author-card__deco {
		background: linear-gradient(180deg, rgba(45, 106, 79, 0.22) 0%, rgba(45, 106, 79, 0.06) 55%, transparent 100%);
	}
}
