:root {
	--primary: #9662f1;
	--primary-dark: #6d3bc5;
	--primary-soft: #f3edff;
	--ink: #24213a;
	--muted: #706c82;
	--line: #e8e2f3;
	--white: #ffffff;
}
* {
	box-sizing: border-box;
}
body {
	margin: 0;
	color: var(--ink);
	background: #fff;
	font: 16px/1.8 Arial, "Microsoft YaHei", sans-serif;
}
a {
	color: inherit;
	text-decoration: none;
}
.shell {
	width: min(1180px, calc(100% - 40px));
	margin: auto;
}
.site-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255,255,255,.96);
	border-bottom: 1px solid var(--line);
}
.nav-wrap {
	min-height: 76px;
	display: flex;
	align-items: center;
	gap: 28px;
}
.brand {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ink);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .03em;
}
.brand img {
	border-radius: 12px;
}
.main-nav {
	display: flex;
	align-items: center;
	gap: 22px;
	flex: 1;
}
.main-nav a {
	color: var(--muted);
	font-size: 14px;
	white-space: nowrap;
}
.main-nav a:hover, .main-nav a.active {
	color: var(--primary);
}
.nav-cta, .button-main {
	display: inline-block;
	padding: 10px 19px;
	color: #fff;
	background: var(--primary);
	border-radius: 8px;
	font-weight: 700;
	font-size: 14px;
	box-shadow: 0 9px 22px rgba(150,98,241,.22);
}
.nav-cta:hover, .button-main:hover {
	background: var(--primary-dark);
}
.button-ghost {
	display: inline-block;
	padding: 9px 18px;
	color: var(--primary-dark);
	border: 1px solid var(--primary);
	border-radius: 8px;
	font-weight: 700;
	font-size: 14px;
}
.hamburger {
	display: none;
	border: 0;
	background: transparent;
	padding: 8px;
}
.hamburger span {
	display: block;
	width: 23px;
	height: 2px;
	margin: 5px;
	background: var(--ink);
}
.hero {
	padding: 90px 0 78px;
	background: radial-gradient(circle at 85% 20%, #e6d8ff 0, transparent 32%), linear-gradient(135deg, #fff 0, #f8f4ff 100%);
}
.hero-grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 80px;
	align-items: center;
}
.eyebrow {
	display: block;
	color: var(--primary-dark);
	font-size: 12px;
	letter-spacing: .16em;
	font-weight: 800;
}
.hero h1 {
	max-width: 640px;
	margin: 16px 0;
	font-size: clamp(42px, 6vw, 72px);
	line-height: 1.13;
}
.hero p {
	max-width: 620px;
	color: var(--muted);
	font-size: 18px;
}
.hero-actions {
	display: flex;
	gap: 14px;
	margin: 30px 0;
}
.hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	color: var(--muted);
	font-size: 13px;
}
.hero-card {
	min-height: 430px;
	display: grid;
	place-items: center;
	position: relative;
	border: 1px solid #e0d3f8;
	border-radius: 36px;
	background: linear-gradient(145deg, #fff, #eee5ff);
	box-shadow: 0 28px 70px rgba(92,55,152,.16);
	overflow: hidden;
}
.hero-card:before, .hero-card:after {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: rgba(150,98,241,.16);
}
.hero-card:before {
	width: 300px;
	height: 300px;
	top: -110px;
	right: -80px;
}
.hero-card:after {
	width: 230px;
	height: 230px;
	bottom: -100px;
	left: -70px;
}
.hero-orb {
	position: relative;
	z-index: 1;
	width: 210px;
	height: 210px;
	display: grid;
	place-content: center;
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(145deg, #b899ff, #7541d3);
	box-shadow: 0 20px 35px rgba(109,59,197,.28);
	text-align: center;
	transform: rotate(-8deg);
}
.hero-orb span {
	font-size: 28px;
	font-weight: 300;
	line-height: 1;
}
.hero-orb strong {
	font-size: 62px;
	line-height: 1;
}
.hero-chat {
	position: absolute;
	z-index: 2;
	right: 34px;
	bottom: 34px;
	padding: 15px 18px;
	border: 1px solid var(--line);
	border-radius: 13px;
	background: rgba(255,255,255,.9);
	box-shadow: 0 12px 26px rgba(42,22,77,.1);
}
.hero-chat span, .hero-chat b {
	display: block;
	font-size: 13px;
}
.hero-chat span {
	color: var(--muted);
}
.hero-chat b {
	margin-top: 4px;
}
.trust-strip {
	border-bottom: 1px solid var(--line);
	background: #fff;
}
.trust-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.trust-grid div {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 22px 26px;
	border-right: 1px solid var(--line);
}
.trust-grid div:last-child {
	border: 0;
}
.trust-grid strong {
	color: var(--primary);
	font-size: 22px;
}
.trust-grid span {
	color: var(--muted);
	font-size: 14px;
}
.section {
	padding: 88px 0;
}
.tinted {
	background: var(--primary-soft);
}
.intro-grid, .split, .two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}
.section-heading {
	max-width: 690px;
	margin-bottom: 36px;
}
.section-heading h2 {
	margin: 10px 0;
	font-size: 38px;
	line-height: 1.25;
}
.section-heading p, .intro-grid p, .split p {
	color: var(--muted);
}
.intro-panel {
	padding: 45px;
	border-radius: 22px;
	background: linear-gradient(145deg, #8d56eb, #b791ff);
	color: #fff;
	box-shadow: 0 25px 50px rgba(104,55,188,.2);
}
.intro-panel h3 {
	margin: 22px 0 8px;
	font-size: 30px;
	line-height: 1.25;
}
.panel-label {
	font-size: 12px;
	letter-spacing: .16em;
	opacity: .8;
}
.feature-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.feature-grid article {
	min-height: 250px;
	padding: 27px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.feature-no {
	color: var(--primary);
	font-weight: 800;
}
.home-icon {
	display: block;
	margin: 18px 0 12px;
	color: var(--primary);
	font-size: 25px;
}
.feature-grid h3 {
	margin: 0 0 8px;
	font-size: 20px;
}
.feature-grid p, .scenario-list span {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.scenario-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 32px;
}
.scenario-list div {
	padding: 20px 0;
	border-top: 1px solid var(--line);
}
.scenario-list b, .scenario-list span {
	display: block;
}
.scenario-list b {
	margin-bottom: 5px;
}
.review-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.review-grid article {
	display: flex;
	gap: 14px;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.review-grid img {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}
.review-grid p {
	margin: 0 0 8px;
}
.review-grid span {
	color: var(--muted);
	font-size: 12px;
}
.faq-news {
	background: #fbfaff;
}
.homepage-faq-section {
	background: #fbfaff;
}
.narrow-shell {
	max-width: 880px;
}
.homepage-news-section {
	background: #fff;
}
.home-news-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 28px;
}
.home-news-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.home-news-image,
.home-news-image img {
	display: block;
	width: 100%;
	height: 210px;
}
.home-news-image {
	overflow: hidden;
	background: var(--primary-soft);
}
.home-news-image img {
	object-fit: cover;
	transition: transform .35s ease;
}
.home-news-image img:hover {
	transform: scale(1.04);
}
.home-news-body {
	padding: 16px;
}
.home-news-body > span {
	color: var(--primary);
	font-size: 12px;
}
.home-news-body h3 {
	margin: 8px 0;
	font-size: 17px;
	line-height: 1.45;
}
.home-news-body h3 a {
	color: var(--ink);
}
.home-news-body p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.65;
}
.compact {
	margin-bottom: 20px;
}
.compact h2 {
	font-size: 30px;
}
.faq-item {
	border-top: 1px solid var(--line);
}
.faq-question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 0;
	border: 0;
	background: transparent;
	color: var(--ink);
	text-align: left;
	font: inherit;
	cursor: pointer;
}
.faq-question i {
	color: var(--primary);
	font-style: normal;
	font-size: 22px;
}
.faq-answer {
	display: none;
	padding: 0 0 15px;
}
.faq-item.is-open .faq-answer {
	display: block;
}
.faq-answer p {
	margin: 0 0 5px;
	color: var(--muted);
	font-size: 14px;
}
.faq-answer a {
	color: var(--primary-dark);
	font-size: 13px;
	font-weight: 700;
}
.news-list a {
	display: flex;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	align-items: baseline;
}
.news-list span {
	color: var(--primary);
	font-size: 12px;
}
.news-list strong {
	font-size: 15px;
}
.cta-band {
	padding: 58px 0;
	color: #fff;
	background: #251449;
}
.cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cta-inner h2 {
	margin: 8px 0 0;
	font-size: 32px;
}
.cta-band .eyebrow {
	color: #cbb4ff;
}
.site-footer {
	padding: 48px 0 20px;
	color: #d8d0e9;
	background: #160d2a;
}
.footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
}
.footer-brand {
	color: #fff;
}
.footer-grid p {
	color: #a99bbd;
	font-size: 14px;
}
.footer-grid strong, .footer-grid a {
	display: block;
	margin-bottom: 8px;
}
.footer-grid strong {
	color: #fff;
}
.footer-grid a {
	color: #c4b9d8;
	font-size: 14px;
}
.footer-bottom {
	margin-top: 34px;
	padding-top: 16px;
	border-top: 1px solid rgba(255,255,255,.14);
	color: #9587ab;
	font-size: 12px;
}
.mobile-menu, .mobile-overlay, .mobile-float-overlay, .mobile-float-popup, .mobile-float-bar {
	display: none;
}
.back-to-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	display: none;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	color: #fff;
	background: var(--primary);
	cursor: pointer;
}
.back-to-top.is-visible {
	display: block;
}
@media (max-width: 920px) {
	.main-nav {
		gap: 12px;
	}
	.main-nav a {
		font-size: 12px;
	}
	.feature-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.home-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	.shell {
		width: min(100% - 28px, 560px);
	}
	.nav-wrap {
		min-height: 64px;
	}
	.main-nav, .nav-cta {
		display: none;
	}
	.hamburger {
		display: block;
		margin-left: auto;
	}
	.hero {
		padding: 58px 0 44px;
	}
	.hero-grid, .intro-grid, .split, .two-col {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.hero h1 {
		font-size: 46px;
	}
	.hero p {
		font-size: 16px;
	}
	.hero-card {
		min-height: 330px;
	}
	.hero-orb {
		width: 160px;
		height: 160px;
	}
	.hero-orb strong {
		font-size: 48px;
	}
	.hero-chat {
		right: 15px;
		bottom: 15px;
	}
	.trust-grid, .feature-grid, .review-grid {
		grid-template-columns: 1fr;
	}
	.trust-grid div {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}
	.section {
		padding: 58px 0;
	}
	.section-heading h2 {
		font-size: 30px;
	}
	.scenario-list {
		grid-template-columns: 1fr;
	}
	.intro-panel {
		padding: 30px;
	}
	.cta-inner {
		display: block;
	}
	.cta-inner .button-main {
		margin-top: 20px;
	}
	.footer-grid {
		grid-template-columns: 1fr 1fr;
	}
	.footer-grid > div:first-child {
		grid-column: 1 / -1;
	}
	.mobile-menu {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		z-index: 19;
		display: none;
		padding: 14px;
		background: #fff;
		border-bottom: 1px solid var(--line);
		box-shadow: 0 18px 30px rgba(30,16,59,.12);
	}
	.mobile-menu.active {
		display: block;
	}
	.mobile-menu a {
		display: block;
		padding: 10px 8px;
		border-bottom: 1px solid var(--line);
	}
	.mobile-overlay.active {
		display: block;
		position: fixed;
		inset: 64px 0 0;
		z-index: 18;
		background: rgba(23,11,43,.35);
	}
	.mobile-float-bar {
		position: fixed;
		right: 14px;
		bottom: 16px;
		z-index: 25;
		display: block;
	}
	.btn-float-experience {
		padding: 12px 18px;
		border: 0;
		border-radius: 24px;
		color: #fff;
		background: var(--primary);
		font-weight: 700;
		box-shadow: 0 10px 25px rgba(81,41,145,.3);
	}
	.mobile-float-overlay.active {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 26;
		background: rgba(20,10,37,.45);
	}
	.mobile-float-popup.active {
		position: fixed;
		left: 20px;
		right: 20px;
		bottom: 75px;
		z-index: 27;
		display: block;
		padding: 22px;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 18px 40px rgba(20,10,37,.2);
	}
	.mobile-float-popup strong {
		display: block;
		margin-bottom: 10px;
	}
	.mobile-float-popup a {
		display: block;
		padding: 11px 0;
		color: var(--primary-dark);
		border-top: 1px solid var(--line);
	}
}
@font-face {
	font-family: 'SoulIcons';
	src: url('/skin/webfonts/fa-solid-900.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
.fa {
	font-family: 'SoulIcons';
	font-style: normal;
	font-weight: 900;
}
.fa-comments:before {
	content: '\f086';
}
.fa-pencil:before {
	content: '\f303';
}
.fa-book:before {
	content: '\f02d';
}
.fa-shield:before {
	content: '\f3ed';
}
.fa-arrow-right:before {
	content: '\f061';
}
.page-hero {
	padding: 64px 0;
	background: linear-gradient(135deg,#fff,#eee5ff);
}
.page-hero h1 {
	max-width: 850px;
	margin: 12px 0;
	font-size: clamp(30px,4vw,46px);
	line-height: 1.3;
}
.page-hero p {
	max-width: 880px;
	color: var(--muted);
}
.breadcrumb {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	display: flex;
	gap: 8px;
	align-items: center;
	min-height: 52px;
	padding: 14px 0;
	font-size: 14px;
	color: var(--muted);
}
.breadcrumb svg {
	color: var(--primary);
	flex: 0 0 auto;
}
.breadcrumb a {
	color: var(--muted);
}
.breadcrumb a:hover {
	color: var(--primary-dark);
}
.page-blocks {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 26px;
}
.page-blocks article {
	padding: 30px;
	border: 1px solid var(--line);
	border-radius: 14px;
}
.page-blocks h2 {
	font-size: 25px;
}
.page-blocks p {
	color: var(--muted);
}
.article-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 25px;
}
.article-card {
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
}
.article-card h2 {
	font-size: 23px;
	line-height: 1.5;
}
.article-card p {
	color: var(--muted);
}

.inner-page-main {
	min-width: 0;
}
.feature-visual {
	margin: 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--primary-soft);
}
.feature-visual img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 360px;
	object-fit: cover;
}
.feature-visual figcaption {
	padding: 12px 16px;
	color: var(--muted);
	font-size: 13px;
	background: #fff;
}
.content-lead {
	margin: 32px 0 24px;
}
.content-lead h2,
.character-intro h2,
.guide-overview h2,
.about-story h2 {
	margin: 8px 0 12px;
	font-size: 30px;
	line-height: 1.35;
}
.content-lead p,
.content-note,
.character-intro p,
.guide-overview p,
.about-story p {
	color: var(--muted);
}
.feature-rows {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--line);
}
.feature-rows article {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--line);
}
.feature-index {
	color: var(--primary);
	font-size: 20px;
	font-weight: 800;
}
.feature-rows h3,
.feature-rows p {
	margin: 0;
}
.feature-rows p {
	margin-top: 5px;
	color: var(--muted);
	font-size: 14px;
}
.intent-panel {
	margin-top: 28px;
	padding: 24px;
	border-radius: 16px;
	background: var(--primary-soft);
}
.intent-panel h3,
.intent-panel p {
	margin-top: 0;
}
.intent-panel p {
	color: var(--muted);
}
.character-intro,
.guide-overview,
.about-story {
	display: grid;
	grid-template-columns: 1fr .9fr;
	gap: 28px;
	align-items: center;
}
.character-intro > img,
.guide-overview .feature-visual img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	border-radius: 16px;
}
.character-showcase {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 34px;
}
.character-showcase article {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.character-showcase img {
	display: block;
	width: 100%;
	height: 140px;
	object-fit: cover;
}
.character-showcase article > span,
.character-showcase h3,
.character-showcase p {
	display: block;
	margin-left: 16px;
	margin-right: 16px;
}
.character-showcase article > span {
	margin-top: 14px;
	color: var(--primary);
	font-size: 12px;
}
.character-showcase h3 {
	margin-top: 5px;
	margin-bottom: 4px;
}
.character-showcase p {
	margin-bottom: 18px;
	color: var(--muted);
	font-size: 13px;
}
.character-formula {
	display: flex;
	gap: 12px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 30px;
	padding: 18px;
	border-radius: 12px;
	background: #251449;
	color: #fff;
}
.character-formula strong {
	margin-right: 6px;
	color: #d9c6ff;
}
.character-formula span {
	padding: 4px 10px;
	border-radius: 20px;
	background: rgba(255,255,255,.14);
}
.character-formula i {
	font-style: normal;
	color: #d9c6ff;
}
.guide-timeline {
	display: grid;
	gap: 0;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}
.guide-timeline li {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 16px;
	padding: 20px 0;
	border-top: 1px solid var(--line);
}
.guide-timeline li > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	color: #fff;
	background: var(--primary);
	font-weight: 800;
}
.guide-timeline h3,
.guide-timeline p {
	margin: 0;
}
.guide-timeline p {
	margin-top: 5px;
	color: var(--muted);
	font-size: 14px;
}
.guide-checklist {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 24px;
	padding: 20px;
	border-radius: 14px;
	background: var(--primary-soft);
}
.guide-checklist h3 {
	width: 100%;
	margin: 0 0 4px;
}
.guide-checklist span {
	padding: 6px 10px;
	border: 1px solid var(--line);
	border-radius: 8px;
	color: var(--muted);
	font-size: 13px;
	background: #fff;
}
.about-story-copy p {
	margin: 12px 0;
}
.about-principle-card {
	display: grid;
	min-height: 260px;
	place-items: center;
	align-content: center;
	gap: 14px;
	margin: 0;
	border-radius: 18px;
	background: linear-gradient(145deg, #8d56eb, #b791ff);
	color: #fff;
	text-align: center;
}
.about-principle-card img {
	border-radius: 20px;
	background: #fff;
}
.about-principle-card figcaption {
	font-size: 15px;
	line-height: 1.9;
}
.about-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 30px;
}
.about-values article {
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: 14px;
}
.value-icon {
	color: var(--primary);
	font-size: 28px;
}
.about-values h3 {
	margin: 8px 0;
}
.about-values p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.about-faq-link {
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
}
.about-faq-link h3,
.about-faq-link p {
	margin-top: 0;
}
.about-faq-link p {
	color: var(--muted);
}
.about-faq-link .button-ghost {
	margin-right: 10px;
}

