/*
 * 灵犀博客 /blog/luck — v2 浅色阅读向（高对比、长文友好）
 * 深色版备份：luck-blog.css.bak-20260404
 */
:root {
	--lb-page: #eef2f7;
	--lb-page-accent: linear-gradient(180deg, #f5f3ff 0%, #eef2f7 38%, #e8edf4 100%);
	--lb-surface: #ffffff;
	--lb-surface-2: #f8fafc;
	--lb-text: #0f172a;
	--lb-text-body: #334155;
	--lb-muted: #64748b;
	--lb-border: #e2e8f0;
	--lb-border-strong: #cbd5e1;
	--lb-accent: #6d28d9;
	--lb-accent-hover: #5b21b6;
	--lb-accent-soft: #ede9fe;
	--lb-accent-wash: rgba(109, 40, 217, 0.06);
	--lb-warn: #b45309;
	--lb-font: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
	--lb-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 4px 12px rgba(15, 23, 42, 0.04);
	--lb-shadow-hover: 0 8px 24px rgba(15, 23, 42, 0.08);
}

* { box-sizing: border-box; }

body.luck-blog {
	margin: 0;
	font-family: var(--lb-font);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--lb-text-body);
	background: var(--lb-page-accent);
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--lb-accent);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.15s, border-color 0.15s;
}
a:hover {
	color: var(--lb-accent-hover);
	border-bottom-color: rgba(91, 33, 182, 0.35);
}

/* 顶栏：白底 + 清晰分隔 */
.lb-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--lb-border);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}
.lb-header__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.lb-brand {
	font-weight: 800;
	font-size: 1.2rem;
	color: var(--lb-text);
	letter-spacing: 0.03em;
	border-bottom: none;
}
.lb-brand:hover { border-bottom: none; }
.lb-brand span {
	color: var(--lb-accent);
	font-weight: 800;
}
.lb-nav {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 0.95rem;
	font-weight: 600;
}
.lb-nav a {
	color: var(--lb-muted);
	font-weight: 600;
	border-bottom: none;
}
.lb-nav a:hover {
	color: var(--lb-text);
}
.lb-header__tools { margin-left: auto; }

.lb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.9rem;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.2s, background 0.15s;
}
.lb-btn--primary {
	background: linear-gradient(135deg, #7c3aed, #6d28d9);
	color: #fff;
	border-color: rgba(109, 40, 217, 0.4);
	box-shadow: 0 4px 14px rgba(91, 33, 182, 0.25);
}
.lb-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(91, 33, 182, 0.3);
	color: #fff;
	border-bottom: none;
}
.lb-btn--ghost {
	background: var(--lb-surface);
	color: var(--lb-text);
	border-color: var(--lb-border-strong);
	box-shadow: var(--lb-shadow);
}
.lb-btn--ghost:hover {
	background: var(--lb-surface-2);
	border-bottom: none;
	color: var(--lb-text);
}

.lb-main {
	max-width: 1100px;
	margin: 0 auto;
	padding: 32px 20px 88px;
}

/* Hero：浅紫雾面卡片 */
.lb-hero {
	position: relative;
	border-radius: 20px;
	padding: 40px 32px;
	overflow: hidden;
	margin-bottom: 40px;
	border: 1px solid var(--lb-border);
	background: linear-gradient(135deg, #ffffff 0%, #faf8ff 45%, #f5f3ff 100%);
	box-shadow: var(--lb-shadow);
}
.lb-hero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(90deg, rgba(109, 40, 217, 0.04) 1px, transparent 1px),
		linear-gradient(rgba(109, 40, 217, 0.04) 1px, transparent 1px);
	background-size: 24px 24px;
	opacity: 0.9;
	pointer-events: none;
}
.lb-hero__content { position: relative; z-index: 1; max-width: 44rem; }
.lb-kicker {
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lb-muted);
	margin: 0 0 12px;
	font-weight: 700;
}
.lb-hero h1 {
	margin: 0 0 16px;
	font-size: clamp(1.65rem, 4vw, 2.1rem);
	line-height: 1.25;
	color: var(--lb-text);
	font-weight: 800;
}
.lb-lead {
	margin: 0 0 22px;
	color: var(--lb-muted);
	font-size: 1.08rem;
	line-height: 1.75;
	max-width: 40rem;
}
.lb-lead a { color: var(--lb-accent); }
.lb-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }

