#body {
	overflow: hidden;
}

.ztree * {
	font-size: 14px;
	font-family: "Microsoft Yahei", Verdana, Simsun, "Segoe UI Web Light", "Segoe UI Light", "Segoe UI Web Regular", "Segoe UI", "Segoe UI Symbol", "Helvetica Neue", Arial
}

.ztree {
	padding: 0
}

.ztree li ul {
	margin: 0;
	padding: 0;
	background-color: #fafafa;
}

.ztree li {
	line-height: 32px;
	padding-left: 1em
}

.ztree li a {
	width: 100%;
	height: 32px;
	padding-top: 0;
	padding-right: 0;
	color: #666;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ztree li a::before {
	content: " ";
	width: 100%;
	position: absolute;
	left: 0;
	user-select: none;
	height: 32px;
}

.ztree li a.curSelectedNode::before {
	background: #f1f0f0;
}

.ztree li a.curSelectedNode::after {
	content: ' ';
	display: block;
	width: 4px;
	float: right;
	background-color: #5FB878;
	height: 32px;
	position: relative;
}

.ztree li a:hover::before {
	font-weight: bold;
}

.ztree li a>span {
	position: relative
}

.ztree li.level0>a {
	padding-left: 0;
}

.ztree li a:hover {
	text-decoration: none;
	color: #5FB878;
}

.ztree li a span.button.switch {
	visibility: hidden;
}

.ztree li a span.button.noline_docu {
	pointer-events: none;
}

.ztree.showIcon li a span.button.switch {
	visibility: visible
}

.ztree li a.curSelectedNode {
	border: 0;
	height: 32px;
	font-weight: bold;
	color: #5FB878;
}

.ztree li span {
	line-height: 32px;
}

.ztree li span.button {
	margin-top: -7px;
	background-image: url("../images/left_menuForOutLook.png");
	*background-image: url("../images/left_menuForOutLook.gif")
}

.ztree li span.button.switch {
	width: 20px;
	height: 16px;
	z-index: 2
}

.ztree li span.button.switch.level0 {
	width: 20px;
	height: 20px
}

.ztree li span.button.switch.level1 {
	width: 20px;
	height: 20px
}

.ztree li span.button.noline_open {
	background-position: 0 0;
}

.ztree li span.button.noline_close {
	background-position: -18px 0;
}

.ztree li a.tmpTargetNode_inner {
	border: none;
}

.ztree li a.tmpTargetNode_inner::before {
	height: 32px;
	background-color: #5FB878;
	border: 1px solid #009688;
	opacity: 1;
	filter: alpha(opacity=100);
	box-sizing: border-box;
}

span.tmpzTreeMove_arrow {
	margin: 7px 0 0 1em;
}

#editormd {
	box-sizing: border-box;
}

#leftbar .copyright {
	color: #333;
	border-top: 1px solid #dddddd;
}

#leftbar .layui-tab {
	margin-bottom: 0;
}

#content_body>h1:first-child {
	color: #393D49;
	text-align: center;
	font-size: 2rem;
	padding-top: 12px;
}

#searchForm {
	padding: 0 10px 10px 10px;
	border-bottom: 1px solid #eee;
}

.searchResultNone {
	position: fixed;
	top: 50%;
	width: 260px;
	text-align: center;
	color: #c2c2c2;
}

.searchResultNone .layui-icon {
	font-size: 48px;
}

.searchResultNone p {
	margin-top: 4px;
	font-size: 1rem;
}

/* markdown正文 */

.markdown-body {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	color: #333;
	overflow: hidden;
	font-family: "Microsoft YaHei", Helvetica, "Meiryo UI", "Malgun Gothic", "Segoe UI", "Trebuchet MS", "Monaco", monospace, Tahoma, STXihei, "华文细黑", STHeiti, "Helvetica Neue", "Droid Sans", "wenquanyi micro hei", FreeSans, Arimo, Arial, SimSun, "宋体", Heiti, "黑体", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	word-wrap: break-word;
	padding: 1em;
}

