:root {
	--zp-line-color:#c8d0dc;
	--links:#a62425;
	--focus:rgba(166,36,37,.22);
	--visited:#8f1f20;
	--text-main:#363b42;
	--text-bright:#111;
	--border:#c8d0dc;
	--background-body:#fff;
	--background:#efefef;
}

[data-theme=light] {
	--links:#a62425;
	--focus:rgba(166,36,37,.22);
	--visited:#8f1f20;
	--text-main:#363b42;
	--text-bright:#111;
	--border:#c8d0dc;
	--background-body:#fff;
	--background:#efefef;
	--zp-line-color:#c8d0dc;
}

[data-theme=dark] {
	--links:#d8443b;
	--focus:rgba(216,68,59,.24);
	--visited:#e85b50;
	--text-main:#dbdbdb;
	--text-bright:#fff;
	--border:#5a6270;
	--background-body:#222426;
	--background:#181a1c;
	--zp-line-color:#4b5668;
}

@media only screen and (prefers-color-scheme:dark) {
	:root:not([data-theme]) {
		--links:#d8443b;
		--focus:rgba(216,68,59,.24);
		--visited:#e85b50;
		--text-main:#dbdbdb;
		--text-bright:#fff;
		--border:#5a6270;
		--background-body:#222426;
		--background:#181a1c;
		--zp-line-color:#4b5668;
	}
}

body {
	padding-top:1.2rem;
	padding-bottom:2rem;
	line-height:1.75;
	max-width:42em;	
}

.zp-content p {
	margin-top:1em;
	margin-bottom:1.8em;
}

body>header {
	margin-bottom:1.5rem;
	padding-bottom:1.4rem;
	border-bottom:1px solid var(--zp-line-color);
}

body>footer {
	margin-top:2rem;
	padding-top:1.2rem;
	padding-bottom:2.4rem;
	border-top:1px solid var(--zp-line-color);
	color:var(--text-muted);
}

body>footer small {
	color:var(--text-muted);
}

.zp-nav {
	position:relative;
	z-index:50;
	display:flex;
	align-items:center;
	gap:1rem;
	flex-wrap:wrap;
	overflow:visible;
}

.zp-nav-brand {
	margin-right:auto;
}

.zp-nav-desktop {
	display:flex;
	align-items:center;
	gap:1rem;
	flex-wrap:wrap;
}

.zp-nav-mobile {
	display:none;
}

.zp-brand {
	font-size:1.45rem;
	text-decoration:none;
}

.zp-nav ul {
	display:flex;
	align-items:center;
	gap:.75rem;
	margin:0;
	padding:0;
	list-style:none;
	overflow:visible;
}

.zp-nav li {
	margin:0;
	padding:0;
	overflow:visible;
}

.zp-nav a,
.zp-nav a:hover,
.zp-nav a:active,
.zp-nav a:focus {
	text-decoration:none;
}

.zp-theme {
	appearance:none;
	-webkit-appearance:none;
	min-width:0;
	margin:0;
	padding:.15rem .2rem;
	border:0;
	background:none;
	box-shadow:none;
	color:var(--links);
	font-size:1.15rem;
	line-height:1;
	cursor:pointer;
}

.zp-theme:is(:hover,:active,:focus) {
	border:0;
	background:none;
	box-shadow:none;
	color:var(--links);
}


.zp-mobile-menu {
	margin:0 !important;
	padding:0 !important;
	background:transparent !important;
}

.zp-mobile-menu>summary,
.zp-mobile-menu[open]>summary {
	display:inline-flex !important;
	align-items:center !important;
	gap:.45rem;
	margin:0 !important;
	padding:.22rem 0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	color:var(--links) !important;
	font:inherit !important;
	font-size:1em !important;
	font-weight:400 !important;
	line-height:1.25 !important;
	cursor:pointer;
	list-style:none;
	text-decoration:none !important;
}

.zp-mobile-menu>summary::-webkit-details-marker {
	display:none;
}

.zp-mobile-menu>summary::marker {
	content:"";
}

.zp-mobile-menu>summary::before {
	content:"☰";
	font-size:1.05em;
	line-height:1;
}

.zp-mobile-panel {
	margin-top:.35rem;
}


.zp-nav .zphtml-nav-parent {
	position:relative;
}

.zp-nav .zphtml-nav-parent>a::after {
	margin-left:.12rem;
	content:"⌄";
}