.lb-section { margin-bottom: 44px; }
.lb-section--dim {
	padding: 28px;
	border-radius: 16px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
}
.lb-h2 {
	font-size: 1.2rem;
	margin: 0 0 18px;
	padding-left: 14px;
	border-left: 4px solid var(--lb-accent);
	color: var(--lb-text);
	font-weight: 800;
}

.lb-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}
.lb-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px;
	border-radius: 16px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	transition: transform 0.15s, box-shadow 0.2s;
}
.lb-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--lb-shadow-hover);
	border-color: var(--lb-border-strong);
}
.lb-card--color { --card-accent: #7c3aed; }
.lb-card__swatch {
	width: 100%;
	height: 12px;
	border-radius: 8px;
	background: var(--card-accent);
	box-shadow: 0 2px 12px color-mix(in srgb, var(--card-accent) 35%, transparent);
}
.lb-card__name { font-weight: 800; font-size: 1.08rem; color: var(--lb-text); }
.lb-card__meta { font-size: 0.8rem; color: var(--lb-muted); font-family: ui-monospace, monospace; }
.lb-card__teaser { font-size: 0.92rem; color: var(--lb-text-body); line-height: 1.6; }
.lb-more { margin-top: 18px; font-weight: 700; font-size: 0.95rem; }

.lb-toc { list-style: none; padding: 0; margin: 0; }
.lb-toc li { padding: 12px 0; border-bottom: 1px solid var(--lb-border); }
.lb-toc li:last-child { border-bottom: none; }
.lb-toc a { color: var(--lb-text); font-weight: 600; border-bottom: none; }
.lb-toc a:hover { color: var(--lb-accent); }
.lb-muted { color: var(--lb-muted); font-size: 0.95rem; }

/* 色谱页 */
.lb-page-head { margin-bottom: 32px; }
.lb-page-head h1 {
	margin: 0 0 12px;
	font-size: 1.75rem;
	color: var(--lb-text);
	font-weight: 800;
	line-height: 1.3;
}
.lb-page-head .lb-lead { margin: 0; }
.lb-hue-framework {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--lb-text-body);
	background: var(--lb-surface-2);
	border: 1px solid var(--lb-border);
	max-width: 52rem;
}
.lb-family-hue {
	font-weight: 800;
	color: var(--lb-accent);
	margin-right: 2px;
}

.lb-spectrum {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
	gap: 16px;
}
.lb-swatch {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 16px 14px 18px;
	border-radius: 16px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	overflow: hidden;
	transition: transform 0.15s, box-shadow 0.2s;
	color: inherit;
	border-bottom: none;
}
.lb-swatch:hover {
	transform: translateY(-3px);
	box-shadow: var(--lb-shadow-hover);
	color: inherit;
}
.lb-swatch__face {
	height: 60px;
	border-radius: 12px;
	background: var(--sw);
	box-shadow:
		inset 0 0 0 1px rgba(15, 23, 42, 0.06),
		0 6px 20px color-mix(in srgb, var(--sw) 30%, transparent);
}
.lb-swatch__label {
	margin-top: 12px;
	font-weight: 800;
	font-size: 1.02rem;
	color: var(--lb-text);
}
.lb-swatch__hex {
	font-size: 0.78rem;
	color: var(--lb-muted);
	font-family: ui-monospace, monospace;
}
.lb-hub-hint { margin-top: 28px; color: var(--lb-muted); font-size: 0.92rem; }

/* 色谱：色系与筛选 */
.lb-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}
.lb-filter-btn {
	padding: 8px 16px;
	border-radius: 999px;
	border: 1px solid var(--lb-border);
	background: var(--lb-surface);
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--lb-text-body);
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.lb-filter-btn:hover {
	border-color: var(--lb-accent);
	color: var(--lb-accent);
}
.lb-filter-btn.is-active {
	background: color-mix(in srgb, var(--lb-accent) 14%, transparent);
	border-color: var(--lb-accent);
	color: var(--lb-accent);
}

.lb-family-section {
	margin-bottom: 40px;
	scroll-margin-top: 88px;
}
.lb-family-head {
	margin-bottom: 16px;
}
.lb-family-head__title {
	margin: 0 0 8px;
	font-size: 1.28rem;
	font-weight: 800;
	color: var(--lb-text);
}
.lb-family-head__desc {
	margin: 0;
	font-size: 0.95rem;
	color: var(--lb-muted);
	line-height: 1.55;
	max-width: 52rem;
}