.markdown-body * {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.markdown-body a {
	background: transparent;
	color: #01AAED;
	text-decoration: none;
}

.markdown-body h1>a,
.markdown-body h2>a,
.markdown-body h3>a,
.markdown-body h4>a,
.markdown-body h5>a,
.markdown-body h6>a {
	color: inherit;
}

.markdown-body a:active,
.markdown-body a:hover {
	outline: 0;
	text-decoration: underline;
}

.markdown-body strong {
	font-weight: bold;
}

.markdown-body img {
	border: 0;
	max-width: 100%;
}

.markdown-body hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

.markdown-body code,
.markdown-body kbd {
	font-family: inherit;
	font-size: 1em;
}

.markdown-body input {
	color: inherit;
	font: inherit;
	margin: 0;
}

.markdown-body html input[disabled] {
	cursor: default;
}

.markdown-body input {
	line-height: normal;
}

.markdown-body input[type="checkbox"] {
	padding: 0;
}

.markdown-body input {
	font: 13px/1.4 Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
}

.markdown-body hr {
	height: 0;
	margin: 15px 0;
	overflow: hidden;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #ddd;
}

.markdown-body hr:before {
	display: table;
	content: "";
}

.markdown-body hr:after {
	display: table;
	clear: both;
	content: "";
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
	position: relative;
	margin-top: 1em;
	margin-bottom: 16px;
	font-weight: bold;
}

.markdown-body h1 {
	font-size: 2.25em;
	border-bottom: 1px solid #eee;
	text-align: center;
	margin-top: 0;
}

.markdown-body h2 {
	padding-bottom: 0.3em;
	font-size: 1.75em;
	line-height: 1.225;
	border-bottom: 1px solid #eee;
}

.markdown-body h3 {
	font-size: 1.5em;
	line-height: 1.43;
}

.markdown-body h4 {
	font-size: 1.25em;
}

.markdown-body h5 {
	font-size: 1em;
}

.markdown-body h6 {
	font-size: 1em;
	color: #777;
}

.markdown-body ul,
.markdown-body ol {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 2em;
}

.markdown-body ol ol,
.markdown-body ul ol {
	list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
	list-style-type: lower-alpha;
}

.markdown-body dd {
	margin-left: 0;
}

.markdown-body .octicon {
	font: normal normal 16px octicons-anchor;
	line-height: 1;
	display: inline-block;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.markdown-body .octicon-link:before {
	content: '\f05c';
}

.markdown-body>*:first-child {
	margin-top: 0 !important;
}

.markdown-body>*:last-child {
	margin-bottom: 0 !important;
}

.markdown-body .anchor {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding-right: 6px;
	padding-left: 30px;
	margin-left: -30px;
}

.markdown-body .anchor:focus {
	outline: none;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
	display: none;
	color: #000;
	vertical-align: middle;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
	padding-left: 8px;
	margin-left: -30px;
	text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
	display: inline-block;
}

.markdown-body h1 .anchor {
	line-height: 1;
}

.markdown-body h2 .anchor {
	line-height: 1;
}

.markdown-body h3 .anchor {
	line-height: 1.2;
}


.markdown-body h4 .anchor {
	line-height: 1.2;
}

.markdown-body h5 .anchor {
	line-height: 1.1;
}

.markdown-body h6 .anchor {
	line-height: 1.1;
}

.markdown-body p,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl {
	margin-top: 0;
	margin-bottom: 16px;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
	margin-top: 0;
	margin-bottom: 0;
}

.markdown-body li>p {
	margin-top: 16px;
}

.markdown-body dl {
	padding: 0;
}

.markdown-body dl dt {
	padding: 0;
	margin-top: 16px;
	font-size: 1em;
	font-style: italic;
	font-weight: bold;
}

.markdown-body dl dd {
	padding: 0 16px;
	margin-bottom: 16px;
}

.markdown-body code {
	padding: 0.2em;
	margin: 0;
	border-radius: 3px;
	color: #FF5722;
}

.markdown-body code:before,
.markdown-body code:after {
	letter-spacing: -0.2em;
	content: "\00a0";
}

.syntaxhighlighter code:before,
.syntaxhighlighter code:after {
	content: "";
}

.markdown-body .highlight {
	margin-bottom: 16px;
}

.markdown-body kbd {
	display: inline-block;
	padding: 3px 5px;
	font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
	line-height: 10px;
	color: #555;
	vertical-align: middle;
	background-color: #fcfcfc;
	border: solid 1px #ccc;
	border-bottom-color: #bbb;
	border-radius: 3px;
	box-shadow: inset 0 -1px 0 #bbb;
}

.markdown-body .pl-c {
	color: #969896;
}

.markdown-body .pl-c1,
.markdown-body .pl-mdh,
.markdown-body .pl-mm,
.markdown-body .pl-mp,
.markdown-body .pl-mr,
.markdown-body .pl-s1 .pl-v,
.markdown-body .pl-s3,
.markdown-body .pl-sc,
.markdown-body .pl-sv {
	color: #0086b3;
}

.markdown-body .pl-e,
.markdown-body .pl-en {
	color: #795da3;
}

.markdown-body .pl-s1 .pl-s2,
.markdown-body .pl-smi,
.markdown-body .pl-smp,
.markdown-body .pl-stj,
.markdown-body .pl-vo,
.markdown-body .pl-vpf {
	color: #333;
}

.markdown-body .pl-ent {
	color: #63a35c;
}

.markdown-body .pl-k,
.markdown-body .pl-s,
.markdown-body .pl-st {
	color: #a71d5d;
}

.markdown-body .pl-pds,
.markdown-body .pl-s1,
.markdown-body .pl-s1 .pl-pse .pl-s2,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sra,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-src {
	color: #df5000;
}

.markdown-body .pl-mo,
.markdown-body .pl-v {
	color: #1d3e81;
}

.markdown-body .pl-id {
	color: #b52a1d;
}

.markdown-body .pl-ii {
	background-color: #b52a1d;
	color: #f8f8f8;
}

.markdown-body .pl-sr .pl-cce {
	color: #63a35c;
	font-weight: bold;
}

.markdown-body .pl-ml {
	color: #693a17;
}

.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
	color: #1d3e81;
	font-weight: bold;
}

.markdown-body .pl-mq {
	color: #008080;
}

.markdown-body .pl-mi {
	color: #333;
	font-style: italic;
}

.markdown-body .pl-mb {
	color: #333;
	font-weight: bold;
}

.markdown-body .pl-md,
.markdown-body .pl-mdhf {
	background-color: #ffecec;
	color: #bd2c00;
}

.markdown-body .pl-mdht,
.markdown-body .pl-mi1 {
	background-color: #eaffea;
	color: #55a532;
}

.markdown-body .pl-mdr {
	color: #795da3;
	font-weight: bold;
}

.markdown-body .task-list-item {
	list-style-type: none;
}

.markdown-body .task-list-item+.task-list-item {
	margin-top: 3px;
}

.markdown-body .task-list-item input {
	float: left;
	margin: 0.3em 0 0.25em -1.6em;
	vertical-align: middle;
}

.markdown-body :checked+.radio-label {
	z-index: 1;
	position: relative;
	border-color: #4183c4;
}

.markdown-body .editormd-toc-menu ul {
	padding-left: 0;
}

.markdown-body th {
	font-weight: bold;
}

.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter,
.syntaxhighlighter td,
.syntaxhighlighter tr,
.syntaxhighlighter tbody,
.syntaxhighlighter thead,
.syntaxhighlighter caption,
.syntaxhighlighter textarea {
	font-family: Menlo, Monaco, Menlo, Consolas, source-code-pro, "Liberation Mono", "Ubuntu Mono", Courier, "Helvetica Neue", "Microsoft Yahei", 微软雅黑, "Lantinghei SC", STXihei, WenQuanYi, sans-serif;
	font-size: 14px !important;
	line-height: 1.625em !important;
}

.syntaxhighlighter {
	margin: 1.625em 0 !important;
	background-color: #fafafa !important;
}

.syntaxhighlighter textarea {
	height: 100%;
}

.layui-elem-quote {
	border-color: #5FB878;
	background-color: #fafafa;
}

.layui-elem-quote>p:last-child {
	margin-bottom: 0;
}

li {
	list-style: inherit;
	margin-bottom: 12px;
}

.syntaxhighlighter .gutter {
	color: #237893 !important;
}

.syntaxhighlighter .plain,
.syntaxhighlighter .plain a {
	word-break: break-all;
	color: #333 !important
}

.syntaxhighlighter .comments,
.syntaxhighlighter .comments a {
	color: gray !important;
}

.syntaxhighlighter .string,
.syntaxhighlighter .string a {
	color: #10893E !important
}

.syntaxhighlighter .keyword {
	color: #ff7800 !important
}

.syntaxhighlighter .variable {
	color: #1E9FFF !important
}

.syntaxhighlighter .functions {
	color: #FF5722 !important
}

.syntaxhighlighter .constants {
	color: #5200FF !important
}

#article-content {
	position: relative;
}

