/* ============================================================
   THEME A — "Mission Control Dark"
   Deep navy · Electric blue · Cold tech
   Layer on top of extra.css — swap out in mkdocs.yml extra_css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');

/* ── Dark palette overrides ── */
[data-md-color-scheme="slate"] {
  --md-hue: 215;

  /* Primary: electric blue */
  --md-primary-fg-color:        #58a6ff;
  --md-primary-fg-color--light: #79c0ff;
  --md-primary-fg-color--dark:  #388bfd;
  --md-primary-bg-color:        #ffffff;   /* text colour ON primary-bg surfaces (header, tabs) */
  --md-primary-bg-color--light: rgba(255, 255, 255, 0.7);

  /* Accent: cyan */
  --md-accent-fg-color:              #39c5f5;
  --md-accent-fg-color--transparent: rgba(57, 197, 245, 0.12);

  /* Backgrounds: deep navy */
  --md-default-bg-color:           #0d1117;
  --md-default-bg-color--light:    #161b22;
  --md-default-bg-color--lighter:  #1c2128;
  --md-default-bg-color--lightest: #252d3a;

  /* Text */
  --md-default-fg-color:           #e6edf3;
  --md-default-fg-color--light:    #8b949e;
  --md-default-fg-color--lighter:  #6e7681;
  --md-default-fg-color--lightest: #3d444d;

  /* Code */
  --md-code-bg-color: #161b22;
  --md-code-fg-color: #e6edf3;

  /* Typeset vars */
  --md-text-font: "Inter", system-ui, -apple-system, sans-serif;
  --md-code-font: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
}

/* Light mode: keep usable if toggled */
[data-md-color-scheme="default"] {
  --md-primary-fg-color:        #2e7d32;
  --md-primary-fg-color--light: #4caf50;
  --md-primary-fg-color--dark:  #1b5e20;
  --md-accent-fg-color:         #2e7d32;
  --md-accent-fg-color--transparent: rgba(46, 125, 50, 0.1);
  --md-text-font: "Inter", system-ui, -apple-system, sans-serif;
  --md-code-font: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
}

[data-md-color-scheme="default"] .md-nav__link {
  font-weight: 600;
}

/* ── Sidebar nav title: hidden (all pages, both modes) ── */
.md-sidebar--primary .md-nav__title {
  display: none !important;
}

/* ── Pre-hide Issues/Tutorial Videos containers before JS runs (prevents flicker) ── */
.md-sidebar--primary .md-nav__container:has(> a[href$="issues/index.html"]),
.md-sidebar--primary .md-nav__container:has(> a[href$="tutorial-videos.html"]) {
  display: none !important;
}

/* ── Sidebar page links: indent under subheadings (both modes) ── */
.md-sidebar--primary .md-nav__item:not(.md-nav__item--section) > .md-nav__link {
  padding-left: 1.5rem;
}

/* (light mode green override removed — subheadings use blue in both modes) */

/* ── Content links: bold in both modes ── */
.md-typeset a:not(.md-nav__link):not(.md-button):not(.md-tabs__link) {
  font-weight: 600;
}

[data-md-color-scheme="default"] .kb-landing-card {
  background: #f1f8e9;
  border-color: #2e7d32;
  border-top-color: #2e7d32;
}

/* ── Global font ── */
body, .md-typeset {
  font-family: "Inter", system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.md-typeset code, .md-typeset pre, code, pre {
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace !important;
}

/* ── Header: frosted glass, near-black ── */
.md-header {
  background: rgba(13, 17, 23, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(88, 166, 255, 0.18);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.4);
}

.md-header__title {
  font-weight: 700;
  letter-spacing: -0.015em;
  font-size: 0.95rem;
}

/* ── Tab bar ── */
.md-tabs {
  background: rgba(13, 17, 23, 0.88) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.md-tabs__link {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(230, 237, 243, 0.65) !important;
}
.md-tabs__link--active,
.md-tabs__item--active .md-tabs__link {
  color: #58a6ff !important;
  opacity: 1 !important;
  font-weight: 700;
}

/* ── Header icon buttons + title text ── */
.md-header .md-header__button,
.md-header .md-header__title,
.md-header .md-ellipsis {
  color: #e6edf3 !important;
}

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

/* ── Remove top gap so first nav item aligns with page title ── */
.md-sidebar--primary .md-nav--primary > .md-nav__list,
.md-sidebar--primary .md-nav__list {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.md-sidebar--primary .md-sidebar__scrollwrap {
  padding-top: 0.4rem !important;
}
/* Collapse everything inside the active wrapper so the first subheading
   sits flush — targets the inner nav, its title label, list, and first item */
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) {
  padding: 0 !important;
  margin: 0 !important;
}
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) > label.md-nav__title {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) > ul,
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) > .md-nav__list {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) > ul > li:first-child,
.md-sidebar--primary .md-nav__item--active > .md-nav:not(.md-nav--secondary) > .md-nav__list > li:first-child {
  border-top: none !important;
}

