/* HyperData brand theme — the docs wear the same skin as the landing:
   xStocks-like light by default, the original dark palette behind the toggle.
   Landing tokens live in site/src/pages/index.astro (tokens / tokensDark).
   This file loads after Material's palette CSS, so these values win. */

/* ---------- shared ---------- */

:root {
  /* Structural border width: 1px = default skin, 0px = borderless.
     (The landing has the same knob as --border-width.) */
  --hd-border-width: 0px;
}

.md-header {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: var(--hd-border-width) solid var(--hd-line);
}

.md-footer {
  border-top: var(--hd-border-width) solid var(--hd-line);
}

/* Code blocks: a single card — surface, border and radius live on the
   .highlight wrapper; the inner <code> goes transparent (no double box). */
.md-typeset .highlight {
  background-color: var(--md-code-bg-color);
  border: var(--hd-border-width) solid var(--hd-line);
  border-radius: .75rem;
}

.md-typeset .highlight > pre {
  margin: 0;
}

.md-typeset .highlight > pre > code {
  background-color: transparent;
  border-radius: 0;
}

.md-typeset code {
  border-radius: .25rem;
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: .5rem;
}

.md-typeset .md-button {
  border-radius: .5rem;
}

.md-search__form {
  border-radius: .5rem;
}

.md-typeset h1,
.md-typeset h2 {
  font-weight: 700;
  letter-spacing: -.02em;
}

/* ---------- light (default) ---------- */

:root,
[data-md-color-scheme="default"] {
  --hd-line: #e6e9ee;

  /* surfaces */
  --md-default-bg-color: #f2f5f8;
  --md-code-bg-color: #ffffff;
  --md-primary-fg-color: #ffffffcc; /* header background — the landing's glass */
  --md-primary-bg-color: #181a1d;   /* header text */
  --md-accent-bg-color--transparent: #0d94691a;

  /* text */
  --md-default-fg-color: #181a1d;
  --md-default-fg-color--light: #6d737a;
  --md-accent-fg-color: #0d9469;
  --md-typeset-a-color: #0d9469;

  /* lines */
  --md-default-fg-color--lighter: #e6e9ee;
  --md-typeset-table-color: #e6e9ee;

  /* footer */
  --md-footer-bg-color: #ffffff;
  --md-footer-bg-color--dark: #f2f5f8;
  --md-footer-fg-color: #6d737a;
  --md-footer-fg-color--light: #8d939b;
  --md-footer-fg-color--lighter: #b7bcc2;
}

[data-md-color-scheme="default"] .md-search__form {
  background-color: #f2f5f8;
  border: var(--hd-border-width) solid var(--hd-line);
}

[data-md-color-scheme="default"] .md-nav__link--active,
[data-md-color-scheme="default"] .md-nav__item--active > .md-nav__link {
  color: #0d9469;
}

/* ---------- dark ---------- */

[data-md-color-scheme="slate"] {
  --hd-line: #1e2a3a;

  /* surfaces */
  --md-default-bg-color: #0a0e14;
  --md-default-bg-color--light: #121a26;
  --md-code-bg-color: #121a26;
  --md-primary-fg-color: #0f1520;   /* header background */
  --md-primary-bg-color: #e6edf3;   /* header text */
  --md-accent-bg-color--transparent: rgba(0, 232, 160, 0.1);

  /* text */
  --md-default-fg-color: #e6edf3;
  --md-default-fg-color--light: #8b99ab;
  --md-accent-fg-color: #00e8a0;
  --md-typeset-a-color: #2cf0b3;

  /* lines */
  --md-default-fg-color--lighter: #1e2a3a;
  --md-typeset-table-color: #1e2a3a;

  /* footer */
  --md-footer-bg-color: #0f1520;
  --md-footer-bg-color--dark: #0a0e14;
  --md-footer-fg-color: #8b99ab;
  --md-footer-fg-color--light: #6d737a;
  --md-footer-fg-color--lighter: #40506a;
}

/* Header: same dark gradient as the landing, green hairline. */
[data-md-color-scheme="slate"] .md-header {
  background: linear-gradient(180deg, #0f1520, #0a0e14);
}

[data-md-color-scheme="slate"] .md-search__form {
  background-color: rgba(255, 255, 255, .05);
}

[data-md-color-scheme="slate"] .md-nav__link--active,
[data-md-color-scheme="slate"] .md-nav__item--active > .md-nav__link {
  color: #2cf0b3;
}

[data-md-color-scheme="slate"] .md-typeset a:hover,
[data-md-color-scheme="slate"] .md-nav__link:hover {
  color: #00e8a0;
}

/* Tables and rules pick up the dark card surface. */
[data-md-color-scheme="slate"] .md-typeset table th {
  background-color: #121a26;
}

[data-md-color-scheme="slate"] .md-typeset hr {
  border-bottom-color: #1e2a3a;
}
