/* ==========================================================================
   NexusAI Docs Theme
   Light-first professional docs with dark mode toggle
   Header: Deep indigo #1e1b4b | Accent: Purple #7c3aed
   ========================================================================== */

:root,
[data-md-color-scheme="default"] {
  --md-primary-fg-color: #1e1b4b;
  --md-primary-fg-color--light: #312e81;
  --md-primary-fg-color--dark: #0f0d2e;
  --md-primary-bg-color: #ffffff;
  --md-primary-bg-color--light: #ffffffb3;

  --md-accent-fg-color: #7c3aed;
  --md-accent-fg-color--transparent: rgba(124, 58, 237, 0.1);
  --md-accent-bg-color: #7c3aed;
  --md-accent-bg-color--light: rgba(124, 58, 237, 0.08);

  --md-default-fg-color: #1e293b;
  --md-default-fg-color--light: #475569;
  --md-default-fg-color--lighter: #94a3b8;
  --md-default-fg-color--lightest: #cbd5e1;

  --md-typeset-a-color: #6d28d9;

  --md-code-bg-color: #f8fafc;
  --md-code-fg-color: #1e293b;

  --md-footer-bg-color: #1e1b4b;
  --md-footer-bg-color--dark: #0f0d2e;
  --md-footer-fg-color: #ffffffcc;
  --md-footer-fg-color--light: #ffffff99;
  --md-footer-fg-color--lighter: #ffffff66;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #1e1b4b;
  --md-primary-fg-color--light: #312e81;
  --md-primary-fg-color--dark: #0f0d2e;
  --md-primary-bg-color: #0f172a;
  --md-primary-bg-color--light: #0f172ab3;

  --md-accent-fg-color: #a78bfa;
  --md-accent-fg-color--transparent: rgba(167, 139, 250, 0.12);
  --md-accent-bg-color: #a78bfa;
  --md-accent-bg-color--light: rgba(167, 139, 250, 0.1);

  --md-default-fg-color: #e2e8f0;
  --md-default-fg-color--light: #cbd5e1;
  --md-default-fg-color--lighter: #94a3b8;
  --md-default-fg-color--lightest: #64748b;

  --md-default-bg-color: #0f172a;
  --md-default-bg-color--light: #1e293b;
  --md-default-bg-color--lighter: #334155;
  --md-default-bg-color--lightest: #475569;

  --md-typeset-a-color: #a78bfa;

  --md-code-bg-color: #1e293b;
  --md-code-fg-color: #e2e8f0;

  --md-footer-bg-color: #020617;
  --md-footer-bg-color--dark: #010410;
  --md-footer-fg-color: #ffffffb3;
  --md-footer-fg-color--light: #ffffff73;
  --md-footer-fg-color--lighter: #ffffff42;
}

/* --- Header --- */
.md-header {
  background-color: #1e1b4b;
}
.md-header__inner {
  justify-content: flex-start;
}
.md-header__title {
  font-weight: 700;
  flex-grow: 1;
}
.md-search {
  margin-left: auto;
}

/* --- Navigation Tabs --- */
.md-tabs {
  background-color: #1e1b4b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.md-tabs__link {
  opacity: 0.7;
  font-weight: 500;
  font-size: 0.73rem;
}
.md-tabs__link:hover,
.md-tabs__link--active {
  opacity: 1;
}
.md-tabs__link--active {
  border-bottom: 2px solid #a78bfa;
}

/* --- Sidebar (light) --- */
.md-sidebar--primary .md-sidebar__scrollwrap {
  background-color: #faf9ff;
  border-right: 1px solid #e5e3f0;
}

/* --- Sidebar (dark) --- */
[data-md-color-scheme="slate"] .md-sidebar--primary .md-sidebar__scrollwrap {
  background-color: #0c0f1f;
  border-right-color: #1e293b;
}

/* --- Active nav --- */
.md-nav__item--active > .md-nav__link {
  color: #6d28d9;
  font-weight: 600;
}
[data-md-color-scheme="slate"] .md-nav__item--active > .md-nav__link {
  color: #a78bfa;
}
.md-nav__link:hover {
  color: #6d28d9;
}
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: #a78bfa;
}

/* --- Links --- */
.md-typeset a {
  color: #6d28d9;
}
.md-typeset a:hover {
  color: #5b21b6;
}
[data-md-color-scheme="slate"] .md-typeset a {
  color: #a78bfa;
}
[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: #c4b5fd;
}

/* --- Search --- */
.md-search__input {
  background-color: rgba(255, 255, 255, 0.12);
  border-radius: 6px;
}
.md-search__input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* --- Admonitions --- */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 6px;
}

/* --- Code --- */
.md-typeset code {
  border-radius: 4px;
}
.md-typeset pre > code {
  border-radius: 6px;
}

/* --- Tables (light) --- */
.md-typeset table:not([class]) th {
  background-color: #f1f0ff;
  color: #1e1b4b;
  font-weight: 600;
}

/* --- Tables (dark) --- */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: #312e81;
  color: #e2e8f0;
}
[data-md-color-scheme="slate"] .md-typeset table:not([class]) {
  background-color: #1e293b;
}

/* --- Footer --- */
.md-footer {
  background-color: #1e1b4b;
}
.md-footer-meta {
  background-color: #0f0d2e;
}

/* --- Logo sizing --- */
.md-header .md-header__button.md-logo img,
.md-header .md-header__button.md-logo svg {
  height: 26px;
  width: auto;
}

/* --- TOC highlight --- */
.md-nav__link--passed,
.md-nav__link:active {
  color: #7c3aed;
}
[data-md-color-scheme="slate"] .md-nav__link--passed,
[data-md-color-scheme="slate"] .md-nav__link:active {
  color: #a78bfa;
}

/* --- Scrollbar --- */
.md-sidebar__scrollwrap::-webkit-scrollbar {
  width: 4px;
}
.md-sidebar__scrollwrap::-webkit-scrollbar-thumb {
  background-color: rgba(124, 58, 237, 0.2);
  border-radius: 4px;
}

/* ==========================================================================
   Mermaid Diagrams — sensible sizing, no oversized SVGs
   ========================================================================== */

.mermaid {
  text-align: center !important;
  margin: 1.5em auto !important;
  padding: 1em 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  display: block !important;
}
.mermaid svg {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
}

/* ==========================================================================
   Hero images — fill the content column cleanly without breaking out
   Pair with `hide: [toc]` front matter to give the column maximum width
   ========================================================================== */

.md-typeset img.hero-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 1.25em auto;
  border-radius: 8px;
}