/* ── Nav items ── */
.md-nav__link {
  font-size: 0.71rem;
  line-height: 1.45;
  border-radius: 4px;
  padding: 0.12em 0.5em;
  transition: background 0.12s, color 0.12s;
}
.md-nav__link:hover {
  background: rgba(88, 166, 255, 0.08);
  color: #79c0ff;
}
.md-nav__link--active {
  color: #58a6ff !important;
  background: rgba(88, 166, 255, 0.1);
  font-weight: 600;
}

/* ── Section group labels: all nav levels, both modes ── */
/* Covers pure-section labels (TOOLS, AXIS ISSUES) AND indexed-section links (Software, Simul8) */
.md-sidebar--primary .md-nav__item--section > label.md-nav__link,
.md-sidebar--primary .md-nav__item--nested > .md-nav__container > a.md-nav__link {
  text-decoration: none !important;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 1;
  /* Dark mode: electric blue */
  color: #58a6ff !important;
}
/* Light mode: dark blue (readable on white) */
[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__item--section > label.md-nav__link,
[data-md-color-scheme="default"] .md-sidebar--primary .md-nav__item--nested > .md-nav__container > a.md-nav__link {
  color: #1565c0 !important;
}

/* ── h1: large, blue, thinner underline ── */
.md-typeset h1 {
  font-size: 1.75rem !important;
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--md-default-fg-color) !important;
  border-bottom: 1px solid rgba(88, 166, 255, 0.25) !important;
  padding-bottom: 0.45em !important;
  line-height: 1.25;
}

/* ── h2: all-caps label style ── */
.md-typeset h2 {
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--md-default-fg-color--light) !important;
  border-bottom: none !important;
  margin-top: 2.5em;
  padding-bottom: 0;
}

/* ── h3 ── */
.md-typeset h3 {
  font-size: 1rem !important;
  font-weight: 600;
  color: #79c0ff !important;
  letter-spacing: -0.01em;
}

/* ── h4 ── */
.md-typeset h4 {
  font-size: 0.72rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--md-default-fg-color--lighter) !important;
}

/* ── Inline code ── */
.md-typeset code {
  background: rgba(88, 166, 255, 0.08) !important;
  border: 1px solid rgba(88, 166, 255, 0.18) !important;
  border-radius: 4px !important;
  font-size: 0.82em !important;
  color: #79c0ff !important;
  padding: 0.12em 0.4em !important;
}

/* ── Code blocks ── */
.md-typeset pre {
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
}
.md-typeset pre code {
  background: transparent !important;
  border: none !important;
  color: var(--md-code-fg-color) !important;
  padding: 0 !important;
}

/* ── Admonitions: rounder ── */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 8px !important;
  border-width: 1px !important;
}

/* ── KB PDF ref blocks ── */
.kb-pdf-ref {
  background: rgba(88, 166, 255, 0.06) !important;
  border: 1px solid rgba(88, 166, 255, 0.2) !important;
  border-left: 3px solid #58a6ff !important;
  border-radius: 6px !important;
}
.kb-pdf-ref a {
  color: #58a6ff !important;
}
[data-md-color-scheme="slate"] .kb-pdf-ref {
  background: rgba(88, 166, 255, 0.06) !important;
  border-left-color: #58a6ff !important;
}

/* ── KB Tutorial ref blocks ── */
.kb-tutorial-ref {
  background: rgba(249, 168, 37, 0.07) !important;
  border: 1px solid rgba(249, 168, 37, 0.2) !important;
  border-left: 3px solid #f9a825 !important;
  border-radius: 6px !important;
}
[data-md-color-scheme="slate"] .kb-tutorial-ref {
  background: rgba(249, 168, 37, 0.07) !important;
}
.kb-tutorial-ref a {
  color: #f9a825 !important;
}