.lb-color-sibling-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.lb-color-sibling {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	min-width: 200px;
	flex: 1 1 200px;
	border-bottom: none;
	color: inherit;
	transition: transform 0.15s, box-shadow 0.2s;
}
.lb-color-sibling:hover {
	transform: translateY(-2px);
	box-shadow: var(--lb-shadow-hover);
	color: inherit;
}
.lb-color-sibling__sw {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	flex-shrink: 0;
	background: var(--sw);
	box-shadow:
		inset 0 0 0 1px rgba(15, 23, 42, 0.06),
		0 4px 14px color-mix(in srgb, var(--sw) 28%, transparent);
}
.lb-color-sibling__name {
	font-weight: 800;
	font-size: 1rem;
	color: var(--lb-text);
}
.lb-color-sibling__hex {
	font-size: 0.78rem;
	color: var(--lb-muted);
	font-family: ui-monospace, monospace;
	margin-left: auto;
}

/* 色谱：全局阅读说明卡片 */
.lb-notice-card {
	margin: 0 0 22px;
	padding: 16px 18px 18px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--lb-warn) 8%, var(--lb-surface));
	border: 1px solid color-mix(in srgb, var(--lb-warn) 28%, var(--lb-border));
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.lb-notice-card__label {
	margin: 0 0 10px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lb-muted);
}
.lb-notice-card__body {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.65;
	color: var(--lb-text-body);
}
.lb-notice-card__body strong {
	color: var(--lb-text);
	font-weight: 700;
}

/* 色谱：选物与引流（文化口彩） */
.lb-color-section--commerce {
	border-left: 4px solid color-mix(in srgb, var(--hero, var(--lb-accent)) 55%, var(--lb-border));
	padding-left: 4px;
}
.lb-list--commerce-guide li {
	font-size: 1.02rem;
	line-height: 1.75;
}
.lb-commerce-focus {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin: 14px 0 18px;
}
.lb-commerce-focus__label {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--lb-muted);
	text-transform: none;
}
.lb-commerce-focus__tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 600;
	background: color-mix(in srgb, var(--hero, var(--lb-accent)) 12%, var(--lb-surface));
	border: 1px solid color-mix(in srgb, var(--hero, var(--lb-accent)) 22%, var(--lb-border));
	color: var(--lb-text);
}
.lb-color-section--commerce .lb-color-card__title {
	font-size: 1rem;
}
.lb-color-section--commerce h4.lb-color-card__title {
	font-size: 0.98rem;
	margin-bottom: 6px;
}
.lb-commerce-cta {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
.lb-commerce-cta__hint {
	font-size: 0.82rem;
}

/* 文章页 */
.lb-breadcrumb {
	font-size: 0.88rem;
	color: var(--lb-muted);
	margin-bottom: 18px;
}
.lb-breadcrumb a { font-weight: 600; border-bottom: none; }
.lb-breadcrumb span { margin: 0 8px; color: var(--lb-border-strong); }

.lb-article__hero {
	padding: 28px;
	border-radius: 20px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	margin-bottom: 28px;
	border-left: 6px solid var(--hero, var(--lb-accent));
}
.lb-article__hero-inner { display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start; }
.lb-article__swatch-big {
	width: 108px;
	height: 108px;
	border-radius: 20px;
	background: var(--hero);
	box-shadow:
		0 4px 0 rgba(15, 23, 42, 0.04),
		0 12px 32px color-mix(in srgb, var(--hero) 35%, transparent);
	flex-shrink: 0;
}
.lb-article .lb-article__hero h1,
.lb-article__hero h1 {
	margin: 0 0 8px;
	font-size: 1.75rem;
	color: var(--lb-text);
	font-weight: 800;
}
.lb-muted-en { font-size: 0.88rem; color: var(--lb-muted); font-weight: 500; margin-left: 6px; }
.lb-article__codes code {
	background: var(--lb-surface-2);
	padding: 6px 10px;
	border-radius: 8px;
	font-size: 0.92rem;
	color: var(--lb-text);
	border: 1px solid var(--lb-border);
}
.lb-article__codes span { margin-left: 12px; font-size: 0.88rem; color: var(--lb-muted); }
.lb-tags {
	display: flex;
	gap: 28px;
	margin: 14px 0 0;
	font-size: 0.92rem;
	flex-wrap: wrap;
}
.lb-tags dt { color: var(--lb-muted); margin: 0; font-weight: 600; }
.lb-tags dd { margin: 0; font-weight: 800; color: var(--lb-text); }

.lb-teaser {
	font-size: 1.12rem;
	color: var(--lb-warn);
	font-weight: 600;
	margin-bottom: 22px;
	line-height: 1.65;
}
.lb-prose {
	margin: 0 0 18px;
	color: var(--lb-text-body);
	font-size: 1.0625rem;
	line-height: 1.8;
	max-width: 52rem;
}
.lb-list {
	margin: 0 0 16px;
	padding-left: 1.35rem;
	color: var(--lb-text-body);
	line-height: 1.75;
}
.lb-list li { margin-bottom: 10px; }
.lb-article__foot {
	margin-top: 36px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
}

/* 十二生肖索引：与星座索引相同断点 — 大屏 4×3，中小屏 3×4，极窄 2×6 */
.lb-sx-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
@media (min-width: 960px) {
	.lb-sx-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}
}
@media (max-width: 360px) {
	.lb-sx-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}