#article-content li {
	list-style: inherit;
}

#content-toc-wrap {
	width: 16em;
	position: fixed;
	right: 2em;
	z-index: 99;
	border: 1px solid #dbdbdb;
	background-color: rgba(255, 255, 255, 0.618);
	backdrop-filter: blur(4px);
}

#content-toc {
	overflow: auto;
}

#content-toc ol {
	overflow: auto;
}

#content-toc>ol {
	padding: 0.6em;
	margin: 0;
}

#content-toc li {
	line-height: 28px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	width: 100%;
	float: left;
	margin-bottom: 0;
}

#content-toc a {
	color: #333;
}

#content-toc a:hover {
	color: #5FB878;
	text-decoration: none;
}

.content-toc-title {
	margin-bottom: 0 !important;
	border-bottom: 1px solid #dbdbdb;
	padding: 0.5em;
	font-weight: bold;
	cursor: move;
}

@media screen and (max-width: 768px) {
	#content-toc-wrap {
		display: none;
	}
}

/* ============================================================
   专业版文档样式（原 assets/doc/css/pro.css，合并到此处
   随 docView.css 一起加载，避免独立文件未生效/被缓存）
   ============================================================ */

/* ============================================================
   开发文档 · 视觉升级（V2 / V1 通用）
   说明：不改变原有栅格结构（顶栏 48px、左侧栏 + 正文），
   仅重做配色、字号、间距与表格/代码块样式，避免布局错位。
   ============================================================ */