.rich-copy-section {
	margin-top: 38px;
	padding-top: 28px;
	border-top: 1px solid var(--line);
}
.rich-copy-section h2 {
	margin: 0 0 14px;
	font-size: 26px;
	line-height: 1.4;
}
.rich-copy-section > p {
	color: var(--muted);
}
.tinted-copy {
	padding: 24px;
	border: 0;
	border-radius: 14px;
	background: var(--primary-soft);
}
.info-columns,
.audience-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 20px;
}
.info-columns article,
.audience-grid article {
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fff;
}
.info-columns h3,
.audience-grid h3 {
	margin: 0 0 8px;
	font-size: 17px;
}
.info-columns p,
.audience-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.setting-list {
	display: grid;
	gap: 0;
	margin-top: 20px;
	border-top: 1px solid var(--line);
}
.setting-list div {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 18px;
	padding: 15px 0;
	border-bottom: 1px solid var(--line);
}
.setting-list b {
	color: var(--primary-dark);
}
.setting-list span {
	color: var(--muted);
	font-size: 14px;
}
.prompt-examples {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 20px;
}
.prompt-examples article {
	padding: 18px;
	border-left: 3px solid var(--primary);
	background: #fff;
}
.prompt-examples span {
	color: var(--primary-dark);
	font-weight: 700;
}
.prompt-examples p {
	margin: 9px 0 0;
	color: var(--muted);
	font-size: 14px;
}
.inner-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	gap: 34px;
	align-items: start;
}
.site-sidebar {
	position: sticky;
	top: 92px;
	display: grid;
	gap: 20px;
}
.sidebar-card {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.sidebar-card h2 {
	margin: 0 0 12px;
	font-size: 19px;
}
.sidebar-card > a {
	display: block;
	padding: 10px 0;
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 14px;
}
.sidebar-card > a:hover {
	color: var(--primary-dark);
}
.sidebar-latest {
	display: flex !important;
	gap: 5px;
	flex-direction: column;
}
.sidebar-latest strong {
	color: var(--ink);
	font-size: 14px;
	line-height: 1.5;
}
.sidebar-latest time {
	color: var(--primary);
	font-size: 12px;
}
.sidebar-card-cta {
	background: var(--primary-soft);
}
.sidebar-card-cta p {
	margin: 8px 0 16px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.7;
}
.news-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 270px;
	gap: 34px;
	align-items: start;
}
.news-sidebar {
	position: sticky;
	top: 92px;
	display: grid;
	gap: 20px;
}
.news-sidebar-block {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}
.news-sidebar-block h2 {
	margin: 0 0 12px;
	font-size: 19px;
}
.news-sidebar-block > a {
	display: block;
	padding: 10px 0;
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 14px;
}
.news-sidebar-block > a:hover,
.news-sidebar-block > .news-sidebar-current {
	color: var(--primary-dark);
}
.news-sidebar-latest {
	display: flex !important;
	gap: 6px;
	flex-direction: column;
}
.news-sidebar-latest strong {
	color: var(--ink);
	font-size: 14px;
	line-height: 1.5;
}
.news-sidebar-latest time {
	color: var(--primary);
	font-size: 12px;
}
.news-sidebar-cta {
	padding: 22px;
	border-radius: 14px;
	background: linear-gradient(145deg, #8d56eb, #b791ff);
	color: #fff;
}
.news-sidebar-cta strong {
	display: block;
	font-size: 18px;
}
.news-sidebar-cta p {
	margin: 10px 0 16px;
	color: #f2ecff;
	font-size: 13px;
	line-height: 1.65;
}
.news-sidebar-cta .button-main {
	padding: 10px 16px;
	color: var(--primary-dark);
	background: #fff;
}
.news-list-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
}
.news-list-card {
	display: block;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(53, 24, 102, .05);
	overflow: hidden;
}
.news-list-img {
	width: 100%;
	height: 230px;
	overflow: hidden;
	background: var(--primary-soft);
}
.news-list-img a,
.news-list-img img {
	display: block;
	width: 100%;
	height: 100%;
}
.news-list-img img {
	object-fit: cover;
	transition: transform .35s ease;
}
.news-list-img img:hover {
	transform: scale(1.04);
}
.news-list-body {
	display: flex;
	min-width: 0;
	padding: 20px 22px 22px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
.news-list-title {
	margin: 8px 0 10px;
	font-size: 22px;
	line-height: 1.45;
}
.news-list-title a {
	color: var(--ink);
}
.news-list-desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	margin: 0 0 12px;
	color: var(--muted);
	line-height: 1.75;
}
.more-link {
	color: var(--primary-dark);
}
.article-layout {
	display: grid;
	grid-template-columns: minmax(0,1fr) 280px;
	gap: 50px;
	padding: 50px 0 80px;
}
.article-main h1 {
	font-size: 36px;
	line-height: 1.4;
}
.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	color: var(--muted);
	font-size: 13px;
}
.article-content {
	padding: 25px 0;
	overflow-wrap: anywhere;
}
.article-content h2 {
	margin-top: 32px;
	font-size: 24px;
}
.article-content p {
	margin: 18px 0;
}
.article-content img {
	max-width: 100%;
	height: auto;
}
.article-nav {
	border-top: 1px solid var(--line);
	padding-top: 18px;
	color: var(--primary-dark);
}
.article-sidebar {
	align-self: start;
	padding: 24px;
	background: var(--primary-soft);
	border-radius: 15px;
}
.article-sidebar h2 {
	font-size: 20px;
}
.article-sidebar > a {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	font-size: 14px;
}
.partner-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-bottom: 25px;
}
.partner-grid article {
	padding: 30px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
}
.partner-avatar {
	width: 65px;
	height: 65px;
	display: grid;
	place-items: center;
	color: white;
	background: linear-gradient(135deg,#b994fc,#7840d5);
	border-radius: 50%;
	font-size: 25px;
}
.partner-grid p {
	color: var(--muted);
}
.guide-steps {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin: 0 0 25px;
}
.guide-steps span {
	padding: 15px 24px;
	border: 1px solid var(--line);
	border-radius: 10px;
	color: var(--primary-dark);
}
.popup-close {
	position: absolute;
	right: 16px;
	top: 12px;
	border: 0;
	background: transparent;
	font-size: 27px;
	color: var(--muted);
	cursor: pointer;
}
@media(max-width:760px) {
	.page-blocks,.article-grid,.article-layout,.partner-grid,.news-layout,.inner-page-layout {
		grid-template-columns: 1fr;
	}
	.news-sidebar,
	.site-sidebar {
		position: static;
	}
	.news-list-card {
		display: block;
		padding: 0;
	}
	.news-list-img {
		width: 100%;
		height: 235px;
	}
	.news-list-title {
		font-size: 20px;
	}
	.news-list-body {
		padding: 16px 0 0;
	}
	.news-list-grid {
		grid-template-columns: 1fr;
	}
	.character-intro,
	.guide-overview,
	.about-story {
		grid-template-columns: 1fr;
	}
	.character-showcase,
	.about-values {
		grid-template-columns: 1fr;
	}
	.content-lead h2,
	.character-intro h2,
	.guide-overview h2,
	.about-story h2 {
		font-size: 25px;
	}
	.about-faq-link .button-ghost {
		margin-bottom: 10px;
	}
	.info-columns,
	.audience-grid,
	.prompt-examples {
		grid-template-columns: 1fr;
	}
	.setting-list div {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.article-main h1 {
		font-size: 28px;
	}
	.article-layout {
		gap: 30px;
	}
	.back-to-top {
		left: 15px;
		right: auto;
		bottom: 22px;
	}
	.site-footer {
		padding-bottom: 80px;
	}
}

#debug-icon-link {
	display: none !important;
}
@media (max-width: 760px) {
	.home-news-grid {
		grid-template-columns: 1fr;
	}
	.home-news-image,
	.home-news-image img {
		height: 220px;
	}
}
.pagination ul {
	display: flex;
	gap: 16px;
	padding: 0;
	list-style: none;
}
.mobile-menu .active {
	color: var(--primary-dark);
}

/* 模块配图：图片均从上传目录复制到 skin/images 后引用。 */
.hero-card {
	min-height: 450px;
	background: #3c2870;
}
.hero-card:before,
.hero-card:after {
	display: none;
}
.hero-cover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero-chat {
	max-width: calc(100% - 48px);
}
.image-intro-panel {
	padding: 0;
	overflow: hidden;
}
.intro-cover {
	display: block;
	width: 100%;
	height: 245px;
	object-fit: cover;
}
.intro-panel-copy {
	padding: 28px 34px;
}
.intro-panel-copy h3 {
	margin-top: 14px;
	font-size: 28px;
}
.scenario-photo {
	margin: 26px 0 0;
	overflow: hidden;
	border-radius: 18px;
}
.scenario-photo img {
	display: block;
	width: 100%;
	height: 235px;
	object-fit: cover;
}
.partner-grid article {
	overflow: hidden;
	padding: 0 24px 24px;
}
.partner-cover {
	display: block;
	width: calc(100% + 48px);
	max-width: none;
	height: 190px;
	margin: 0 -24px 22px;
	object-fit: cover;
}
.guide-photo {
	margin: 0 0 28px;
	overflow: hidden;
	border-radius: 20px;
}
.guide-photo img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center 52%;
}
.about-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 65px;
	align-items: center;
}
.about-logo-panel {
	margin: 0;
	padding: 32px 24px;
	text-align: center;
	border: 1px solid var(--line);
	border-radius: 25px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 20px 45px rgba(109, 59, 197, .1);
}
.about-logo-panel img {
	display: block;
	width: 130px;
	height: 130px;
	margin: 0 auto 14px;
	border-radius: 28px;
}
.about-logo-panel figcaption {
	font-size: 28px;
	font-weight: 800;
}
.about-logo-panel span {
	color: var(--muted);
	font-size: 12px;
}
.column-photo {
	margin-bottom: 34px;
	overflow: hidden;
	border-radius: 20px;
}
.column-photo img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
}
@media (max-width: 760px) {
	.hero-card {
		min-height: 325px;
	}
	.intro-cover {
		height: 210px;
	}
	.intro-panel-copy {
		padding: 24px;
	}
	.scenario-photo img,
	.guide-photo img,
	.column-photo img {
		height: 220px;
	}
	.partner-cover {
		height: 210px;
	}
	.about-hero-grid {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.about-logo-panel {
		width: 100%;
		max-width: 320px;
		justify-self: center;
	}
}

.fa-eye:before {
	content: '\f06e';
}
.news-card-meta {
	width: 100%;
	justify-content: space-between;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	align-items: center;
	color: var(--muted);
	font-size: 12px;
}
.news-card-meta .fa,
.article-meta .fa,
.read-count .fa {
	margin-right: 4px;
	color: var(--primary);
}
.read-count {
	color: var(--muted);
	font-size: 12px;
}
.article-rich-sidebar {
	position: static;
}

.article-page-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 18px;
}
.article-page-links > div {
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #fbfaff;
}
.article-page-links span {
	display: block;
	margin-bottom: 6px;
	color: var(--muted);
	font-size: 13px;
}
.article-page-links a {
	display: block;
	line-height: 1.6;
	overflow-wrap: anywhere;
}
.article-page-links p {
	margin: 0;
	color: var(--muted);
}
@media (max-width: 760px) {
	.article-page-links {
		grid-template-columns: 1fr;
	}
}

