

	:root {
	 --text: #222;
	 --muted: #555;
	 --border: #d7d7d7;
	 --bg-soft: #f7f7f7;
	 --accent: #1f4e79;
	 --warning-bg: #fff4d6;
	 --warning-border: #f0c36d;
	}

	html {
	 scroll-behavior: auto;
	}

	h1, h2, h3, h4, section {
	 scroll-margin-top: 20px;
	}
	
	/*Note: 1.0 rem = 16 px */
	body {
	 font-family: Arial, Helvetica, sans-serif;
	 line-height: 1.55;
	 color: var(--text);
	 max-width: 980px;
	 margin: 0 auto;
	 padding: 32px 24px 64px;
	 background: #fff;
	 font-size: 12px;
	}

	h1, h2, h3, h4 {
	 color: var(--accent);
	 line-height: 1.25;
	 margin-top: 1.6em;
	}

	h1 {
	 font-size: 24px; /* 32px */
	 margin-top: 0;
	 border-bottom: 3px solid var(--accent);
	 padding-bottom: 10px;
	}

	h2 {
	 font-size: 17px; /* 23 px */
	 border-bottom: 1px solid var(--border);
	 padding-bottom: 6px;
	}

	h3 {
	 font-size: 14px /* 19px */;
	} 

	p {
	 margin: 0.6em 0;
	}

	a {
	 color: var(--accent); 
	}

	.sectionTitle {
	 display: inline-block;
	}

	.anchorSourceHighlight {
	 background: #fff3a0 !important;
	 border: 1px solid #e0b800;
	 border-radius: 4px;
	 padding: 2px 4px;
	 box-shadow: 0 0 0 2px rgba(255, 220, 80, 0.35);
	}
	

	.navArrow {
     display: inline-block;
	 width: 14px;
	 height: 14px;
	 margin-left: 18px;
	 position: relative;
	 vertical-align: middle;
	 text-decoration: none;
	}

	.navArrow::before {
	 content: "";
	 position: absolute;
	 width: 8px;
	 height: 8px;
	 border-left: 2px solid #1f4e79;
	 border-bottom: 2px solid #1f4e79;
	}

	.navTop::before {
	 transform: rotate(135deg);
	 left: 2px;
	 top: 4px;
	}

	.navBack::before {
	 transform: rotate(45deg);
	 left: 4px;
	 top: 2px;
	}

	.navForward::before {
	 transform: rotate(225deg);
	 left: 1px;
	 top: 2px;
	}

	code {
	 font-family: Consolas, Monaco, "Courier New", monospace;
	 background: var(--bg-soft);
	 padding: 1px 4px;
	 border-radius: 3px;
	}

	pre {
	 background: var(--bg-soft);
	 border: 1px solid var(--border);
	 border-radius: 6px;
	 padding: 14px;
	 overflow-x: auto;
	 white-space: pre-wrap;
	 word-wrap: break-word;
	 font-family: Consolas, Monaco, "Courier New", monospace;
	 font-size: 11px; /* 15px */
	}

	table {
	 width: 100%;
	 border-collapse: collapse;
	 margin: 14px 0 24px;
	 table-layout: fixed;
	}

	th, td {
	 word-wrap: break-word;
	 overflow-wrap: anywhere;
	 white-space: normal;
	 vertical-align: top;
	}	
	
	th {
	 background: var(--bg-soft);
	 color: #111;
	 text-align: left;
	}

	.note, .warning {
	 padding: 12px 14px;
	 border-radius: 6px;
	 margin: 14px 0;
	}

	.note {
	 background: #eef6ff;
	 border: 1px solid #b9d7f0;
	}

	.warning {
	 background: var(--warning-bg);
	 border: 1px solid var(--warning-border);
	 padding: 12px 14px;
	 border-radius: 6px;
	 margin: 14px 0;
	}

	.toc {
	 background: var(--bg-soft);
	 border: 1px solid var(--border);
	 border-radius: 6px;
	 padding: 14px 18px;
	 margin: 20px 0;
	}

	.toc-group a {
	 font-weight: bold;
	 text-decoration: none;
	}

	.toc ul { margin: 6px 0 0 20px; padding-left: 14px; }
	.toc > ul { margin-left: 0; }
	.toc li { margin: 3px 0; }
	.toc-group { font-weight: bold; color: #333; }
	.muted { color: var(--muted); }

	.chapter-section {
	 margin-top: 34px;
	 padding-top: 10px;
	 border-top: 2px solid var(--accent);
	}
	
	.chapter-title {
	 font-size: 20px;
	 color: var(--accent);
	 text-transform: uppercase;
	 border-bottom: 1px solid var(--border);
	 padding-bottom: 6px;
	}

	.topic-section {
	 border: 1px solid var(--border);
	 border-radius: 8px;
	 padding: 18px;
	 margin-top: 24px;
	}
	
	.topic-source {
	 font-size: 11px;
	 margin-top: -6px;
	 margin-bottom: 12px;
	}

	.topic-body img { max-width: 100%; height: auto; }
	.topic-body table[bgcolor="#80C0FF"] { display: none; }
	.disabled-popup-link { border-bottom: 1px dashed var(--accent); }
	.page-break { page-break-before: always; }
	
	.function-box {
	 border: 1px solid var(--border);
	 border-radius: 8px;
	 padding: 18px;
	 margin-top: 24px;
	}
   
	.badge {
	 display: inline-block;
	 background: var(--accent);
	 color: #fff;
	 border-radius: 4px;
	 padding: 2px 7px;
	 font-size: 0.82rem;
	 font-weight: bold;
	 margin-right: 6px;
	}

	.page-break { page-break-before: always; }

	
	@media print {
	 .navArrow, nav, button { display: none !important; }
	 body { max-width: none; padding: 0; }
	 .topic-section { border: none; padding: 0; page-break-inside: avoid; }
	}
	
.docSearchBox {
	margin: 16px 0 20px 0;
	padding: 12px;
	border: 1px solid #d7d7d7;
	border-radius: 6px;
	background: #f7f7f7;
}

#docSearchInput {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
	font-size: 14px;
	border: 1px solid #bbb;
	border-radius: 4px;
}

#docSearchResults {
	margin-top: 8px;
	font-size: 13px;
}

.docSearchResult {
	display: block;
	padding: 5px 6px;
	margin: 2px 0;
	border-radius: 4px;
	text-decoration: none;
	color: #1f4e79;
}

.docSearchResult:hover {
	background: #fff3a0;
}

.docSearchEmpty {
	color: #666;
	padding: 5px 6px;
}

.searchHighlight {
	background: #fff3a0;
	border-radius: 3px;
	padding: 1px 2px;
}
