html {
  color-scheme: light;
  --page-background-color: #f5f1e8;
  --page-foreground-color: #22313a;
  --page-link-color: #0c5d74;
  --page-visited-link-color: #215b6a;
  --header-background-color: #f7f3ea;
  --header-separator-color: #d8d0c2;
  --title-background-color: #f7f3ea;
  --title-separator-color: #d8d0c2;
  --separator-color: #d8d0c2;
  --nav-background-color: #18313d;
  --nav-foreground-color: #ebf0f1;
  --nav-text-normal-color: #dfe8eb;
  --nav-text-hover-color: #fffdf7;
  --nav-text-active-color: #fffdf7;
  --nav-menu-button-color: #dfe8eb;
  --nav-menu-background-color: #fffdf8;
  --nav-menu-foreground-color: #22313a;
  --nav-arrow-color: #90aeb9;
  --nav-arrow-selected-color: #c7d9df;
  --nav-gradient-image: none;
  --nav-gradient-hover-image: none;
  --nav-gradient-active-image: none;
  --nav-gradient-active-image-parent: none;
  --nav-separator-image: none;
  --nav-breadcrumb-image: none;
  --nav-breadcrumb-border-color: #d8d0c2;
  --nav-splitbar-image: none;
  --index-odd-item-bg-color: #fcfaf4;
  --index-even-item-bg-color: #f6f1e8;
  --index-header-color: #1f313b;
  --index-separator-color: #d8d0c2;
  --memdecl-background-color: #fcfaf4;
  --memdecl-separator-color: #e4ddd0;
  --memdecl-foreground-color: #445861;
  --memdecl-template-color: #1b5f75;
  --memdef-border-color: #d8d0c2;
  --memdef-title-background-color: #ebe2d4;
  --memdef-title-gradient-image: none;
  --memdef-proto-background-color: #f4ede2;
  --memdef-proto-text-color: #213640;
  --memdef-proto-text-shadow: none;
  --memdef-doc-background-color: #fffdf8;
  --memdef-param-name-color: #7b4631;
  --memdef-template-color: #1b5f75;
  --table-cell-border-color: #d8d0c2;
  --table-header-background-color: #1d3b48;
  --table-header-foreground-color: #f7fafb;
  --label-background-color: #2b6277;
  --label-left-top-border-color: #2b6277;
  --label-right-bottom-border-color: #2b6277;
  --label-foreground-color: #f7fafb;
  --blockquote-background-color: #fcfaf4;
  --blockquote-border-color: #d8d0c2;
  --search-background-color: #fbf8f1;
  --search-foreground-color: #5f727b;
  --search-active-color: #21313a;
  --search-filter-background-color: #fffdf8;
  --search-filter-foreground-color: #21313a;
  --search-filter-border-color: #d8d0c2;
  --search-filter-highlight-text-color: #f7fafb;
  --search-filter-highlight-bg-color: #1d5c72;
  --search-results-foreground-color: #1d4d61;
  --search-results-background-color: #fffdf8;
  --search-results-border-color: #d8d0c2;
}

html,
body {
  background: #ffffff;
}

body {
  background: #ffffff;
  color: #22313a;
  font-family: "Georgia", "Times New Roman", serif;
}

body,
table,
div,
p,
li {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a,
a.el,
a.qindex,
a.qindexHL {
  color: #0c5d74;
}

a:hover,
a.el:hover,
a.qindex:hover,
a.qindexHL:hover {
  color: #083e52;
}

#top {
  border-bottom: 1px solid #d8d0c2;
  box-shadow: 0 2px 12px rgba(22, 34, 44, 0.08);
}

#titlearea {
  background: linear-gradient(180deg, #fbfaf6 0%, #f2ecdf 100%);
}

#projectalign {
  padding: 0.7rem 0.8rem 0.8rem;
}

#projectname {
  color: #122833;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

#projectbrief {
  color: #52656f;
  font-size: 1rem;
  font-style: normal;
  margin-top: 0.25rem;
}

