@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&family=Outfit:wght@500;600;700;800&display=swap");

:root {
  --apex-bg-deep: #0b1026;
  --apex-card: #121833;
  --apex-text: #f8fafc;
  --apex-muted: #94a3b8;
  --apex-cyan: #00e5ff;
  --apex-violet: #7c3aed;
  --apex-gold: #fbbf24;
}

[data-md-color-scheme="default"] {
  --md-default-bg-color: #f8fafc;
  --md-default-fg-color: #111827;
  --md-default-fg-color--light: #334155;
  --md-default-fg-color--lighter: #64748b;
  --md-primary-fg-color: var(--apex-bg-deep);
  --md-primary-fg-color--light: #1a2244;
  --md-primary-fg-color--dark: #060914;
  --md-accent-fg-color: #0369a1;
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--apex-bg-deep);
  --md-default-fg-color: var(--apex-text);
  --md-default-fg-color--light: #dbe7ff;
  --md-default-fg-color--lighter: var(--apex-muted);
  --md-default-fg-color--lightest: #64748b;
  --md-primary-fg-color: #060914;
  --md-primary-fg-color--light: #1a2244;
  --md-accent-fg-color: var(--apex-cyan);
  --md-typeset-a-color: #67e8f9;
  --md-typeset-table-color: rgba(255, 255, 255, 0.16);
  --md-code-bg-color: #0f172a;
}

body,
input {
  font-family: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-tabs__link,
.md-nav__title {
  font-family: "Outfit", system-ui, sans-serif;
  letter-spacing: -0.01em;
}

.md-typeset h1 {
  font-weight: 800;
  margin-bottom: 0.7rem;
}

.md-typeset h2 {
  font-weight: 700;
  margin-top: 2.1rem;
}

.md-typeset {
  font-size: 0.88rem;
  line-height: 1.72;
}

.md-typeset p,
.md-typeset li {
  max-width: 74ch;
}

.md-main__inner {
  margin-top: 1.2rem;
}

.md-content__inner {
  padding-bottom: 3rem;
}

.md-grid {
  max-width: 88rem;
}

.md-header {
  background: linear-gradient(90deg, #060914 0%, #0b1026 70%, #1a2244 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
  color: #e7ecff;
}

.md-header__title {
  font-family: "Outfit", system-ui, sans-serif;
  font-weight: 700;
}

[data-md-color-scheme="default"] .md-header__button,
[data-md-color-scheme="default"] .md-header__title,
[data-md-color-scheme="default"] .md-header__topic {
  color: #e7ecff;
}

/* Keep tab bar dark in light mode — Material default uses a white tabs row */
.md-tabs {
  background: linear-gradient(90deg, #060914 0%, #0b1026 70%, #1a2244 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #e7ecff;
}

.md-tabs__link {
  color: rgba(231, 236, 255, 0.88);
  opacity: 1;
}

.md-tabs__link--active {
  color: var(--apex-cyan);
  font-weight: 600;
}

.md-tabs__link:focus,
.md-tabs__link:hover {
  color: var(--apex-cyan);
}

.md-nav__link--active {
  color: var(--apex-cyan);
  font-weight: 600;
}

.md-nav__link:focus,
.md-nav__link:hover {
  color: var(--apex-cyan);
}

.md-search__form {
  border-radius: 999px;
}

.md-typeset a {
  text-underline-offset: 0.18em;
}

.md-typeset table:not([class]) {
  font-size: 0.84rem;
  border-radius: 0.65rem;
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  font-weight: 700;
  letter-spacing: 0.02em;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: #121833;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:hover td {
  background: rgba(0, 229, 255, 0.05);
}

.md-typeset :is(code, kbd, pre) {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: 0.85rem;
  border-width: 1px;
}

[data-md-color-scheme="slate"] .md-typeset .admonition,
[data-md-color-scheme="slate"] .md-typeset details {
  background: var(--apex-card);
}

.md-top {
  border-radius: 999px;
}
