/* ==========================================================================
   友赞主题 · 主站设计系统
   参考站（从站）视觉语言：深色高级感、卡片流、内容中台
   品牌色：紫 #7C5CFF / 蓝 #3E8EF7 / 青绿 #22E0A8
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌
   -------------------------------------------------------------------------- */
:root {
	--yz-accent: #7c5cff;
	--yz-accent-2: #6d4aff;
	--yz-blue: #3e8ef7;
	--yz-green: #22e0a8;
	--yz-amber: #ffb020;
	--yz-pink: #ff6b9a;
	--yz-red: #ff5d6c;

	--yz-gradient: linear-gradient(135deg, #8a6bff 0%, #6d4aff 55%, #4f7bff 100%);
	--yz-gradient-soft: linear-gradient(135deg, rgba(124, 92, 255, 0.18), rgba(62, 142, 247, 0.12));
	--yz-gradient-text: linear-gradient(100deg, #b8a6ff 0%, #7c5cff 35%, #3e8ef7 70%, #22e0a8 100%);

	--yz-container: 1200px;
	--yz-sidebar: 308px;
	--yz-gap: 26px;
	--yz-header-h: 70px;

	--yz-radius: 10px;
	--yz-radius-sm: 8px;
	--yz-radius-lg: 16px;
	--yz-radius-xl: 24px;

	--yz-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB",
		"Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif;
	--yz-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;

	--yz-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

[data-theme="dark"] {
	--yz-bg: #26262b;
	--yz-bg-deep: #202127;
	--yz-surface: #303036;
	--yz-surface-2: #38383f;
	--yz-surface-3: #42424b;
	--yz-surface-glass: rgba(48, 48, 54, 0.82);
	--yz-text: #e9ecf4;
	--yz-text-strong: #fafbff;
	--yz-muted: #a6acba;
	--yz-dim: #7f8593;
	--yz-faint: #61666f;
	--yz-border: rgba(255, 255, 255, 0.08);
	--yz-border-strong: rgba(255, 255, 255, 0.15);
	--yz-hover: rgba(255, 255, 255, 0.055);
	--yz-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
	--yz-shadow-sm: 0 4px 16px rgba(0, 0, 0, 0.16);
	--yz-shadow-glow: 0 10px 34px rgba(109, 74, 255, 0.35);
	--yz-hero-glow-1: rgba(109, 74, 255, 0.38);
	--yz-hero-glow-2: rgba(34, 224, 168, 0.2);
	--yz-hero-glow-3: rgba(62, 142, 247, 0.24);
	--yz-input-bg: rgba(255, 255, 255, 0.045);
	--yz-code-bg: #1b1c22;
	--yz-scrollbar: rgba(255, 255, 255, 0.14);
}

[data-theme="light"] {
	--yz-bg: #f4f5f9;
	--yz-bg-deep: #eceef4;
	--yz-surface: #ffffff;
	--yz-surface-2: #f7f8fc;
	--yz-surface-3: #eef0f7;
	--yz-surface-glass: rgba(255, 255, 255, 0.86);
	--yz-text: #1d2029;
	--yz-text-strong: #10121a;
	--yz-muted: #5d6272;
	--yz-dim: #838898;
	--yz-faint: #aab0bf;
	--yz-border: rgba(22, 24, 44, 0.08);
	--yz-border-strong: rgba(22, 24, 44, 0.16);
	--yz-hover: rgba(22, 24, 44, 0.045);
	--yz-shadow: 0 14px 36px rgba(22, 24, 44, 0.09);
	--yz-shadow-sm: 0 4px 16px rgba(22, 24, 44, 0.06);
	--yz-shadow-glow: 0 10px 30px rgba(109, 74, 255, 0.22);
	--yz-hero-glow-1: rgba(109, 74, 255, 0.2);
	--yz-hero-glow-2: rgba(34, 224, 168, 0.14);
	--yz-hero-glow-3: rgba(62, 142, 247, 0.14);
	--yz-input-bg: #f3f4f9;
	--yz-code-bg: #f2f3f8;
	--yz-scrollbar: rgba(22, 24, 44, 0.18);
}

/* --------------------------------------------------------------------------
   2. Reset 与基础
   -------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--yz-header-h) + 24px);
}

body.yz-body {
	margin: 0;
	padding: 0;
	background: var(--yz-bg);
	color: var(--yz-text);
	font-family: var(--yz-font);
	font-size: 14px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	transition: background-color 0.35s var(--yz-ease), color 0.35s var(--yz-ease);
}

body.yz-body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(1000px 520px at 82% -6%, rgba(109, 74, 255, 0.11), transparent 62%),
		radial-gradient(820px 460px at 4% 12%, rgba(62, 142, 247, 0.07), transparent 60%);
	opacity: 0.9;
}

[data-theme="light"] body.yz-body::before {
	background:
		radial-gradient(1000px 520px at 84% -8%, rgba(109, 74, 255, 0.09), transparent 62%),
		radial-gradient(820px 460px at 2% 10%, rgba(62, 142, 247, 0.06), transparent 60%);
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

img {
	border-style: none;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s var(--yz-ease), background-color 0.2s var(--yz-ease),
		border-color 0.2s var(--yz-ease), transform 0.2s var(--yz-ease);
}

a:hover {
	color: var(--yz-accent);
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}

button {
	cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--yz-text-strong);
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	letter-spacing: 0.01em;
}

p {
	margin: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

hr {
	border: 0;
	border-top: 1px solid var(--yz-border);
	margin: 32px 0;
}

::selection {
	background: rgba(124, 92, 255, 0.35);
	color: #fff;
}

::-webkit-scrollbar {
	width: 9px;
	height: 9px;
}

::-webkit-scrollbar-track {
	background: transparent;
}

::-webkit-scrollbar-thumb {
	background: var(--yz-scrollbar);
	border-radius: 99px;
}

.yz-sprite {
	display: none;
}

.yz-icon {
	width: 1.15em;
	height: 1.15em;
	flex: 0 0 auto;
	display: inline-block;
	vertical-align: -0.15em;
}

.yz-skip {
	position: fixed;
	left: 16px;
	top: -60px;
	z-index: 1000;
	padding: 10px 18px;
	border-radius: 8px;
	background: var(--yz-accent);
	color: #fff;
	font-size: 13px;
	transition: top 0.2s ease;
}

.yz-skip:focus {
	top: 16px;
	color: #fff;
}

:focus-visible {
	outline: 2px solid var(--yz-accent);
	outline-offset: 3px;
}

[hidden] {
	display: none !important;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------
   3. 布局
   -------------------------------------------------------------------------- */
.yz-container {
	width: 100%;
	max-width: var(--yz-container);
	margin: 0 auto;
	padding: 0 24px;
}

.yz-main {
	min-height: 60vh;
	padding-top: var(--yz-header-h);
	overflow: clip;
}

.yz-section {
	padding: 64px 0 0;
}

.yz-section--tight {
	padding-top: 40px;
}

.yz-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--yz-sidebar);
	gap: var(--yz-gap);
	align-items: start;
}

.yz-content {
	min-width: 0;
}

.yz-sidebar {
	display: flex;
	flex-direction: column;
	gap: 18px;
	position: sticky;
	top: calc(var(--yz-header-h) + 22px);
}

.yz-grid {
	display: grid;
	gap: 18px;
}

.yz-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.yz-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.yz-mt-24 {
	margin-top: 24px;
}

.yz-mt-40 {
	margin-top: 40px;
}

/* --------------------------------------------------------------------------
   4. 通用元素：按钮 / 标签 / 表单
   -------------------------------------------------------------------------- */
.yz-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--yz-surface-2);
	color: var(--yz-text-strong);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	transition: all 0.22s var(--yz-ease);
}

.yz-btn .yz-icon {
	width: 1.05em;
	height: 1.05em;
}

.yz-btn:hover {
	transform: translateY(-1px);
	color: var(--yz-text-strong);
	background: var(--yz-surface-3);
}

.yz-btn--primary {
	background: var(--yz-gradient);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 8px 22px rgba(109, 74, 255, 0.28);
}

.yz-btn--primary:hover {
	color: #fff;
	background: var(--yz-gradient);
	box-shadow: 0 12px 30px rgba(109, 74, 255, 0.4);
	filter: brightness(1.06);
}

.yz-btn--ghost {
	background: transparent;
	border-color: var(--yz-border-strong);
	color: var(--yz-text);
}

.yz-btn--ghost:hover {
	background: var(--yz-hover);
	color: var(--yz-text-strong);
	border-color: var(--yz-accent);
}

.yz-btn--light {
	background: #fff;
	color: #1d2029;
}

.yz-btn--light:hover {
	background: #fff;
	color: #1d2029;
}

.yz-btn--sm {
	padding: 7px 14px;
	font-size: 12.5px;
}

.yz-btn--lg {
	padding: 14px 28px;
	font-size: 15px;
}

.yz-btn--block {
	width: 100%;
}

.yz-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 50%;
	background: transparent;
	color: var(--yz-muted);
	transition: all 0.2s var(--yz-ease);
}

.yz-iconbtn:hover {
	background: var(--yz-hover);
	color: var(--yz-text-strong);
}

.yz-iconbtn .yz-icon {
	width: 19px;
	height: 19px;
}

.yz-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 9px;
	border: 1px solid var(--yz-border);
	border-radius: 6px;
	background: var(--yz-hover);
	color: var(--yz-muted);
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
	transition: all 0.2s var(--yz-ease);
}

.yz-chip .yz-icon {
	width: 13px;
	height: 13px;
	opacity: 0.9;
}

a.yz-chip:hover {
	color: var(--yz-text-strong);
	border-color: var(--yz-border-strong);
	background: var(--yz-surface-3);
}

.yz-chip--dist {
	color: var(--yz-green);
	border-color: rgba(34, 224, 168, 0.28);
	background: rgba(34, 224, 168, 0.09);
}

.yz-chip--sm {
	padding: 2px 7px;
	font-size: 11.5px;
}

.yz-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 5px;
	background: var(--yz-hover);
	color: var(--yz-dim);
	font-size: 11.5px;
	white-space: nowrap;
}

.yz-tag .yz-icon {
	width: 12px;
	height: 12px;
}

.yz-tag--plan {
	color: var(--yz-amber);
	background: rgba(255, 176, 32, 0.12);
}

.yz-status {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 9px;
	border-radius: 99px;
	font-size: 11.5px;
	line-height: 1.6;
	white-space: nowrap;
}

.yz-status::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: currentColor;
}

.yz-status.is-active {
	color: var(--yz-green);
	background: rgba(34, 224, 168, 0.1);
}

.yz-status.is-pending {
	color: var(--yz-amber);
	background: rgba(255, 176, 32, 0.12);
}

.yz-status.is-paused {
	color: var(--yz-dim);
	background: var(--yz-hover);
}

.yz-status.is-expired {
	color: var(--yz-red);
	background: rgba(255, 93, 108, 0.1);
}

.yz-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 5px;
	background: rgba(124, 92, 255, 0.14);
	color: var(--yz-accent);
	font-size: 11.5px;
	font-weight: 500;
}

.yz-eyebrow {
	display: inline-block;
	color: var(--yz-accent);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.yz-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-meta-item .yz-icon {
	width: 14px;
	height: 14px;
	opacity: 0.85;
}

/* 表单 */
.yz-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.yz-field__label {
	color: var(--yz-muted);
	font-size: 12.5px;
	font-weight: 500;
}

.yz-field__label .is-required {
	color: var(--yz-red);
}

.yz-input,
.yz-select,
.yz-textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--yz-border-strong);
	border-radius: var(--yz-radius-sm);
	background: var(--yz-input-bg);
	color: var(--yz-text);
	font-size: 14px;
	line-height: 1.5;
	transition: border-color 0.2s var(--yz-ease), box-shadow 0.2s var(--yz-ease),
		background-color 0.2s var(--yz-ease);
	appearance: none;
}

.yz-textarea {
	min-height: 110px;
	resize: vertical;
}

.yz-select {
	background-image: linear-gradient(45deg, transparent 50%, var(--yz-dim) 50%),
		linear-gradient(135deg, var(--yz-dim) 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-right: 38px;
}

.yz-input::placeholder,
.yz-textarea::placeholder {
	color: var(--yz-faint);
}

.yz-input:focus,
.yz-select:focus,
.yz-textarea:focus {
	outline: none;
	border-color: var(--yz-accent);
	box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.16);
	background: var(--yz-surface);
}

.yz-field__hint {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-check {
	display: inline-flex;
	align-items: flex-start;
	gap: 9px;
	color: var(--yz-muted);
	font-size: 12.5px;
	line-height: 1.6;
	cursor: pointer;
}

.yz-check input {
	appearance: none;
	width: 16px;
	height: 16px;
	margin: 3px 0 0;
	border: 1px solid var(--yz-border-strong);
	border-radius: 5px;
	background: var(--yz-input-bg);
	position: relative;
	cursor: pointer;
	flex: 0 0 auto;
	transition: all 0.2s ease;
}

.yz-check input:checked {
	background: var(--yz-gradient);
	border-color: transparent;
}

.yz-check input:checked::after {
	content: "";
	position: absolute;
	left: 4.5px;
	top: 1.5px;
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(42deg);
}

.yz-check a {
	color: var(--yz-accent);
}

.yz-honeypot {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* 通知 */
.yz-notice {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 16px;
	border-radius: var(--yz-radius-sm);
	font-size: 13px;
	line-height: 1.6;
	border: 1px solid transparent;
}

.yz-notice .yz-icon {
	width: 17px;
	height: 17px;
	margin-top: 1px;
}

.yz-notice--success {
	color: var(--yz-green);
	background: rgba(34, 224, 168, 0.08);
	border-color: rgba(34, 224, 168, 0.22);
}

.yz-notice--error {
	color: var(--yz-red);
	background: rgba(255, 93, 108, 0.08);
	border-color: rgba(255, 93, 108, 0.22);
}

.yz-notice--info {
	color: var(--yz-blue);
	background: rgba(62, 142, 247, 0.08);
	border-color: rgba(62, 142, 247, 0.2);
}

/* --------------------------------------------------------------------------
   5. 页头 / 导航 / 搜索 / 抽屉
   -------------------------------------------------------------------------- */
.yz-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 90;
	background: var(--yz-surface-glass);
	border-bottom: 1px solid transparent;
	backdrop-filter: saturate(160%) blur(16px);
	-webkit-backdrop-filter: saturate(160%) blur(16px);
	transition: background-color 0.3s var(--yz-ease), border-color 0.3s var(--yz-ease),
		box-shadow 0.3s var(--yz-ease);
}

.yz-header.is-scrolled {
	border-bottom-color: var(--yz-border);
	box-shadow: 0 6px 26px rgba(0, 0, 0, 0.12);
}

.admin-bar .yz-header {
	top: 32px;
}

.yz-header__inner {
	display: flex;
	align-items: center;
	height: var(--yz-header-h);
	gap: 26px;
}

.yz-logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.yz-logo__img {
	display: block;
	height: 28px;
	width: auto;
}

.yz-logo__img--custom {
	height: 30px;
	max-width: 220px;
	object-fit: contain;
}

.yz-logo__text {
	display: inline-block;
	color: var(--yz-text-strong);
	font-size: 21px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.1;
	white-space: nowrap;
}

.yz-logo--drawer .yz-logo__text,
.yz-logo--footer .yz-logo__text {
	font-size: 18px;
}

[data-theme="dark"] .yz-logo__img--dark {
	display: none;
}

[data-theme="light"] .yz-logo__img--light {
	display: none;
}

.yz-nav {
	flex: 1 1 auto;
	min-width: 0;
}

.yz-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
}