.lb-sx-grid .lb-sx-card,
.lb-sx-grid .lb-sx-card--link {
	padding: 20px 14px;
	min-height: 118px;
	box-sizing: border-box;
}
.lb-sx-card__icon {
	font-size: 2rem;
	line-height: 1;
	display: block;
	margin-bottom: 8px;
}
.lb-sx-card--link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: inherit;
	border-bottom: none;
	transition: transform 0.15s, box-shadow 0.2s, border-color 0.15s;
}
.lb-sx-card--link:hover {
	color: inherit;
	transform: translateY(-2px);
	box-shadow: var(--lb-shadow-hover);
	border-color: var(--lb-border-strong);
}
.lb-sx-card__status {
	display: inline-block;
	margin-top: 12px;
	padding: 5px 12px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--lb-accent);
	background: var(--lb-accent-soft);
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--lb-accent) 22%, transparent);
}

/* 十二星座索引：大屏 4×3，中小屏 3×4，极窄屏 2×6 */
.lb-zodiac-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
@media (min-width: 960px) {
	.lb-zodiac-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 18px;
	}
}
@media (max-width: 360px) {
	.lb-zodiac-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

.lb-zodiac-grid .lb-zodiac-card,
.lb-zodiac-grid .lb-zodiac-card--link {
	padding: 20px 14px;
	min-height: 118px;
	box-sizing: border-box;
}
.lb-zodiac-card, .lb-sx-card {
	padding: 18px;
	border-radius: 14px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	text-align: center;
}
.lb-zodiac-card__icon { font-size: 1.9rem; display: block; margin-bottom: 8px; }
.lb-zodiac-card__name, .lb-sx-card__name { font-weight: 800; color: var(--lb-text); display: block; }
.lb-zodiac-card__soon, .lb-sx-card__soon {
	font-size: 0.78rem;
	color: var(--lb-muted);
	margin-top: 8px;
	display: block;
}
.lb-zodiac-card--link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: inherit;
	border-bottom: none;
	transition: transform 0.15s, box-shadow 0.2s, border-color 0.15s;
}
.lb-zodiac-card--link:hover {
	color: inherit;
	transform: translateY(-2px);
	box-shadow: var(--lb-shadow-hover);
	border-color: var(--lb-border-strong);
}
.lb-zodiac-card__teaser {
	font-size: 0.8rem;
	color: var(--lb-muted);
	margin-top: 10px;
	line-height: 1.45;
	display: block;
	font-weight: 500;
	text-align: center;
}
.lb-zodiac-card__status {
	display: inline-block;
	margin-top: 12px;
	padding: 5px 12px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--lb-accent);
	background: var(--lb-accent-soft);
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--lb-accent) 22%, transparent);
}

/* 星座长文页 */
.lb-article--zodiac .lb-article__hero {
	border-left-color: var(--hero, var(--lb-accent));
}
.lb-zodiac-badge {
	width: 108px;
	height: 108px;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.25rem;
	line-height: 1;
	background: linear-gradient(
		145deg,
		color-mix(in srgb, var(--hero) 14%, #ffffff),
		var(--lb-surface-2)
	);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
	flex-shrink: 0;
}
.lb-article__meta-line {
	margin: 0 0 6px;
	font-size: 0.92rem;
	color: var(--lb-muted);
	font-weight: 500;
}
.lb-prose.lb-disclaimer {
	font-size: 0.95rem;
	color: var(--lb-muted);
	padding: 16px 18px;
	border-radius: 12px;
	background: var(--lb-surface-2);
	border: 1px dashed var(--lb-border-strong);
	line-height: 1.65;
}

/* 星座长文：导语卡片 + 分节节奏 + 列表卡片化 */
.lb-article--zodiac .lb-zodiac-lead {
	margin-bottom: 8px;
}
.lb-article--zodiac .lb-zodiac-lead .lb-teaser {
	margin: 0;
	padding: 22px 24px;
	font-size: 1.08rem;
	font-weight: 600;
	line-height: 1.75;
	color: var(--lb-text-body);
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--hero) 8%, #ffffff),
		var(--lb-surface)
	);
	border: 1px solid var(--lb-border);
	border-radius: 16px;
	box-shadow: var(--lb-shadow);
	border-left: 4px solid var(--hero);
}

