/* -------------------------------------------------------------------------
   SpatialHub Modern UI Theme (Light & Dark Dual-Mode Support)
   ------------------------------------------------------------------------- */

/* Custom Minimalist Scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.3) transparent;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  background-color: rgba(148, 163, 184, 0.3) !important;
  border-radius: 9999px;
  transition: background-color 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgba(148, 163, 184, 0.6) !important;
}

.md-sidebar__scrollwrap {
  scrollbar-width: thin;
}

/* Container Width */
.md-grid {
  max-width: 84rem;
}

/* -------------------------------------------------------------------------
   Left Sidebar Navigation & Redundancy Cleanups
   ------------------------------------------------------------------------- */

/* Hide redundant sidebar top header title / logo container */
.md-sidebar--primary .md-nav__title {
  display: none !important;
}

/* Hide mobile TOC drawer toggle button in desktop primary sidebar */
@media screen and (min-width: 60em) {
  .md-sidebar--primary label[for="__toc"],
  .md-nav--primary label[for="__toc"] {
    display: none !important;
  }
}

/* Remove all ">" chevron indicators from left navigation */
.md-sidebar--primary .md-nav__icon,
.md-nav--primary .md-nav__icon {
  display: none !important;
}

/* -------------------------------------------------------------------------
   Fixed / Sticky Sidebars on Scroll
   ------------------------------------------------------------------------- */
@media screen and (min-width: 60em) {
  .md-sidebar--primary {
    position: sticky !important;
    top: 4.8rem !important;
    max-height: calc(100vh - 5.2rem) !important;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    max-height: calc(100vh - 5.2rem) !important;
    overflow-y: auto !important;
  }

  .md-sidebar--secondary {
    position: sticky !important;
    top: 4.8rem !important;
    max-height: calc(100vh - 5.2rem) !important;
  }

  .md-sidebar--secondary .md-sidebar__scrollwrap {
    max-height: calc(100vh - 5.2rem) !important;
    overflow-y: auto !important;
  }
}

/* Hide redundant top-level section title in primary sidebar ("API Reference" / "Getting Started" / "Home") */
.md-nav--lifted > .md-nav__list > .md-nav__item > label.md-nav__link,
.md-nav[data-md-level="0"] > .md-nav__list > .md-nav__item > label.md-nav__link,
.md-nav[data-md-level="0"] > .md-nav__list > .md-nav__item > a.md-nav__link {
  display: none !important;
}

/* Ensure child navigation container starts cleanly at top of sidebar */
.md-nav--lifted > .md-nav__list > .md-nav__item--active > .md-nav {
  margin-top: 0.25rem !important;
}

/* Top-Level Domain Collapsible Categories (CORE, GEOMETRY & VISION, RENDERING) */
.md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0.25rem 0 0.15rem 0 !important;
  padding: 0.38rem 0.65rem !important;
  cursor: pointer !important;
  user-select: none;
  border-radius: 6px !important;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* First Category header top margin */
.md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested:first-child > label.md-nav__link {
  margin-top: 0.2rem !important;
}

/* Child Navigation Sub-Trees: Subtle Vertical Border & Clean Indentation */
.md-nav[data-md-level="2"] > .md-nav__list {
  margin-left: 0.65rem;
  padding-left: 0.5rem;
}

.md-nav[data-md-level="3"] > .md-nav__list {
  margin-left: 0.65rem;
  padding-left: 0.5rem;
}

/* Navigation Links & Folder Labels */
.md-sidebar--primary .md-nav__link {
  font-size: 13.8px !important;
  font-weight: 400 !important;
  padding: 0.38rem 0.65rem !important;
  border-radius: 6px !important;
  margin: 0.12rem 0 !important;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  cursor: pointer !important;
}

/* -------------------------------------------------------------------------
   LIGHT MODE COLORS (Default Scheme)
   ------------------------------------------------------------------------- */
[data-md-color-scheme="default"] {
  /* Headings */
  --md-typeset-h1-color: #0f172a;
}

