:root > * {
  --md-primary-fg-color:        #3b82f6;
  --md-primary-fg-color--light: #60a5fa;
  --md-primary-fg-color--dark:  #2563eb;
  --md-accent-fg-color:         #8b5cf6;
  --md-accent-fg-color--transparent: rgb(139 92 246 / 10%);
}

[data-md-color-scheme="slate"] {
  --md-hue: 222;
  --md-default-bg-color:        #04070f;
  --md-default-bg-color--light: rgb(4 7 15 / 70%);
  --md-default-fg-color:        #f4f7fb;
  --md-default-fg-color--light: #a7b3ce;
  --md-default-fg-color--lighter: rgb(167 179 206 / 40%);
  --md-default-fg-color--lightest: rgb(167 179 206 / 12%);
  --md-typeset-color:           #e6ebf5;
  --md-typeset-a-color:         #60a5fa;
  --md-code-bg-color:           #0a1020;
  --md-code-fg-color:           #e6ebf5;
  --md-footer-bg-color:         #04070f;
  --md-footer-bg-color--dark:   #02040a;
  --md-text-font: "Inter";
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-family: "Space Grotesk", var(--md-text-font-family), sans-serif;
  letter-spacing: 0;
}

.md-typeset h1 {
  font-weight: 700;
  background: linear-gradient(90deg, #60a5fa, #8b5cf6, #d946ef);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Nebula glow behind the page */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(60rem 30rem at 15% -10%, rgb(59 130 246 / 14%), transparent 60%),
    radial-gradient(50rem 28rem at 90% 0%, rgb(139 92 246 / 14%), transparent 60%);
}

/* Header and tabs: translucent glass with a gradient hairline */
.md-header,
.md-tabs {
  background: rgb(4 7 15 / 80%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: #f4f7fb;
}
.md-header { box-shadow: none; border-bottom: 1px solid rgb(167 179 206 / 16%); }
.md-header::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px 0;
  height: 1px;
  background: linear-gradient(90deg, #60a5fa, #8b5cf6, #d946ef);
  opacity: 0.6;
}
.md-header__button.md-logo img,
.md-header__button.md-logo svg { height: 1.6rem; width: auto; }

/* Homepage "Browse by topic" grid cards */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  background: rgb(10 16 32 / 62%);
  border: 1px solid rgb(167 179 206 / 16%);
  border-radius: 0.75rem;
  backdrop-filter: blur(14px);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid > .card:hover {
  border-color: rgb(96 165 250 / 45%);
  box-shadow: 0 8px 28px rgb(139 92 246 / 20%);
  transform: translateY(-2px);
}

/* Buttons: brand gradient */
.md-typeset .md-button--primary {
  background-image: linear-gradient(135deg, #3b82f6, #8b5cf6);
  border: 0;
  color: #fff;
}
.md-typeset .md-button--primary:hover {
  filter: brightness(1.12);
  box-shadow: 0 8px 28px rgb(139 92 246 / 35%);
}
.md-typeset .md-button:not(.md-button--primary) {
  border-color: rgb(167 179 206 / 35%);
  color: #fff;
}
.md-typeset .md-button:not(.md-button--primary):hover {
  border-color: #60a5fa;
  background: rgb(59 130 246 / 14%);
}

/* Admonitions, code, tables */
.md-typeset .admonition,
.md-typeset details {
  background: rgb(10 16 32 / 62%);
  border-radius: 0.5rem;
  border-color: rgb(167 179 206 / 16%);
}
.md-typeset code { border-radius: 0.25rem; }
.md-typeset table:not([class]) {
  background: rgb(10 16 32 / 62%);
  border: 1px solid rgb(167 179 206 / 16%);
  border-radius: 0.5rem;
}

/* Sidebar */
.md-nav__link--active,
.md-nav__item .md-nav__link--active { color: #60a5fa; font-weight: 600; }
.md-search__form { background: rgb(167 179 206 / 10%); border-radius: 0.5rem; }

::selection { background: rgb(139 92 246 / 45%); color: #fff; }
:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }

/* Footer */
.md-footer-meta { background: #04070f; border-top: 1px solid rgb(167 179 206 / 16%); }

/* Footer legal link row (Terms / Privacy / Refund) */
.md-footer-legal {
  margin-top: 0.4rem;
  line-height: 1.8;
}
.md-footer-legal a {
  color: var(--md-footer-fg-color--light);
  text-decoration: none;
  font-size: 0.68rem;
}
.md-footer-legal a:hover {
  color: var(--md-footer-fg-color);
  text-decoration: underline;
}
.md-footer-legal .sep {
  margin: 0 0.3rem;
  color: var(--md-footer-fg-color--lighter);
}