/* 与首屏 hero、正文各节白卡同宽（文章栏内 100%，勿再缩成 48rem） */
.lb-article--zodiac .lb-zodiac-pull-stack {
	margin: 0 0 22px;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* 首屏大卡片下的「一句话」：引用块 + 醒目标题字 */
.lb-article--zodiac .lb-zodiac-pull {
	margin: 0;
	padding: 26px 24px 30px 28px;
	border-radius: 18px;
	border: 1px solid color-mix(in srgb, var(--hero) 22%, var(--lb-border));
	background: linear-gradient(
		165deg,
		color-mix(in srgb, var(--hero) 10%, #ffffff) 0%,
		#ffffff 45%,
		var(--lb-surface-2) 100%
	);
	box-shadow: var(--lb-shadow), 0 1px 0 rgba(255, 255, 255, 0.9) inset;
	position: relative;
	overflow: hidden;
}
.lb-article--zodiac .lb-zodiac-pull::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	border-radius: 18px 0 0 18px;
	background: linear-gradient(
		180deg,
		var(--hero),
		color-mix(in srgb, var(--hero) 45%, var(--lb-accent))
	);
}
.lb-article--zodiac .lb-zodiac-pull::after {
	content: "\201C";
	position: absolute;
	right: 18px;
	top: 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 4.5rem;
	line-height: 1;
	color: color-mix(in srgb, var(--hero) 12%, transparent);
	pointer-events: none;
}
.lb-article--zodiac .lb-zodiac-pull__preface {
	margin: 0 0 14px;
	padding-right: 2rem;
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--lb-muted);
	line-height: 1.55;
	position: relative;
	z-index: 1;
}
.lb-article--zodiac .lb-zodiac-pull__quote {
	margin: 0;
	position: relative;
	z-index: 1;
	font-size: clamp(1.2rem, 2.8vw, 1.55rem);
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: 0.03em;
	color: var(--lb-text);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}