:root {
	--doc-brand: #2f6bff;
	--doc-brand-dark: #1b4ed8;
	--doc-brand-light: #eef4ff;
	--doc-ink: #101828;
	--doc-ink2: #475467;
	--doc-muted: #98a2b3;
	--doc-line: #e4e7ec;
	--doc-line2: #eef1f5;
	--doc-bg: #f7f8fa;
	--doc-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
}

::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb:window-inactive {
	background: #d0d5dd;
}

/* ==================== 顶部栏（保持 48px 高度） ==================== */
#navbar {
	height: 48px;
	background: #fff !important;
	background-image: none !important;
	border-bottom: 1px solid var(--doc-line2);
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

#navbar .bg-blur {
	height: 48px;
	background: #fff !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: none;
}

#navbar .navbar-body {
	height: 48px;
	padding: 0 16px;
	box-sizing: border-box;
}

#navbar .layui-nav {
	background: transparent !important;
	padding: 0;
}

/* 桌面端：品牌与右侧操作放在同一行（原 .nav-menu 是 ul 之后的行内元素，会掉到第二行） */
@media screen and (min-width: 769px) {
	#navbar .navbar-body {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		width: 100%;
	}

	#navbar .nav-menu {
		order: 1;
		position: static;
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		height: 48px;
		padding: 0;
	}

	#navbar .layui-nav {
		order: 2;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex: 1;
		height: 48px;
	}

	#navbar .navRight {
		float: none;
		margin-left: auto;
	}
}

#navbar .logo {
	display: flex;
	align-items: center;
	height: 48px;
	line-height: 1;
	font-size: 0;
	float: left;
}

#navbar .logo > img {
	display: none;
}

#navbar .pro-brand {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--doc-ink);
	letter-spacing: .2px;
}

