/* dmipy.org — matched to dmrai-lab.org's dark styling */
@import url("https://fonts.googleapis.com/css2?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300&family=Fraunces:ital,opsz,wght@0,9..144,200;0,9..144,400;0,9..144,700;1,9..144,200&display=swap");

:root {
  --dmrai-bg:      #07090f;
  --dmrai-bg2:     #0d1120;
  --dmrai-surface: #111827;
  --dmrai-border:  rgba(255,255,255,0.07);
  --dmrai-accent:  #4af0c4;
  --dmrai-accent2: #7b9cff;
  --dmrai-text:    #e8edf5;
  --dmrai-muted:   #7a8499;
  --md-text-font:  "DM Mono";
  --md-code-font:  "DM Mono";
}

/* dark scheme → dmrai palette */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:        var(--dmrai-bg);
  --md-default-fg-color:        var(--dmrai-text);
  --md-default-fg-color--light: var(--dmrai-muted);
  --md-default-fg-color--lighter: rgba(122,132,153,0.6);
  --md-default-fg-color--lightest: rgba(122,132,153,0.25);
  --md-typeset-color:           var(--dmrai-text);
  --md-typeset-a-color:         var(--dmrai-accent2);
  --md-accent-fg-color:         var(--dmrai-accent);
  --md-primary-fg-color:        var(--dmrai-bg2);
  --md-primary-fg-color--dark:  var(--dmrai-bg);
  --md-primary-bg-color:        var(--dmrai-text);
  --md-code-bg-color:           var(--dmrai-surface);
  --md-code-fg-color:           #dfe6f2;
  --md-footer-bg-color:         var(--dmrai-bg2);
  --md-footer-bg-color--dark:   var(--dmrai-bg);
}

/* body font = DM Mono; headings = Fraunces (serif), like dmrai-lab.org */
body, .md-typeset { font-family: "DM Mono", ui-monospace, monospace; }
.md-typeset h1, .md-typeset h2, .md-typeset h3,
.md-header__title, .md-nav__title {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.01em;
}
.md-typeset h1 { font-weight: 700; }

/* subtle fractal-noise texture, same as dmrai-lab.org */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* header + surfaces */
.md-header { border-bottom: 1px solid var(--dmrai-border); box-shadow: none; }
.md-tabs { background: var(--dmrai-bg2); }
.md-typeset code { border: 1px solid var(--dmrai-border); }
.md-typeset pre > code { border: 1px solid var(--dmrai-border); border-radius: 6px; }

/* teal accents on rules, active nav, admonitions */
.md-typeset a:hover { color: var(--dmrai-accent); }
.md-nav__link--active, .md-nav__item--active > .md-nav__link { color: var(--dmrai-accent); }
.md-typeset hr { border-bottom-color: var(--dmrai-border); }
.md-typeset .admonition, .md-typeset details {
  border-color: var(--dmrai-border);
  background: var(--dmrai-bg2);
}
.md-typeset .admonition.quote, .md-typeset details.quote {
  border-left: 3px solid var(--dmrai-accent);
}
