/* ============================================================
   InferFoundry theme for docs (Zensical / Material-for-MkDocs)
   Drop into docs/stylesheets/inferfoundry-theme.css and register
   as extra_css. Targets the --md-* variable layer.
   Mood: Industrial Forge — graphite, parchment, ember accent.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* Brand palette */
  --if-graphite:      #1A1C1F;
  --if-graphite-800:  #24272B;
  --if-graphite-700:  #2E3237;
  --if-graphite-600:  #3A3F45;
  --if-ember:         #B96A3C;
  --if-ember-deep:    #8E4F2A;
  --if-ember-soft:    #D4895E;
  --if-signal:        #E0521B;
  --if-slate:         #4F6573;
  --if-slate-deep:    #36495A;
  --if-slate-soft:    #7E919E;
  --if-parchment:     #F1ECE2;
  --if-parchment-deep:#E6DFD0;
  --if-paper:         #FAF8F4;
  --if-steel:         #6B7079;
  --if-line:          #D9D3C6;
}

/* ---------- Light scheme (default) — parchment ---------- */
[data-md-color-scheme="default"] {
  --md-default-bg-color:        var(--if-parchment);
  --md-default-fg-color:        var(--if-graphite);
  --md-default-fg-color--light: var(--if-steel);
  --md-default-fg-color--lighter:#8C9097;
  --md-default-fg-color--lightest:var(--if-line);

  /* Header/nav plate is graphite in both schemes */
  --md-primary-fg-color:        var(--if-graphite);
  --md-primary-fg-color--light: var(--if-graphite-700);
  --md-primary-fg-color--dark:  #131517;
  --md-primary-bg-color:        var(--if-parchment);
  --md-primary-bg-color--light: rgba(241, 236, 226, 0.7);

  --md-accent-fg-color:         var(--if-ember);
  --md-accent-fg-color--transparent: rgba(185, 106, 60, 0.1);

  --md-typeset-color:           var(--if-graphite);
  --md-typeset-a-color:         var(--if-slate-deep);

  --md-code-bg-color:           var(--if-parchment-deep);
  --md-code-fg-color:           var(--if-graphite);
  --md-code-hl-string-color:    var(--if-ember-deep);
  --md-code-hl-keyword-color:   var(--if-slate-deep);
  --md-code-hl-number-color:    var(--if-signal);
  --md-code-hl-comment-color:   var(--if-steel);

  --md-footer-bg-color:         var(--if-graphite);
  --md-footer-bg-color--dark:   #131517;
  --md-footer-fg-color:         var(--if-parchment);
  --md-footer-fg-color--light:  rgba(241, 236, 226, 0.7);
}

/* ---------- Dark scheme (slate) — graphite ---------- */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:        var(--if-graphite);
  --md-default-fg-color:        var(--if-parchment);
  --md-default-fg-color--light: #B0B4B9;
  --md-default-fg-color--lighter:#7E8389;
  --md-default-fg-color--lightest:var(--if-graphite-700);

  --md-primary-fg-color:        #131517;
  --md-primary-fg-color--light: var(--if-graphite-700);
  --md-primary-fg-color--dark:  #0E1012;
  --md-primary-bg-color:        var(--if-parchment);
  --md-primary-bg-color--light: rgba(241, 236, 226, 0.7);

  --md-accent-fg-color:         var(--if-ember-soft);
  --md-accent-fg-color--transparent: rgba(212, 137, 94, 0.1);

  --md-typeset-color:           var(--if-parchment);
  --md-typeset-a-color:         var(--if-slate-soft);

  --md-code-bg-color:           var(--if-graphite-800);
  --md-code-fg-color:           var(--if-parchment);
  --md-code-hl-string-color:    var(--if-ember-soft);
  --md-code-hl-keyword-color:   #8FA8B5;
  --md-code-hl-comment-color:   #7E8189;

  --md-footer-bg-color:         #131517;
  --md-footer-bg-color--dark:   #0E1012;
  --md-footer-fg-color:         var(--if-parchment);
  --md-footer-fg-color--light:  rgba(241, 236, 226, 0.7);
}

/* ---------- Typography ---------- */
body, .md-typeset {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.md-typeset h1, .md-typeset h2, .md-typeset h3,
.md-typeset h4, .md-typeset h5 {
  font-family: 'Archivo', 'Inter Tight', system-ui, sans-serif;
  font-weight: 700;
  color: var(--md-default-fg-color);
}
.md-typeset h1 { letter-spacing: -0.02em; }
.md-typeset h2, .md-typeset h3 { letter-spacing: -0.01em; font-weight: 600; }

.md-typeset code, .md-typeset pre, .md-typeset kbd {
  font-family: 'JetBrains Mono', 'IBM Plex Mono', ui-monospace, monospace;
}

/* Header title in display face */
.md-header__topic, .md-header__title {
  font-family: 'Archivo', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* ---------- Industrial Forge details ---------- */

/* Squared corners — no soft SaaS radii */
.md-typeset pre > code,
.md-typeset .admonition, .md-typeset details,
.md-search__form, .md-typeset .md-button {
  border-radius: 2px;
}

/* Links: underline stays, color shifts on hover */
.md-typeset a { text-decoration: underline; text-underline-offset: 2px; }
.md-typeset a:hover { color: var(--md-default-fg-color); }

/* Nav tabs: sentence case in the body face, matching www.inferfoundry.ai */
.md-tabs__link {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}
.md-tabs__link--active, .md-tabs__link:hover { color: var(--if-ember-soft); }

/* Active nav item: ember tick, not a pill */
.md-nav__link--active, .md-nav__item .md-nav__link--active {
  color: var(--md-accent-fg-color);
  font-weight: 600;
}

/* Admonitions: 1px hairline + 2px left bar, no tinted fills */
.md-typeset .admonition, .md-typeset details {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-left: 2px solid var(--if-slate);
  box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.04);
  background: var(--md-default-bg-color);
}
.md-typeset .admonition.warning { border-left-color: #B07E1F; }
.md-typeset .admonition.danger  { border-left-color: var(--if-signal); }
.md-typeset .admonition.tip     { border-left-color: #4A6E48; }

/* Code blocks: graphite plate in light mode too */
[data-md-color-scheme="default"] .md-typeset pre > code {
  background: var(--if-graphite);
  color: var(--if-parchment);
}

/* Buttons: stamped, not springy */
.md-typeset .md-button--primary {
  background: var(--if-graphite);
  border-color: var(--if-graphite);
  color: var(--if-parchment);
  transition: background 160ms cubic-bezier(0.2, 0.6, 0.2, 1);
}
.md-typeset .md-button--primary:hover {
  background: var(--if-graphite-700);
  border-color: var(--if-graphite-700);
}
.md-typeset .md-button:active { filter: brightness(0.94); }

/* Selection */
::selection { background: var(--if-ember); color: var(--if-parchment); }

/* Tables: hairline grid */
.md-typeset table:not([class]) {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 2px;
}
.md-typeset table:not([class]) th {
  font-family: 'Archivo', system-ui, sans-serif;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: var(--md-code-bg-color);
}
