/* ─────────────────────────────────────────────────────────────────────────
   migdata docs — custom theme
   Palette: indigo primary · cyan accent · ultra-dark slate background

   Fontes: system font stack — Inter e JetBrains Mono como preferência.
   Google Fonts desabilitado (font: false no mkdocs.yml) para manter
   CSP strict com font-src 'self' sem dependências de CDN externo.
   ───────────────────────────────────────────────────────────────────────── */

/* ── Typography — system font stack ───────────────────────────────────── */
:root {
  /* Inter é pré-instalado no macOS 13+, Windows 11, e popular em distros Linux.
     Fallback para -apple-system / Segoe UI em sistemas sem Inter. */
  --md-text-font-family:
    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Helvetica Neue", Arial, sans-serif;

  /* JetBrains Mono é comum em ambientes de dev.
     Fallback para Menlo / Consolas / monospace padrão do sistema. */
  --md-code-font-family:
    "JetBrains Mono", "Cascadia Code", "Fira Code",
    Menlo, Consolas, "Courier New", monospace;
}

/* ── Color tokens ─────────────────────────────────────────────────────── */
:root {
  --mig-indigo-400: #818cf8;
  --mig-indigo-500: #6366f1;
  --mig-indigo-600: #4f46e5;
  --mig-cyan-400:   #22d3ee;
  --mig-cyan-500:   #06b6d4;
  --mig-bg-0:       #0d0f18;
  --mig-bg-1:       #13162b;
  --mig-bg-2:       #1a1d35;
  --mig-bg-3:       #22263d;
  --mig-text-0:     #e4e7f8;
  --mig-text-1:     #a8b0d4;
  --mig-text-2:     #6b739a;
  --mig-border:     rgba(99, 102, 241, 0.15);
}

/* ── Dark scheme overrides ────────────────────────────────────────────── */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:              var(--mig-indigo-500);
  --md-primary-fg-color--light:       var(--mig-indigo-400);
  --md-primary-fg-color--dark:        var(--mig-indigo-600);
  --md-primary-bg-color:              var(--mig-text-0);
  --md-accent-fg-color:               var(--mig-cyan-400);
  --md-accent-fg-color--transparent:  rgba(34, 211, 238, 0.12);

  --md-default-bg-color:              var(--mig-bg-0);
  --md-default-bg-color--light:       var(--mig-bg-1);
  --md-default-bg-color--lighter:     var(--mig-bg-2);
  --md-default-bg-color--lightest:    var(--mig-bg-3);

  --md-default-fg-color:              var(--mig-text-0);
  --md-default-fg-color--light:       var(--mig-text-1);
  --md-default-fg-color--lighter:     var(--mig-text-2);

  --md-code-bg-color:                 #161929;
  --md-code-fg-color:                 #c5caf0;
  --md-code-hl-color:                 rgba(99, 102, 241, 0.2);

  --md-typeset-a-color:               var(--mig-indigo-400);

  --md-footer-bg-color:               #090b12;
  --md-footer-bg-color--dark:         #060810;
}

/* ── Light scheme overrides ───────────────────────────────────────────── */
[data-md-color-scheme="default"] {
  --md-primary-fg-color:              var(--mig-indigo-600);
  --md-primary-fg-color--light:       var(--mig-indigo-500);
  --md-primary-fg-color--dark:        #3730a3;
  --md-primary-bg-color:              #ffffff;
  --md-accent-fg-color:               var(--mig-cyan-500);
  --md-accent-fg-color--transparent:  rgba(6, 182, 212, 0.12);
  --md-typeset-a-color:               var(--mig-indigo-600);
  --md-code-bg-color:                 #f0f1ff;
}

/* ── Header ───────────────────────────────────────────────────────────── */
.md-header {
  border-bottom: 1px solid var(--mig-border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[data-md-color-scheme="slate"] .md-header {
  background-color: rgba(13, 15, 24, 0.92);
}

.md-header__title {
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* ── Navigation tabs ──────────────────────────────────────────────────── */
.md-tabs {
  border-bottom: 1px solid var(--mig-border);
}

[data-md-color-scheme="slate"] .md-tabs {
  background-color: var(--mig-bg-0);
}

/* ── Sidebar nav ──────────────────────────────────────────────────────── */
[data-md-color-scheme="slate"] .md-sidebar {
  background-color: var(--mig-bg-0);
}

.md-nav__title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.md-nav__item--active > .md-nav__link {
  color: var(--mig-indigo-400);
  font-weight: 600;
}

/* ── Content ──────────────────────────────────────────────────────────── */
.md-content {
  max-width: 860px;
}

.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
  border-bottom: 1px solid var(--mig-border);
  padding-bottom: 0.5rem;
}

.md-typeset h2 {
  font-weight: 600;
  letter-spacing: -0.01em;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  text-transform: lowercase;
}

/* ── Code blocks ──────────────────────────────────────────────────────── */
.md-typeset code {
  border-radius: 4px;
  font-size: 0.85em;
}

[data-md-color-scheme="slate"] .md-typeset pre {
  border: 1px solid var(--mig-border);
  border-radius: 8px;
}

/* ── Admonitions ──────────────────────────────────────────────────────── */
[data-md-color-scheme="slate"] .md-typeset .admonition {
  border-radius: 8px;
  border-left-width: 3px;
}

/* ── Tables ───────────────────────────────────────────────────────────── */
.md-typeset table:not([class]) {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--mig-border);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: var(--mig-bg-2);
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:hover td {
  background-color: var(--mig-bg-2);
}

/* ── Connector badges ─────────────────────────────────────────────────── */
.badge-source {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 99px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(34, 211, 238, 0.12);
  color: var(--mig-cyan-400);
  border: 1px solid rgba(34, 211, 238, 0.25);
}

.badge-dest {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 99px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(99, 102, 241, 0.12);
  color: var(--mig-indigo-400);
  border: 1px solid rgba(99, 102, 241, 0.25);
}

.badge-transform {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 99px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(168, 85, 247, 0.12);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.25);
}

/* ── Footer ───────────────────────────────────────────────────────────── */
.md-footer-meta {
  border-top: 1px solid var(--mig-border);
}

/* ── Search ───────────────────────────────────────────────────────────── */
[data-md-color-scheme="slate"] .md-search__input {
  background-color: var(--mig-bg-1);
  border: 1px solid var(--mig-border);
  border-radius: 8px;
}

/* ── Scrollbar ────────────────────────────────────────────────────────── */
[data-md-color-scheme="slate"] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
[data-md-color-scheme="slate"] ::-webkit-scrollbar-track {
  background: var(--mig-bg-0);
}
[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb {
  background: var(--mig-bg-3);
  border-radius: 3px;
}