.lb-article--zodiac .lb-zodiac-intro {
	margin: 18px 0 0;
	padding: 16px 18px;
	font-size: 1.03rem;
	line-height: 1.78;
	color: var(--lb-text-body);
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lb-article--zodiac .lb-zodiac-body {
	margin-top: 4px;
}

/* 各节统一白卡片，避免「有的有底、有的没底」 */
.lb-article--zodiac .lb-zodiac-section {
	margin: 0 0 14px;
	padding: 22px 22px 18px;
	border-radius: 16px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	box-shadow: var(--lb-shadow);
}

.lb-article--zodiac .lb-h2.lb-h2--zodiac {
	margin: 0 0 16px;
	padding: 0 0 12px;
	font-size: 1.22rem;
	line-height: 1.35;
	border-bottom: none;
	border-left: none;
	padding-left: 0;
	position: relative;
	color: var(--lb-text);
}
.lb-article--zodiac .lb-h2.lb-h2--zodiac::after {
	content: "";
	display: block;
	height: 3px;
	width: 48px;
	margin-top: 10px;
	border-radius: 2px;
	background: linear-gradient(
		90deg,
		var(--hero),
		color-mix(in srgb, var(--hero) 35%, var(--lb-accent))
	);
}

.lb-article--zodiac .lb-zodiac-section__inner {
	max-width: 48rem;
}

.lb-article--zodiac .lb-zodiac-section .lb-prose {
	font-size: 1.045rem;
	line-height: 1.82;
	margin-bottom: 20px;
	color: var(--lb-text-body);
}
.lb-article--zodiac .lb-zodiac-section .lb-prose:last-child {
	margin-bottom: 0;
}

/* 「阅读说明」：注释块，区别于正文白卡 */
.lb-article--zodiac .lb-zodiac-section--meta {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
	border: 1px dashed var(--lb-border-strong);
	border-left: 4px solid #64748b;
	box-shadow: none;
	padding: 16px 18px 14px;
}
.lb-article--zodiac .lb-zodiac-meta__kicker {
	margin: 0 0 10px;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #94a3b8;
	line-height: 1.4;
}
.lb-article--zodiac .lb-zodiac-section--meta .lb-h2.lb-h2--meta {
	margin: 0 0 12px;
	padding: 0;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.45;
	color: #475569;
}
.lb-article--zodiac .lb-zodiac-section--meta .lb-h2.lb-h2--meta::after {
	display: none;
}
.lb-article--zodiac .lb-zodiac-section__inner--meta {
	max-width: none;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.lb-article--zodiac .lb-zodiac-section--meta .lb-prose {
	font-size: 0.88rem;
	line-height: 1.68;
	color: #64748b;
	margin-bottom: 12px;
	letter-spacing: 0.01em;
}
.lb-article--zodiac .lb-zodiac-section--meta .lb-prose:last-child {
	margin-bottom: 0;
}
.lb-article--zodiac .lb-zodiac-section--meta .lb-prose strong {
	color: #475569;
	font-weight: 700;
}

.lb-article--zodiac .lb-list.lb-list--zodiac {
	list-style: none;
	padding: 0;
	margin: 4px 0 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.lb-article--zodiac .lb-list.lb-list--zodiac li {
	margin: 0;
	padding: 14px 16px 14px 18px;
	background: var(--lb-surface);
	border: 1px solid var(--lb-border);
	border-radius: 12px;
	border-left: 4px solid color-mix(in srgb, var(--hero) 65%, var(--lb-accent));
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	line-height: 1.72;
	font-size: 1.01rem;
	color: var(--lb-text-body);
}
.lb-article--zodiac .lb-list.lb-list--zodiac li strong {
	color: var(--lb-text);
	font-weight: 800;
}

.lb-article--zodiac .lb-prose.lb-disclaimer {
	margin-top: 28px;
}

.lb-article-list { list-style: none; padding: 0; margin: 0; }
.lb-article-list li { border-bottom: 1px solid var(--lb-border); }
.lb-article-list a {
	display: block;
	padding: 18px 6px;
	color: var(--lb-text);
	border-bottom: none;
	font-weight: 600;
}
.lb-article-list a:hover { color: var(--lb-accent); }
.lb-article-list strong { display: block; margin-bottom: 6px; font-size: 1.05rem; }
.lb-article-list span { display: block; font-size: 0.92rem; color: var(--lb-muted); font-weight: 500; }

.lb-footer {
	max-width: 1100px;
	margin: 0 auto;
	padding: 36px 20px 48px;
	border-top: 1px solid var(--lb-border);
	font-size: 0.9rem;
	color: var(--lb-muted);
	text-align: center;
	background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.65));
}
.lb-footer a { color: var(--lb-accent); border-bottom: none; }
.lb-footer a:hover { color: var(--lb-accent-hover); }
.lb-footer__links { margin: 10px 0; }
.lb-footer__muted { font-size: 0.82rem; opacity: 0.95; color: var(--lb-muted); }

/* 纯文章页（文化随笔） */
.lb-article:not(.lb-article--color) {
	max-width: 52rem;
}
.lb-article:not(.lb-article--color) h1 {
	font-size: 1.75rem;
	color: var(--lb-text);
	font-weight: 800;
	margin: 0 0 20px;
	line-height: 1.35;
}

/* 文化专栏长文：略收窄栏宽、小节上间距加大，表格与引文块 */
.lb-article.lb-article--culture {
	max-width: 42rem;
}
.lb-article.lb-article--culture .lb-h2 {
	margin-top: 2rem;
	margin-bottom: 0.6rem;
}
.lb-article.lb-article--culture .lb-prose {
	max-width: none;
}
.lb-article.lb-article--culture .lb-list {
	max-width: none;
}
.lb-article.lb-article--culture .lb-culture-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.98rem;
	margin: 0 0 1.25rem;
}
.lb-article.lb-article--culture .lb-culture-table th,
.lb-article.lb-article--culture .lb-culture-table td {
	padding: 10px 12px;
	border: 1px solid var(--lb-border);
	text-align: left;
	vertical-align: top;
	line-height: 1.55;
}
.lb-article.lb-article--culture .lb-culture-table th {
	background: var(--lb-surface-2);
	font-weight: 700;
	color: var(--lb-text);
}
.lb-article.lb-article--culture .lb-culture-pull {
	margin: 1rem 0 1.25rem;
	padding: 14px 16px 14px 18px;
	border-left: 4px solid var(--lb-accent);
	background: var(--lb-accent-wash);
	border-radius: 0 12px 12px 0;
	font-size: 0.98rem;
	line-height: 1.75;
	color: var(--lb-text-body);
}

