/* Brand palette ---------------------------------------------------------- */

:root {
  --md-primary-fg-color: #3549b8;
  --md-primary-fg-color--light: #4f6bed;
  --md-primary-fg-color--dark: #26327f;
  --md-accent-fg-color: #b45309;
}

/* `--md-hue` retints Material's whole slate scale towards blue. */
[data-md-color-scheme='slate'] {
  --md-hue: 225;
  --md-primary-fg-color: #4f6bed;
  --md-primary-fg-color--light: #7c8ff2;
  --md-primary-fg-color--dark: #3549b8;
  --md-accent-fg-color: #fbbf24;
  --md-default-bg-color: #0d1420;
  --md-code-bg-color: #141d2b;
  --md-code-fg-color: #d6deeb;
}

/* Typography ------------------------------------------------------------- */

.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.md-typeset h2 {
  font-weight: 600;
  margin-top: 2.2em;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding-bottom: 0.3em;
}

/* Code ------------------------------------------------------------------- */

.md-typeset .highlight {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.25rem;
}

[data-md-color-scheme='slate'] .md-typeset .highlight {
  border-color: rgba(255, 255, 255, 0.09);
}

/* Console blocks (```pycon) are executed doctests. Mark them so readers can
   tell a verified transcript from a plain snippet. */
.md-typeset .language-pycon {
  border-left: 3px solid var(--md-primary-fg-color--light);
}

/* Tables ----------------------------------------------------------------- */

.md-typeset table:not([class]) {
  font-size: 0.72rem;
}

.md-typeset table:not([class]) th {
  font-weight: 600;
  background-color: var(--md-default-fg-color--lightest);
}

[data-md-color-scheme='slate'] .md-typeset table:not([class]) th {
  background-color: rgba(255, 255, 255, 0.04);
}

/* Landing page ----------------------------------------------------------- */

.ofsm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.8rem;
  margin: 1.4rem 0;
}

.ofsm-card {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 0.3rem;
  padding: 0.9rem 1rem;
  background-color: var(--md-code-bg-color);
}

.ofsm-card h3 {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
}

.ofsm-card p {
  margin: 0;
  font-size: 0.74rem;
  color: var(--md-default-fg-color--light);
}

/* Integrations ----------------------------------------------------------- */

.ofsm-planned {
  display: inline-block;
  border: 1px solid var(--md-accent-fg-color);
  border-radius: 1rem;
  padding: 0.05rem 0.55rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--md-accent-fg-color);
  vertical-align: middle;
}
