/* Intuition deck register — sourced from Billy-Pitch/billy-deck.html and
   Strategy/brand-spec/color-tokens-type-scale-v0.md (GTM editorial register).
   Lime is THE Intuition accent (launch-sync ruling 2026-07-03).

   MkDocs Material token gotcha: the header/sidebar BACKGROUND is
   --md-primary-fg-color (ink here) and its TEXT is --md-primary-bg-color
   (cream here). Reversing those paints the chrome grey. */

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

:root,
[data-md-color-scheme='slate'] {
  --ink: #0a0a0a;
  --ink-2: #0e0e0d;
  --ink-3: #111110;
  --cream: #f2eddf;
  --cream-dim: rgba(242, 237, 223, .66);
  --cream-faint: rgba(242, 237, 223, .40);
  --lime: #a3ff00;
  --lime-soft: rgba(163, 255, 0, .14);
  --trust: #3d9bff;
  --line: rgba(242, 237, 223, .12);

  /* chrome: ink canvas, cream type (see the gotcha above) */
  --md-primary-fg-color: var(--ink);
  --md-primary-fg-color--light: var(--ink-2);
  --md-primary-fg-color--dark: var(--ink-3);
  --md-primary-bg-color: var(--cream);
  --md-primary-bg-color--light: var(--cream-dim);
  --md-primary-bg-color--lighter: rgba(242, 237, 223, .54);

  /* body surfaces: the same ink, the same cream */
  --md-default-bg-color: var(--ink);
  --md-default-fg-color: var(--cream);
  --md-default-fg-color--light: var(--cream-dim);
  --md-default-fg-color--lighter: var(--cream-faint);
  --md-default-fg-color--lightest: rgba(242, 237, 223, .3);

  /* lime accent; trust-blue reserved for hover */
  --md-accent-fg-color: var(--lime);
  --md-accent-fg-color--transparent: var(--lime-soft);
  --md-typeset-a-color: var(--lime);

  --md-header-bg-color: var(--ink);
  --md-header-fg-color: var(--cream);
  --md-footer-bg-color: var(--ink);
  --md-footer-fg-color: var(--cream-dim);
  --md-footer-fg-color--light: var(--cream-faint);
  --md-tabs-bg-color: var(--ink);
  --md-tabs-fg-color: var(--cream-dim);
  --md-sidebar-bg-color: var(--ink);

  /* code: terminal block on ink-2 */
  --md-code-bg-color: var(--ink-3);
  --md-code-fg-color: var(--cream);
  --md-code-fg-color--light: var(--cream-dim);

  --md-typeset-table-color: var(--line);

  /* fonts, one family per deck role */
  --md-text-font-family: 'Inter', 'Roboto', system-ui, sans-serif;
  --md-code-font-family: 'IBM Plex Mono', 'Roboto Mono', ui-monospace, monospace;
  --md-headline-font: 'Archivo Black', 'Inter', system-ui, sans-serif;
}

/* --- typography --- */

.md-typeset {
  font-size: .8rem;
  line-height: 1.7;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3 {
  font-family: 'Archivo Black', 'Inter', sans-serif;
  font-weight: 400; /* Archivo Black carries its own weight */
  color: var(--cream);
  letter-spacing: .01em;
}

.md-typeset h1 {
  font-size: 1.55em;
  margin-bottom: .6em;
}

.md-typeset h2 {
  font-size: 1.12em;
  border-top: 1px solid var(--line);
  padding-top: 1.2em;
  margin-top: 2.2em;
}

/* mono micro-headings for the fourth-level register */
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .72em;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cream-dim);
}

/* Instrument Serif for the pull-quote register, as on the deck */
.md-typeset blockquote {
  font-family: 'Instrument Serif', Georgia, serif;
  font-size: 1.15em;
  line-height: 1.55;
  color: var(--cream);
  background: transparent;
  border-left: 2px solid var(--lime);
}

/* --- links --- */

.md-typeset a:not([class]) {
  color: var(--lime);
}
.md-typeset a:not([class]):hover,
.md-typeset a:not([class]):focus {
  color: var(--trust);
}

.md-typeset ::selection,
.md-content ::selection {
  background: var(--lime);
  color: var(--ink);
}

/* --- chrome: hairlines, no shadows, mono labels --- */

.md-header {
  border-bottom: 1px solid var(--line);
  box-shadow: none;
}

.md-header__title,
.md-footer__copyright,
.md-nav__title,
.md-top,
.md-banner {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.md-tabs {
  border-bottom: 1px solid var(--line);
}
.md-tabs__link {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .66rem;
  letter-spacing: .1em;
  color: var(--cream-dim);
}
.md-tabs__link:hover,
.md-tabs__link--active,
.md-tabs__link--active:hover {
  color: var(--lime);
}

.md-nav__link {
  font-size: .7rem;
}
.md-nav__link:hover,
.md-nav__item--active > .md-nav__link,
.md-nav__link:focus-visible {
  color: var(--lime);
}
.md-nav__item--section > .md-nav__link {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cream-dim);
}

.md-sidebar--primary {
  border-right: 1px solid var(--line);
}
.md-sidebar {
  color: var(--cream-dim);
}

.md-search__input {
  background-color: var(--ink-2);
  color: var(--cream);
}

.md-footer {
  border-top: 1px solid var(--line);
}

.md-top {
  border: 1px solid var(--line);
  background: var(--ink-2);
  color: var(--cream-dim);
}
.md-top:hover,
.md-top.md-top--active {
  background: var(--lime-soft);
  color: var(--lime);
}

/* --- content furniture --- */

.md-typeset table:not([class]) {
  font-family: 'IBM Plex Mono', monospace;
  font-size: .7rem;
  border-collapse: collapse;
}
.md-typeset table:not([class]) th {
  background: transparent;
  color: var(--cream-dim);
  border-bottom: 1px solid var(--line);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.md-typeset table:not([class]) td {
  background: transparent;
  border-top: 1px solid var(--line);
}
.md-typeset table:not([class]) tbody tr:hover td {
  background: transparent;
}

.md-typeset code {
  font-family: 'IBM Plex Mono', monospace;
  background: var(--ink-3);
  color: var(--lime);
  border-radius: 2px;
  padding: .05em .35em;
}
.md-typeset pre {
  border: 1px solid var(--line);
  border-radius: 4px;
}
.md-typeset pre > code {
  color: var(--cream);
  background: transparent;
  padding: 1em 0;
}

.md-typeset hr {
  border-bottom: 1px solid var(--line);
}

/* admonitions: left-border register rather than tinted boxes */
.md-typeset .admonition,
.md-typeset details {
  background: transparent;
  border: 0;
  border-left: 2px solid var(--lime);
  box-shadow: none;
  font-size: .72rem;
}
.md-typeset .admonition-title,
.md-typeset summary {
  background: transparent;
  font-family: 'IBM Plex Mono', monospace;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--cream-dim);
}
.md-typeset .admonition-title::before,
.md-typeset .admonition-title::after {
  display: none;
}
.md-typeset details[open] > summary {
  border-bottom: 1px solid var(--line);
}

.md-content__button {
  color: var(--cream-faint);
}