/* ── KB Source blocks (WhatsApp excerpts) ── */
.kb-source {
  background: rgba(255, 255, 255, 0.03) !important;
  border-left: 3px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ── Tags: pill style ── */
.kb-tag {
  border-radius: 999px !important;
  font-size: 0.68em !important;
  letter-spacing: 0.04em;
  padding: 2px 9px !important;
}

/* Day mode: light green fill, dark green border + text */
[data-md-color-scheme="default"] .kb-tag-confirmed,
[data-md-color-scheme="default"] .kb-tag-likely,
[data-md-color-scheme="default"] .kb-tag-experimental,
[data-md-color-scheme="default"] .kb-tag-dangerous,
[data-md-color-scheme="default"] .kb-tag-firmware,
[data-md-color-scheme="default"] .kb-tag-workaround,
[data-md-color-scheme="default"] .kb-tag-resolved,
[data-md-color-scheme="default"] .kb-tag-open,
[data-md-color-scheme="default"] .kb-tag-ongoing,
[data-md-color-scheme="default"] .kb-tag-historical,
[data-md-color-scheme="default"] .kb-tag-flair-classic,
[data-md-color-scheme="default"] .kb-tag-flair7,
[data-md-color-scheme="default"] .kb-tag-both,
[data-md-color-scheme="default"] .kb-tag-hardware {
  background: #f1f8e9 !important;
  color: #2e7d32 !important;
  border: 1px solid #2e7d32 !important;
}

/* Night mode: light blue fill, dark blue border + text */
[data-md-color-scheme="slate"] .kb-tag-confirmed,
[data-md-color-scheme="slate"] .kb-tag-likely,
[data-md-color-scheme="slate"] .kb-tag-experimental,
[data-md-color-scheme="slate"] .kb-tag-dangerous,
[data-md-color-scheme="slate"] .kb-tag-firmware,
[data-md-color-scheme="slate"] .kb-tag-workaround,
[data-md-color-scheme="slate"] .kb-tag-resolved,
[data-md-color-scheme="slate"] .kb-tag-open,
[data-md-color-scheme="slate"] .kb-tag-ongoing,
[data-md-color-scheme="slate"] .kb-tag-historical,
[data-md-color-scheme="slate"] .kb-tag-flair-classic,
[data-md-color-scheme="slate"] .kb-tag-flair7,
[data-md-color-scheme="slate"] .kb-tag-both,
[data-md-color-scheme="slate"] .kb-tag-hardware {
  background: #bbdefb !important;
  color: #1565c0 !important;
  border: 1px solid #1565c0 !important;
}

/* ── Video cards ── */
.kb-video-card {
  background: rgba(88, 166, 255, 0.05) !important;
  border-left: 3px solid #58a6ff !important;
  border-radius: 6px !important;
  border: 1px solid rgba(88, 166, 255, 0.12) !important;
}

/* ── Search box ── */
.md-search__form {
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: border-color 0.15s, background 0.15s;
}
.md-search__form:focus-within {
  background: rgba(255, 255, 255, 0.09) !important;
  border-color: rgba(88, 166, 255, 0.4) !important;
}

/* ── Left border on content ── */
.md-sidebar--primary:not([hidden]) ~ .md-content {
  border-left: 2px solid rgba(88, 166, 255, 0.25) !important;
}

/* ── Footer ── */
.md-footer {
  background: #0d1117 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* ── Visitor counter — right side of footer bar ── */
.md-footer-meta__inner {
  display: flex;
  align-items: center;
}
.kb-visit-count {
  margin-left: auto;
  font-size: 0.68rem;
  opacity: 0.55;
  white-space: nowrap;
  padding-right: 0.4rem;
}
.goatcounter-count {
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ── Tables: cleaner ── */
.md-typeset table:not([class]) th {
  background: rgba(88, 166, 255, 0.15) !important;
  color: #e6edf3 !important;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-color: rgba(255, 255, 255, 0.07) !important;
}
.md-typeset table:not([class]) td {
  border-color: rgba(255, 255, 255, 0.05) !important;
}
.md-typeset table:not([class]) tr:hover {
  background: rgba(88, 166, 255, 0.04) !important;
}