#navbar .pro-brand-site {
	font-size: 13.5px;
	color: var(--doc-ink);
}

#navbar .pro-brand-sub {
	padding-left: 7px;
	border-left: 1px solid var(--doc-line);
	font-size: 11.5px;
	font-weight: 400;
	color: var(--doc-muted);
	letter-spacing: 0;
}

#navActions {
	float: right;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 48px;
}

.pro-ver {
	position: relative;
}

.pro-ver-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 30px;
	padding: 0 11px;
	border: 1px solid var(--doc-line);
	border-radius: 6px;
	background: #fff;
	font-size: 12.5px;
	color: var(--doc-ink2);
	cursor: pointer;
	transition: .15s;
}

.pro-ver-btn:hover {
	border-color: var(--doc-brand);
	color: var(--doc-brand);
}

.pro-ver-btn .layui-icon {
	font-size: 11px;
	transform: scale(.9);
}

.pro-ver-menu {
	display: none;
	position: absolute;
	right: 0;
	top: 36px;
	min-width: 196px;
	padding: 5px;
	background: #fff;
	border: 1px solid var(--doc-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(16, 24, 40, .12);
	z-index: 1200;
}

.pro-ver.open .pro-ver-menu {
	display: block;
}

.pro-ver-menu a {
	display: block;
	padding: 8px 11px;
	border-radius: 6px;
	font-size: 13px;
	color: var(--doc-ink);
	text-decoration: none;
}

.pro-ver-menu a:hover {
	background: #f7f8fa;
	text-decoration: none;
}

.pro-ver-menu a.on {
	background: var(--doc-brand-light);
	color: var(--doc-brand);
}

.pro-ver-sub {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	color: var(--doc-muted);
}

.pro-link-btn {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 13px;
	border-radius: 6px;
	background: var(--doc-brand);
	color: #fff !important;
	font-size: 12.5px;
	font-weight: 500;
	text-decoration: none;
	transition: .15s;
}

.pro-link-btn:hover {
	background: var(--doc-brand-dark);
	text-decoration: none;
}

/* ==================== 左侧栏（252px） ==================== */
#leftbar {
	width: 252px;
	top: 48px;
	background: #fff;
	border-right: 1px solid var(--doc-line2);
	overflow: hidden;
}

.pro-side {
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
}

.pro-side-hd {
	padding: 14px 12px 10px;
}

.pro-search {
	position: relative;
}

.pro-search input {
	width: 100%;
	height: 34px;
	box-sizing: border-box;
	padding: 0 10px 0 32px;
	border: 1px solid var(--doc-line);
	border-radius: 6px;
	background: #f8fafc;
	font-size: 13px;
	color: var(--doc-ink);
	outline: none;
	transition: .15s;
}

.pro-search input:focus {
	border-color: var(--doc-brand);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(47, 107, 255, .12);
}

.pro-search-ico {
	position: absolute;
	left: 10px;
	top: 9px;
	font-size: 14px;
	color: var(--doc-muted);
	pointer-events: none;
}

.pro-nav {
	flex: 1;
	overflow-y: auto;
	padding: 2px 8px 24px;
	box-sizing: border-box;
}

.pro-link {
	position: relative;
	display: block;
	height: 36px;
	line-height: 36px;
	padding: 0 11px;
	border-radius: 6px;
	font-size: 13.5px;
	color: var(--doc-ink2);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: .12s;
}

.pro-link:hover {
	background: #f6f8fa;
	color: var(--doc-ink);
	text-decoration: none;
}

.pro-link.on {
	background: var(--doc-brand-light);
	color: var(--doc-brand);
	font-weight: 600;
}

.pro-link.on:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	bottom: 9px;
	width: 3px;
	border-radius: 2px;
	background: var(--doc-brand);
}

.pro-group {
	margin-top: 4px;
}

.pro-group-hd {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 11px 11px 6px;
	border: 0;
	background: none;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--doc-muted);
	letter-spacing: .7px;
	cursor: pointer;
	text-align: left;
}

.pro-caret {
	font-size: 11px;
	transform: scale(.9);
	transition: transform .2s;
}