.yz-nav__list .menu-item {
	position: relative;
}

.yz-nav__list > .menu-item > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 13px;
	border-radius: 8px;
	color: var(--yz-muted);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	transition: all 0.2s var(--yz-ease);
}

.yz-nav__list > .menu-item > a:hover,
.yz-nav__list > .menu-item.current-menu-item > a,
.yz-nav__list > .menu-item.current-menu-parent > a,
.yz-nav__list > .is-current > a {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-nav__list > .is-current > a,
.yz-nav__list > .menu-item.current-menu-item > a {
	color: var(--yz-text-strong);
}

.yz-nav__list > .is-current > a::after,
.yz-nav__list > .menu-item.current-menu-item > a::after,
.yz-nav__list > .menu-item.current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 3px;
	height: 2px;
	border-radius: 2px;
	background: var(--yz-gradient);
}

.yz-nav__caret {
	display: inline-flex;
	transition: transform 0.25s var(--yz-ease);
}

.yz-nav__caret .yz-icon {
	width: 13px;
	height: 13px;
}

.yz-nav__list .menu-item-has-children:hover .yz-nav__caret,
.yz-nav__list .menu-item-has-children:focus-within .yz-nav__caret {
	transform: rotate(180deg);
}

.yz-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: -6px;
	z-index: 30;
	width: 316px;
	padding: 8px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	box-shadow: var(--yz-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.22s var(--yz-ease);
}

.yz-nav__list .menu-item-has-children:hover .sub-menu,
.yz-nav__list .menu-item-has-children:focus-within .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.yz-nav__list .sub-menu .menu-item a {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 10px 12px;
	border-radius: var(--yz-radius-sm);
}

.yz-nav__list .sub-menu .menu-item a:hover {
	background: var(--yz-hover);
}

.yz-nav__sub-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(124, 92, 255, 0.1);
	color: var(--yz-ch-color, var(--yz-accent));
	flex: 0 0 auto;
}

.yz-nav__sub-icon .yz-icon {
	width: 17px;
	height: 17px;
}

.yz-nav__sub-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: var(--yz-text);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.4;
}

.yz-nav__sub-text small {
	color: var(--yz-faint);
	font-size: 11.5px;
	font-weight: 400;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.yz-header__actions {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
	flex: 0 0 auto;
}

.yz-login-link {
	padding: 7px 12px;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	cursor: pointer;
	color: var(--yz-muted);
	font-size: 13.5px;
	font-weight: 500;
	border-radius: 8px;
}

.yz-login-link:hover {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-header__cta,
.yz-header__publish {
	margin-left: 6px;
}

.yz-theme-toggle {
	position: relative;
	overflow: hidden;
}

.yz-theme-toggle__moon,
.yz-theme-toggle__sun {
	position: absolute;
	transition: transform 0.35s var(--yz-ease), opacity 0.25s var(--yz-ease);
}

[data-theme="dark"] .yz-theme-toggle__sun {
	transform: translateY(22px) rotate(-40deg);
	opacity: 0;
}

[data-theme="light"] .yz-theme-toggle__moon {
	transform: translateY(-22px) rotate(40deg);
	opacity: 0;
}

.yz-menu-toggle {
	display: none;
}

/* 用户菜单 */
.yz-user {
	position: relative;
}

.yz-user__btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 8px 4px 4px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	color: var(--yz-text);
}

.yz-user__btn:hover {
	background: var(--yz-hover);
}

.yz-user__avatar {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	overflow: hidden;
	flex: 0 0 auto;
	background: var(--yz-surface-3);
}

.yz-user__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.yz-user__name {
	max-width: 74px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13.5px;
}

.yz-user__caret {
	width: 13px;
	height: 13px;
	color: var(--yz-dim);
}

.yz-dropdown {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 40;
	width: 234px;
	padding: 8px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	box-shadow: var(--yz-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.22s var(--yz-ease);
}

.yz-user.is-open .yz-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.yz-dropdown__head {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px 12px;
	border-bottom: 1px solid var(--yz-border);
	margin-bottom: 6px;
}

.yz-dropdown__head strong {
	color: var(--yz-text-strong);
	font-size: 14px;
}

.yz-dropdown__head span {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-dropdown__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: var(--yz-radius-sm);
	color: var(--yz-muted);
	font-size: 13.5px;
}

.yz-dropdown__item .yz-icon {
	width: 16px;
	height: 16px;
}

.yz-dropdown__item:hover {
	background: var(--yz-hover);
	color: var(--yz-text-strong);
}

.yz-dropdown__item--danger {
	color: var(--yz-red);
}

.yz-dropdown__item--danger:hover {
	color: var(--yz-red);
	background: rgba(255, 93, 108, 0.08);
}

/* 搜索浮层 */
.yz-search {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 12vh 20px 40px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s var(--yz-ease), visibility 0.25s var(--yz-ease);
}

.yz-search.is-open {
	opacity: 1;
	visibility: visible;
}

.yz-search__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 9, 14, 0.62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.yz-search__panel {
	position: relative;
	z-index: 1;
	width: min(660px, 100%);
	padding: 22px;
	border: 1px solid var(--yz-border-strong);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
	transform: translateY(-14px) scale(0.985);
	transition: transform 0.28s var(--yz-ease);
}

.yz-search.is-open .yz-search__panel {
	transform: translateY(0) scale(1);
}

.yz-search__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.yz-search__title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--yz-text-strong);
	font-size: 15px;
	font-weight: 600;
}

.yz-search__form {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 6px 6px 44px;
	border: 1px solid var(--yz-border-strong);
	border-radius: 999px;
	background: var(--yz-input-bg);
}

.yz-search__form-icon {
	position: absolute;
	left: 17px;
	width: 17px;
	height: 17px;
	color: var(--yz-dim);
}

.yz-search__input {
	flex: 1 1 auto;
	min-width: 0;
	padding: 7px 0;
	border: 0;
	background: transparent;
	color: var(--yz-text);
	font-size: 15px;
	outline: none;
}

.yz-search__input::placeholder {
	color: var(--yz-faint);
}

.yz-search__hot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
}

.yz-search__hot-label {
	color: var(--yz-faint);
	font-size: 12px;
	margin-right: 2px;
}

/* 移动端抽屉 */
.yz-overlay {
	position: fixed;
	inset: 0;
	z-index: 95;
	background: rgba(8, 9, 14, 0.55);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.28s var(--yz-ease);
}

.yz-overlay.is-open {
	opacity: 1;
}

.yz-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	width: min(360px, 88vw);
	background: var(--yz-surface);
	border-left: 1px solid var(--yz-border);
	box-shadow: -20px 0 60px rgba(0, 0, 0, 0.32);
	transform: translateX(102%);
	transition: transform 0.32s var(--yz-ease);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.yz-drawer.is-open {
	transform: translateX(0);
}

.yz-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid var(--yz-border);
}

.yz-logo--drawer .yz-logo__img {
	height: 24px;
}

.yz-drawer__user {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--yz-border);
	background: var(--yz-surface-2);
}

.yz-drawer__user .yz-user__avatar {
	width: 36px;
	height: 36px;
}

.yz-drawer__user-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1 1 auto;
}

.yz-drawer__user-info strong {
	color: var(--yz-text-strong);
	font-size: 14px;
}

.yz-drawer__user-info span,
.yz-drawer__user-info a {
	color: var(--yz-dim);
	font-size: 12px;
}

.yz-drawer__user-info a:hover {
	color: var(--yz-accent);
}

.yz-drawer__body {
	flex: 1 1 auto;
	padding: 12px 12px 4px;
}

.yz-drawer__group {
	padding: 8px 0;
}

.yz-drawer__label {
	display: block;
	padding: 6px 12px 10px;
	color: var(--yz-faint);
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.yz-drawer__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--yz-radius-sm);
	color: var(--yz-muted);
	font-size: 14px;
}

.yz-drawer__link:hover {
	background: var(--yz-hover);
	color: var(--yz-text-strong);
}

.yz-drawer__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--yz-hover);
	color: var(--yz-ch-color, var(--yz-accent));
}

.yz-drawer__icon .yz-icon {
	width: 16px;
	height: 16px;
}

.yz-drawer__count {
	margin-left: auto;
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-drawer__foot {
	padding: 16px 20px calc(20px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--yz-border);
}

.yz-drawer__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	color: var(--yz-faint);
	font-size: 12.5px;
}

/* 阅读进度 / 返回顶部 / 提示 */
.yz-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 110;
	height: 2px;
	background: transparent;
}

.yz-progress__bar {
	display: block;
	width: 0;
	height: 100%;
	background: var(--yz-gradient);
	box-shadow: 0 0 12px rgba(124, 92, 255, 0.5);
	transition: width 0.1s linear;
}

.yz-backtop {
	position: fixed;
	right: 26px;
	bottom: 32px;
	z-index: 80;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--yz-border);
	border-radius: 50%;
	background: var(--yz-surface-glass);
	color: var(--yz-muted);
	box-shadow: var(--yz-shadow-sm);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.28s var(--yz-ease);
}

.yz-backtop.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.yz-backtop:hover {
	color: var(--yz-accent);
	border-color: var(--yz-accent);
}

.yz-toast {
	position: fixed;
	left: 50%;
	bottom: 34px;
	z-index: 200;
	padding: 10px 20px;
	border-radius: 999px;
	background: rgba(24, 25, 32, 0.94);
	color: #fff;
	font-size: 13.5px;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.34);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 12px);
	transition: all 0.28s var(--yz-ease);
	pointer-events: none;
	max-width: 86vw;
	text-align: center;
}

.yz-toast.is-show {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

/* --------------------------------------------------------------------------
   6. 首页 Banner
   -------------------------------------------------------------------------- */
.yz-hero {
	position: relative;
	margin-top: 26px;
	border-radius: var(--yz-radius-xl);
	background: linear-gradient(128deg, #191333 0%, #171a35 44%, #0f2130 100%);
	overflow: hidden;
	isolation: isolate;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

[data-theme="light"] .yz-hero {
	background: linear-gradient(128deg, #241a54 0%, #1e2450 46%, #102f3f 100%);
}

.yz-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
}

.yz-hero__bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(620px 340px at 84% 18%, var(--yz-hero-glow-1), transparent 66%),
		radial-gradient(520px 300px at 12% 92%, var(--yz-hero-glow-2), transparent 64%),
		radial-gradient(460px 260px at 52% 0%, var(--yz-hero-glow-3), transparent 60%);
}

.yz-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(circle at 60% 40%, #000 0%, transparent 78%);
	-webkit-mask-image: radial-gradient(circle at 60% 40%, #000 0%, transparent 78%);
	opacity: 0.75;
}

.yz-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.94fr);
	align-items: center;
	gap: 30px;
	padding: 56px 56px 48px;
}

.yz-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.72);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
}

.yz-hero__eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yz-green);
	box-shadow: 0 0 0 4px rgba(34, 224, 168, 0.18);
}

.yz-hero__title {
	margin: 18px 0 14px;
	color: #fff;
	font-size: clamp(30px, 3.6vw, 46px);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: 0.015em;
}

.yz-hero__title em {
	font-style: normal;
	background: var(--yz-gradient-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.yz-hero__subtitle {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(15px, 1.4vw, 18px);
	font-weight: 500;
	line-height: 1.6;
}

.yz-hero__desc {
	max-width: 460px;
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13.5px;
	line-height: 1.85;
}

.yz-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 26px;
}

.yz-hero__actions .yz-btn--ghost {
	border-color: rgba(255, 255, 255, 0.24);
	color: rgba(255, 255, 255, 0.9);
}

.yz-hero__actions .yz-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.4);
	color: #fff;
}

.yz-hero__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	max-width: 470px;
	margin-top: 34px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.yz-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.yz-hero__stat strong {
	color: #fff;
	font-size: clamp(19px, 1.8vw, 24px);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.yz-hero__stat strong span {
	color: var(--yz-green);
}

.yz-hero__stat small {
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
}

.yz-hero__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 330px;
}

/* 内容分发示意 */
.yz-flow {
	position: relative;
	width: min(420px, 100%);
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.035));
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.35);
}

.yz-flow__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.yz-flow__head strong {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.94);
	font-size: 13.5px;
	font-weight: 600;
}

.yz-flow__live {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--yz-green);
	font-size: 11px;
}

.yz-flow__live::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yz-green);
	animation: yz-pulse 1.8s infinite;
}

.yz-flow__row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 0;
}

.yz-flow__row + .yz-flow__row {
	border-top: 1px dashed rgba(255, 255, 255, 0.09);
}

.yz-flow__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	flex: 0 0 auto;
}

.yz-flow__icon .yz-icon {
	width: 19px;
	height: 19px;
}

.yz-flow__text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.yz-flow__text strong {
	color: rgba(255, 255, 255, 0.92);
	font-size: 13px;
	font-weight: 600;
}

.yz-flow__text small {
	color: rgba(255, 255, 255, 0.48);
	font-size: 11.5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-flow__badge {
	margin-left: auto;
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(34, 224, 168, 0.12);
	color: var(--yz-green);
	font-size: 10.5px;
	white-space: nowrap;
}

.yz-flow__badge--blue {
	background: rgba(62, 142, 247, 0.14);
	color: #7fb5ff;
}

.yz-flow__brands {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.yz-flow__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-left: -6px;
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	background: var(--yz-gradient);
}

.yz-flow__brand:first-child {
	margin-left: 0;
}

.yz-flow__brand:nth-child(2) {
	background: linear-gradient(135deg, #3e8ef7, #22e0a8);
}

.yz-flow__brand:nth-child(3) {
	background: linear-gradient(135deg, #ffb020, #ff6b9a);
}

.yz-flow__brand:nth-child(4) {
	background: linear-gradient(135deg, #22e0a8, #3e8ef7);
}

.yz-flow__brand-more {
	color: rgba(255, 255, 255, 0.55);
	font-size: 11.5px;
	margin-left: 4px;
}

.yz-hero__float {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 12px;
	background: rgba(20, 21, 30, 0.62);
	color: rgba(255, 255, 255, 0.82);
	font-size: 11.5px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
	animation: yz-float 6s ease-in-out infinite;
}

.yz-hero__float .yz-icon {
	width: 14px;
	height: 14px;
	color: var(--yz-green);
}

.yz-hero__float--a {
	top: 20px;
	right: -34px;
}

.yz-hero__float--b {
	bottom: 44px;
	left: -38px;
	animation-delay: -2.4s;
}

.yz-hero__float--c {
	bottom: -6px;
	right: 36px;
	animation-delay: -4s;
}

@keyframes yz-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-9px);
	}
}

@keyframes yz-pulse {
	0% {
		box-shadow: 0 0 0 0 rgba(34, 224, 168, 0.5);
	}
	70% {
		box-shadow: 0 0 0 7px rgba(34, 224, 168, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(34, 224, 168, 0);
	}
}

/* --------------------------------------------------------------------------
   7. 首页频道卡
   -------------------------------------------------------------------------- */
.yz-channels {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-top: -34px;
	padding: 0 26px;
	position: relative;
	z-index: 2;
}

.yz-channel-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	box-shadow: var(--yz-shadow-sm);
	overflow: hidden;
	transition: all 0.28s var(--yz-ease);
}

.yz-channel-card::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--yz-ch-color, var(--yz-accent));
	opacity: 0;
	transition: opacity 0.28s var(--yz-ease);
}

