/**
 * RaiSE Docs — Material for MkDocs theme customization.
 * Matches the dark Starlight theme with copper/amber accents.
 */

/* ── Fonts ─────────────────────────────────────────────────────── */

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

:root {
  --md-text-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --md-code-font: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;

  /* Brand colors */
  --raise-amber: #c2813d;
  --raise-amber-light: #d4944f;
  --raise-amber-dim: #5c3d1e;
  --raise-bg: #0a0a0a;
  --raise-bg-nav: #121212;
  --raise-bg-code: #141414;
  --raise-border: #1e1e1e;
  --raise-border-light: #2a2a2a;
  --raise-text: #e4e4e7;
  --raise-text-dim: #a1a1aa;
  --raise-text-muted: #71717a;
}

/* ── Slate (dark) scheme — default ─────────────────────────────── */

[data-md-color-scheme="slate"] {
  --md-default-fg-color: var(--raise-text);
  --md-default-fg-color--light: var(--raise-text-dim);
  --md-default-fg-color--lighter: var(--raise-text-muted);
  --md-default-bg-color: var(--raise-bg);
  --md-default-bg-color--light: var(--raise-bg-nav);
  --md-code-bg-color: var(--raise-bg-code);
  --md-code-fg-color: var(--raise-text-dim);
  --md-typeset-a-color: var(--raise-amber);
  --md-accent-fg-color: var(--raise-amber);
  --md-primary-fg-color: var(--raise-bg-nav);
  --md-primary-bg-color: var(--raise-text);
  --md-footer-fg-color: var(--raise-text-dim);
  --md-footer-bg-color: var(--raise-bg-nav);
  --md-footer-fg-color--lighter: var(--raise-text-muted);
}

/* ── Header ────────────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-header {
  background: var(--raise-bg-nav);
  border-bottom: 1px solid var(--raise-border);
  box-shadow: none;
}

/* Logo styling — more prominent */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 2rem;
  width: auto;
}

.md-header__topic {
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
}

/* Search bar */
[data-md-color-scheme="slate"] .md-search__input {
  background: var(--raise-bg);
  border: 1px solid var(--raise-border);
  border-radius: 0.5rem;
}

[data-md-color-scheme="slate"] .md-search__input::placeholder {
  color: var(--raise-text-muted);
}

/* ── Sidebar ───────────────────────────────────────────────────── */

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

/* Section headers — bold amber */
[data-md-color-scheme="slate"] .md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link,
[data-md-color-scheme="slate"] .md-nav--primary > .md-nav__list > .md-nav__item > label.md-nav__link {
  font-weight: 600;
  color: var(--raise-text);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 1rem;
}

/* Nav items */
[data-md-color-scheme="slate"] .md-nav__link {
  color: var(--raise-text-dim);
  border-radius: 0.375rem;
  padding: 0.4rem 0.75rem;
  margin: 0.1rem 0;
  transition: all 0.15s ease;
  font-size: 0.82rem;
}

[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: var(--raise-text);
  background: rgba(255, 255, 255, 0.04);
}

/* Active nav item — solid amber background like Starlight */
[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__item .md-nav__link--active {
  color: var(--raise-bg) !important;
  background: var(--raise-amber) !important;
  font-weight: 600;
  border-radius: 0.375rem;
}

/* Section separator lines */
[data-md-color-scheme="slate"] .md-nav--primary > .md-nav__list > .md-nav__item {
  border-top: 1px solid var(--raise-border);
  padding-top: 0.25rem;
}

[data-md-color-scheme="slate"] .md-nav--primary > .md-nav__list > .md-nav__item:first-child {
  border-top: none;
}

/* ── Typography ────────────────────────────────────────────────── */

.md-typeset {
  font-size: 0.85rem;
  line-height: 1.7;
  color: var(--raise-text);
}

.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  color: var(--raise-text);
}

.md-typeset h2 {
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-top: 2.5rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--raise-border);
}

.md-typeset h3 {
  font-weight: 600;
  margin-top: 1.75rem;
}

/* Links */
[data-md-color-scheme="slate"] .md-typeset a {
  color: var(--raise-amber);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s ease;
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  color: var(--raise-amber-light);
  border-bottom-color: var(--raise-amber-light);
}

/* ── Code blocks ───────────────────────────────────────────────── */

/* Window decoration (macOS-style dots) */
[data-md-color-scheme="slate"] .md-typeset pre {
  position: relative;
  border: 1px solid var(--raise-border);
  border-radius: 0.5rem;
  overflow: hidden;
}

[data-md-color-scheme="slate"] .md-typeset pre::before {
  content: "●  ●  ●";
  display: block;
  padding: 0.5rem 0.75rem 0;
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  color: var(--raise-text-muted);
  line-height: 1;
}

[data-md-color-scheme="slate"] .md-typeset pre > code {
  color: var(--raise-text-dim);
  font-size: 0.82rem;
  line-height: 1.6;
  padding-top: 0.5rem;
}

/* Inline code */
[data-md-color-scheme="slate"] .md-typeset code:not(pre code) {
  background: rgba(255, 255, 255, 0.06);
  color: var(--raise-amber-light);
  padding: 0.125rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.88em;
  border: 1px solid var(--raise-border);
}

/* ── Tables ────────────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-typeset table:not([class]) {
  border: 1px solid var(--raise-border);
  border-radius: 0.5rem;
  overflow: hidden;
  font-size: 0.82rem;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: var(--raise-bg-nav);
  border-color: var(--raise-border);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: var(--raise-text-dim);
  padding: 0.75rem 1rem;
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) td {
  border-color: var(--raise-border);
  padding: 0.6rem 1rem;
}

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

/* ── Blockquotes ───────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-typeset blockquote {
  border-left: 3px solid var(--raise-amber);
  color: var(--raise-text-dim);
  background: rgba(255, 255, 255, 0.02);
  padding: 0.75rem 1rem;
  border-radius: 0 0.375rem 0.375rem 0;
}

/* ── Admonitions ───────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-typeset .admonition,
[data-md-color-scheme="slate"] .md-typeset details {
  border: 1px solid var(--raise-border);
  border-radius: 0.5rem;
  background: var(--raise-bg-nav);
}

/* ── Content area ──────────────────────────────────────────────── */

/* More breathing room */
.md-content__inner {
  max-width: 52rem;
  padding-top: 1.5rem;
}

/* Table of contents — right sidebar */
[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link {
  color: var(--raise-text-muted);
  font-size: 0.75rem;
}

[data-md-color-scheme="slate"] .md-nav--secondary .md-nav__link--active {
  color: var(--raise-amber) !important;
  background: transparent !important;
  font-weight: 500;
}

/* ── Footer ────────────────────────────────────────────────────── */

[data-md-color-scheme="slate"] .md-footer {
  border-top: 1px solid var(--raise-border);
}

/* ── Scrollbar ─────────────────────────────────────────────────── */

[data-md-color-scheme="slate"] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-track {
  background: transparent;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb {
  background: var(--raise-border-light);
  border-radius: 3px;
}

[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb:hover {
  background: var(--raise-text-muted);
}

/* ── Light scheme adjustments ──────────────────────────────────── */

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #2d1f10;
  --md-accent-fg-color: #9a6530;
  --md-typeset-a-color: #9a6530;
}