[data-md-color-scheme="default"] .md-typeset h1 {
  color: #0f172a !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

[data-md-color-scheme="default"] .md-typeset h2 {
  color: #0f172a !important;
  background-color: #f1f5f9 !important;
  border-left-color: #3b82f6 !important;
}

[data-md-color-scheme="default"] .md-typeset h3 {
  color: #1e293b !important;
  border-bottom-color: #e2e8f0 !important;
}

[data-md-color-scheme="default"] .md-typeset h4 {
  color: #334155 !important;
}

/* Left Sidebar Category Labels in Light Mode */
[data-md-color-scheme="default"] .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link {
  color: #475569 !important; /* High-contrast slate-600 */
}

[data-md-color-scheme="default"] .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link:hover {
  color: #0f172a !important;
  background-color: #f1f5f9 !important;
}

/* Left Sidebar Links in Light Mode */
[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__link {
  color: #334155 !important; /* Crisp slate-700 */
}

[data-md-color-scheme="default"] .md-nav[data-md-level="2"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link {
  color: #1e293b !important; /* Bold slate-800 */
  font-weight: 600 !important;
}

[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__link:hover {
  color: #0f172a !important;
  background-color: #f1f5f9 !important;
}

/* Active Leaf Page State in Light Mode */
[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__item--active > a.md-nav__link {
  font-weight: 600 !important;
  color: #1d4ed8 !important; /* Deep royal blue */
  background-color: #eff6ff !important; /* bg-blue-50 */
  box-shadow: inset 3px 0 0 0 #2563eb !important;
}

/* Active Parent Folder in Light Mode */
[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__item--nested.md-nav__item--active > label.md-nav__link {
  color: #1d4ed8 !important;
  font-weight: 600 !important;
}

[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__item--nested.md-nav__item--active > input.md-nav__toggle:not(:checked) ~ label.md-nav__link {
  color: #1d4ed8 !important;
  font-weight: 600 !important;
  background-color: #eff6ff !important;
  box-shadow: inset 3px 0 0 0 #2563eb !important;
}

/* Sidebar Tree Borders in Light Mode */
[data-md-color-scheme="default"] .md-nav[data-md-level="2"] > .md-nav__list {
  border-left: 1px solid #e2e8f0;
}

[data-md-color-scheme="default"] .md-nav[data-md-level="3"] > .md-nav__list {
  border-left: 1px solid #e2e8f0;
}

/* Secondary Table of Contents (Right Sidebar): Sub-headings collapsed by default */
.md-nav--secondary .md-nav__item > .md-nav {
  display: none;
}

.md-nav--secondary .md-nav__item:has(> .md-nav__link--active) > .md-nav,
.md-nav--secondary .md-nav__item:has(.md-nav__link--active) > .md-nav,
.md-nav--secondary .md-nav__item:hover > .md-nav {
  display: block;
}

[data-md-color-scheme="default"] .md-nav--secondary {
  border-left: 1px solid #e2e8f0;
}

[data-md-color-scheme="default"] .md-nav--secondary .md-nav__title {
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0.3rem 0 0.4rem 0 !important;
}

[data-md-color-scheme="default"] .md-nav--secondary > .md-nav__list > .md-nav__item > .md-nav__link {
  color: #334155 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 0.3rem 0.55rem !important;
  border-radius: 4px !important;
  margin: 0.12rem 0 !important;
  transition: all 120ms ease-in-out !important;
}

[data-md-color-scheme="default"] .md-nav--secondary > .md-nav__list > .md-nav__item > .md-nav__link:hover {
  color: #0f172a !important;
  background-color: #f1f5f9 !important;
}

[data-md-color-scheme="default"] .md-nav--secondary .md-nav__item .md-nav__list {
  margin-left: 0.45rem !important;
  padding-left: 0.35rem !important;
  border-left: 1.5px solid #e2e8f0 !important;
}

[data-md-color-scheme="default"] .md-nav--secondary .md-nav__item .md-nav__item > .md-nav__link {
  color: #64748b !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  padding: 0.2rem 0.5rem 0.2rem 0.55rem !important;
  border-radius: 0 4px 4px 0 !important;
  margin: 0.06rem 0 !important;
  transition: all 120ms ease-in-out !important;
}

[data-md-color-scheme="default"] .md-nav--secondary .md-nav__item .md-nav__item > .md-nav__link:hover {
  color: #0f172a !important;
  background-color: #f8fafc !important;
}

[data-md-color-scheme="default"] .md-nav--secondary .md-nav__link--active {
  color: #1d4ed8 !important;
  font-weight: 700 !important;
  background-color: #eff6ff !important;
  box-shadow: inset 3px 0 0 0 #2563eb !important;
}

/* Links inside Content & Tables in Light Mode */
[data-md-color-scheme="default"] .md-typeset a {
  color: #2563eb !important;
}

[data-md-color-scheme="default"] .md-typeset a:hover {
  color: #1d4ed8 !important;
}

/* -------------------------------------------------------------------------
   DARK MODE COLORS (Slate Scheme)
   ------------------------------------------------------------------------- */
[data-md-color-scheme="slate"] .md-typeset h1 {
  color: #f8fafc !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

[data-md-color-scheme="slate"] .md-typeset h2 {
  color: #f8fafc !important;
  background-color: rgba(30, 41, 59, 0.7) !important;
  border-left-color: #60a5fa !important;
}

[data-md-color-scheme="slate"] .md-typeset h3 {
  color: #93c5fd !important;
  border-bottom-color: rgba(51, 65, 85, 0.6) !important;
}

[data-md-color-scheme="slate"] .md-typeset h4 {
  color: #e2e8f0 !important;
}

/* Left Sidebar in Dark Mode */
[data-md-color-scheme="slate"] .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link {
  color: #94a3b8 !important;
}

[data-md-color-scheme="slate"] .md-nav[data-md-level="1"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link:hover {
  color: #ffffff !important;
  background-color: rgba(51, 65, 85, 0.45) !important;
}

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav__link {
  color: #cbd5e1 !important;
}

[data-md-color-scheme="slate"] .md-nav[data-md-level="2"] > .md-nav__list > .md-nav__item--nested > label.md-nav__link {
  color: #e2e8f0 !important;
  font-weight: 500 !important;
}

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav__link:hover {
  color: #ffffff !important;
  background-color: rgba(51, 65, 85, 0.45) !important;
}

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav__item--active > a.md-nav__link {
  color: #93c5fd !important;
  background-color: rgba(30, 58, 138, 0.3) !important;
  box-shadow: inset 3px 0 0 0 #60a5fa !important;
}

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav__item--nested.md-nav__item--active > label.md-nav__link {
  color: #93c5fd !important;
  font-weight: 600 !important;
}

[data-md-color-scheme="slate"] .md-sidebar--primary .md-nav__item--nested.md-nav__item--active > input.md-nav__toggle:not(:checked) ~ label.md-nav__link {
  color: #93c5fd !important;
  font-weight: 600 !important;
  background-color: rgba(30, 58, 138, 0.32) !important;
  box-shadow: inset 3px 0 0 0 #60a5fa !important;
}

[data-md-color-scheme="slate"] .md-nav[data-md-level="2"] > .md-nav__list {
  border-left: 1px solid rgba(51, 65, 85, 0.6);
}

[data-md-color-scheme="slate"] .md-nav[data-md-level="3"] > .md-nav__list {
  border-left: 1px solid rgba(51, 65, 85, 0.4);
}

/* Right TOC in Dark Mode */
[data-md-color-scheme="slate"] .md-nav--secondary {
  border-left: 1px solid rgba(51, 65, 85, 0.5);
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__title {
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0.3rem 0 0.4rem 0 !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary > .md-nav__list > .md-nav__item > .md-nav__link {
  color: #cbd5e1 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: 0.3rem 0.55rem !important;
  border-radius: 4px !important;
  margin: 0.12rem 0 !important;
  transition: all 120ms ease-in-out !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary > .md-nav__list > .md-nav__item > .md-nav__link:hover {
  color: #ffffff !important;
  background-color: rgba(51, 65, 85, 0.45) !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__item .md-nav__list {
  margin-left: 0.45rem !important;
  padding-left: 0.35rem !important;
  border-left: 1.5px solid rgba(51, 65, 85, 0.5) !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__item .md-nav__item > .md-nav__link {
  color: #94a3b8 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  padding: 0.2rem 0.5rem 0.2rem 0.55rem !important;
  border-radius: 0 4px 4px 0 !important;
  margin: 0.06rem 0 !important;
  transition: all 120ms ease-in-out !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__item .md-nav__item > .md-nav__link:hover {
  color: #f1f5f9 !important;
  background-color: rgba(51, 65, 85, 0.3) !important;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link--active {
  color: #93c5fd !important;
  font-weight: 700 !important;
  background-color: rgba(30, 58, 138, 0.35) !important;
  box-shadow: inset 3px 0 0 0 #60a5fa !important;
}

/* -------------------------------------------------------------------------
   Common Typography & Header Styles
   ------------------------------------------------------------------------- */
.md-content h2 {
  display: block;
  position: relative;
  padding: 0.45rem 0.85rem;
  margin-top: 2.2rem;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.25rem;
  border-left: 4px solid var(--md-primary-fg-color);
  border-radius: 0 6px 6px 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.md-content h3 {
  margin-top: 1.4rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 1.05rem;
  padding-bottom: 0.25rem;
}

.md-content h4 {
  margin-top: 1.1rem;
  margin-bottom: 0.4rem;
  font-weight: 600;
  font-size: 0.92rem;
}

.md-content hr {
  margin: 2.5rem 0;
  border: none;
  border-top: 2px solid var(--md-default-fg-color--lightest);
}

/* -------------------------------------------------------------------------
   Tables & Parameter Specs
   ------------------------------------------------------------------------- */
.md-typeset table:not([class]) {
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.md-typeset table:not([class]) th {
  background-color: var(--md-code-bg-color);
  font-weight: 600;
}

/* -------------------------------------------------------------------------
   Footer & Copyright Link Clickability
   ------------------------------------------------------------------------- */
.md-footer {
  position: relative !important;
  z-index: 10 !important;
}

.md-footer-meta a,
.md-copyright a {
  color: var(--md-footer-fg-color--light) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  pointer-events: auto !important;
  cursor: pointer !important;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.md-footer-meta a:hover,
.md-copyright a:hover {
  color: #60a5fa !important;
  opacity: 1 !important;
}