.yz-channel-card:hover {
	transform: translateY(-4px);
	border-color: var(--yz-border-strong);
	box-shadow: var(--yz-shadow);
}

.yz-channel-card:hover::after {
	opacity: 1;
}

.yz-channel-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: color-mix(in srgb, var(--yz-ch-color, var(--yz-accent)) 12%, transparent);
	color: var(--yz-ch-color, var(--yz-accent));
}

.yz-channel-card__icon .yz-icon {
	width: 20px;
	height: 20px;
}

.yz-channel-card__name {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--yz-text-strong);
	font-size: 15px;
	font-weight: 600;
}

.yz-channel-card__count {
	color: var(--yz-faint);
	font-size: 11.5px;
	font-weight: 400;
}

.yz-channel-card__desc {
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.65;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 40px;
}

/* --------------------------------------------------------------------------
   8. 排序 / 内容列表 / 卡片
   -------------------------------------------------------------------------- */
.yz-feed__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.yz-feed__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--yz-text-strong);
	font-size: 20px;
	font-weight: 600;
}

.yz-feed__title::before {
	content: "";
	width: 4px;
	height: 18px;
	border-radius: 99px;
	background: var(--yz-gradient);
}

.yz-feed__title small {
	color: var(--yz-faint);
	font-size: 12px;
	font-weight: 400;
}

.yz-sort {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 2px 0;
	color: var(--yz-dim);
	font-size: 13px;
}

.yz-sort__label {
	color: var(--yz-faint);
}

.yz-sort__list {
	display: flex;
	align-items: center;
	gap: 4px;
}

.yz-sort__item {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 7px;
	color: var(--yz-dim);
	font-size: 13px;
}

.yz-sort__item:hover {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-sort__item.is-active {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-sort__view {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	margin-left: auto;
	padding: 2px;
	border: 1px solid var(--yz-border);
	border-radius: 7px;
}

.yz-sort__view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 24px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--yz-faint);
}

.yz-sort__view-btn.is-active {
	background: var(--yz-hover);
	color: var(--yz-accent);
}

.yz-sort__view-btn .yz-icon {
	width: 14px;
	height: 14px;
}

.yz-postlist {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.yz-card {
	position: relative;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
	overflow: hidden;
	transition: all 0.26s var(--yz-ease);
}

.yz-card:hover {
	border-color: var(--yz-border-strong);
	box-shadow: var(--yz-shadow-sm);
	transform: translateY(-2px);
}

.yz-card--list {
	display: flex;
	gap: 18px;
	padding: 16px;
}

.yz-card--list .yz-card__thumb {
	position: relative;
	width: 212px;
	flex: 0 0 212px;
	aspect-ratio: 16 / 10;
	border-radius: var(--yz-radius-sm);
	overflow: hidden;
	background: var(--yz-surface-2);
}

.yz-card--list .yz-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--yz-ease);
}

.yz-card--list:hover .yz-card__thumb img {
	transform: scale(1.04);
}

.yz-card--list .yz-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	padding: 2px 0;
}

.yz-card__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-bottom: 7px;
}

.yz-card--list .yz-card__title {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
}

.yz-card__title a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--yz-text-strong);
}

.yz-card--list .yz-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 7px;
	color: var(--yz-muted);
	font-size: 13px;
	line-height: 1.65;
}

.yz-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: auto;
	padding-top: 12px;
}

.yz-card__date {
	margin-left: auto;
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-thumb__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 缩略图占位 */
.yz-thumb__ph {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 100%;
	background: linear-gradient(140deg, var(--yz-surface-3), var(--yz-surface-2));
	overflow: hidden;
}

.yz-thumb__ph::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--yz-ch-color, #7c5cff) 34%, transparent), transparent 58%),
		radial-gradient(circle at 82% 88%, color-mix(in srgb, var(--yz-ch-color, #7c5cff) 18%, transparent), transparent 52%);
	opacity: 0.9;
}

.yz-thumb__ph::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 26px 26px;
	opacity: 0.5;
}

.yz-thumb__ph-icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background: rgba(10, 12, 20, 0.28);
	color: color-mix(in srgb, var(--yz-ch-color, #7c5cff) 80%, #fff);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.yz-thumb__ph-icon .yz-icon {
	width: 23px;
	height: 23px;
}

.yz-thumb__ph-brand {
	position: absolute;
	right: 12px;
	bottom: 9px;
	z-index: 1;
	color: rgba(255, 255, 255, 0.42);
	font-size: 10px;
	letter-spacing: 0.22em;
	font-weight: 600;
}

/* 网格卡 */
.yz-card--grid {
	display: flex;
	flex-direction: column;
}

.yz-card--grid .yz-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--yz-surface-2);
}

.yz-card--grid .yz-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s var(--yz-ease);
}

.yz-card--grid:hover .yz-card__thumb img {
	transform: scale(1.045);
}

.yz-card--grid .yz-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 15px 17px 16px;
}

.yz-card--grid .yz-card__title {
	font-size: 15.5px;
	line-height: 1.5;
}

.yz-card--grid .yz-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 7px;
	color: var(--yz-muted);
	font-size: 12.5px;
	line-height: 1.65;
}

.yz-card--grid .yz-card__meta {
	gap: 13px;
	padding-top: 13px;
	border-top: 1px solid var(--yz-border);
	margin-top: 13px;
}

.yz-card--grid .yz-card__date {
	font-size: 11.5px;
}

/* 视图切换 */
.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] .yz-card--list {
	flex-direction: column;
	padding: 12px;
}

.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] .yz-card--list .yz-card__thumb {
	width: 100%;
	flex: none;
	aspect-ratio: 16 / 9;
}

.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] .yz-card--list .yz-card__excerpt {
	display: none;
}

.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] .yz-card--list .yz-card__meta {
	padding-top: 9px;
}

.yz-postlist:not(.yz-postlist--grid)[data-view="grid"] .yz-card--list .yz-card__date {
	display: none;
}

/* 加载更多 / 分页 */
.yz-loadmore {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 26px 0 8px;
}

.yz-loadmore__btn {
	min-width: 168px;
}

.yz-loadmore__btn.is-loading {
	pointer-events: none;
	opacity: 0.7;
}

.yz-loadmore__btn.is-loading .yz-loadmore__icon {
	animation: yz-spin 0.9s linear infinite;
}

.yz-loadmore__hint {
	display: none;
	color: var(--yz-faint);
	font-size: 12.5px;
}

.yz-loadmore.is-end .yz-loadmore__btn {
	display: none;
}

.yz-loadmore.is-end .yz-loadmore__hint {
	display: block;
}

@keyframes yz-spin {
	to {
		transform: rotate(360deg);
	}
}

.yz-pagination {
	display: flex;
	justify-content: center;
	padding: 28px 0 4px;
}

.yz-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
}

.yz-pagination__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 34px;
	height: 34px;
	padding: 0 12px;
	justify-content: center;
	border: 1px solid var(--yz-border);
	border-radius: 9px;
	background: var(--yz-surface);
	color: var(--yz-muted);
	font-size: 13px;
}

.yz-pagination__link:hover {
	border-color: var(--yz-accent);
	color: var(--yz-accent);
}

.yz-pagination__link.is-active,
.yz-pagination__link.current {
	background: var(--yz-gradient);
	border-color: transparent;
	color: #fff;
}

.yz-pagination__link .yz-icon {
	width: 14px;
	height: 14px;
}

.yz-pagination__item span.yz-pagination__link {
	cursor: default;
}

/* --------------------------------------------------------------------------
   9. 侧栏组件
   -------------------------------------------------------------------------- */
.yz-widget {
	position: relative;
	padding: 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-widget__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.yz-widget__title {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
}

.yz-widget__title .yz-icon {
	width: 16px;
	height: 16px;
	color: var(--yz-accent);
}

.yz-widget__more {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-widget__more:hover {
	color: var(--yz-accent);
}

.yz-widget__more .yz-icon {
	width: 12px;
	height: 12px;
}

/* 用户卡 */
.yz-userpanel {
	position: relative;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-userpanel__cover {
	position: relative;
	height: 118px;
	background: linear-gradient(130deg, #231a4f, #1d2b55 55%, #0f2f3a);
	overflow: hidden;
}

.yz-userpanel__cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(240px 160px at 82% 20%, rgba(124, 92, 255, 0.6), transparent 66%),
		radial-gradient(200px 140px at 12% 90%, rgba(34, 224, 168, 0.36), transparent 64%);
}

.yz-userpanel__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 22px 22px;
	mask-image: radial-gradient(circle at 50% 40%, #000, transparent 80%);
	-webkit-mask-image: radial-gradient(circle at 50% 40%, #000, transparent 80%);
}

.yz-userpanel__cover-glow {
	position: absolute;
	right: 18px;
	bottom: 14px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 11px;
	letter-spacing: 0.24em;
	z-index: 1;
}

.yz-userpanel__cover-brand {
	position: absolute;
	left: 18px;
	top: 16px;
	z-index: 1;
	color: rgba(255, 255, 255, 0.92);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.yz-userpanel__body {
	position: relative;
	padding: 0 18px 18px;
	text-align: center;
}

.yz-userpanel__avatar {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	margin-top: -33px;
	border: 3px solid var(--yz-surface);
	border-radius: 50%;
	background: var(--yz-surface-3);
	overflow: hidden;
	z-index: 2;
}

.yz-userpanel__avatar--guest {
	background: linear-gradient(135deg, #7c5cff, #3e8ef7);
}

.yz-userpanel__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	padding: 3px;
	border-radius: 50%;
}

.yz-userpanel__mark {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
}

.yz-userpanel__welcome {
	margin-top: 10px;
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
}

.yz-userpanel__tip {
	margin-top: 6px;
	color: var(--yz-faint);
	font-size: 12px;
	line-height: 1.65;
}

.yz-userpanel__actions {
	display: flex;
	flex-direction: column;
	gap: 9px;
	margin-top: 14px;
}

.yz-userpanel__link {
	color: var(--yz-dim);
	font-size: 12px;
}

.yz-userpanel__link:hover {
	color: var(--yz-accent);
}

.yz-userpanel--sidebar .yz-userpanel__head {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 16px;
}

.yz-userpanel__who {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1 1 auto;
}

.yz-userpanel__who strong {
	color: var(--yz-text-strong);
	font-size: 14px;
}

.yz-userpanel__role {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-userpanel__logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	color: var(--yz-faint);
}

.yz-userpanel__logout:hover {
	color: var(--yz-red);
	background: rgba(255, 93, 108, 0.08);
}

.yz-userpanel__site {
	margin: 0 16px 14px;
	padding: 12px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-sm);
	background: var(--yz-surface-2);
}

.yz-userpanel__site-name {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--yz-text-strong);
	font-size: 13px;
	font-weight: 500;
}

.yz-userpanel__site-name .yz-status {
	margin-left: auto;
}

.yz-userpanel__site-meta {
	margin-top: 4px;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-brand-dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
}

.yz-userpanel--sidebar .yz-userpanel__actions {
	padding: 0 16px 16px;
}

/* 从站列表 */
.yz-sitelist {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.yz-sitelist__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 8px;
	border-radius: var(--yz-radius-sm);
	transition: background-color 0.2s var(--yz-ease);
}

.yz-sitelist__item:hover {
	background: var(--yz-hover);
}

.yz-sitelist__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 9px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	flex: 0 0 auto;
}

.yz-sitelist__info {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1 1 auto;
}

.yz-sitelist__name {
	color: var(--yz-text);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-sitelist__domain {
	color: var(--yz-faint);
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 热门列表 */
.yz-hotlist {
	display: flex;
	flex-direction: column;
	gap: 2px;
	counter-reset: hot;
}

.yz-hotlist__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 6px;
	border-radius: 7px;
}

.yz-hotlist__item:hover {
	background: var(--yz-hover);
}

.yz-hotlist__index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 6px;
	background: var(--yz-hover);
	color: var(--yz-dim);
	font-size: 11px;
	font-weight: 600;
	flex: 0 0 auto;
}

.yz-hotlist__index.is-top {
	background: rgba(124, 92, 255, 0.16);
	color: var(--yz-accent);
}

.yz-hotlist__title {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--yz-text);
	font-size: 12.5px;
	line-height: 1.5;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-hotlist__meta {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	color: var(--yz-faint);
	font-size: 11px;
	flex: 0 0 auto;
}

.yz-hotlist__meta .yz-icon {
	width: 12px;
	height: 12px;
}

/* 学习路径列表 */
.yz-learnpath {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 14px 0 16px;
}

.yz-learnpath__item a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.86);
}

.yz-learnpath__item:last-child a {
	border-bottom: 0;
}

.yz-learnpath__item a:hover {
	color: #fff;
}

.yz-learnpath__no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--yz-green);
	font-size: 11px;
	font-weight: 700;
	flex: 0 0 auto;
}

.yz-learnpath__text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	flex: 1 1 auto;
}

.yz-learnpath__text strong {
	font-size: 12.5px;
	font-weight: 600;
}