.pro-group.closed .pro-group-bd {
	display: none;
}

.pro-group.closed .pro-caret {
	transform: rotate(-90deg) scale(.9);
}

.pro-group-bd .pro-link {
	padding-left: 20px;
	font-size: 13px;
}

/* ==================== 正文（保持原结构，仅内边距与留白） ==================== */
#body {
	padding-left: 252px;
	padding-top: 48px;
	background: var(--doc-bg);
	box-sizing: border-box;
}

#content_body {
	background: var(--doc-bg);
	box-sizing: border-box;
}

#article-content {
	box-sizing: border-box;
	max-width: 940px;
	margin: 20px auto 40px;
	padding: 34px 44px 56px;
	border: 1px solid var(--doc-line2);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	font-size: 15px;
	line-height: 1.8;
	color: var(--doc-ink);
}

/* ==================== 面包屑 ==================== */
.pro-crumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 14px;
	font-size: 12.5px;
	color: var(--doc-muted);
}

.pro-crumb a {
	color: var(--doc-muted);
	text-decoration: none;
}

.pro-crumb a:hover {
	color: var(--doc-brand);
}

.pro-crumb b {
	font-weight: 400;
	color: var(--doc-ink2);
}

/* ==================== 标题体系 ==================== */
.markdown-body h1 {
	margin: 0 0 8px;
	padding: 0 0 18px;
	border: 0;
	border-bottom: 1px solid var(--doc-line2);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	color: var(--doc-ink);
	letter-spacing: -.4px;
}

.markdown-body h1 a {
	color: inherit;
	text-decoration: none;
}

.markdown-body h2 {
	position: relative;
	margin: 38px 0 14px;
	padding-left: 11px;
	border: 0;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--doc-ink);
}

.markdown-body h2:before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	bottom: 5px;
	width: 3px;
	border-radius: 3px;
	background: var(--doc-brand);
}

.markdown-body h3 {
	position: relative;
	margin: 42px 0 16px;
	padding: 0 0 10px 11px;
	border: 0;
	border-bottom: 1px solid var(--doc-line2);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--doc-ink);
}

.markdown-body h3:before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	bottom: 23px;
	width: 3px;
	border-radius: 3px;
	background: var(--doc-brand);
}

.markdown-body h4 {
	margin: 28px 0 11px;
	padding-left: 9px;
	border-left: 3px solid var(--doc-brand);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--doc-ink);
}

.markdown-body h5,
.markdown-body h6 {
	font-size: 14px;
	font-weight: 600;
	color: var(--doc-ink);
}

.markdown-body p {
	margin: 0 0 13px;
	font-size: 15px;
	line-height: 1.8;
	color: var(--doc-ink2);
}

.markdown-body a {
	color: var(--doc-brand);
	text-decoration: none;
}

.markdown-body a:hover {
	text-decoration: underline;
}

.markdown-body strong {
	color: var(--doc-ink);
}

/* ==================== 行内代码 ==================== */
.markdown-body code {
	padding: 2px 6px;
	margin: 0;
	border-radius: 4px;
	background: #f2f4f7;
	color: #d92d20;
	font-family: var(--doc-mono);
	font-size: 13px;
}

.markdown-body code:before,
.markdown-body code:after {
	content: "";
}

/* ==================== 引用 / 提示 ==================== */
.markdown-body blockquote,
.markdown-body .layui-elem-quote {
	margin: 0 0 22px !important;
	padding: 13px 16px !important;
	border: 0 !important;
	border-left: 3px solid var(--doc-brand) !important;
	border-radius: 0 8px 8px 0;
	background: #f7f8fa !important;
	font-size: 14px;
	line-height: 1.8;
	color: var(--doc-ink2) !important;
}

/* ==================== 表格 ==================== */
.pro-table-wrap {
	margin: 12px 0 24px;
	border: 1px solid var(--doc-line);
	border-radius: 8px;
	overflow-x: auto;
	overflow-y: hidden;
}

.markdown-body table {
	width: 100%;
	margin: 0;
	border: 0 !important;
	border-collapse: collapse;
	background: #fff;
	font-size: 13.5px;
	line-height: 1.65;
}