.hero-cover.home-custom-image {
	
}
.hero-card {
	background: transparent;
}
.intro-cover.home-custom-image {
	height: 420px;
	object-fit: cover;
}
.image-intro-panel {
	position: relative;
}
.image-intro-panel .intro-panel-copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 22px 26px;
	background: rgba(35, 18, 70, .64);
	color: #fff;
}
.image-intro-panel .intro-panel-copy p,
.image-intro-panel .intro-panel-copy h3,
.image-intro-panel .intro-panel-copy span {
	color: #fff;
}
.sidebar-card.sidebar-card-cta > .button-main,
.sidebar-card.sidebar-card-cta > .button-main:hover {
	display: block;
	padding: 11px 16px;
	border: 0;
	color: #fff;
	text-align: center;
}
.main-nav {
	justify-content: center;
}
.brand,
.nav-cta {
	flex-shrink: 0;
}

.about-principle-tags {
	display: flex;
	gap: 8px;
	justify-content: center;
	padding: 0 12px;
}
.about-principle-tags span {
	padding: 6px 9px;
	border-radius: 8px;
	background: #fff;
	color: var(--primary-dark);
	font-size: 13px;
	white-space: nowrap;
}

div.pagination {
	margin-top: 30px;
}
.pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.pagination li a,
.pagination li span {
	display: flex;
	min-width: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 5px 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	color: var(--muted);
	font-size: 14px;
}
.pagination li a[href]:hover,
.pagination li.active a,
.pagination li.active span {
	border-color: var(--primary);
	background: var(--primary);
	color: #fff;
}
.pagination li.disabled a,
.pagination li.disabled span {
	opacity: .55;
}

.footer-bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.footer-bottom-row a {
	color: #c4b9d8;
	overflow-wrap: anywhere;
}
.footer-bottom-row a:hover {
	color: #fff;
}
@media (max-width: 760px) {
	.footer-bottom-row .only-web {
		width: 100%;
	}
}