.yz-learnpath__text small {
	color: rgba(255, 255, 255, 0.45);
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-learnpath__item .yz-icon {
	width: 13px;
	height: 13px;
	color: rgba(255, 255, 255, 0.35);
}

/* 学习路径卡片（首页） */
.yz-steps__item--link {
	display: block;
	color: inherit;
}

.yz-steps__item--link:hover {
	border-color: color-mix(in srgb, var(--yz-ch-color, var(--yz-accent)) 46%, transparent);
	transform: translateY(-3px);
	box-shadow: var(--yz-shadow-sm);
	color: inherit;
}

.yz-steps__item--link:hover .yz-steps__num {
	background: color-mix(in srgb, var(--yz-ch-color, var(--yz-accent)) 22%, transparent);
	color: var(--yz-ch-color, var(--yz-accent));
}

.yz-steps__channel {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 14px;
	color: var(--yz-ch-color, var(--yz-accent));
	font-size: 12px;
}

.yz-steps__channel .yz-icon {
	width: 13px;
	height: 13px;
}

/* 授权推广卡 */
.yz-widget--license,
.yz-widget--learn {
	background: linear-gradient(150deg, #241a4d, #1c2348 60%, #132b33);
	border-color: rgba(124, 92, 255, 0.3);
	color: #fff;
}

.yz-widget--license::before,
.yz-widget--learn::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 24px 24px;
	mask-image: radial-gradient(circle at 80% 0%, #000, transparent 75%);
	-webkit-mask-image: radial-gradient(circle at 80% 0%, #000, transparent 75%);
	pointer-events: none;
}

.yz-widget__glow {
	position: absolute;
	right: -40px;
	top: -50px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.4);
	filter: blur(46px);
	pointer-events: none;
}

.yz-license-mini__eyebrow {
	position: relative;
	color: rgba(255, 255, 255, 0.5);
	font-size: 10px;
	letter-spacing: 0.2em;
}

.yz-license-mini__title {
	position: relative;
	margin-top: 8px;
	color: #fff;
	font-size: 17px;
	font-weight: 600;
}

.yz-license-mini__desc {
	position: relative;
	margin-top: 6px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 12px;
	line-height: 1.7;
}

.yz-license-mini__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 14px 0 16px;
}

.yz-license-mini__list li {
	display: flex;
	align-items: center;
	gap: 7px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
}

.yz-license-mini__list .yz-icon {
	width: 14px;
	height: 14px;
	color: var(--yz-green);
}

.yz-widget--license .yz-btn {
	position: relative;
}

/* --------------------------------------------------------------------------
   10. 区块标题 / 从站矩阵 / 流程 / 数据 / CTA
   -------------------------------------------------------------------------- */
.yz-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}

.yz-section-head__title {
	margin-top: 6px;
	color: var(--yz-text-strong);
	font-size: clamp(21px, 2vw, 27px);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.yz-section-head__desc {
	margin-top: 7px;
	max-width: 620px;
	color: var(--yz-dim);
	font-size: 13px;
	line-height: 1.8;
}

.yz-section-head__link {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	color: var(--yz-muted);
	font-size: 13px;
}

.yz-section-head__link .yz-icon {
	width: 14px;
	height: 14px;
}

.yz-section-head__link:hover {
	color: var(--yz-accent);
}

.yz-sites-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.yz-sitecard {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	transition: all 0.26s var(--yz-ease);
}

.yz-sitecard:hover {
	transform: translateY(-3px);
	border-color: var(--yz-border-strong);
	box-shadow: var(--yz-shadow-sm);
}

.yz-sitecard__top {
	display: flex;
	align-items: center;
	gap: 11px;
}

.yz-sitecard__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	flex: 0 0 auto;
}

.yz-sitecard__id {
	flex: 1 1 auto;
	min-width: 0;
}

.yz-sitecard__name {
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-sitecard__domain {
	display: block;
	margin-top: 2px;
	color: var(--yz-faint);
	font-size: 11.5px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-sitecard__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 13px;
}

.yz-sitecard__channels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
	margin-top: 11px;
}

.yz-sitecard__channels-label {
	color: var(--yz-faint);
	font-size: 11px;
	margin-right: 2px;
}

.yz-sitecard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 15px;
}

.yz-sitecard__sync {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-sitecard__sync .yz-icon {
	width: 13px;
	height: 13px;
	color: var(--yz-green);
}

/* 从站矩阵 CTA 卡 */
.yz-sitecard--cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	border-style: dashed;
	border-color: color-mix(in srgb, var(--yz-accent) 40%, transparent);
	background: linear-gradient(155deg, rgba(124, 92, 255, 0.1), transparent 70%), var(--yz-surface);
	min-height: 230px;
}

.yz-sitecard--cta:hover {
	border-color: var(--yz-accent);
}

.yz-sitecard--cta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: rgba(124, 92, 255, 0.14);
	color: var(--yz-accent);
}

.yz-sitecard--cta__icon .yz-icon {
	width: 20px;
	height: 20px;
}

.yz-sitecard--cta__title {
	color: var(--yz-text-strong);
	font-size: 15px;
	font-weight: 600;
}

.yz-sitecard--cta__desc {
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.7;
}

.yz-sitecard--cta__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	color: var(--yz-accent);
	font-size: 12.5px;
}

.yz-sitecard--cta__link .yz-icon {
	width: 13px;
	height: 13px;
}

/* 流程 */
.yz-process {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	counter-reset: step;
}

.yz-step {
	position: relative;
	padding: 22px 20px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-step::after {
	content: "";
	position: absolute;
	right: -26px;
	bottom: -30px;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.08);
	filter: blur(6px);
}

.yz-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(124, 92, 255, 0.12);
	color: var(--yz-accent);
	font-size: 14px;
	font-weight: 700;
}

.yz-step__title {
	margin-top: 13px;
	color: var(--yz-text-strong);
	font-size: 15px;
	font-weight: 600;
}

.yz-step__desc {
	margin-top: 6px;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.7;
}

/* 数据条 */
.yz-statsband {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding: 26px 8px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-statsband__item {
	position: relative;
	padding: 6px 24px;
}

.yz-statsband__item + .yz-statsband__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12%;
	bottom: 12%;
	width: 1px;
	background: var(--yz-border);
}

.yz-statsband__value {
	color: var(--yz-text-strong);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
}

.yz-statsband__value em {
	font-style: normal;
	color: var(--yz-accent);
}

.yz-statsband__label {
	margin-top: 5px;
	color: var(--yz-dim);
	font-size: 12.5px;
}

/* CTA */
.yz-cta {
	position: relative;
	margin-top: 64px;
	padding: 40px 44px;
	border: 1px solid rgba(124, 92, 255, 0.24);
	border-radius: var(--yz-radius-xl);
	background: linear-gradient(125deg, #221a4a 0%, #1b2350 52%, #122e3a 100%);
	overflow: hidden;
	isolation: isolate;
}

.yz-cta__glow {
	position: absolute;
	top: -120px;
	right: 8%;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.32);
	filter: blur(70px);
	pointer-events: none;
}

.yz-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: radial-gradient(circle at 70% 30%, #000, transparent 76%);
	-webkit-mask-image: radial-gradient(circle at 70% 30%, #000, transparent 76%);
	pointer-events: none;
}

.yz-cta__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.yz-cta__text {
	max-width: 640px;
}

.yz-cta .yz-eyebrow {
	color: rgba(255, 255, 255, 0.42);
}

.yz-cta__title {
	margin-top: 9px;
	color: #fff;
	font-size: clamp(22px, 2.3vw, 30px);
	font-weight: 700;
	line-height: 1.35;
}

.yz-cta__desc {
	margin-top: 9px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	line-height: 1.8;
}

.yz-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 0 0 auto;
}

.yz-cta__actions .yz-btn--ghost {
	border-color: rgba(255, 255, 255, 0.22);
	color: rgba(255, 255, 255, 0.86);
}

.yz-cta__actions .yz-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

/* --------------------------------------------------------------------------
   11. 页面头部 / 面包屑 / 频道导航
   -------------------------------------------------------------------------- */
.yz-breadcrumb {
	margin: 22px 0 14px;
}

.yz-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	color: var(--yz-faint);
	font-size: 12.5px;
}

.yz-breadcrumb__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.yz-breadcrumb__item + .yz-breadcrumb__item::before {
	content: "/";
	color: var(--yz-faint);
	opacity: 0.6;
}

.yz-breadcrumb__item a {
	color: var(--yz-dim);
}

.yz-breadcrumb__item a:hover {
	color: var(--yz-accent);
}

.yz-breadcrumb__item.is-current span {
	color: var(--yz-muted);
	max-width: 460px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-pagehead {
	position: relative;
	margin-top: 22px;
	padding: 34px 36px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-pagehead::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(420px 220px at 88% 0%, rgba(124, 92, 255, 0.14), transparent 68%),
		radial-gradient(360px 200px at 0% 100%, rgba(34, 224, 168, 0.08), transparent 66%);
	pointer-events: none;
}

.yz-pagehead__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.yz-pagehead__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: rgba(124, 92, 255, 0.12);
	color: var(--yz-ch-color, var(--yz-accent));
	flex: 0 0 auto;
}

.yz-pagehead__icon .yz-icon {
	width: 27px;
	height: 27px;
}

.yz-pagehead__text {
	min-width: 0;
	flex: 1 1 320px;
}

.yz-pagehead__title {
	color: var(--yz-text-strong);
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.yz-pagehead__desc {
	margin-top: 8px;
	max-width: 760px;
	color: var(--yz-dim);
	font-size: 13px;
	line-height: 1.85;
}

.yz-pagehead__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.yz-pagehead__stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	background: var(--yz-hover);
	color: var(--yz-muted);
	font-size: 12px;
}

.yz-pagehead__stat strong {
	color: var(--yz-text-strong);
	font-weight: 600;
}

.yz-pagehead__stat .yz-icon {
	width: 14px;
	height: 14px;
	color: var(--yz-accent);
}

.yz-channelnav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 18px;
}

.yz-channelnav__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	background: var(--yz-surface);
	color: var(--yz-muted);
	font-size: 13px;
	transition: all 0.2s var(--yz-ease);
}

.yz-channelnav__item:hover {
	border-color: var(--yz-border-strong);
	color: var(--yz-text-strong);
}

.yz-channelnav__item.is-active {
	border-color: transparent;
	background: var(--yz-gradient);
	color: #fff;
	box-shadow: 0 6px 18px rgba(109, 74, 255, 0.28);
}

.yz-channelnav__icon {
	display: inline-flex;
}

.yz-channelnav__icon .yz-icon {
	width: 15px;
	height: 15px;
	color: var(--yz-ch-color, currentColor);
}

.yz-channelnav__item.is-active .yz-channelnav__icon .yz-icon {
	color: #fff;
}

.yz-channelnav__count {
	color: var(--yz-faint);
	font-size: 11px;
}

.yz-channelnav__item.is-active .yz-channelnav__count {
	color: rgba(255, 255, 255, 0.7);
}

/* 工具栏（排序 + 结果数） */
.yz-toolbar {
	display: flex;
	align-items: center;
	gap: 16px;
	justify-content: space-between;
	padding: 12px 16px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
	margin-bottom: 16px;
}

.yz-toolbar__count {
	color: var(--yz-faint);
	font-size: 12.5px;
}

/* --------------------------------------------------------------------------
   12. 文章详情
   -------------------------------------------------------------------------- */
.yz-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 30px;
	align-items: start;
	padding-top: 18px;
}

.yz-article {
	min-width: 0;
}

.yz-article__header {
	position: relative;
	padding: 30px 34px 26px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-article__header::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(460px 220px at 90% -10%, rgba(124, 92, 255, 0.12), transparent 70%);
	pointer-events: none;
}

.yz-article__channel {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--yz-ch-color, #7c5cff) 14%, transparent);
	color: var(--yz-ch-color, var(--yz-accent));
	font-size: 12px;
	font-weight: 500;
}

.yz-article__channel .yz-icon {
	width: 14px;
	height: 14px;
}

.yz-article__title {
	position: relative;
	margin-top: 14px;
	color: var(--yz-text-strong);
	font-size: clamp(25px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.32;
	letter-spacing: 0.005em;
}

.yz-article__excerpt {
	position: relative;
	margin-top: 12px;
	color: var(--yz-muted);
	font-size: 14.5px;
	line-height: 1.75;
}

.yz-article__meta {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--yz-border);
}

.yz-article__author {
	display: flex;
	align-items: center;
	gap: 10px;
}

.yz-article__author-avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--yz-surface-3);
	flex: 0 0 auto;
}

.yz-article__author-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.yz-article__author-info {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.yz-article__author-info strong {
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 600;
}

.yz-article__author-info span {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-article__metas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-left: auto;
}

.yz-article__cover {
	margin-top: 18px;
	border-radius: var(--yz-radius-lg);
	overflow: hidden;
	border: 1px solid var(--yz-border);
	background: var(--yz-surface-2);
}

.yz-article__cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: cover;
}

.yz-article__body {
	margin-top: 18px;
	padding: 34px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

/* 正文排版 */
.yz-entry {
	color: var(--yz-text);
	font-size: 16px;
	line-height: 2;
	word-break: break-word;
}

.yz-entry > *:first-child {
	margin-top: 0;
}

.yz-entry p,
.yz-entry .wp-block-paragraph {
	margin: 0 0 1.4em;
}

.yz-entry h2,
.yz-entry h3,
.yz-entry h4 {
	position: relative;
	color: var(--yz-text-strong);
	scroll-margin-top: calc(var(--yz-header-h) + 26px);
}

.yz-entry h2 {
	margin: 2.2em 0 0.9em;
	padding-left: 16px;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.yz-entry h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.28em;
	bottom: 0.28em;
	width: 4px;
	border-radius: 99px;
	background: var(--yz-gradient);
}

.yz-entry h3 {
	margin: 1.9em 0 0.75em;
	padding-left: 13px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
}

.yz-entry h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.42em;
	bottom: 0.42em;
	width: 3px;
	border-radius: 99px;
	background: var(--yz-accent);
	opacity: 0.6;
}

.yz-entry h4 {
	margin: 1.6em 0 0.6em;
	font-size: 16px;
	font-weight: 600;
}

.yz-entry ul,
.yz-entry ol {
	margin: 0 0 1.4em;
	padding-left: 1.5em;
}

.yz-entry ul {
	list-style: disc;
}

.yz-entry ol {
	list-style: decimal;
}

.yz-entry li {
	margin: 0.45em 0;
	padding-left: 0.15em;
}

.yz-entry li::marker {
	color: var(--yz-accent);
}

.yz-entry a {
	color: var(--yz-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: color-mix(in srgb, var(--yz-accent) 45%, transparent);
}

.yz-entry a:hover {
	text-decoration-color: currentColor;
}

.yz-entry strong {
	color: var(--yz-text-strong);
	font-weight: 600;
}

.yz-entry img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 1.6em auto;
	border-radius: var(--yz-radius);
	border: 1px solid var(--yz-border);
}

.yz-entry figure {
	margin: 1.6em 0;
}

.yz-entry figure img {
	margin: 0 auto;
}

.yz-entry figcaption {
	margin-top: 9px;
	color: var(--yz-faint);
	font-size: 12px;
	text-align: center;
}

.yz-entry blockquote,
.yz-entry .wp-block-quote {
	margin: 1.6em 0;
	padding: 16px 20px;
	border-left: 4px solid color-mix(in srgb, var(--yz-accent) 55%, transparent);
	border-radius: 0 var(--yz-radius-sm) var(--yz-radius-sm) 0;
	background: var(--yz-surface-2);
	color: var(--yz-muted);
	font-size: 15px;
}

