:root {
  --parchment: #f1e9d2;
  --sage: #b1bca0;
  --gunmetal: #393e41;
  --coral: #ef6f6c;
  --slate: #6b717e;
}

body[data-md-color-scheme="light"] {
  color-scheme: light;
  isolation: isolate;
  --light-topography-opacity: 0.20;
  background-color: var(--parchment);
}

body[data-md-color-scheme="light"]::before,
body[data-md-color-scheme="light"]::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body[data-md-color-scheme="light"]::before {
  z-index: -2;
  background: url("../assets/images/light_topography.svg") top left / cover no-repeat;
  opacity: var(--light-topography-opacity);
}

body[data-md-color-scheme="light"]::after {
  z-index: -1;
  background:
    radial-gradient(
      ellipse 100% 100% at top left,
      #f1e9d200 0%,
      #f1e9d208 35%,
      #f1e9d233 60%,
      #f1e9d27a 80%,
      var(--parchment) 100%
    ) top left / 100% 100% no-repeat;
}

body[data-md-color-scheme="light"] {

  --md-primary-fg-color: var(--sage);
  --md-primary-fg-color--light: var(--parchment);
  --md-primary-fg-color--dark: var(--slate);
  --md-primary-bg-color: var(--gunmetal);
  --md-primary-bg-color--light: #393e41b3;

  --md-accent-fg-color: var(--coral);
  --md-accent-fg-color--transparent: #ef6f6c26;
  --md-accent-bg-color: var(--gunmetal);
  --md-accent-bg-color--light: #393e41b3;

  --md-default-fg-color: var(--gunmetal);
  --md-default-fg-color--light: var(--slate);
  --md-default-fg-color--lighter: #6b717e80;
  --md-default-fg-color--lightest: #6b717e26;
  --md-default-bg-color: var(--parchment);
  --md-default-bg-color--light: #f1e9d28a;
  --md-default-bg-color--lighter: #f1e9d242;
  --md-default-bg-color--lightest: #f1e9d21f;

  --md-code-fg-color: var(--gunmetal);
  --md-code-bg-color: #b1bca052;
  --md-code-bg-color--light: #b1bca0e6;
  --md-code-bg-color--lighter: #b1bca08a;
  --md-code-hl-color: #ef6f6c66;
  --md-code-hl-color--light: #ef6f6c26;
  --md-code-hl-number-color: var(--coral);
  --md-code-hl-special-color: var(--coral);
  --md-code-hl-function-color: var(--gunmetal);
  --md-code-hl-constant-color: var(--slate);
  --md-code-hl-keyword-color: var(--gunmetal);
  --md-code-hl-string-color: var(--slate);
  --md-code-hl-name-color: var(--md-code-fg-color);
  --md-code-hl-operator-color: var(--slate);
  --md-code-hl-punctuation-color: var(--slate);
  --md-code-hl-comment-color: var(--slate);
  --md-code-hl-generic-color: var(--slate);
  --md-code-hl-variable-color: var(--slate);

  --md-typeset-color: var(--gunmetal);
  --md-typeset-a-color: var(--gunmetal);
  --md-typeset-kbd-color: #b1bca080;
  --md-typeset-kbd-accent-color: var(--sage);
  --md-typeset-kbd-border-color: var(--slate);
  --md-typeset-mark-color: #ef6f6c33;
  --md-typeset-table-color: #6b717e66;
  --md-typeset-table-color--light: #6b717e26;
  --md-admonition-fg-color: var(--gunmetal);
  --md-admonition-bg-color: #b1bca033;
  --md-footer-bg-color: transparent;
  --md-footer-bg-color--dark: transparent;
  --md-footer-fg-color: var(--gunmetal);
  --md-footer-fg-color--light: var(--slate);
  --md-shadow-z1: 0 0.2rem 0.5rem #393e411a, 0 0 0.05rem #393e4126;
  --md-shadow-z2: 0 0.2rem 0.5rem #393e4140, 0 0 0.05rem #393e4140;
  --md-shadow-z3: 0 0.2rem 0.5rem #393e4166, 0 0 0.05rem #393e4159;
}

body[data-md-color-scheme="dark"] {
  color-scheme: light;
  isolation: isolate;
  --dark-topography-opacity: 0.20;
  background-color: var(--gunmetal);
}

body[data-md-color-scheme="dark"]::before,
body[data-md-color-scheme="dark"]::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body[data-md-color-scheme="dark"]::before {
  z-index: -2;
  background: url("../assets/images/dark_topography.svg") top left / cover no-repeat;
  opacity: var(--dark-topography-opacity);
}

body[data-md-color-scheme="dark"]::after {
  z-index: -1;
  background:
    radial-gradient(
      ellipse 100% 100% at top left,
      #393e4100 0%,
      #393e4108 32%,
      #393e4140 56%,
      #393e4199 78%,
      var(--gunmetal) 100%
    ) top left / 100% 100% no-repeat;
}