#main-nav {
  background: linear-gradient(180deg, #18313d 0%, #11242d 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(0, 0, 0, 0.18);
}

#main-menu {
  max-width: 1280px;
  margin: 0 auto;
}

.sm-dox,
.tabs,
.tabs2,
.tabs3 {
  background: transparent;
}

.sm-dox a,
.sm-dox a span.sub-arrow {
  border: 0;
  color: #deeaee;
  font-size: 0.95rem;
  text-shadow: none;
}

.sm-dox a:hover,
.sm-dox a:focus,
.sm-dox a:active,
.sm-dox a.current {
  background: rgba(255, 255, 255, 0.08);
  color: #fffdf7;
}

#MSearchBox {
  background: #fbf8f1;
  border: 1px solid #314954;
  border-radius: 999px;
  box-shadow: none;
}

#MSearchField {
  font-family: "Georgia", "Times New Roman", serif;
}

#side-nav,
#nav-tree {
  background: #f8f3ea;
}

#side-nav {
  border-right: 1px solid #e4ddd0;
}

#nav-tree {
  font-size: 0.95rem;
}

#nav-tree .selected,
#nav-tree .selected a {
  background: #dbe5e8;
  color: #142b36;
}

#nav-tree .label a {
  color: #21313a;
}

#nav-tree .label a:hover {
  color: #0b5c78;
}

#nav-tree .children_ul {
  margin-left: 0.25rem;
}

#nav-tree .item {
  margin: 0.05rem 0;
}

#splitbar {
  background: #ece4d6;
}

#doc-content {
  background: #ffffff;
}

div.header,
div.contents {
  max-width: 1040px;
  margin: 0 auto;
}

div.header {
  background: #ffffff;
  border: 0;
  box-shadow: none;
}

div.contents {
  background: #ffffff;
  color: #22313a;
  line-height: 1.65;
  padding-bottom: 2.5rem;
}

.contents a {
  text-underline-offset: 0.14em;
}

.contents a:hover {
  text-decoration-thickness: 2px;
}

div.headertitle {
  padding: 2rem 0 0.9rem;
}

div.title {
  color: #132833;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.contents .textblock {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #22313a;
  padding: 0;
}

.contents > .textblock > p:first-child {
  margin-top: 0;
}

.contents .textblock h2,
.contents .textblock h3 {
  color: #153746;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.02em;
}

.contents .textblock h2 {
  border-top: 1px solid #ddd4c5;
  font-size: 1.35rem;
  margin-top: 2.2rem;
  padding-top: 1.2rem;
}

.contents .textblock h2:first-of-type {
  border-top: 0;
  margin-top: 1.4rem;
  padding-top: 0;
}

.contents .textblock p,
.contents .textblock ul,
.contents .textblock ol {
  color: #22313a;
  max-width: 48rem;
}

.contents .textblock > ul,
.contents .textblock > ol {
  background: #fcfaf5;
  border: 1px solid #e5ddd0;
  border-radius: 12px;
  padding: 1rem 1.2rem 1rem 2.1rem;
}

.contents .textblock > ul > li:last-child,
.contents .textblock > ol > li:last-child {
  margin-bottom: 0;
}

.contents .textblock ul {
  margin-bottom: 1.25rem;
  padding-left: 1.4rem;
}

.contents .textblock li {
  margin-bottom: 0.35rem;
}

table.memberdecls,
.directory table,
.doxtable {
  border: 1px solid #ddd4c5;
  border-collapse: separate;
  border-radius: 10px;
  border-spacing: 0;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 28, 36, 0.04);
}

.memberdecls .memItemLeft,
.memberdecls .memItemRight,
.memberdecls .memTemplItemLeft,
.memberdecls .memTemplItemRight,
.memberdecls tr,
.memberdecls td,
.memberdecls th {
  background: #fffdf8 !important;
  color: #22313a !important;
}

