/* ============================================
   THEME COLORS — dark header to complement cyan logo
   ============================================ */

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #1a1a2e;
  --md-primary-fg-color--light: #2d2d44;
  --md-primary-fg-color--dark: #0f0f1a;
  --md-accent-fg-color: #00e5ff;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: #0f0f1a;
  --md-primary-fg-color--light: #1a1a2e;
  --md-primary-fg-color--dark: #050510;
  --md-accent-fg-color: #00e5ff;
}

/* ============================================
   SIDEBAR NAVIGATION
   ============================================ */

/* Category headers (Getting Started, Course, Reference) */
.md-nav__item--nested > .md-nav__link {
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--md-default-fg-color--light);
  padding: 0.5rem 0.6rem;
  border-radius: 0.25rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* Category header hover */
.md-nav__item--nested > .md-nav__link:hover {
  background-color: var(--md-accent-fg-color--transparent);
  color: var(--md-accent-fg-color);
}

/* Expand/collapse arrow — make it more visible */
.md-nav__icon {
  transition: transform 0.25s ease;
}

/* Active page highlight */
.md-nav__item--active > .md-nav__link {
  color: var(--md-accent-fg-color);
  font-weight: 700;
  border-left: 3px solid var(--md-accent-fg-color);
  padding-left: 0.5rem;
}

/* Section dividers between categories */
.md-nav--primary > .md-nav__list > .md-nav__item {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

.md-nav--primary > .md-nav__list > .md-nav__item:last-child {
  border-bottom: none;
}

/* Nested items (modules, reference pages) indent */
.md-nav--primary .md-nav .md-nav__link {
  font-size: 0.82rem;
  padding: 0.3rem 0.6rem 0.3rem 1.2rem;
  border-radius: 0.2rem;
  transition: background-color 0.15s ease;
}

/* Nested item hover */
.md-nav--primary .md-nav .md-nav__link:hover {
  background-color: var(--md-code-bg-color);
}

/* Collapsed section indicator — subtle background */
.md-nav__item--nested:not(.md-nav__item--active) > .md-nav__link::after {
  opacity: 0.5;
}

/* Expanded section indicator — full opacity */
.md-nav__item--nested.md-nav__item--active > .md-nav__link::after {
  opacity: 1;
}

/* ============================================
   CONTENT LINKS — visible without hover
   ============================================ */

.md-typeset a {
  color: var(--md-accent-fg-color);
  text-decoration: underline;
  text-decoration-color: rgba(0, 229, 255, 0.4);
  text-underline-offset: 2px;
  transition: text-decoration-color 0.2s ease;
}

.md-typeset a:hover {
  text-decoration-color: var(--md-accent-fg-color);
}

/* Don't underline nav, header, or footer links */
.md-nav a,
.md-header a,
.md-footer a,
.md-tabs a {
  text-decoration: none;
}

/* ============================================
   CONTENT AREA
   ============================================ */

/* Wider content area — use ~98% of screen */
.md-grid {
  max-width: 100%;
  padding: 0 1%;
}

.md-content {
  max-width: none;
}

/* Mermaid diagram container */
.mermaid {
  text-align: center;
  margin: 1.5rem 0;
}

/* Code block improvements */
.highlight code {
  font-size: 0.82rem;
}

/* ============================================
   TABLES
   ============================================ */

.md-typeset table:not([class]) {
  font-size: 0.82rem;
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.25rem;
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background-color: var(--md-accent-fg-color--transparent);
  font-weight: 700;
}

.md-typeset table:not([class]) tr:hover td {
  background-color: var(--md-code-bg-color);
}
