
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,500;0,600;1,500&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root, [data-md-color-scheme="slate"] {
  --md-primary-fg-color: #090C11;
  --md-primary-fg-color--light: #141A22;
  --md-primary-fg-color--dark: #090C11;
  --md-primary-bg-color: #EEF3F7;
  --md-accent-fg-color: #4FE0D6;
  --md-accent-fg-color--transparent: rgba(79,224,214,.12);
  --md-accent-bg-color: #090C11;
  --md-default-bg-color: #090C11;
  --md-default-fg-color: #8FA0AF;
  --md-default-fg-color--light: #8FA0AF;
  --md-default-fg-color--lighter: #5c6b79;
  --md-typeset-a-color: #4FE0D6;
  --md-code-bg-color: #10151c;
  --md-code-fg-color: #B9C6D2;
  --md-footer-bg-color: #090C11;
  --md-footer-bg-color--dark: #090C11;

  /* Mermaid diagram theming */
  --md-mermaid-font-family: "IBM Plex Mono", monospace;
  --md-mermaid-edge-color: #4FE0D6;
  --md-mermaid-node-bg-color: rgba(232,163,61,.12);
  --md-mermaid-node-fg-color: #EEF3F7;
  --md-mermaid-label-bg-color: #141A22;
  --md-mermaid-label-fg-color: #EEF3F7;
  --md-mermaid-sequence-actor-bg-color: #141A22;
  --md-mermaid-sequence-actor-fg-color: #EEF3F7;
}

body, .md-typeset { font-family: "IBM Plex Sans", system-ui, sans-serif; }
.md-typeset code, .md-typeset pre, .md-typeset kbd { font-family: "IBM Plex Mono", monospace; }
.md-typeset h1, .md-typeset h2, .md-typeset h3 {
  font-family: "IBM Plex Serif", Georgia, serif; font-weight: 600; color: #EEF3F7;
}
.md-typeset h1 { color: #E8A33D; }

.md-header, .md-tabs { background: rgba(9,12,17,.85); backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid #25313F; }
.md-header__title, .md-tabs__link { font-family: "IBM Plex Mono", monospace; }
.md-tabs__link--active, .md-nav__link--active { color: #4FE0D6 !important; }

.md-nav__link:hover, .md-tabs__link:hover { color: #E8A33D; }

.md-typeset a:hover { color: #E8A33D; text-decoration: underline; }

.md-typeset table:not([class]) {
  background: #141A22; border: 1px solid #25313F; border-radius: 10px; overflow: hidden;
}
.md-typeset table:not([class]) th { background: #1A2230; color: #EEF3F7; font-family: "IBM Plex Mono", monospace; font-size: .78rem; letter-spacing: .04em; }
.md-typeset table:not([class]) tr:hover { background: rgba(79,224,214,.05); }

.md-search__input { background: rgba(20,26,34,.9); }
.md-typeset .highlight { border-radius: 8px; }

/* Ambient grid + glow, matches marketing site */
.md-main { position: relative; }
.md-main::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .4;
  background-image:
    linear-gradient(rgba(143,160,175,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(143,160,175,.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 70% 50% at 50% 0%, #000 20%, transparent 70%);
}

/* Motion */
.md-content__inner { animation: mfl-rise .5s cubic-bezier(.16,.9,.35,1) both; }
@keyframes mfl-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.md-typeset table:not([class]), .mermaid, .md-typeset pre {
  transition: box-shadow .2s ease, transform .2s ease;
}
.md-typeset table:not([class]):hover {
  box-shadow: 0 20px 50px -25px rgba(79,224,214,.25);
}
.mermaid { border-radius: 12px; }

@media (prefers-reduced-motion: reduce) {
  .md-content__inner { animation: none; }
}