.memberdecls tr.even,
.memberdecls tr.odd {
  background: #fffdf8 !important;
}

.memberdecls tr:hover td,
.memberdecls tr:hover .memItemLeft,
.memberdecls tr:hover .memItemRight,
.memberdecls tr:hover .memTemplItemLeft,
.memberdecls tr:hover .memTemplItemRight {
  background: #f6f1e7 !important;
}

.memberdecls .memItemLeft,
.memberdecls .memTemplItemLeft {
  padding: 0.55rem 0.75rem 0.55rem 0.85rem !important;
  vertical-align: top;
  white-space: nowrap;
}

.memberdecls .memItemRight,
.memberdecls .memTemplItemRight {
  padding: 0.55rem 0.95rem 0.55rem 0.35rem !important;
  overflow-wrap: anywhere;
}

.memberdecls a,
.memberdecls a.el {
  color: #0c5d74 !important;
}

.memberdecls .memSeparator,
.memberdecls tr.separator {
  border-color: #e4ddd0 !important;
}

.doxtable {
  margin-top: 1rem;
  margin-bottom: 1.4rem;
}

table.memberdecls td,
table.memberdecls th,
.directory table td,
.directory table th,
.doxtable td,
.doxtable th {
  border-color: #e6dfd2;
}

.directory,
.directory table,
.directory tbody,
.directory tr,
.directory td,
.directory .entry,
.directory .desc,
.directory .levels {
  background: #ffffff !important;
  color: #22313a !important;
}

.directory tr.even,
.directory tr.odd {
  background: #ffffff !important;
}

.directory tr:hover td,
.directory tr:hover .entry,
.directory tr:hover .desc {
  background: #f7f2e8 !important;
}

.directory .entry a,
.directory .desc a,
.directory .levels span,
.directory .arrow,
.directory .icon,
.directory .icona,
.directory b {
  color: #0c5d74 !important;
}

.directory .desc {
  color: #52656f !important;
}

.memitem,
dl.reflist dt,
dl.section {
  background: #ffffff;
  border: 1px solid #ddd4c5;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(20, 28, 36, 0.04);
}

.memitem {
  border-radius: 0 0 12px 12px;
  border-top: 0;
  margin: 0 0 1.7rem;
}