.yz-entry blockquote p:last-child {
	margin-bottom: 0;
}

.yz-entry blockquote cite {
	display: block;
	margin-top: 8px;
	color: var(--yz-faint);
	font-size: 12px;
	font-style: normal;
}

.yz-entry hr {
	margin: 2em 0;
}

.yz-entry code {
	padding: 2px 6px;
	border-radius: 5px;
	background: var(--yz-surface-2);
	color: var(--yz-accent);
	font-family: var(--yz-mono);
	font-size: 0.9em;
}

.yz-entry pre {
	margin: 1.6em 0;
	padding: 18px 20px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-code-bg);
	overflow-x: auto;
	font-size: 13px;
	line-height: 1.7;
}

.yz-entry pre code {
	padding: 0;
	background: transparent;
	color: var(--yz-text);
}

.yz-entry .wp-block-table,
.yz-entry table {
	width: 100%;
	margin: 1.6em 0;
	border-collapse: collapse;
	font-size: 13.5px;
}

.yz-entry table {
	display: table;
	overflow: hidden;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-sm);
}

.yz-entry th,
.yz-entry td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--yz-border);
	text-align: left;
	vertical-align: top;
}

.yz-entry th {
	background: var(--yz-surface-2);
	color: var(--yz-text-strong);
	font-weight: 600;
}

.yz-entry tr:last-child td {
	border-bottom: 0;
}

.yz-entry .wp-block-separator {
	border-color: var(--yz-border);
}

.yz-entry .wp-block-button__link {
	border-radius: 999px;
	background: var(--yz-gradient);
	font-size: 14px;
}

.yz-entry .wp-block-embed iframe,
.yz-entry iframe {
	max-width: 100%;
	border-radius: var(--yz-radius-sm);
}

.yz-entry .wp-block-image .aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.yz-entry .wp-block-image.alignwide,
.yz-entry .alignwide {
	max-width: 100%;
}

/* 文章动作条 */
.yz-article__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
	padding: 14px 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
}

.yz-actionbtn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	background: transparent;
	color: var(--yz-muted);
	font-size: 12.5px;
	transition: all 0.2s var(--yz-ease);
}

.yz-actionbtn:hover {
	border-color: var(--yz-border-strong);
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-actionbtn.is-active {
	color: var(--yz-accent);
	border-color: color-mix(in srgb, var(--yz-accent) 40%, transparent);
	background: color-mix(in srgb, var(--yz-accent) 10%, transparent);
}

.yz-actionbtn__count {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-actionbtn .yz-icon {
	width: 15px;
	height: 15px;
}

.yz-article__actions-divider {
	width: 1px;
	height: 20px;
	margin: 0 4px;
	background: var(--yz-border);
}

.yz-article__actions-right {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 分发的从站 */
.yz-distsites {
	margin-top: 18px;
	padding: 20px 22px;
	border: 1px dashed color-mix(in srgb, var(--yz-green) 34%, transparent);
	border-radius: var(--yz-radius);
	background: color-mix(in srgb, var(--yz-green) 5%, transparent);
}

.yz-distsites__head {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--yz-green);
	font-size: 13px;
	font-weight: 600;
}

.yz-distsites__head .yz-icon {
	width: 16px;
	height: 16px;
}

.yz-distsites__desc {
	margin-top: 6px;
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.7;
}

.yz-distsites__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.yz-distsites__item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 11px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	background: var(--yz-surface);
	color: var(--yz-muted);
	font-size: 12px;
}

.yz-distsites__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
}

/* 相关推荐 */
.yz-related {
	margin-top: 26px;
}

.yz-related .yz-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 侧栏目录 */
.yz-toc {
	padding: 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-toc__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.yz-toc__title {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 600;
}

.yz-toc__title .yz-icon {
	width: 15px;
	height: 15px;
	color: var(--yz-accent);
}

.yz-toc__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1px;
	max-height: 46vh;
	overflow-y: auto;
	padding-right: 4px;
	scrollbar-width: thin;
}

.yz-toc__link {
	display: block;
	padding: 6px 10px;
	border-left: 2px solid transparent;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.55;
	border-radius: 0 6px 6px 0;
}

.yz-toc__link:hover {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-toc__link.is-active {
	color: var(--yz-accent);
	border-left-color: var(--yz-accent);
	background: color-mix(in srgb, var(--yz-accent) 8%, transparent);
}

.yz-toc__link[data-level="3"] {
	padding-left: 22px;
	font-size: 12px;
}

.yz-sidebar__card {
	padding: 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-sidebar__card-title {
	margin-bottom: 12px;
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 600;
}

.yz-authorcard {
	display: flex;
	align-items: center;
	gap: 11px;
}

.yz-authorcard__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--yz-surface-3);
	flex: 0 0 auto;
}

.yz-authorcard__info strong {
	display: block;
	color: var(--yz-text-strong);
	font-size: 13.5px;
}

.yz-authorcard__info span {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-authorcard__desc {
	margin-top: 12px;
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.7;
}

/* 评论 */
.yz-comments {
	margin-top: 28px;
	padding: 28px 32px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-comments__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.yz-comments__title {
	color: var(--yz-text-strong);
	font-size: 18px;
	font-weight: 600;
}

.yz-comments__title span {
	color: var(--yz-faint);
	font-size: 13px;
	font-weight: 400;
	margin-left: 4px;
}

.yz-comment-list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.yz-comment {
	display: flex;
	gap: 12px;
}

.yz-comment__avatar-img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: block;
}

.yz-comment__main {
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 16px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface-2);
}

.yz-comment__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 5px;
}

.yz-comment__author {
	color: var(--yz-text-strong);
	font-size: 13px;
	font-weight: 600;
}

.yz-comment__time {
	color: var(--yz-faint);
	font-size: 11.5px;
	margin-left: auto;
}

.yz-comment__content {
	color: var(--yz-muted);
	font-size: 13.5px;
	line-height: 1.75;
}

.yz-comment__content p {
	margin-bottom: 0.5em;
}

.yz-comment__content p:last-child {
	margin-bottom: 0;
}

.yz-comment__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 7px;
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-comment__actions a {
	color: var(--yz-dim);
}

.yz-comment__actions a:hover {
	color: var(--yz-accent);
}

.yz-comment .children {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 14px;
	padding-left: 18px;
	border-left: 1px solid var(--yz-border);
}

.yz-comment-respond {
	margin-top: 26px;
}

.yz-comment-respond .comment-reply-title {
	color: var(--yz-text-strong);
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 14px;
}

.yz-comment-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.yz-comment-form__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.yz-comment-form .yz-input,
.yz-comment-form textarea {
	font-size: 13.5px;
}

.yz-comment-form textarea {
	min-height: 120px;
}

.yz-comment-form .form-submit {
	margin: 0;
}

.yz-comment-form .submit {
	padding: 10px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--yz-gradient);
	color: #fff;
	font-size: 13.5px;
	font-weight: 500;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(109, 74, 255, 0.26);
}

.yz-comment-form .comment-notes,
.yz-comment-form .logged-in-as {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-comment-form .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--yz-dim);
	font-size: 12px;
}

.yz-comment-form .comment-form-cookies-consent input {
	margin-top: 3px;
}

/* 上一篇 / 下一篇 */
.yz-postnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 22px;
}

.yz-postnav__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
	transition: all 0.2s var(--yz-ease);
}

.yz-postnav__item:hover {
	border-color: var(--yz-border-strong);
	background: var(--yz-surface-2);
}

.yz-postnav__item.is-empty {
	visibility: hidden;
}

.yz-postnav__label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-postnav__title {
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.yz-postnav__item--next {
	text-align: right;
}

.yz-postnav__item--next .yz-postnav__label {
	justify-content: flex-end;
}

/* 移动端全局底栏 */
.yz-tabbar {
	display: none;
}

@media (max-width: 720px) {
	.yz-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 84;
		display: flex;
		align-items: center;
		justify-content: space-around;
		gap: 4px;
		padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--yz-border);
		background: var(--yz-surface-glass);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
	}

	.yz-tabbar__item {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		gap: 2px;
		padding: 3px 16px;
		border: 0;
		border-radius: 8px;
		background: transparent;
		color: var(--yz-dim);
		font-size: 10.5px;
	}

	.yz-tabbar__item .yz-icon {
		width: 19px;
		height: 19px;
	}

	.yz-tabbar__item.is-active {
		color: var(--yz-accent);
	}

	.yz-single .yz-tabbar {
		display: none;
	}

	body.yz-body {
		padding-bottom: calc(58px + env(safe-area-inset-bottom));
	}

	.yz-single body.yz-body {
		padding-bottom: 0;
	}
}

/* 移动端文章底栏 */
.yz-mobilebar {
	display: none;
}

/* --------------------------------------------------------------------------
   13. 授权页
   -------------------------------------------------------------------------- */
.yz-plans {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.yz-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px 26px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	transition: all 0.26s var(--yz-ease);
}

.yz-plan:hover {
	transform: translateY(-3px);
	border-color: var(--yz-border-strong);
	box-shadow: var(--yz-shadow-sm);
}

.yz-plan.is-highlight {
	border-color: color-mix(in srgb, var(--yz-accent) 46%, transparent);
	background: linear-gradient(160deg, rgba(124, 92, 255, 0.12), transparent 46%), var(--yz-surface);
	box-shadow: 0 20px 50px rgba(109, 74, 255, 0.18);
}

.yz-plan__badge {
	position: absolute;
	top: 18px;
	right: 18px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--yz-gradient);
	color: #fff;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.yz-plan__name {
	color: var(--yz-text-strong);
	font-size: 19px;
	font-weight: 700;
}

.yz-plan__tagline {
	margin-top: 5px;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.7;
	min-height: 42px;
}

.yz-plan__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 18px 0 4px;
	padding-bottom: 18px;
	border-bottom: 1px dashed var(--yz-border);
}

.yz-plan__price strong {
	color: var(--yz-text-strong);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.1;
}

.yz-plan__price strong small {
	font-size: 15px;
	font-weight: 500;
	color: var(--yz-muted);
}

.yz-plan__price span {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-plan__features {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 18px 0 24px;
	flex: 1 1 auto;
}

.yz-plan__features li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--yz-muted);
	font-size: 13px;
	line-height: 1.6;
}

.yz-plan__features .yz-icon {
	width: 15px;
	height: 15px;
	margin-top: 3px;
	color: var(--yz-green);
}

.yz-plan__cta {
	margin-top: auto;
}

.yz-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	counter-reset: yzstep;
}

.yz-steps__item {
	position: relative;
	padding: 22px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-steps__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 9px;
	background: color-mix(in srgb, var(--yz-accent) 12%, transparent);
	color: var(--yz-accent);
	font-size: 13.5px;
	font-weight: 700;
}

.yz-steps__title {
	margin-top: 12px;
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
}

.yz-steps__desc {
	margin-top: 5px;
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.7;
}

.yz-faq {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.yz-faq__item {
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 17px 20px;
	color: var(--yz-text-strong);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}

.yz-faq__item summary::-webkit-details-marker {
	display: none;
}

.yz-faq__item summary .yz-icon {
	width: 16px;
	height: 16px;
	color: var(--yz-dim);
	transition: transform 0.25s var(--yz-ease);
	flex: 0 0 auto;
}

.yz-faq__item[open] summary .yz-icon {
	transform: rotate(180deg);
	color: var(--yz-accent);
}

.yz-faq__answer {
	padding: 0 20px 18px;
	color: var(--yz-dim);
	font-size: 13px;
	line-height: 1.85;
}

/* 授权页表单卡 */
.yz-apply {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	gap: 26px;
	align-items: start;
}

.yz-apply__aside {
	position: sticky;
	top: calc(var(--yz-header-h) + 24px);
	padding: 28px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: linear-gradient(155deg, #241a4d, #1b2349 55%, #112d35);
	overflow: hidden;
}

.yz-apply__aside::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: radial-gradient(circle at 80% 10%, #000, transparent 78%);
	-webkit-mask-image: radial-gradient(circle at 80% 10%, #000, transparent 78%);
	pointer-events: none;
}

.yz-apply__aside h3 {
	position: relative;
	color: #fff;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.45;
}

.yz-apply__aside p {
	position: relative;
	margin-top: 10px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	line-height: 1.85;
}

.yz-apply__list {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.yz-apply__list li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 12.5px;
	line-height: 1.7;
}

.yz-apply__list .yz-icon {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	color: var(--yz-green);
	flex: 0 0 auto;
}

.yz-apply__contact {
	position: relative;
	margin-top: 22px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--yz-radius);
	background: rgba(255, 255, 255, 0.05);
	color: rgba(255, 255, 255, 0.66);
	font-size: 12px;
	line-height: 1.7;
}

.yz-apply__contact strong {
	color: #fff;
}

.yz-form-card {
	padding: 28px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
}

.yz-form-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.yz-form-card__head h3 {
	color: var(--yz-text-strong);
	font-size: 19px;
	font-weight: 700;
}

.yz-form-card__head p {
	margin-top: 5px;
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
}

.yz-form__grid .is-full {
	grid-column: 1 / -1;
}

.yz-form__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--yz-border);
}

.yz-form__note {
	color: var(--yz-faint);
	font-size: 11.5px;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   14. 从站矩阵页
   -------------------------------------------------------------------------- */
.yz-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 20px 0;
}

.yz-filters__label {
	color: var(--yz-faint);
	font-size: 12.5px;
	margin-right: 4px;
}

.yz-filter-chip {
	padding: 6px 14px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	background: var(--yz-surface);
	color: var(--yz-muted);
	font-size: 12.5px;
	cursor: pointer;
	transition: all 0.2s var(--yz-ease);
}

.yz-filter-chip:hover {
	border-color: var(--yz-border-strong);
	color: var(--yz-text-strong);
}

.yz-filter-chip.is-active {
	border-color: transparent;
	background: var(--yz-gradient);
	color: #fff;
}

.yz-sites-hero {
	position: relative;
	margin-top: 22px;
	padding: 40px 42px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-sites-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(520px 260px at 88% -10%, rgba(124, 92, 255, 0.16), transparent 68%),
		radial-gradient(420px 220px at 0% 110%, rgba(34, 224, 168, 0.09), transparent 66%);
	pointer-events: none;
}

.yz-sites-hero__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}

.yz-sites-hero__text {
	max-width: 680px;
}

.yz-sites-hero__title {
	margin-top: 8px;
	color: var(--yz-text-strong);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.3;
}

.yz-sites-hero__desc {
	margin-top: 10px;
	color: var(--yz-dim);
	font-size: 13.5px;
	line-height: 1.85;
}

.yz-sites-hero__stats {
	display: flex;
	gap: 34px;
}

.yz-sites-hero__stat strong {
	display: block;
	color: var(--yz-text-strong);
	font-size: 26px;
	font-weight: 700;
}

.yz-sites-hero__stat span {
	color: var(--yz-faint);
	font-size: 12px;
}

