/* Astral-inspired palette (deep plum, lime accent) layered on Material's built-in light ("default")
   and dark ("slate") schemes. Only palette tokens are overridden, so every text, table and code
   color Material derives from them stays readable in both themes. */
:root {
  --plum-950: #1a0a22;
  --plum-900: #261230;
  --lime: #d7ff64;
  --radius: 10px;
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--plum-900);
  --md-primary-fg-color--light: #4a2660;
  --md-primary-fg-color--dark: var(--plum-950);
  --md-primary-bg-color: #ffffff;
  --md-accent-fg-color: #6b2fa0;
  --md-typeset-a-color: #6b2fa0;
  --md-code-bg-color: #f5f2f8;
  --md-footer-bg-color: var(--plum-900);
  --md-footer-bg-color--dark: var(--plum-950);
  --card-bg: transparent;
  --button-fg: var(--plum-900);
}

[data-md-color-scheme="slate"] {
  --md-hue: 285;
  --md-default-bg-color: #140818;
  --md-primary-fg-color: var(--plum-950);
  --md-primary-fg-color--light: #2c1a36;
  --md-primary-fg-color--dark: #0c040f;
  --md-primary-bg-color: #f4eff7;
  --md-accent-fg-color: var(--lime);
  --md-typeset-a-color: var(--lime);
  --md-code-bg-color: #1f1027;
  --md-footer-bg-color: var(--plum-950);
  --md-footer-bg-color--dark: #0c040f;
  --card-bg: #1a0d20;
  --button-fg: #ece6f0;
}

.md-header { border-bottom: 1px solid var(--md-primary-fg-color--light); }
.md-header__title { font-weight: 700; letter-spacing: -0.01em; }

.md-typeset h1 { font-weight: 800; letter-spacing: -0.03em; color: var(--md-default-fg-color); }
.md-typeset h2 { font-weight: 700; letter-spacing: -0.02em; color: var(--md-default-fg-color); }
.md-typeset h3 { color: var(--md-default-fg-color); }
.md-typeset code { border-radius: 6px; }
.md-typeset pre > code { border-radius: var(--radius); }
.md-typeset .admonition, .md-typeset details { border-radius: var(--radius); }

/* Landing page */
.hero { padding: 1.5rem 0 0.5rem; }
.hero h1 { font-size: 2.6rem; line-height: 1.1; margin-bottom: 0.6rem; }
.hero .tagline { font-size: 1.15rem; color: var(--md-default-fg-color--light); max-width: 40rem; }
.md-typeset .hero .md-button {
  border-radius: 999px; margin: 0.4rem 0.4rem 0 0;
  color: var(--button-fg); border-color: var(--md-default-fg-color--lighter);
}
.md-typeset .hero .md-button:hover { color: var(--md-accent-fg-color); border-color: var(--md-accent-fg-color); }
.md-typeset .hero .md-button--primary,
.md-typeset .hero .md-button--primary:hover { background: var(--lime); border-color: var(--lime); color: var(--plum-900); }
.md-typeset .hero .md-button--primary:hover { filter: brightness(0.95); }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.8rem; margin: 1.2rem 0; }
.card {
  border: 1px solid var(--md-default-fg-color--lightest); border-radius: var(--radius);
  padding: 0.9rem 1rem; background: var(--card-bg); min-width: 0;
}
.md-typeset .card h3 { margin: 0 0 0.3rem; font-size: 0.95rem; color: var(--md-default-fg-color); }
.md-typeset .card p { margin: 0; font-size: 0.8rem; color: var(--md-default-fg-color--light); }