.zp-nav .zphtml-nav-parent>ul {
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	display:none;
	min-width:max-content;
	margin:0 !important;
	padding:.4rem .7rem !important;
	border:1px solid var(--border);
	border-radius:6px;
	background:var(--background-body) !important;
	box-shadow:0 .4rem 1rem rgba(0,0,0,.18);
	list-style:none;
}

.zp-nav .zphtml-nav-parent:hover>ul,
.zp-nav .zphtml-nav-parent:focus-within>ul {
	display:block;
}

.zp-nav .zphtml-nav-lang>ul {
	right:0;
	left:auto;
	min-width:4rem;
}

.zp-nav .zphtml-nav-parent>ul li {
	display:block;
	margin:0 !important;
	padding:0 !important;
	white-space:nowrap;
}

.zp-nav .zphtml-nav-parent>ul a {
	display:block;
	padding:.2rem 0 !important;
	background:transparent !important;
	color:var(--links) !important;
	text-decoration:none !important;
}

.zp-nav .zphtml-nav-parent>ul a:hover,
.zp-nav .zphtml-nav-parent>ul a:focus {
	background:transparent !important;
	color:var(--links) !important;
	text-decoration:none !important;
}


.zp-content p.sect {
	margin:1.45em 0 .55em 0 !important;
	font-size:1.1em !important;
}

.zp-content p.sect b {
	font-weight:600 !important;
}

.zp-content .ps {
	font-style:italic;
	margin-top:3em;
	font-size:.93em;
}


@media (max-width:767px) {
	body {
		padding-top:.8rem;
	}

	.zp-nav {
		display:block;
	}

	.zp-nav-brand {
		margin-bottom:.55rem;
	}

	.zp-nav-desktop {
		display:none;
	}

	.zp-nav-mobile {
		display:block;
	}

	.zp-nav ul {
		display:block;
		margin:0 0 .35rem 0;
	}

	.zp-nav li {
		display:block;
		margin:0;
	}

	.zp-nav-mobile .zp-nav-main,
	.zp-nav-mobile .zp-nav-tools {
		margin:0 0 .35rem 0;
	}

	.zp-nav-mobile .zp-nav-tools {
		padding-top:.1rem;
	}

	.zp-nav a:not(.zp-brand),
	.zp-nav .zphtml-nav-parent>a,
	.zp-theme {
		display:inline-flex !important;
		align-items:center !important;
		margin:0 !important;
		padding:.22rem 0 !important;
		border:0 !important;
		background:transparent !important;
		box-shadow:none !important;
		color:var(--links) !important;
		font-family:inherit !important;
		font-size:1em !important;
		font-weight:400 !important;
		line-height:1.25 !important;
		text-decoration:none !important;
	}

	.zp-nav .zphtml-nav-parent {
		position:static;
	}

	.zp-nav .zphtml-nav-parent>ul {
		position:static;
		display:block;
		min-width:0;
		margin:.1rem 0 .25rem 1rem !important;
		padding:.2rem 0 !important;
		border:0;
		box-shadow:none;
		background:transparent !important;
	}
}


.zp-content code {
	background:#f4f4f2;
	color:#333;
	border:1px solid #ddd9d2;
	border-radius:6px;
	padding:.12em .35em;
	font-size:.88em;
}

@media (prefers-color-scheme:dark) {
	.zp-content code {
		background:#2d333b;
		color:#c9d1d9;
		border-color:#444c56;
	}
}

[data-theme=light] .zp-content code {
	background:#f4f4f2;
	color:#333;
	border-color:#ddd9d2;
}

[data-theme=dark] .zp-content code {
	background:#2d333b;
	color:#c9d1d9;
	border-color:#444c56;
}


.zp-content h1 {
	font-size:2rem;
	font-weight:600;
}

.zp-content h2 {
	margin:1.6em 0 0 0;
	font-size:1.08rem;
	color:inherit;
	/* line-height:1.3; */
	/* font-weight:600; */
}



error, .error {
	font-weight:bold;
	color:#bd1c00; /*FF2F0A FF1A1A*/
} 
ok, .ok {
	font-weight:bold;
	color:#519b18; 
} 
green, .green {
	color:#519b18; /*1da531 #35a854 519b18 5d9a18 388c1b */
} 
red, .red { color:#bd1c00; }