body[data-md-color-scheme="dark"] {
  color-scheme: dark;

  --md-primary-fg-color: var(--gunmetal);
  --md-primary-fg-color--light: var(--slate);
  --md-primary-fg-color--dark: var(--gunmetal);
  --md-primary-bg-color: var(--parchment);
  --md-primary-bg-color--light: #f1e9d2b3;

  --md-accent-fg-color: var(--coral);
  --md-accent-fg-color--transparent: #ef6f6c33;
  --md-accent-bg-color: var(--parchment);
  --md-accent-bg-color--light: #f1e9d2b3;

  --md-default-fg-color: var(--parchment);
  --md-default-fg-color--light: var(--sage);
  --md-default-fg-color--lighter: #b1bca080;
  --md-default-fg-color--lightest: #b1bca026;
  --md-default-bg-color: var(--gunmetal);
  --md-default-bg-color--light: #393e41d9;
  --md-default-bg-color--lighter: #393e4180;
  --md-default-bg-color--lightest: #393e411f;

  --md-code-fg-color: var(--parchment);
  --md-code-bg-color: #6b717e66;
  --md-code-bg-color--light: #6b717ee6;
  --md-code-bg-color--lighter: #6b717e8a;
  --md-code-hl-color: #ef6f6c66;
  --md-code-hl-color--light: #ef6f6c33;
  --md-code-hl-number-color: var(--coral);
  --md-code-hl-special-color: var(--coral);
  --md-code-hl-function-color: var(--parchment);
  --md-code-hl-constant-color: var(--sage);
  --md-code-hl-keyword-color: var(--parchment);
  --md-code-hl-string-color: var(--sage);
  --md-code-hl-name-color: var(--md-code-fg-color);
  --md-code-hl-operator-color: var(--sage);
  --md-code-hl-punctuation-color: var(--sage);
  --md-code-hl-comment-color: var(--sage);
  --md-code-hl-generic-color: var(--sage);
  --md-code-hl-variable-color: var(--sage);

  --md-typeset-color: var(--parchment);
  --md-typeset-a-color: var(--parchment);
  --md-typeset-kbd-color: #6b717e80;
  --md-typeset-kbd-accent-color: var(--slate);
  --md-typeset-kbd-border-color: var(--sage);
  --md-typeset-mark-color: #ef6f6c4d;
  --md-typeset-table-color: #b1bca04d;
  --md-typeset-table-color--light: #b1bca01a;
  --md-admonition-fg-color: var(--parchment);
  --md-admonition-bg-color: #6b717e33;
  --md-footer-bg-color: transparent;
  --md-footer-bg-color--dark: transparent;
  --md-footer-fg-color: var(--parchment);
  --md-footer-fg-color--light: var(--sage);
  --md-shadow-z1: 0 0.2rem 0.5rem #0000001a, 0 0 0.05rem #00000026;
  --md-shadow-z2: 0 0.2rem 0.5rem #00000040, 0 0 0.05rem #00000040;
  --md-shadow-z3: 0 0.2rem 0.5rem #00000066, 0 0 0.05rem #00000059;
}

body[data-md-color-scheme="dark"][data-md-color-primary] {
  --md-typeset-a-color: var(--parchment);
}

body[data-md-color-scheme="dark"] .md-logo img {
  content: url("../assets/images/dark_logo.svg");
}

.md-typeset a:not(.md-button) {
  text-decoration-color: var(--coral);
  text-decoration-thickness: 0.12em;
  text-underline-offset: 0.15em;
}

.md-header {
  background-color: transparent;
  color: var(--md-default-fg-color);
}

.md-header--shadow {
  box-shadow: none;
}

.md-header__source {
  margin: 0.2rem;
  max-width: none;
  order: 1;
  width: auto;
}

.md-header__button[for="__search"],
.md-search {
  order: 2;
}

.md-header__option {
  order: 3;
}

.md-header__source .md-source__repository {
  display: none;
}

.md-copyright {
  color: var(--md-footer-fg-color--light);
}

@media screen and (min-width: 60em) {
  .md-grid {
    max-width: none;
  }

  .md-header__button[for="__search"] {
    display: block;
  }

  .md-search {
    height: 0;
    padding: 0;
    width: 0;
  }

  .md-search__inner {
    height: 0;
    left: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(5%);
    width: 0;
    z-index: 2;
  }

  [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
    height: 100%;
    opacity: 1;
    transform: translateX(0);
    width: 100vw;
  }

  .md-search__form,
  .md-search__input {
    height: 2.4rem;
  }

  .md-search__input {
    font-size: 0.9rem;
  }

  .md-search__icon[for="__search"] {
    pointer-events: auto;
  }

  .md-search__output {
    top: 2.4rem;
  }

  .md-search__scrollwrap {
    width: 100%;
  }
}

.md-header__button[for^="__palette"],
.md-header__button[for="__search"] {
  margin: 0.1rem;
  padding: 0.25rem;
}

.md-header__button[for^="__palette"] svg,
.md-header__button[for="__search"] svg {
  height: 1rem;
  width: 1rem;
}

.md-nav--primary > .md-nav__title {
  display: none;
}

.md-header__topic:first-child {
  display: none;
}

.md-header__topic + .md-header__topic,
.md-header__title--active .md-header__topic + .md-header__topic {
  font-weight: 400;
  opacity: 1;
  pointer-events: auto;
  transform: none;
  transition: none;
  z-index: 0;
}