/* Rack1 Networks documentation theme.
   Mirrors the palette and type of rack1.net so the docs feel like the same product. */

:root {
  --rk-navy-950: #08101f;
  --rk-navy-900: #0b1428;
  --rk-navy-800: #17294b;
  --rk-blue-700: #0044cc;
  --rk-blue-600: #0056fe;
  --rk-blue-500: #2c74ff;
  --rk-blue-400: #5c9bff;
  --rk-blue-50:  #eef4ff;
  --rk-cyan:     #22d3ee;
  --rk-violet:   #7c4dff;
  --rk-mint:     #2fd6a0;
  --rk-amber:    #ffb020;
}

/* ---------- light scheme ---------- */
[data-md-color-scheme="default"] {
  --md-primary-fg-color:        var(--rk-navy-900);
  --md-primary-fg-color--light: var(--rk-navy-800);
  --md-primary-fg-color--dark:  var(--rk-navy-950);
  --md-primary-bg-color:        #ffffff;
  --md-accent-fg-color:         var(--rk-blue-600);
  --md-typeset-a-color:         var(--rk-blue-700);
  --md-default-bg-color:        #ffffff;
  --md-code-bg-color:           #f4f7fd;
  --md-footer-bg-color:         var(--rk-navy-950);
  --md-footer-bg-color--dark:   #060c18;
}

/* ---------- dark scheme ---------- */
[data-md-color-scheme="slate"] {
  --md-hue: 222;
  --md-primary-fg-color:        var(--rk-navy-950);
  --md-primary-fg-color--light: var(--rk-navy-800);
  --md-primary-fg-color--dark:  #050a14;
  --md-primary-bg-color:        #ffffff;
  --md-accent-fg-color:         var(--rk-blue-400);
  --md-typeset-a-color:         #8fc0ff;
  --md-default-bg-color:        var(--rk-navy-900);
  --md-default-fg-color:        #c9d6ee;
  --md-default-fg-color--light: #a9bcdd;
  --md-code-bg-color:           #0a1226;
  --md-footer-bg-color:         #060c18;
}

/* ---------- type ---------- */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.md-typeset h1 { letter-spacing: -0.035em; }
.md-header__title { font-family: "Space Grotesk", "Inter", system-ui, sans-serif; font-weight: 600; }

/* the wordmark already reads as the brand, so no duplicate site name beside it */
.md-header__topic:first-child { font-weight: 600; }
.md-logo img { height: 1.6rem; width: auto; }

/* ---------- header ---------- */
.md-header {
  background: var(--rk-navy-900);
  box-shadow: 0 2px 12px rgba(8, 16, 31, .25);
}
[data-md-color-scheme="slate"] .md-header { background: var(--rk-navy-950); }
.md-tabs { background: var(--rk-navy-900); }

/* ---------- links and accents ---------- */
.md-typeset a { text-underline-offset: 3px; }
.md-nav__link--active,
.md-nav__link:focus,
.md-nav__link:hover { color: var(--rk-blue-600); }
[data-md-color-scheme="slate"] .md-nav__link--active { color: #8fc0ff; }

/* ---------- code ---------- */
.md-typeset code,
.md-typeset pre > code {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
.md-typeset :not(pre) > code {
  background: var(--rk-blue-50);
  color: var(--rk-blue-700);
  border: 1px solid #dbe6ff;
  border-radius: 6px;
  padding: 2px 6px;
}
[data-md-color-scheme="slate"] .md-typeset :not(pre) > code {
  background: rgba(92, 155, 255, .14);
  color: #9cc4ff;
  border-color: rgba(120, 170, 255, .26);
}
.md-typeset pre > code { border-radius: 12px; }

/* ---------- tables ---------- */
.md-typeset table:not([class]) {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--md-default-fg-color--lightest);
  box-shadow: none;
}
.md-typeset table:not([class]) th {
  background: var(--rk-blue-50);
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-weight: 600;
}
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: rgba(92, 155, 255, .1);
}

/* ---------- admonitions in brand colours ---------- */
.md-typeset .admonition,
.md-typeset details { border-radius: 12px; border-width: 1px; }
.md-typeset .admonition.note,
.md-typeset details.note { border-color: var(--rk-blue-600); }
.md-typeset .note > .admonition-title,
.md-typeset .note > summary { background: rgba(0, 86, 254, .1); }
.md-typeset .note > .admonition-title::before,
.md-typeset .note > summary::before { background-color: var(--rk-blue-600); }
.md-typeset .admonition.tip,
.md-typeset details.tip { border-color: var(--rk-mint); }
.md-typeset .tip > .admonition-title,
.md-typeset .tip > summary { background: rgba(47, 214, 160, .12); }
.md-typeset .tip > .admonition-title::before,
.md-typeset .tip > summary::before { background-color: var(--rk-mint); }
.md-typeset .admonition.warning,
.md-typeset details.warning { border-color: var(--rk-amber); }
.md-typeset .warning > .admonition-title,
.md-typeset .warning > summary { background: rgba(255, 176, 32, .12); }
.md-typeset .warning > .admonition-title::before,
.md-typeset .warning > summary::before { background-color: var(--rk-amber); }

/* ---------- buttons ---------- */
.md-typeset .md-button {
  border-radius: 999px;
  border-width: 1px;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-weight: 600;
}
.md-typeset .md-button--primary {
  background: var(--rk-blue-600);
  border-color: var(--rk-blue-600);
  color: #fff;
}
.md-typeset .md-button--primary:hover {
  background: var(--rk-blue-700);
  border-color: var(--rk-blue-700);
}

/* ---------- search ---------- */
.md-search__form { border-radius: 999px; }
.md-search__input { border-radius: 999px; }

/* ---------- footer ---------- */
.md-footer-meta { background: var(--rk-navy-950); }
.md-copyright { color: #8fa2c4; }
