a { color: #1d4ed8; text-decoration: none; }
a:visited { color: #1d4ed8; }
a:hover { color: #0f172a; text-decoration: underline; }
a.weblink, a.weblink:visited { color: #1d4ed8; text-decoration: underline; }
a.weblink:hover { color: #0f172a; }
a.popuplink, a.popuplink:visited { color: #dc2626; text-decoration: none; }
a.popuplink:hover { text-decoration: underline; }
a.filelink, a.filelink:visited { color: #059669; text-decoration: none; }
a.filelink:hover { text-decoration: underline; }
a.inline-toggle, a.inline-toggle:visited { color: #0f766e; text-decoration: none; font-weight: bold; font-family: Aptos, Segoe UI, Arial, Helvetica, sans-serif; }
a.inline-toggle:hover { text-decoration: underline; }
body { color: #0f172a; background: #ffffff; }
p, li { line-height: 1.65; }
.fsmall { font-size: 11px; font-family: Aptos, Segoe UI, Arial, Helvetica, sans-serif; text-align: center; margin: 12px 0 0 0; color: #64748b; }
.crumbs { font-size: 10px; margin-bottom: 6px; margin-top: 0; color: #cbd5e1; letter-spacing: 0.01em; }
.crumbs a, .crumbs a:visited { text-decoration: none; color: #e2e8f0; }
.crumbs a:hover { color: #ffffff; text-decoration: underline; }
.topichead { padding: 4px 10px; }
.navlinks { font-size: 10pt; }
.navlinks a, .navlinks a:visited { color: #1d4ed8; text-decoration: none; }
.navlinks a:hover { text-decoration: underline; }
#idcontent { width: 100%; padding: 20px 24px 14px 22px !important; position: relative; box-sizing: border-box; }
#innerdiv { padding: 0 !important; }
#idheader h1, h1.topicheading { font-size: 1.45rem !important; line-height: 1.15; margin: 0; color: #ffffff; }
h1, h2, h3, h4 { color: #0f172a; }
h2 { margin-top: 2rem; font-size: 1.5rem; }
h3 { margin-top: 1.5rem; font-size: 1.2rem; }
table { border-collapse: collapse; }
img { max-width: 100%; height: auto; border-radius: 12px; }
code, pre { border-radius: 10px; }
.note, .warning, .tip { border-radius: 12px; padding: 12px 14px; }
html.nonscroll { overflow: hidden; }
body.nonscroll { overflow: hidden; height: 100%; }
div.nonscroll { overflow-x: auto; overflow-y: scroll; }
@media screen and (max-width: 760px) {
  #idcontent { padding: 16px 14px 12px 14px !important; }
  #idheader h1, h1.topicheading { font-size: 1.25rem !important; }
}

#idnav span { transform: scale(0.85); transform-origin: center; margin-left: 0; }
#idnav { width: 112px !important; }


#navbar { height: 44px !important; display: flex; align-items: center; padding-left: 6px; }
#hmnavframe { top: 44px !important; }
#navbar a { transform: scale(0.78); transform-origin: center; margin: 0 2px !important; }


html { scroll-behavior: smooth; }
body {
  font-family: Aptos, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
::selection { background: rgba(37, 99, 235, 0.18); color: #0f172a; }
#idcontent {
  max-width: 1240px;
  margin: 0 auto;
}
#idcontent p {
  margin: 0 0 1.05rem 0;
}
#idcontent ul, #idcontent ol {
  padding-left: 1.35rem;
  margin: 0 0 1.15rem 0;
}
#idcontent li { margin-bottom: 0.35rem; }
#idcontent table {
  width: auto;
  max-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
}
#idcontent th, #idcontent td {
  padding: 10px 12px;
  border-bottom: 1px solid #e7eef7;
  border-right: 1px solid #eef3f9;
}
#idcontent th {
  background: #f8fbff;
  font-weight: 700;
  color: #0f172a;
}
#idcontent tr:last-child td { border-bottom: none; }
#idcontent td:last-child, #idcontent th:last-child { border-right: none; }
#idcontent img {
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.10);
  background: #fff;
}
#idcontent hr {
  border: 0;
  border-top: 1px solid #e2e8f0;
  margin: 1.75rem 0;
}
#idcontent blockquote {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border-left: 4px solid #3b82f6;
  border-radius: 0 12px 12px 0;
  background: #f8fbff;
  color: #334155;
}
.note, .tip, .warning {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  border: 1px solid #dbe3ef;
}
.note { background: #eff6ff; }
.tip { background: #ecfeff; }
.warning { background: #fff7ed; }
#keyword_entry:focus, input.zoom_searchbox:focus, #header-search-input:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(59,130,246,0.14);
  border-color: rgba(96,165,250,0.65);
}
#keyword_list {
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f8fafc;
}
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: #eef2f7; }
*::-webkit-scrollbar-thumb {
  background: #a8b6c8;
  border-radius: 999px;
  border: 2px solid #eef2f7;
}
*::-webkit-scrollbar-thumb:hover { background: #7f93ab; }



/* Premium refinement adjustments */
#mainheader,
#navbar,
#idheader {
  background: linear-gradient(180deg, #3d4955 0%, #465565 100%) !important;
}

#navbar {
  height: 58px !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 0 0 10px !important;
  box-sizing: border-box !important;
}
#hmnavframe { top: 58px !important; }
#navbar a {
  transform: none !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 10px 0 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}
#navbar a:last-child { margin-right: 0 !important; }

/* Keep current topic highlight from covering first letter */
.hilight1, .hilight2, .hilight3, .hilight4, .hilight5, .hilight6 {
  background: linear-gradient(90deg, transparent 0 16px, rgba(59,130,246,0.14) 16px, rgba(59,130,246,0.06) 100%) !important;
  box-shadow: inset 3px 0 0 #3b82f6 !important;
  padding-left: 14px !important;
  margin-left: -10px !important;
  border-radius: 10px !important;
  display: inline-block !important;
}

/* Search page: remove helper text above search form */
body.searchpage p.submit,
body.searchpage p.summary,
body.searchpage p.navbar,
body.searchpage hr:first-of-type {
  display: none !important;
}

/* Improve spacing for search page when helper texts are hidden */
body.searchpage {
  padding-top: 8px !important;
}


/* FINAL HEADER/TITLEBAR ALIGNMENT FIX */
#mainheader,
#navbar,
#idheader {
  background: #445467 !important;
}

#navbar {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  line-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid rgba(255,255,255,0.18) !important;
}

#hmnavframe {
  top: 58px !important;
}

#navbar a {
  width: 32px !important;
  height: 32px !important;
  margin: 0 10px 0 0 !important;
  transform: none !important;
  flex: 0 0 auto !important;
  vertical-align: middle !important;
}

#idheader {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 6px 14px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(255,255,255,0.18) !important;
}

#idheader .topichead {
  padding: 0 !important;
  margin: 0 !important;
}

#idheader .crumbs {
  margin: 0 0 3px 0 !important;
  line-height: 1.1 !important;
}