/* 色谱长文：与顶栏 Hero 同宽；内文长条卡片仍单列竖排 */
.lb-color-flow {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0 0 8px;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}
.lb-color-section--panel .lb-prose {
	max-width: none;
}
.lb-color-section--panel {
	padding: 1.25rem 1.35rem 1.4rem;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(0, 0, 0, 0.07);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.lb-color-section--intro {
	background: rgba(255, 255, 255, 0.92);
}
.lb-color-section--more .lb-prose:last-child { margin-bottom: 0; }
.lb-color-doc .lb-h2--color {
	font-size: 1.15rem;
	margin: 0 0 0.85rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	line-height: 1.35;
}
.lb-color-section__lede {
	margin: 0 0 1rem !important;
	font-size: 0.94rem;
}
.lb-color-meta__kicker {
	font-size: 0.76rem;
	letter-spacing: 0.04em;
	color: var(--lb-muted);
	margin: 0 0 10px;
	font-weight: 600;
}
.lb-color-section--intro .lb-teaser {
	margin-top: 0.35rem;
}
.lb-color-section__inner { margin-top: 2px; }
.lb-color-block { margin-bottom: 1.15rem; }
.lb-color-block:last-child { margin-bottom: 0; }
.lb-color-block__title { font-size: 0.98rem; margin: 1rem 0 8px; color: var(--lb-text); font-weight: 700; }
.lb-color-section__inner .lb-color-block:first-child .lb-color-block__title { margin-top: 0; }
.lb-color-footnote {
	font-size: 0.92rem;
	color: var(--lb-muted);
	border-left: 3px solid var(--hero);
	padding-left: 12px;
	margin-top: 1rem;
	margin-bottom: 0;
}
/* 长条卡片：单列、限宽、竖向节奏 */
.lb-color-strip-grid {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin-top: 4px;
	max-width: 100%;
}
.lb-color-card.lb-color-card--strip {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 1rem 1.1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: none;
	border-left: 4px solid var(--hero);
}
.lb-color-card--strip .lb-prose {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.68;
}
.lb-color-card__title {
	font-size: 0.98rem;
	margin: 0 0 10px;
	line-height: 1.4;
	font-weight: 700;
}
.lb-color-card__line { margin: 0 0 8px; font-size: 0.92rem; line-height: 1.6; }
.lb-color-card__line:last-child { margin-bottom: 0; }
.lb-list--color { margin-top: 8px; }
.lb-list--time li { margin-bottom: 10px; }

@media (max-width: 520px) {
	.lb-header__inner { flex-direction: column; align-items: flex-start; }
	.lb-header__tools { margin-left: 0; }
	body.luck-blog { font-size: 1rem; }
	.lb-hero { padding: 28px 20px; }
	.lb-article--zodiac .lb-zodiac-pull {
		padding: 20px 16px 24px 22px;
	}
	.lb-article--zodiac .lb-zodiac-pull::after {
		font-size: 3rem;
		right: 8px;
		top: 6px;
	}
	.lb-color-section--panel {
		padding: 1.1rem 1rem 1.2rem;
	}
}

/* —— 灵犀星座周刊（pulse） —— */
.lb-page-head--pulse .lb-kicker {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--lb-accent);
	margin-bottom: 8px;
}
.lb-pulse-archive {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 42rem;
}
.lb-pulse-archive__item a {
	display: block;
	padding: 1.1rem 1.15rem;
	border-radius: 14px;
	border: 1px solid var(--lb-border);
	background: var(--lb-surface);
	box-shadow: var(--lb-shadow);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.lb-pulse-archive__item a:hover {
	border-color: color-mix(in srgb, var(--lb-accent) 35%, var(--lb-border));
	box-shadow: var(--lb-shadow), 0 0 0 1px color-mix(in srgb, var(--lb-accent) 12%, transparent);
}
.lb-pulse-archive__kicker {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--lb-muted);
	letter-spacing: 0.04em;
	margin-bottom: 6px;
}
.lb-pulse-archive__title {
	display: block;
	font-size: 1.05rem;
	line-height: 1.45;
	margin-bottom: 8px;
	color: var(--lb-text);
}
.lb-pulse-archive__teaser {
	display: block;
	font-size: 0.92rem;
	color: var(--lb-muted);
	line-height: 1.5;
}