/* --------------------------------------------------------------------------
   15. 工作台
   -------------------------------------------------------------------------- */
.yz-dash {
	padding-top: 22px;
}

.yz-dash__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.yz-dash__title {
	color: var(--yz-text-strong);
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 700;
}

.yz-dash__subtitle {
	margin-top: 6px;
	color: var(--yz-dim);
	font-size: 13px;
}

.yz-dash__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.yz-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}

.yz-stat-card {
	position: relative;
	padding: 18px 20px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-stat-card::after {
	content: "";
	position: absolute;
	right: -18px;
	top: -22px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--yz-stat-color, var(--yz-accent)) 14%, transparent);
	filter: blur(4px);
}

.yz-stat-card__label {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--yz-dim);
	font-size: 12px;
}

.yz-stat-card__label .yz-icon {
	width: 14px;
	height: 14px;
	color: var(--yz-stat-color, var(--yz-accent));
}

.yz-stat-card__value {
	margin-top: 8px;
	color: var(--yz-text-strong);
	font-size: 27px;
	font-weight: 700;
	line-height: 1.2;
}

.yz-stat-card__value small {
	color: var(--yz-faint);
	font-size: 12px;
	font-weight: 400;
	margin-left: 4px;
}

.yz-tabs {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 5px;
	border: 1px solid var(--yz-border);
	border-radius: 12px;
	background: var(--yz-surface);
	margin-bottom: 18px;
	overflow-x: auto;
	scrollbar-width: none;
}

.yz-tabs::-webkit-scrollbar {
	display: none;
}

.yz-tab {
	position: relative;
	padding: 8px 16px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--yz-muted);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	transition: all 0.2s var(--yz-ease);
}

.yz-tab:hover {
	color: var(--yz-text-strong);
	background: var(--yz-hover);
}

.yz-tab.is-active {
	color: var(--yz-text-strong);
	background: var(--yz-surface-3);
}

.yz-tab__count {
	margin-left: 6px;
	color: var(--yz-faint);
	font-size: 11px;
}

.yz-tabpanel {
	display: none;
}

.yz-tabpanel.is-active {
	display: block;
}

.yz-panel {
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-panel + .yz-panel {
	margin-top: 18px;
}

.yz-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 17px 20px;
	border-bottom: 1px solid var(--yz-border);
}

.yz-panel__title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--yz-text-strong);
	font-size: 15px;
	font-weight: 600;
}

.yz-panel__title .yz-icon {
	width: 16px;
	height: 16px;
	color: var(--yz-accent);
}

.yz-panel__meta {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-panel__body {
	padding: 20px;
}

.yz-table-wrap {
	overflow-x: auto;
}

.yz-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.yz-table th {
	padding: 11px 16px;
	background: var(--yz-surface-2);
	color: var(--yz-faint);
	font-size: 11.5px;
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
	letter-spacing: 0.04em;
}

.yz-table td {
	padding: 14px 16px;
	border-top: 1px solid var(--yz-border);
	color: var(--yz-muted);
	vertical-align: middle;
}

.yz-table tr:hover td {
	background: var(--yz-hover);
}

.yz-table__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 180px;
}

.yz-table__brand-name {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.yz-table__brand-name strong {
	color: var(--yz-text-strong);
	font-size: 13px;
	font-weight: 600;
}

.yz-table__brand-name span {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-keyrow {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.yz-key {
	display: inline-flex;
	align-items: center;
	padding: 4px 9px;
	border: 1px dashed var(--yz-border-strong);
	border-radius: 6px;
	background: var(--yz-surface-2);
	color: var(--yz-muted);
	font-family: var(--yz-mono);
	font-size: 11.5px;
	letter-spacing: 0.02em;
}

.yz-key--masked {
	letter-spacing: 0.14em;
}

.yz-copybtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: 1px solid var(--yz-border);
	border-radius: 6px;
	background: transparent;
	color: var(--yz-dim);
}

.yz-copybtn:hover {
	color: var(--yz-accent);
	border-color: var(--yz-accent);
}

.yz-copybtn .yz-icon {
	width: 13px;
	height: 13px;
}

.yz-table__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.yz-table__link {
	color: var(--yz-dim);
	font-size: 12px;
}

.yz-table__link:hover {
	color: var(--yz-accent);
}

/* 品牌方授权卡 */
.yz-license-card {
	position: relative;
	margin-bottom: 20px;
	padding: 28px 30px;
	border: 1px solid color-mix(in srgb, var(--yz-accent) 32%, transparent);
	border-radius: var(--yz-radius-xl);
	background: linear-gradient(150deg, rgba(124, 92, 255, 0.14), rgba(62, 142, 247, 0.06) 52%, transparent 80%), var(--yz-surface);
	overflow: hidden;
}

.yz-license-card::before {
	content: "";
	position: absolute;
	top: -80px;
	right: 6%;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.22);
	filter: blur(54px);
	pointer-events: none;
}

.yz-license-card__inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 26px;
	flex-wrap: wrap;
}

.yz-license-card__brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.yz-license-card__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 14px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	flex: 0 0 auto;
}

.yz-license-card__name {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--yz-text-strong);
	font-size: 21px;
	font-weight: 700;
}

.yz-license-card__domain {
	margin-top: 3px;
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-license-card__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
}

.yz-license-card__fact span {
	display: block;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-license-card__fact strong {
	display: block;
	margin-top: 3px;
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
}

.yz-license-card__bar {
	position: relative;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--yz-border);
}

.yz-license-card__bar-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 9px;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-progressline {
	height: 6px;
	border-radius: 99px;
	background: var(--yz-surface-3);
	overflow: hidden;
}

.yz-progressline span {
	display: block;
	height: 100%;
	border-radius: 99px;
	background: var(--yz-gradient);
}

.yz-subchips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 8px;
}

.yz-toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0;
	border-bottom: 1px solid var(--yz-border);
}

.yz-toggle-row:last-child {
	border-bottom: 0;
}

.yz-toggle-row__text strong {
	display: block;
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 600;
}

.yz-toggle-row__text span {
	display: block;
	margin-top: 2px;
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-switch {
	position: relative;
	width: 40px;
	height: 22px;
	border: 0;
	border-radius: 99px;
	background: var(--yz-surface-3);
	transition: background 0.2s var(--yz-ease);
	flex: 0 0 auto;
}

.yz-switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	transition: transform 0.22s var(--yz-ease);
}

.yz-switch.is-on {
	background: var(--yz-gradient);
}

.yz-switch.is-on::after {
	transform: translateX(18px);
}

.yz-synclist {
	display: flex;
	flex-direction: column;
}

.yz-synclist__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--yz-border);
}

.yz-synclist__item:last-child {
	border-bottom: 0;
}

.yz-synclist__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--yz-green);
	flex: 0 0 auto;
}

.yz-synclist__dot.is-fail {
	background: var(--yz-red);
}

.yz-synclist__text {
	flex: 1 1 auto;
	min-width: 0;
}

.yz-synclist__text strong {
	display: block;
	color: var(--yz-text);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.yz-synclist__text span {
	display: block;
	margin-top: 1px;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-synclist__time {
	color: var(--yz-faint);
	font-size: 11.5px;
	flex: 0 0 auto;
}

.yz-dash-gate {
	max-width: 560px;
	margin: 60px auto;
	padding: 40px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	text-align: center;
}

.yz-dash-gate__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: rgba(124, 92, 255, 0.12);
	color: var(--yz-accent);
	margin-bottom: 18px;
}

.yz-dash-gate__icon .yz-icon {
	width: 28px;
	height: 28px;
}

.yz-dash-gate h2 {
	color: var(--yz-text-strong);
	font-size: 22px;
}

.yz-dash-gate p {
	margin-top: 8px;
	color: var(--yz-dim);
	font-size: 13px;
	line-height: 1.8;
}

.yz-dash-gate__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}

/* --------------------------------------------------------------------------
   16. 登录 / 注册
   -------------------------------------------------------------------------- */
.yz-auth {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	gap: 0;
	margin: 34px 0 20px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	overflow: hidden;
	min-height: 580px;
}

.yz-auth__aside {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 46px 44px;
	background: linear-gradient(150deg, #221a4c 0%, #1b2349 52%, #112e39 100%);
	overflow: hidden;
}

.yz-auth__aside::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(420px 260px at 84% 12%, rgba(124, 92, 255, 0.4), transparent 64%),
		radial-gradient(360px 220px at 8% 92%, rgba(34, 224, 168, 0.24), transparent 62%);
	pointer-events: none;
}

.yz-auth__aside::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: radial-gradient(circle at 60% 40%, #000, transparent 78%);
	-webkit-mask-image: radial-gradient(circle at 60% 40%, #000, transparent 78%);
	pointer-events: none;
}

.yz-auth__aside-inner {
	position: relative;
	z-index: 1;
}

.yz-auth__aside-eyebrow {
	color: rgba(255, 255, 255, 0.42);
	font-size: 10.5px;
	letter-spacing: 0.22em;
}

.yz-auth__aside-title {
	margin-top: 16px;
	color: #fff;
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.4;
}

.yz-auth__aside-desc {
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	line-height: 1.85;
	max-width: 380px;
}

.yz-auth__aside-list {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 30px;
}

.yz-auth__aside-list li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 12.5px;
}

.yz-auth__aside-list .yz-icon {
	width: 15px;
	height: 15px;
	color: var(--yz-green);
}

.yz-auth__aside-foot {
	position: relative;
	z-index: 1;
	color: rgba(255, 255, 255, 0.4);
	font-size: 11.5px;
	line-height: 1.8;
}

.yz-auth__panel {
	padding: 46px 44px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.yz-auth__head h1 {
	color: var(--yz-text-strong);
	font-size: 26px;
	font-weight: 700;
}

.yz-auth__head p {
	margin-top: 7px;
	color: var(--yz-dim);
	font-size: 13px;
}

.yz-auth__tabs {
	display: flex;
	gap: 4px;
	margin: 22px 0 22px;
	padding: 4px;
	border: 1px solid var(--yz-border);
	border-radius: 10px;
	background: var(--yz-surface-2);
}

.yz-auth__tab {
	flex: 1 1 0;
	padding: 8px 10px;
	border-radius: 7px;
	color: var(--yz-muted);
	font-size: 13px;
	text-align: center;
}

.yz-auth__tab.is-active {
	background: var(--yz-surface);
	color: var(--yz-text-strong);
	box-shadow: var(--yz-shadow-sm);
}

.yz-auth__form {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.yz-auth__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.yz-auth__forgot {
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-auth__forgot:hover {
	color: var(--yz-accent);
}

.yz-auth__submit {
	width: 100%;
	margin-top: 4px;
}

.yz-auth__switch {
	margin-top: 18px;
	color: var(--yz-dim);
	font-size: 12.5px;
	text-align: center;
}

.yz-auth__switch a {
	color: var(--yz-accent);
	font-weight: 500;
}

.yz-auth__social {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--yz-border);
}

.yz-auth__social-label {
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-auth__social-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1px solid var(--yz-border);
	border-radius: 999px;
	color: var(--yz-muted);
	font-size: 12.5px;
}

.yz-auth__social-btn:hover {
	border-color: var(--yz-green);
	color: var(--yz-green);
}

.yz-auth__notice {
	margin-bottom: 18px;
}

/* --------------------------------------------------------------------------
   17. 关于页
   -------------------------------------------------------------------------- */
.yz-about-hero {
	position: relative;
	margin-top: 22px;
	padding: 54px 48px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: linear-gradient(140deg, rgba(124, 92, 255, 0.12), transparent 52%), var(--yz-surface);
	overflow: hidden;
}

.yz-about-hero::before {
	content: "";
	position: absolute;
	top: -120px;
	right: 4%;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.2);
	filter: blur(70px);
	pointer-events: none;
}

.yz-about-hero__inner {
	position: relative;
	max-width: 760px;
}

.yz-about-hero__title {
	margin-top: 12px;
	color: var(--yz-text-strong);
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 700;
	line-height: 1.3;
}

.yz-about-hero__desc {
	margin-top: 16px;
	color: var(--yz-muted);
	font-size: 14.5px;
	line-height: 1.95;
}

.yz-services {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.yz-service {
	position: relative;
	padding: 26px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-service__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--yz-ch-color, var(--yz-accent)) 12%, transparent);
	color: var(--yz-ch-color, var(--yz-accent));
}

.yz-service__icon .yz-icon {
	width: 21px;
	height: 21px;
}

.yz-service__title {
	margin-top: 16px;
	color: var(--yz-text-strong);
	font-size: 16.5px;
	font-weight: 600;
}

.yz-service__desc {
	margin-top: 7px;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.8;
}

.yz-values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.yz-value {
	display: flex;
	gap: 14px;
	padding: 22px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
}

.yz-value__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(124, 92, 255, 0.1);
	color: var(--yz-accent);
	flex: 0 0 auto;
}

.yz-value__icon .yz-icon {
	width: 18px;
	height: 18px;
}

.yz-value__title {
	color: var(--yz-text-strong);
	font-size: 14.5px;
	font-weight: 600;
}

.yz-value__desc {
	margin-top: 4px;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.75;
}

.yz-contact {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.yz-contact__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface);
}

.yz-contact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--yz-hover);
	color: var(--yz-accent);
	flex: 0 0 auto;
}

.yz-contact__icon .yz-icon {
	width: 18px;
	height: 18px;
}

.yz-contact__item span {
	display: block;
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-contact__item strong {
	display: block;
	margin-top: 2px;
	color: var(--yz-text-strong);
	font-size: 13.5px;
	font-weight: 500;
}

/* --------------------------------------------------------------------------
   18. 内容库 / 搜索 / 404 / 空状态
   -------------------------------------------------------------------------- */
.yz-library-hero {
	position: relative;
	margin-top: 22px;
	padding: 40px 42px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius-xl);
	background: var(--yz-surface);
	overflow: hidden;
}

.yz-library-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(480px 240px at 92% 0%, rgba(124, 92, 255, 0.16), transparent 66%),
		radial-gradient(380px 200px at 6% 100%, rgba(62, 142, 247, 0.1), transparent 64%);
	pointer-events: none;
}

.yz-library-hero__inner {
	position: relative;
}

.yz-library-hero__title {
	margin-top: 8px;
	color: var(--yz-text-strong);
	font-size: clamp(26px, 3vw, 36px);
	font-weight: 700;
}

.yz-library-hero__desc {
	margin-top: 10px;
	max-width: 660px;
	color: var(--yz-dim);
	font-size: 13.5px;
	line-height: 1.85;
}

.yz-library-hero__channels {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 26px;
}

.yz-library-hero__channel {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 12px 14px;
	border: 1px solid var(--yz-border);
	border-radius: var(--yz-radius);
	background: var(--yz-surface-2);
	transition: all 0.2s var(--yz-ease);
}

.yz-library-hero__channel:hover {
	border-color: var(--yz-border-strong);
	transform: translateY(-2px);
}