#idheader h1,
#idheader h1.topicheading,
#idheader .topicheading {
  margin: 0 !important;
  line-height: 1.1 !important;
}

/* Keep current TOC highlight on the same area as hover */
span.hilight1,
span.hilight2,
span.hilight3,
span.hilight4,
span.hilight5,
span.hilight6 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#toc li a,
#toc li span,
#toc li div,
#toc a {
  border-radius: 10px !important;
}


/* Aptos typography and compact TOC spacing */
html, body, #idcontent, #innerdiv, #idheader, .topichead, .crumbs, .navlinks,
p, li, table, input, button, textarea, select,
#toc, #toc li, #toc a, #toc span {
  font-family: Aptos, Segoe UI, Arial, Helvetica, sans-serif !important;
}

#toc li {
  margin-top: 1px !important;
  margin-bottom: 1px !important;
}

#toc a[class^="heading"] {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* Force Aptos 18px in topic content without changing TOC spacing */
#idcontent,
#idcontent p,
#idcontent li,
#idcontent div,
#idcontent span,
#idcontent a,
#idcontent table,
#idcontent th,
#idcontent td,
#idcontent input,
#idcontent button,
#idcontent textarea,
#idcontent select {
  font-family: Aptos, Segoe UI, Arial, Helvetica, sans-serif !important;
  font-size: 18px !important;
}
