:root {
  --md-shadow-z1: var(--shadow-sm);
  --md-shadow-z2: var(--shadow-md);
  --md-shadow-z3: var(--shadow-lg);
}

body {
  --md-text-font-family: var(--font-sans);
  --md-code-font-family: var(--font-mono);
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--color-tertiary);
  --md-primary-fg-color--light: var(--color-tertiary-700);
  --md-primary-fg-color--dark: var(--color-tertiary-900);
  --md-primary-bg-color: var(--color-tertiary-text);
  --md-primary-bg-color--light: var(--color-tertiary-200);

  --md-accent-fg-color: var(--color-primary-600);
  --md-accent-fg-color--transparent: var(--color-primary-50);
  --md-accent-bg-color: var(--color-primary-text);

  --md-default-bg-color: var(--surface-card);
  --md-default-fg-color: var(--text-body);
  --md-default-fg-color--light: var(--text-muted);
  --md-default-fg-color--lighter: var(--border-strong);
  --md-default-fg-color--lightest: var(--border-subtle);

  --md-typeset-color: var(--text-body);
  --md-typeset-a-color: var(--text-link);
  --md-typeset-table-color: var(--border-subtle);
  --md-typeset-mark-color: var(--color-secondary-200);

  --md-code-bg-color: var(--surface-muted);
  --md-code-fg-color: var(--color-gray-800);

  --md-footer-bg-color: var(--color-tertiary-900);
  --md-footer-bg-color--dark: var(--color-tertiary-950);

  --md-admonition-bg-color: var(--surface-card);
  --md-admonition-fg-color: var(--text-body);
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color: var(--color-tertiary);
  --md-primary-fg-color--light: var(--color-tertiary-600);
  --md-primary-fg-color--dark: var(--color-tertiary-900);
  --md-primary-bg-color: var(--color-tertiary-text);
  --md-primary-bg-color--light: var(--color-tertiary-300);

  --md-accent-fg-color: var(--color-primary-200);
  --md-accent-fg-color--transparent: var(--color-primary-950);
  --md-accent-bg-color: var(--color-primary-text);

  --md-default-bg-color: var(--color-tertiary-950);
  --md-default-fg-color: var(--color-gray-100);
  --md-default-fg-color--light: var(--color-gray-400);
  --md-default-fg-color--lighter: var(--color-tertiary-700);
  --md-default-fg-color--lightest: var(--color-tertiary-800);

  --md-typeset-color: var(--color-gray-200);
  --md-typeset-a-color: var(--color-primary-300);
  --md-typeset-table-color: var(--color-tertiary-800);
  --md-typeset-mark-color: var(--color-secondary-900);

  --md-code-bg-color: var(--color-tertiary-900);
  --md-code-fg-color: var(--color-gray-200);

  --md-footer-bg-color: var(--color-tertiary-900);
  --md-footer-bg-color--dark: var(--color-black);

  --md-admonition-bg-color: var(--color-tertiary-900);
  --md-admonition-fg-color: var(--color-gray-200);
}

.md-header__button.md-logo img,
.md-nav__title .md-nav__button.md-logo img {
  filter: brightness(0) invert(1);
}

.md-tabs__item--active .md-tabs__link {
  box-shadow: inset 0 calc(-1 * var(--border-2)) 0 var(--color-secondary);
}

.md-nav--primary .md-nav__item--active > .md-nav__link,
.md-nav--secondary .md-nav__link--active {
  box-shadow: inset var(--border-2) 0 0 var(--color-secondary);
  padding-left: var(--space-2);
}

.md-typeset {
  letter-spacing: var(--letter-spacing-body);
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: var(--font-heading);
  letter-spacing: var(--letter-spacing-heading);
  line-height: var(--line-height-tight);
  font-weight: var(--font-weight-bold);
  color: var(--md-default-fg-color);
}

.md-typeset img {
  max-width: 100%;
  border: var(--border-1) solid var(--md-default-fg-color--lightest);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}

.md-typeset .twemoji img,
.md-typeset .emojione img {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: var(--radius-md);
  border-width: var(--border-1);
  box-shadow: var(--shadow-sm);
}

.md-typeset .admonition.note,
.md-typeset details.note {
  border-color: var(--color-info-600);
}

.md-typeset .note > .admonition-title,
.md-typeset .note > summary {
  background-color: var(--color-info-50);
}

.md-typeset .note > .admonition-title::before,
.md-typeset .note > summary::before {
  background-color: var(--color-info-700);
}

.md-typeset .admonition.tip,
.md-typeset details.tip {
  border-color: var(--color-green-600);
}

.md-typeset .tip > .admonition-title,
.md-typeset .tip > summary {
  background-color: var(--color-green-50);
}

.md-typeset .tip > .admonition-title::before,
.md-typeset .tip > summary::before {
  background-color: var(--color-green-700);
}

.md-typeset .admonition.warning,
.md-typeset details.warning {
  border-color: var(--color-warning-500);
}

.md-typeset .warning > .admonition-title,
.md-typeset .warning > summary {
  background-color: var(--color-warning-50);
}

.md-typeset .warning > .admonition-title::before,
.md-typeset .warning > summary::before {
  background-color: var(--color-warning-600);
}

[data-md-color-scheme="slate"] .md-typeset .note > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .note > summary {
  background-color: var(--color-info-950);
}

[data-md-color-scheme="slate"] .md-typeset .note > .admonition-title::before,
[data-md-color-scheme="slate"] .md-typeset .note > summary::before {
  background-color: var(--color-info-300);
}

[data-md-color-scheme="slate"] .md-typeset .tip > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .tip > summary {
  background-color: var(--color-green-950);
}

[data-md-color-scheme="slate"] .md-typeset .tip > .admonition-title::before,
[data-md-color-scheme="slate"] .md-typeset .tip > summary::before {
  background-color: var(--color-green-300);
}

[data-md-color-scheme="slate"] .md-typeset .warning > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .warning > summary {
  background-color: var(--color-warning-950);
}

[data-md-color-scheme="slate"] .md-typeset .warning > .admonition-title::before,
[data-md-color-scheme="slate"] .md-typeset .warning > summary::before {
  background-color: var(--color-warning-300);
}

.md-typeset table:not([class]) {
  border-radius: var(--radius-md);
  border: var(--border-1) solid var(--md-typeset-table-color);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background-color: var(--surface-header);
  color: var(--text-strong);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-heading);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background-color: var(--color-tertiary-800);
  color: var(--color-gray-100);
}

.md-typeset .grid.cards > ol > li,
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  border-radius: var(--radius-md);
  border-width: var(--border-1);
  padding: var(--space-4);
}

.md-typeset code,
.md-typeset pre > code {
  border-radius: var(--radius-sm);
}

.md-search__form,
.md-search__output {
  border-radius: var(--radius-md);
}

.md-typeset .md-button {
  border-radius: var(--radius-md);
}