.yz-library-hero__channel-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--yz-ch-color, var(--yz-accent)) 14%, transparent);
	color: var(--yz-ch-color, var(--yz-accent));
	flex: 0 0 auto;
}

.yz-library-hero__channel-icon .yz-icon {
	width: 15px;
	height: 15px;
}

.yz-library-hero__channel-name {
	color: var(--yz-text-strong);
	font-size: 13px;
	font-weight: 500;
}

.yz-library-hero__channel-count {
	margin-left: auto;
	color: var(--yz-faint);
	font-size: 11px;
}

.yz-search-page__head {
	padding: 30px 0 20px;
}

.yz-search-page__form {
	position: relative;
	max-width: 620px;
	margin-top: 16px;
}

.yz-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 70px 24px;
	border: 1px dashed var(--yz-border-strong);
	border-radius: var(--yz-radius-lg);
	background: var(--yz-surface);
	text-align: center;
}

.yz-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: var(--yz-hover);
	color: var(--yz-dim);
	margin-bottom: 18px;
}

.yz-empty__icon .yz-icon {
	width: 26px;
	height: 26px;
}

.yz-empty__title {
	color: var(--yz-text-strong);
	font-size: 18px;
	font-weight: 600;
}

.yz-empty__desc {
	margin-top: 7px;
	color: var(--yz-dim);
	font-size: 13px;
	line-height: 1.7;
}

.yz-empty .yz-btn {
	margin-top: 20px;
}

/* 404 · 轨道环游（最新文章封面环） */
.yz-orbit-404 {
	position: relative;
	padding: 8px 0 30px;
}

.yz-orbit-404__composition {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	min-height: min(760px, calc(100vh - var(--yz-header-h) - 80px));
	overflow: clip;
	padding: 12px 0 8px;
}

.yz-orbit-404__four {
	position: absolute;
	top: 50%;
	z-index: 0;
	color: var(--yz-text-strong);
	font-family: "Times New Roman", Georgia, "Songti SC", serif;
	font-style: italic;
	font-weight: 400;
	font-size: min(clamp(280px, 35vw, 510px), 70vh);
	line-height: 0.8;
	letter-spacing: -0.1em;
	transform: translateY(-54%) scaleY(1.2);
	opacity: 0.92;
	user-select: none;
	pointer-events: none;
}

.yz-orbit-404__four--left {
	left: 1%;
}

.yz-orbit-404__four--right {
	right: 5%;
}

.yz-orbit-404__stage {
	--yz-orbit-d: min(570px, 45vw, 76vh);
	--yz-orbit-r: calc(var(--yz-orbit-d) * 0.411);
	--yz-orbit-card: min(146px, 10.2vw, calc(var(--yz-orbit-d) * 0.256));
	position: relative;
	z-index: 1;
	width: var(--yz-orbit-d);
	height: var(--yz-orbit-d);
}

.yz-orbit-404__ring {
	position: absolute;
	inset: 0;
	will-change: transform;
	animation: yz-orbit-spin 56s linear infinite;
}

.yz-orbit-404__ring.is-paused {
	animation-play-state: paused;
}

@keyframes yz-orbit-spin {
	to {
		transform: rotate(360deg);
	}
}

.yz-orbit-404__pos {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--yz-orbit-card);
	aspect-ratio: 1.3 / 1;
	transform: translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1 * var(--yz-orbit-r)));
}

.yz-orbit-404__card {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 5px;
	border-radius: 7px;
	background: #f4f4f3;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
	overflow: hidden;
	transition: transform 0.22s var(--yz-ease), box-shadow 0.22s var(--yz-ease);
}

.yz-orbit-404__card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}

.yz-orbit-404__card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: rgba(0, 0, 0, 0.16);
	transition: background-color 0.18s var(--yz-ease);
}

.yz-orbit-404__ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(140deg, var(--yz-surface-3), var(--yz-surface-2));
	color: var(--yz-ch-color, var(--yz-accent));
}

.yz-orbit-404__ph .yz-icon {
	width: 22px;
	height: 22px;
}

.yz-orbit-404__arrow {
	position: absolute;
	z-index: 2;
	top: 8px;
	right: 8px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #15161c;
	opacity: 0;
	transform: translateY(-2px);
	transition: opacity 0.16s var(--yz-ease), transform 0.16s var(--yz-ease);
}

.yz-orbit-404__arrow .yz-icon {
	width: 12px;
	height: 12px;
}

.yz-orbit-404__pos:hover .yz-orbit-404__card,
.yz-orbit-404__pos:focus-visible .yz-orbit-404__card {
	transform: scale(1.06);
	box-shadow: 0 20px 42px rgba(0, 0, 0, 0.32);
}

.yz-orbit-404__pos:hover .yz-orbit-404__card::after,
.yz-orbit-404__pos:focus-visible .yz-orbit-404__card::after {
	background: transparent;
}

.yz-orbit-404__pos:hover .yz-orbit-404__arrow,
.yz-orbit-404__pos:focus-visible .yz-orbit-404__arrow {
	opacity: 1;
	transform: translateY(0);
}

.yz-orbit-404__pos:focus-visible {
	outline: 2px solid var(--yz-accent);
	outline-offset: 5px;
	border-radius: 8px;
}

.yz-orbit-404__center {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: min(344px, 58%);
	transform: translate(-50%, -50%);
	text-align: center;
	pointer-events: none;
}

.yz-orbit-404__eyebrow {
	color: var(--yz-faint);
	font-family: var(--yz-mono);
	font-size: 9.5px;
	letter-spacing: 0.2em;
}

.yz-orbit-404__title {
	margin-top: 13px;
	color: var(--yz-text-strong);
	font-size: clamp(21px, calc(var(--yz-orbit-d) * 0.055), 31px);
	font-weight: 300;
	line-height: 1.35;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.yz-orbit-404__desc {
	max-width: 300px;
	margin: 10px auto 0;
	color: var(--yz-dim);
	font-size: 12px;
	line-height: 1.8;
}

.yz-orbit-404__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin-top: 16px;
	pointer-events: auto;
}

.yz-orbit-404__actions .yz-btn {
	padding: 9px 18px;
	font-size: 13px;
}

.yz-orbit-404__home {
	min-width: 132px;
}

.yz-orbit-404__hint {
	margin-top: 12px;
	color: var(--yz-faint);
	font-size: 10.5px;
	letter-spacing: 0.02em;
}

.yz-orbit-404__meta {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: var(--yz-faint);
	font-family: var(--yz-mono);
	font-size: 9px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	pointer-events: none;
}

[data-theme="light"] .yz-orbit-404__four {
	opacity: 0.86;
}

@media (max-width: 1080px) {
	.yz-orbit-404__composition {
		min-height: min(640px, calc(100vh - var(--yz-header-h) - 40px));
	}
	.yz-orbit-404__stage {
		--yz-orbit-d: min(500px, 52vw, 68vh);
	}
	.yz-orbit-404__four {
		font-size: min(clamp(220px, 33vw, 400px), 60vh);
	}
}

@media (max-width: 900px) {
	.yz-orbit-404__composition {
		min-height: 520px;
	}
	.yz-orbit-404__stage {
		--yz-orbit-d: min(430px, 82vw);
		--yz-orbit-card: min(108px, calc(var(--yz-orbit-d) * 0.256));
	}
	.yz-orbit-404__four {
		font-size: min(300px, 76vw);
		opacity: 0.9;
	}
	.yz-orbit-404__four--left {
		left: -4%;
	}
	.yz-orbit-404__four--right {
		right: 2%;
	}
	.yz-orbit-404__meta {
		display: none;
	}
}

@media (max-width: 720px) {
	.yz-orbit-404 {
		padding-bottom: 12px;
	}
	.yz-orbit-404__composition {
		min-height: 560px;
		padding: 0;
	}
	.yz-orbit-404__stage {
		--yz-orbit-d: min(340px, 84vw);
		--yz-orbit-card: min(92px, calc(var(--yz-orbit-d) * 0.27));
	}
	.yz-orbit-404__four {
		font-size: 38vw;
	}
	.yz-orbit-404__center {
		width: 64%;
	}
	.yz-orbit-404__title {
		font-size: clamp(19px, calc(var(--yz-orbit-d) * 0.06), 23px);
	}
	.yz-orbit-404__desc {
		font-size: 11px;
		line-height: 1.7;
	}
	.yz-orbit-404__hint {
		display: none;
	}
	.yz-orbit-404__actions {
		flex-direction: column;
		width: auto;
		gap: 7px;
		margin-top: 12px;
		pointer-events: auto;
	}
	.yz-orbit-404__actions .yz-btn {
		width: auto;
		min-width: 118px;
		padding: 8px 15px;
		font-size: 12px;
	}
	.yz-orbit-404__home {
		min-width: 0;
	}
}

@media (max-width: 480px) {
	.yz-orbit-404__stage {
		--yz-orbit-d: min(310px, 82vw);
		--yz-orbit-card: 84px;
	}
	.yz-orbit-404__desc {
		display: none;
	}
	.yz-orbit-404__eyebrow {
		font-size: 8.5px;
		letter-spacing: 0.14em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.yz-orbit-404__ring {
		animation: none;
	}
	.yz-orbit-404__card,
	.yz-orbit-404__arrow {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   19. 页脚
   -------------------------------------------------------------------------- */
.yz-footer {
	position: relative;
	margin-top: 76px;
	padding-top: 52px;
	border-top: 1px solid var(--yz-border);
	background: var(--yz-bg-deep);
	overflow: hidden;
}

.yz-footer__glow {
	position: absolute;
	left: 50%;
	bottom: -240px;
	width: 720px;
	height: 360px;
	transform: translateX(-50%);
	border-radius: 50%;
	background: rgba(124, 92, 255, 0.14);
	filter: blur(90px);
	pointer-events: none;
}

.yz-footer .yz-container {
	position: relative;
	z-index: 1;
}

.yz-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.75fr);
	gap: 48px;
	padding-bottom: 38px;
}

.yz-logo--footer .yz-logo__img {
	height: 26px;
}

.yz-footer__tagline {
	margin-top: 14px;
	color: var(--yz-text);
	font-size: 14px;
	font-weight: 500;
}

.yz-footer__about {
	margin-top: 9px;
	max-width: 380px;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.85;
}

.yz-footer__contact {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 18px;
}

.yz-footer__contact li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-footer__contact .yz-icon {
	width: 15px;
	height: 15px;
	color: var(--yz-faint);
}

.yz-footer__contact a:hover {
	color: var(--yz-accent);
}

.yz-footer__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.yz-footer__col .menu,
.yz-footer__list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.yz-footer__title {
	margin-bottom: 14px;
	color: var(--yz-text);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.yz-footer__col a {
	color: var(--yz-dim);
	font-size: 12.5px;
}

.yz-footer__col a:hover {
	color: var(--yz-accent);
}

.yz-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	padding: 22px 0;
	border-top: 1px solid var(--yz-border);
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-footer__copy a {
	color: var(--yz-dim);
}

.yz-footer__sep {
	margin: 0 6px;
	opacity: 0.5;
}

.yz-footer__note {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.yz-footer__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yz-green);
	box-shadow: 0 0 0 4px rgba(34, 224, 168, 0.12);
}

.yz-footer__partner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 0 4px;
	border-top: 1px solid var(--yz-border);
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-footer__partner a {
	color: var(--yz-dim);
}

.yz-footer__partner a:hover {
	color: var(--yz-accent);
}

.yz-about-partner {
	margin-top: 18px;
	color: var(--yz-faint);
	font-size: 12.5px;
}

.yz-about-partner a {
	color: var(--yz-dim);
}

.yz-about-partner a:hover {
	color: var(--yz-accent);
}

.yz-footer__brandmark {
	padding: 10px 0 26px;
	color: transparent;
	font-size: clamp(56px, 12vw, 150px);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: 0.06em;
	text-align: center;
	-webkit-text-stroke: 1px var(--yz-border-strong);
	text-stroke: 1px var(--yz-border-strong);
	opacity: 0.55;
	user-select: none;
	pointer-events: none;
}


/* 网格列表（频道 / 归档） */
.yz-postlist--grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

/* 滚动出现（渐进增强：无 JS 或 IO 异常时内容始终可见） */
.will-reveal {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.6s var(--yz-ease), transform 0.6s var(--yz-ease);
}

.will-reveal.is-inview {
	opacity: 1;
	transform: none;
}

/* 评论表单原生字段样式 */
.yz-comment-form p {
	margin: 0;
}

.yz-comment-form input[type="text"],
.yz-comment-form input[type="email"],
.yz-comment-form input[type="url"],
.yz-comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--yz-border-strong);
	border-radius: var(--yz-radius-sm);
	background: var(--yz-input-bg);
	color: var(--yz-text);
	font-size: 13.5px;
}

.yz-comment-form input[type="text"]:focus,
.yz-comment-form input[type="email"]:focus,
.yz-comment-form input[type="url"]:focus,
.yz-comment-form textarea:focus {
	outline: none;
	border-color: var(--yz-accent);
	box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.16);
}

.yz-comment-form .comment-form-author,
.yz-comment-form .comment-form-email,
.yz-comment-form .comment-form-url {
	display: inline-block;
	width: calc(33.333% - 8px);
	margin-right: 8px;
	vertical-align: top;
}

.yz-comment-form .comment-form-url {
	margin-right: 0;
}

.yz-comment-form .comment-form-comment {
	display: block;
}

.yz-comment-form .comment-form-comment label {
	display: none;
}

.yz-comment-form .form-submit {
	margin-top: 4px;
}

.yz-comment-form .comment-form-cookies-consent label {
	font-size: 12px;
}

/* 频道页头部无侧栏时内容更宽 */
.yz-postlist--grid .yz-card--grid .yz-card__title {
	font-size: 16px;
}

/* 归档页空状态跨列 */
.yz-postlist--grid .yz-empty {
	grid-column: 1 / -1;
}