.lb-pulse-spotlight {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px 20px;
	margin: 0 0 28px;
	max-width: 48rem;
}
.lb-pulse-spotlight__link {
	flex: 1 1 280px;
	display: block;
	padding: 1.15rem 1.2rem;
	border-radius: 16px;
	border: 1px solid color-mix(in srgb, var(--lb-accent) 28%, var(--lb-border));
	background: linear-gradient(135deg, color-mix(in srgb, var(--lb-accent) 8%, #fff), var(--lb-surface));
	text-decoration: none;
	color: inherit;
	box-shadow: var(--lb-shadow);
}
.lb-pulse-spotlight__kicker {
	display: block;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--lb-accent);
	margin-bottom: 8px;
}
.lb-pulse-spotlight__title {
	display: block;
	font-size: 1.08rem;
	line-height: 1.45;
	margin-bottom: 8px;
	color: var(--lb-text);
}
.lb-pulse-spotlight__meta {
	display: block;
	font-size: 0.9rem;
	color: var(--lb-muted);
	line-height: 1.5;
	margin-bottom: 10px;
}
.lb-pulse-spotlight__cta {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--lb-accent);
}
.lb-pulse-spotlight__archive {
	align-self: center;
	font-size: 0.92rem;
	font-weight: 600;
	white-space: nowrap;
}

.lb-article--pulse .lb-article__hero-inner {
	align-items: flex-start;
	gap: 16px;
}
.lb-pulse-hero-mark {
	width: 72px;
	height: 72px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	background: linear-gradient(145deg, color-mix(in srgb, var(--hero) 18%, #fff), var(--lb-surface-2));
	border: 1px solid var(--lb-border);
	flex-shrink: 0;
}
.lb-pulse-kicker {
	margin: 0 0 6px;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: color-mix(in srgb, var(--hero) 65%, var(--lb-muted));
}
.lb-pulse-pull {
	margin: 0 0 18px;
}
/* 周刊详情：引用与导语多张白卡之间略拉开，避免挤成一坨 */
.lb-article--pulse .lb-pulse-pull {
	margin-bottom: 28px;
}
.lb-article--pulse .lb-zodiac-lead.lb-pulse-intro {
	margin-bottom: 28px;
}
.lb-pulse-intro .lb-teaser {
	margin-bottom: 12px;
}
.lb-article--pulse .lb-pulse-intro .lb-teaser {
	margin-bottom: 20px;
}
.lb-pulse-intro .lb-teaser:last-child {
	margin-bottom: 0;
}
.lb-article--pulse .lb-pulse-intro .lb-teaser:last-child {
	margin-bottom: 0;
}

.lb-pulse-top-note {
	font-size: 0.95rem;
	color: var(--lb-muted);
	margin-bottom: 14px !important;
}
.lb-pulse-top-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lb-pulse-top-card {
	margin: 0;
	padding: 1rem 1.05rem 1.1rem;
	border-radius: 14px;
	border: 1px solid var(--lb-border);
	background: var(--lb-surface);
	border-left: 4px solid var(--rank-accent, var(--lb-accent));
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
}
.lb-pulse-top-card__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}
.lb-pulse-top-card__rank {
	font-size: 1.35rem;
	font-weight: 900;
	color: color-mix(in srgb, var(--rank-accent) 55%, var(--lb-muted));
	line-height: 1;
	min-width: 1.5rem;
}
.lb-pulse-top-card__icon {
	font-size: 1.75rem;
	line-height: 1;
}
.lb-pulse-top-card__name {
	display: block;
	font-weight: 800;
	font-size: 1rem;
	color: var(--lb-text);
}
.lb-pulse-top-card__badge {
	display: inline-block;
	margin-top: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--rank-accent) 12%, var(--lb-surface-2));
	color: var(--lb-text-body);
}
.lb-pulse-top-card__line {
	margin: 0 0 6px;
	font-size: 0.94rem;
	line-height: 1.65;
	color: var(--lb-text-body);
}
.lb-pulse-top-card__line:last-child {
	margin-bottom: 0;
}
.lb-pulse-closing {
	margin-top: 1.25rem;
	font-size: 0.98rem;
}

.lb-pulse-glossary {
	margin: 0;
}
.lb-pulse-glossary > div {
	padding: 12px 0;
	border-bottom: 1px dashed var(--lb-border);
}
.lb-pulse-glossary > div:last-child {
	border-bottom: none;
}
.lb-pulse-glossary dt {
	font-weight: 800;
	margin-bottom: 6px;
	color: var(--lb-text);
}
.lb-pulse-glossary dd {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--lb-muted);
}

.lb-pulse-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 20px 0 8px;
}
.lb-article--pulse .lb-article__foot {
	margin-top: 12px;
}