.pro-table-wrap table {
	margin: 0;
}

.markdown-body th {
	padding: 10px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--doc-line) !important;
	background: #f8fafc !important;
	font-weight: 600;
	color: var(--doc-ink);
	white-space: nowrap;
	text-align: left;
}

.markdown-body td {
	padding: 10px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--doc-line2) !important;
	color: var(--doc-ink2);
	text-align: left;
	vertical-align: top;
}

.markdown-body tbody tr:last-child td {
	border-bottom: 0 !important;
}

.markdown-body tbody tr:hover td {
	background: #f9fbff;
}

.markdown-body .pro-param td:nth-child(2) {
	font-family: var(--doc-mono);
	font-size: 12.5px;
	color: var(--doc-brand);
	white-space: nowrap;
}

.pro-req {
	display: inline-block;
	height: 20px;
	line-height: 19px;
	padding: 0 8px;
	border-radius: 4px;
	font-size: 12px;
}

.pro-req.yes {
	background: #fef3f2;
	color: #d92d20;
}

.pro-req.no {
	background: #f2f4f7;
	color: var(--doc-muted);
}

/* ==================== 接口地址卡片 ==================== */
.pro-endpoint {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 9px 0 20px;
	padding: 9px 12px;
	border: 1px solid var(--doc-line);
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
}

.pro-method {
	flex: 0 0 auto;
	padding: 2px 8px;
	border-radius: 4px;
	background: var(--doc-brand);
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .5px;
}

.pro-method.get {
	background: #12b76a;
}

.pro-endpoint code {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	background: none;
	font-family: var(--doc-mono);
	font-size: 12.5px;
	color: var(--doc-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pro-copy {
	flex: 0 0 auto;
	height: 26px;
	line-height: 24px;
	padding: 0 10px;
	border: 1px solid var(--doc-line);
	border-radius: 5px;
	background: #fff;
	font-size: 12px;
	color: var(--doc-ink2);
	cursor: pointer;
	transition: .15s;
}

.pro-copy:hover {
	border-color: var(--doc-brand);
	color: var(--doc-brand);
}

.pro-copy.done {
	border-color: #a6f4c5;
	background: #ecfdf3;
	color: #12b76a;
}

/* ==================== 代码块 ==================== */
#article-content .syntaxhighlighter {
	position: relative;
	margin: 12px 0 24px !important;
	padding: 16px 18px !important;
	border: 1px solid var(--doc-line) !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	overflow: auto !important;
	box-sizing: border-box !important;
}

#article-content .syntaxhighlighter .gutter,
#article-content .syntaxhighlighter .toolbar {
	display: none !important;
}

#article-content .syntaxhighlighter .line,
#article-content .syntaxhighlighter .line.alt1,
#article-content .syntaxhighlighter .line.alt2 {
	background: transparent !important;
}

#article-content .syntaxhighlighter .code,
#article-content .syntaxhighlighter .code * {
	font-family: var(--doc-mono) !important;
	font-size: 13px !important;
	line-height: 1.7 !important;
}

#article-content .syntaxhighlighter .pro-copy {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #fff;
}

/* ==================== 本页目录（固定悬浮，不参与布局） ==================== */
.pro-toc {
	display: none;
	position: fixed;
	top: 84px;
	right: 20px;
	width: 190px;
	max-height: calc(100vh - 120px);
	padding: 10px 0 10px 14px;
	border-left: 1px solid var(--doc-line2);
	overflow-y: auto;
	z-index: 10;
}

.pro-toc.empty {
	display: none !important;
}

.pro-toc-title {
	margin: 0 0 10px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--doc-muted);
	letter-spacing: .7px;
}

.pro-toc a {
	position: relative;
	display: block;
	line-height: 28px;
	padding-left: 9px;
	border-radius: 4px;
	font-size: 12.5px;
	color: var(--doc-ink2);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pro-toc a:hover {
	color: var(--doc-brand);
}

.pro-toc a.on {
	background: var(--doc-brand-light);
	color: var(--doc-brand);
	font-weight: 500;
}

.pro-toc a.on:before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	bottom: 7px;
	width: 2px;
	border-radius: 2px;
	background: var(--doc-brand);
}

