/* Saturn dark theme — matches jperrello.github.io/Saturn */

:root {
  --saturn-bg: rgb(14, 14, 16);
  --saturn-surface: rgb(23, 23, 23);
  --saturn-surface-raised: rgb(37, 37, 37);
  --saturn-blue: rgb(59, 130, 246);
  --saturn-blue-light: rgb(96, 165, 250);
  --saturn-text: rgb(243, 243, 243);
  --saturn-text-muted: rgb(158, 158, 158);
  --saturn-green: rgb(34, 197, 94);
  --saturn-red: rgb(239, 68, 68);
}

/* ── Slate (dark) scheme overrides ── */

[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--saturn-bg);
  --md-default-fg-color: var(--saturn-text);
  --md-default-fg-color--light: var(--saturn-text-muted);
  --md-primary-fg-color: var(--saturn-bg);
  --md-primary-bg-color: var(--saturn-text);
  --md-accent-fg-color: var(--saturn-text);
  --md-typeset-a-color: var(--saturn-blue-light);
  --md-code-bg-color: var(--saturn-surface);
  --md-footer-bg-color: var(--saturn-surface);
  --md-footer-bg-color--dark: var(--saturn-bg);
}

[data-md-color-scheme="slate"] .md-header {
  background-color: var(--saturn-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

[data-md-color-scheme="slate"] .md-tabs {
  background-color: var(--saturn-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Force tabs visible — Material JS hides them on scroll */
.md-tabs {
  display: block !important;
}

[data-md-color-scheme="slate"] .md-tabs__link {
  color: var(--saturn-text-muted);
  opacity: 1;
}

[data-md-color-scheme="slate"] .md-tabs__link--active,
[data-md-color-scheme="slate"] .md-tabs__link:hover {
  color: var(--saturn-text);
}

[data-md-color-scheme="slate"] .md-tabs__item--active .md-tabs__link {
  color: var(--saturn-text);
}

[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: var(--saturn-text);
}

/* Code blocks */
[data-md-color-scheme="slate"] .highlight code,
[data-md-color-scheme="slate"] code {
  background-color: var(--saturn-surface);
}

[data-md-color-scheme="slate"] .highlight pre {
  background-color: var(--saturn-surface);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
}

/* Admonitions */
[data-md-color-scheme="slate"] .md-typeset .admonition,
[data-md-color-scheme="slate"] .md-typeset details {
  background-color: var(--saturn-surface);
  border-left-width: 3px;
  border-radius: 4px;
}

/* Tables */
[data-md-color-scheme="slate"] .md-typeset table:not([class]) {
  background-color: var(--saturn-surface);
  border-radius: 4px;
  overflow: hidden;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: var(--saturn-surface-raised);
  color: var(--saturn-text);
}

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

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

/* Search */
[data-md-color-scheme="slate"] .md-search__form {
  background-color: var(--saturn-surface);
}

/* ── SVG diagrams — adapt to both themes ── */

.saturn-diagram {
  display: block;
  margin: 2rem auto;
  max-width: 100%;
}

[data-md-color-scheme="default"] .saturn-diagram .diagram-bg { fill: #f8f9fa; }
[data-md-color-scheme="default"] .saturn-diagram .diagram-text { fill: #1a1a2e; }
[data-md-color-scheme="default"] .saturn-diagram .diagram-line { stroke: #333; }
[data-md-color-scheme="default"] .saturn-diagram .diagram-box { fill: #fff; stroke: #ddd; }
[data-md-color-scheme="default"] .saturn-diagram .diagram-accent { fill: #2563eb; }

[data-md-color-scheme="slate"] .saturn-diagram .diagram-bg { fill: rgb(23, 23, 23); }
[data-md-color-scheme="slate"] .saturn-diagram .diagram-text { fill: rgb(243, 243, 243); }
[data-md-color-scheme="slate"] .saturn-diagram .diagram-line { stroke: rgb(158, 158, 158); }
[data-md-color-scheme="slate"] .saturn-diagram .diagram-box { fill: rgb(37, 37, 37); stroke: rgba(255,255,255,0.1); }
[data-md-color-scheme="slate"] .saturn-diagram .diagram-accent { fill: rgb(59, 130, 246); }

/* ── Role cards on homepage ── */

.role-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.role-card {
  padding: 1.5rem;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: border-color 0.2s;
}

.role-card:hover {
  border-color: rgba(255, 255, 255, 0.2);
}

[data-md-color-scheme="slate"] .role-card {
  background: var(--saturn-surface);
}

[data-md-color-scheme="default"] .role-card {
  background: #f8f9fa;
  border-color: #e0e0e0;
}

.role-card h3 {
  margin-top: 0;
  color: var(--saturn-text);
}

.role-card a {
  color: var(--saturn-blue-light);
  text-decoration: none;
  font-weight: 600;
}