.memproto,
dl.section dt {
  background: linear-gradient(180deg, #fbf8f1 0%, #efe6d8 100%);
  border-bottom: 1px solid #ddd4c5;
  color: #20343d;
}

.memdoc,
dl.section dd {
  background: #fffdf8;
}

.memdoc {
  line-height: 1.7;
}

.memtitle {
  background: #f3ebdf !important;
  border: 1px solid #d8d0c2 !important;
  border-bottom: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  float: none !important;
  margin: 1.25rem 0 -1px;
  width: 100%;
  padding: 0.7rem 0.9rem;
}

h2.memtitle,
h2.memtitle a,
h2.memtitle .permalink a {
  color: #143544 !important;
  text-shadow: none !important;
}

h2.memtitle .permalink {
  margin-right: 0.35rem;
}

h2.memtitle .permalink a {
  color: #6b7f87 !important;
}

.memtitle .overload {
  color: #4b5f68;
  margin-left: 0.35rem;
}

.memtemplate,
.memTemplParams,
.memTemplItemLeft,
.memTemplItemRight {
  color: #4b5f68;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.96rem;
  line-height: 1.55;
}

.memTemplParams {
  background: #fbf8f1;
}

table.memname {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  min-width: 0;
}

table.memname td,
table.memname td.memname,
.memname {
  color: #1b2f39;
  font-size: 1.02rem;
  line-height: 1.55;
  vertical-align: top;
  white-space: normal;
}

.memproto table.memname td {
  overflow-wrap: anywhere;
  word-break: normal;
}

.memproto td.paramtype,
.memproto td.paramname,
.memproto td.paramkey {
  white-space: normal;
  overflow-wrap: anywhere;
}

.memproto table {
  margin-bottom: 0;
}

.memproto {
  border-radius: 0 10px 0 0 !important;
  box-shadow: none !important;
  overflow-x: auto;
  padding: 0.7rem 0.4rem 0.85rem !important;
}

.memproto .memtemplate {
  background: #f8f2e7;
  border-left: 3px solid #d7ccba;
  border-radius: 8px;
  color: #53656d;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.92rem;
  line-height: 1.4;
  margin: 0.18rem 0 0.32rem;
  overflow-wrap: anywhere;
  padding: 0.28rem 0.75rem;
  white-space: normal;
}

.memproto .memtemplate + .memtemplate {
  color: #6a7b83;
  font-size: 0.86rem;
  margin-top: 0.1rem;
}

.memproto td {
  padding-top: 0.18rem;
  padding-bottom: 0.18rem;
}

.memproto td.memname {
  padding-right: 1rem;
}

.mlabels-right {
  padding-left: 0.8rem;
}

.memdoc p.reference {
  color: #5d7179;
  font-size: 0.95rem;
  margin-left: 0;
  padding-top: 0.9rem;
  text-indent: 0;
  border-top: 1px solid #e6dfd2;
}

dl.params,
dl.tparams,
dl.section.return,
dl.section.see,
dl.section.note,
dl.section.warning {
  margin-top: 1rem;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}

dl.params table,
dl.tparams table,
dl.section.return table {
  width: 100%;
}

dl.params td,
dl.tparams td,
dl.section.return td {
  background: #fffdf8;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}

dl.params dd,
dl.tparams dd,
dl.section.return dd {
  padding: 0.5rem 0.9rem 0.7rem 0.9rem;
  text-align: left;
}

dl.section.return table {
  margin-left: 0;
}

dl.params dt,
dl.tparams dt,
dl.section.return dt {
  padding: 0.4rem 0.9rem 0.15rem 0.9rem;
}

dl.params table td:last-child,
dl.tparams table td:last-child {
  padding-left: 1rem;
  text-align: left;
}

dl.params .paramname,
dl.tparams .paramname {
  white-space: nowrap;
}

dl.section.return dd {
  margin-left: 0;
  padding-left: 1rem;
}

div.fragment,
pre.fragment {
  background: #1b2932;
  border: 1px solid #2a3d48;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  margin: 1rem 0 1.3rem;
  padding: 0.35rem 0;
}

div.fragment,
pre.fragment,
div.line {
  color: #eef3f5;
}

pre.fragment {
  overflow-x: auto;
}

.fragment .line {
  line-height: 1.5;
}

code,
tt {
  background: #f3eee4;
  border: 1px solid #e2d8c8;
  border-radius: 6px;
  color: #22313a;
  padding: 0.08rem 0.32rem;
}

dl.section.note,
dl.section.warning,
dl.section.see,
dl.section.return {
  border-radius: 12px;
  overflow: hidden;
}

dl.section.note dt,
dl.section.warning dt,
dl.section.see dt,
dl.section.return dt {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0.02em;
}

.contents .textblock blockquote {
  border-left: 4px solid #b8c9cf;
  border-radius: 0 10px 10px 0;
  margin: 1rem 0 1.2rem;
  padding: 0.75rem 1rem;
}

.paramname,
.memname,
.memtitle {
  color: #153746;
}

.mlabel,
span.mlabels span.mlabel {
  background: #2a5e72;
  border: 0;
  border-radius: 999px;
  color: #f7fafb;
  padding: 0.15rem 0.55rem;
}

dl.note,
dl.warning,
dl.attention,
dl.important {
  border-left: 4px solid #2a5e72;
  border-radius: 0 10px 10px 0;
  padding-left: 1rem;
}

#nav-path {
  display: none;
}

@media (max-width: 1100px) {
  div.header,
  div.contents {
    max-width: none;
    margin: 0 1rem;
  }
}