/* ==================== 上下篇 ==================== */
.pro-pager {
	display: flex;
	gap: 12px;
	margin: 44px 0 0;
	padding-top: 22px;
	border-top: 1px solid var(--doc-line2);
}

.pro-pager a {
	flex: 1;
	display: block;
	padding: 10px 14px;
	border: 1px solid var(--doc-line);
	border-radius: 8px;
	text-decoration: none;
	transition: .15s;
	box-sizing: border-box;
}

.pro-pager a:hover {
	border-color: var(--doc-brand);
	background: #f9fbff;
	text-decoration: none;
}

.pro-pager span {
	display: block;
	margin-bottom: 2px;
	font-size: 11.5px;
	color: var(--doc-muted);
}

.pro-pager b {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--doc-ink);
}

.pro-pager .next {
	text-align: right;
}

/* ==================== V1 提示条 ==================== */
.pro-deprecated {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 26px;
	padding: 12px 16px;
	border: 1px solid #fedf89;
	border-radius: 8px;
	background: #fffaeb;
	font-size: 13.5px;
	line-height: 1.8;
	color: #7a2e0e;
	box-sizing: border-box;
}

.pro-deprecated strong {
	display: block;
	margin-bottom: 3px;
	color: #b54708;
}

.pro-deprecated a {
	color: #b54708;
	text-decoration: underline;
}

/* ==================== V1 内容适配 ==================== */
.markdown-body .api_block {
	margin-bottom: 32px;
}

.markdown-body font[color="#777"] {
	color: var(--doc-muted) !important;
}

.markdown-body font[color="#993939"] {
	color: #d92d20 !important;
}

.markdown-body font[color="#29389f"] {
	color: var(--doc-brand) !important;
}

/* ==================== 小屏 ==================== */
@media screen and (max-width: 1200px) {
	#article-content {
		margin: 14px auto 24px;
		padding: 26px 28px 44px;
	}
}

@media screen and (max-width: 768px) {
	#navbar {
		height: 48px;
	}

	#navbar .bg-blur {
		height: 48px;
	}

	#navbar .logo {
		display: inline-flex;
		justify-content: center;
		height: 48px;
		float: none;
		margin: 0 auto;
	}

	#navbar .pro-brand {
		gap: 6px;
		font-size: 12.5px;
	}

	#navbar .pro-brand-site {
		font-size: 12.5px;
	}

	#navbar .pro-brand-sub {
		padding-left: 6px;
		font-size: 11px;
	}

	#navbar .navbar-body > .layui-nav.show-item {
		top: 48px;
	}

	#navActions {
		height: 48px;
		gap: 8px;
	}

	#leftbar {
		top: 48px;
		width: 82% !important;
		left: -82% !important;
	}

	#leftbar.show-item {
		left: 0 !important;
	}

	#body {
		padding-left: 0 !important;
		padding-top: 48px;
		background: #fff;
	}

	#content_body {
		background: #fff;
	}

	#article-content {
		margin: 0;
		padding: 18px 16px 36px;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.pro-toc {
		display: none !important;
	}

	.markdown-body h1 {
		font-size: 21px;
		padding-bottom: 14px;
	}

	.markdown-body h2 {
		font-size: 17.5px;
		margin-top: 28px;
	}

	.markdown-body h3 {
		font-size: 16.5px;
	}

	.pro-pager {
		flex-direction: column;
	}

	.pro-pager .next {
		text-align: left;
	}
}

@media screen and (min-width: 1440px) {
	/* 右侧预留 210px 给本页目录，避免与卡片重叠 */
	#content_body {
		padding-right: 210px;
	}

	.pro-toc {
		display: block;
	}
}

/* ==== 顶栏补充：品牌文字与移动端菜单图标 ==== */
#navbar .logo {
	text-decoration: none;
}

#navbar #navMenuLeft,
#navbar #navMenuRight {
	color: #475467;
	text-decoration: none;
}

#navbar #navMenuLeft > i,
#navbar #navMenuRight > i {
	color: #475467;
}