@media (max-width: 1080px) {
	.yz-postlist--grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.yz-postlist--grid {
		grid-template-columns: 1fr;
	}
	.yz-comment-form .comment-form-author,
	.yz-comment-form .comment-form-email,
	.yz-comment-form .comment-form-url {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}

/* --------------------------------------------------------------------------
   20. 响应式
   -------------------------------------------------------------------------- */
@media (max-width: 1180px) {
	.yz-channels {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		padding: 0 18px;
	}
	.yz-library-hero__channels {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.yz-sites-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.yz-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1080px) {
	.yz-hero__inner {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 44px 38px;
	}
	.yz-hero__media {
		min-height: 0;
		justify-content: flex-start;
	}
	.yz-flow {
		width: min(100%, 460px);
	}
	.yz-hero__float--b {
		left: auto;
		right: -8px;
		bottom: 34px;
	}
	.yz-hero__float--c {
		display: none;
	}
	.yz-layout,
	.yz-single-layout {
		grid-template-columns: 1fr;
	}
	.yz-sidebar {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
	.yz-single-layout .yz-sidebar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-plans {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.yz-apply {
		grid-template-columns: 1fr;
	}
	.yz-apply__aside {
		position: static;
	}
	.yz-auth {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.yz-auth__aside {
		padding: 36px;
	}
	.yz-auth__panel {
		padding: 36px;
	}
	.yz-article__body {
		padding: 28px;
	}
	.yz-process,
	.yz-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	:root {
		--yz-header-h: 62px;
	}
	.yz-nav {
		display: none;
	}
	.yz-menu-toggle {
		display: inline-flex;
	}
	.yz-header__inner {
		gap: 12px;
	}
	.yz-header__cta,
	.yz-header__publish {
		display: none;
	}
	.yz-login-link {
		display: none;
	}
	.yz-grade {
		grid-template-columns: 1fr;
	}
	.yz-grid--3,
	.yz-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-sites-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-statsband {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 0;
	}
	.yz-statsband__item:nth-child(odd)::before {
		display: none;
	}
	.yz-related .yz-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-footer__top {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.yz-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.yz-hero__stats {
		max-width: none;
	}
	.yz-cta__inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.yz-cta {
		padding: 32px 28px;
	}
	.yz-pagehead {
		padding: 26px;
	}
	.yz-sites-hero {
		padding: 30px;
	}
	.yz-library-hero {
		padding: 30px;
	}
	.yz-license-card {
		padding: 24px;
	}
	.yz-license-card__inner {
		flex-direction: column;
	}
	.yz-license-card__facts {
		gap: 20px;
	}
	.yz-plans {
		grid-template-columns: 1fr;
	}
	.yz-plan__tagline {
		min-height: 0;
	}
	.yz-services {
		grid-template-columns: 1fr;
	}
	.yz-values {
		grid-template-columns: 1fr;
	}
	.yz-contact {
		grid-template-columns: 1fr;
	}
	.yz-about-hero {
		padding: 36px 28px;
	}
	.yz-sites-hero__stats {
		gap: 26px;
	}
}

@media (max-width: 720px) {
	.yz-container {
		padding: 0 16px;
	}
	.yz-main {
		padding-top: var(--yz-header-h);
	}
	.yz-section {
		padding-top: 44px;
	}
	.yz-hero {
		margin-top: 14px;
		border-radius: 18px;
	}
	.yz-hero__inner {
		padding: 30px 22px;
		gap: 26px;
	}
	.yz-hero__actions .yz-btn {
		flex: 1 1 auto;
	}
	.yz-hero__stats {
		margin-top: 24px;
		padding-top: 18px;
		gap: 10px;
	}
	.yz-hero__float {
		display: none;
	}
	.yz-channels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: -18px;
		padding: 0 12px;
		gap: 10px;
	}
	.yz-channel-card {
		padding: 15px 14px;
	}
	.yz-channel-card__desc {
		min-height: 0;
		-webkit-line-clamp: 2;
	}
	.yz-section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.yz-section-head__link {
		display: none;
	}
	.yz-card--list {
		flex-direction: column;
		padding: 12px;
		gap: 12px;
	}
	.yz-card--list .yz-card__thumb {
		width: 100%;
		flex: none;
		aspect-ratio: 16 / 9;
	}
	.yz-card--list .yz-card__excerpt {
		-webkit-line-clamp: 2;
	}
	.yz-card__meta {
		gap: 12px;
	}
	.yz-sidebar {
		grid-template-columns: 1fr;
	}
	.yz-single-layout .yz-sidebar {
		grid-template-columns: 1fr;
	}
	.yz-postlist[data-view="grid"] {
		grid-template-columns: 1fr;
	}
	.yz-sites-grid {
		grid-template-columns: 1fr;
	}
	.yz-grid--3,
	.yz-grid--4 {
		grid-template-columns: 1fr;
	}
	.yz-related .yz-grid {
		grid-template-columns: 1fr;
	}
	.yz-process,
	.yz-steps {
		grid-template-columns: 1fr;
	}
	.yz-statsband {
		padding: 20px 4px;
	}
	.yz-statsband__item {
		padding: 6px 16px;
	}
	.yz-statsband__item:nth-child(3)::before {
		display: none;
	}
	.yz-article__header {
		padding: 22px;
	}
	.yz-article__body {
		padding: 22px;
		border-radius: var(--yz-radius);
	}
	.yz-entry {
		font-size: 15px;
		line-height: 1.9;
	}
	.yz-entry h2 {
		font-size: 19.5px;
	}
	.yz-entry h3 {
		font-size: 17px;
	}
	.yz-article__metas {
		margin-left: 0;
		width: 100%;
		gap: 12px;
	}
	.yz-article__actions {
		padding: 12px;
	}
	.yz-article__actions-right {
		display: none;
	}
	.yz-comments {
		padding: 22px;
	}
	.yz-comment-form__grid {
		grid-template-columns: 1fr;
	}
	.yz-form__grid {
		grid-template-columns: 1fr;
	}
	.yz-form-card {
		padding: 22px;
	}
	.yz-apply__aside {
		padding: 24px;
	}
	.yz-auth__aside,
	.yz-auth__panel {
		padding: 28px 22px;
	}
	.yz-auth__aside {
		min-height: 220px;
	}
	.yz-auth__aside-list {
		display: none;
	}
	.yz-dash__head {
		align-items: flex-start;
	}
	.yz-panel__body {
		padding: 16px;
	}
	.yz-panel__head {
		padding: 14px 16px;
	}
	.yz-table th,
	.yz-table td {
		padding: 10px 12px;
	}
	.yz-cta {
		margin-top: 44px;
		padding: 26px 22px;
	}
	.yz-footer {
		margin-top: 52px;
		padding-top: 38px;
	}
	.yz-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}
	.yz-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.yz-footer__partner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 18px 0 4px;
	border-top: 1px solid var(--yz-border);
	color: var(--yz-faint);
	font-size: 11.5px;
}

.yz-footer__partner a {
	color: var(--yz-dim);
}

.yz-footer__partner a:hover {
	color: var(--yz-accent);
}

.yz-about-partner {
	margin-top: 18px;
	color: var(--yz-faint);
	font-size: 12.5px;
}

.yz-about-partner a {
	color: var(--yz-dim);
}

.yz-about-partner a:hover {
	color: var(--yz-accent);
}

.yz-footer__brandmark {
		font-size: 68px;
	}
	.yz-backtop {
		right: 16px;
		bottom: calc(70px + env(safe-area-inset-bottom));
		width: 38px;
		height: 38px;
	}
	.yz-breadcrumb {
		margin: 16px 0 10px;
	}
	.yz-pagehead {
		padding: 22px 18px;
		border-radius: var(--yz-radius-lg);
		margin-top: 14px;
	}
	.yz-pagehead__icon {
		width: 46px;
		height: 46px;
		border-radius: 12px;
	}
	.yz-pagehead__icon .yz-icon {
		width: 22px;
		height: 22px;
	}
	.yz-toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.yz-sort {
		flex-wrap: wrap;
		gap: 10px;
	}
	.yz-sort__view {
		display: none;
	}
	.yz-sites-hero,
	.yz-library-hero {
		padding: 24px 20px;
		border-radius: var(--yz-radius-lg);
		margin-top: 14px;
	}
	.yz-library-hero__channels {
		grid-template-columns: 1fr 1fr;
	}
	.yz-sites-hero__stats {
		width: 100%;
		justify-content: space-between;
		gap: 12px;
	}
	.yz-sitecard {
		padding: 16px;
	}
	.yz-plans {
		gap: 14px;
	}
	.yz-plan {
		padding: 24px 20px;
	}
	.yz-auth {
		margin: 18px 0;
		border-radius: var(--yz-radius-lg);
	}
	.yz-about-hero {
		padding: 30px 22px;
		margin-top: 14px;
	}
	.yz-stats {
		gap: 10px;
	}
	.yz-stat-card {
		padding: 15px 16px;
	}
	.yz-stat-card__value {
		font-size: 23px;
	}
	.yz-dash {
		padding-top: 14px;
	}
	.yz-channels + .yz-section {
		padding-top: 36px;
	}
	.yz-mobilebar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 85;
		align-items: center;
		justify-content: space-around;
		gap: 6px;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--yz-border);
		background: var(--yz-surface-glass);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
	}
	.yz-mobilebar__btn {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		gap: 2px;
		padding: 4px 14px;
		border: 0;
		border-radius: 8px;
		background: transparent;
		color: var(--yz-dim);
		font-size: 10.5px;
	}
	.yz-mobilebar__btn .yz-icon {
		width: 19px;
		height: 19px;
	}
	.yz-mobilebar__btn.is-active {
		color: var(--yz-accent);
	}
	.yz-single .yz-main {
		padding-bottom: 58px;
	}
	.yz-comment__main {
		padding: 10px 12px;
	}
}

@media (max-width: 480px) {
	.yz-header__actions .yz-user__name,
	.yz-user__caret {
		display: none;
	}
	.yz-hero__title {
		font-size: 27px;
	}
	.yz-hero__desc {
		font-size: 12.5px;
	}
	.yz-channels {
		grid-template-columns: 1fr 1fr;
	}
	.yz-channel-card__icon {
		width: 34px;
		height: 34px;
		border-radius: 9px;
	}
	.yz-channel-card__name {
		font-size: 14px;
	}
	.yz-hero__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.yz-hero__stat strong {
		font-size: 18px;
	}
	.yz-footer__cols {
		grid-template-columns: 1fr 1fr;
	}
	.yz-auth__tabs {
		margin: 16px 0;
	}
	.yz-cta__actions {
		width: 100%;
	}
	.yz-cta__actions .yz-btn {
		flex: 1 1 auto;
	}
	.yz-loadmore__btn {
		width: 100%;
	}
	.yz-stats {
		grid-template-columns: 1fr 1fr;
	}
	.yz-license-mini__title {
		font-size: 16px;
	}
	.yz-filter-chip {
		padding: 5px 11px;
	}
}

/* --------------------------------------------------------------------------
   21. 弹窗登录 / 注册
   -------------------------------------------------------------------------- */
.yz-authmodal {
	position: fixed;
	inset: 0;
	z-index: 160;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.24s var(--yz-ease), visibility 0.24s var(--yz-ease);
}

.yz-authmodal.is-open {
	opacity: 1;
	visibility: visible;
}

.yz-authmodal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 9, 14, 0.62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.yz-authmodal__panel {
	position: relative;
	z-index: 1;
	width: min(430px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 26px 26px 20px;
	border: 1px solid var(--yz-border-strong);
	border-radius: 20px;
	background: var(--yz-surface);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
	transform: translateY(14px) scale(0.985);
	transition: transform 0.26s var(--yz-ease);
	scrollbar-width: thin;
}

.yz-authmodal.is-open .yz-authmodal__panel {
	transform: translateY(0) scale(1);
}

body.yz-authmodal-open {
	overflow: hidden;
}

.yz-authmodal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--yz-dim);
	cursor: pointer;
	transition: all 0.18s var(--yz-ease);
}

.yz-authmodal__close:hover {
	background: var(--yz-hover);
	color: var(--yz-text-strong);
}

.yz-authmodal__close .yz-icon {
	width: 17px;
	height: 17px;
}

.yz-authmodal__brand {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-bottom: 16px;
	padding-right: 36px;
}

.yz-authmodal__brand-name {
	color: var(--yz-text-strong);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.yz-authmodal__brand-desc {
	color: var(--yz-faint);
	font-size: 12px;
}

.yz-authmodal__tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
	padding: 4px;
	border: 1px solid var(--yz-border);
	border-radius: 10px;
	background: var(--yz-surface-2);
}

.yz-authmodal__tab {
	flex: 1 1 0;
	padding: 8px 10px;
	border: 0;
	border-radius: 7px;
	background: transparent;
	color: var(--yz-muted);
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.18s var(--yz-ease);
}

.yz-authmodal__tab:hover {
	color: var(--yz-text-strong);
}

.yz-authmodal__tab.is-active {
	background: var(--yz-surface);
	color: var(--yz-text-strong);
	box-shadow: var(--yz-shadow-sm);
}

.yz-authmodal__notice {
	margin-bottom: 14px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 12.5px;
	line-height: 1.6;
}

.yz-authmodal__notice.is-error {
	color: var(--yz-red);
	background: rgba(255, 93, 108, 0.09);
	border: 1px solid rgba(255, 93, 108, 0.24);
}

.yz-authmodal__notice.is-success {
	color: var(--yz-green);
	background: rgba(34, 224, 168, 0.09);
	border: 1px solid rgba(34, 224, 168, 0.24);
}

.yz-authmodal__form {
	display: none;
	flex-direction: column;
	gap: 13px;
}

.yz-authmodal__form.is-active {
	display: flex;
}

.yz-authmodal__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 13px;
}

.yz-authmodal .yz-field__label {
	font-size: 12px;
}

.yz-authmodal__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: -2px;
}

.yz-authmodal__link {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--yz-accent);
	font-family: inherit;
	font-size: 12.5px;
	cursor: pointer;
}

.yz-authmodal__link:hover {
	color: var(--yz-text-strong);
}

.yz-authmodal__submit {
	width: 100%;
	margin-top: 2px;
}

.yz-authmodal__switch {
	margin: 2px 0 0;
	color: var(--yz-dim);
	font-size: 12.5px;
	text-align: center;
}

.yz-authmodal__switch .yz-authmodal__link {
	font-size: 12.5px;
}

.yz-authmodal__agree {
	margin-top: 2px;
}

.yz-authmodal__hint {
	margin: 0;
	color: var(--yz-dim);
	font-size: 12.5px;
	line-height: 1.7;
}

.yz-authmodal__foot {
	margin: 16px 0 0;
	padding-top: 13px;
	border-top: 1px solid var(--yz-border);
	color: var(--yz-faint);
	font-size: 11px;
	line-height: 1.7;
	text-align: center;
}

.yz-authmodal__foot a {
	color: var(--yz-dim);
}

.yz-authmodal__foot a:hover {
	color: var(--yz-accent);
}

@media (max-width: 720px) {
	.yz-authmodal {
		align-items: flex-end;
		padding: 0;
	}

	.yz-authmodal__panel {
		width: 100%;
		max-height: 92vh;
		border-radius: 20px 20px 0 0;
		border-bottom: 0;
		padding: 22px 20px calc(18px + env(safe-area-inset-bottom));
		transform: translateY(40px);
	}

	.yz-authmodal.is-open .yz-authmodal__panel {
		transform: translateY(0);
	}

	.yz-authmodal__grid {
		grid-template-columns: 1fr;
	}
}

/* 动画与可访问性 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.yz-header,
	.yz-footer,
	.yz-sidebar,
	.yz-backtop,
	.yz-mobilebar,
	.yz-progress {
		display: none !important;
	}
	.yz-main {
		padding-top: 0;
	}
	.yz-article__body {
		border: 0;
		padding: 0;
	}
}
