/* The Lorebook — Catppuccin Macchiato for Material for MkDocs
   Palette: https://github.com/catppuccin/catppuccin */

:root,
[data-md-color-scheme="slate"] {
  --ctp-rosewater: #f4dbd6;
  --ctp-flamingo: #f0c6c6;
  --ctp-pink: #f5bde6;
  --ctp-mauve: #c6a0f6;
  --ctp-red: #ed8796;
  --ctp-maroon: #ee99a0;
  --ctp-peach: #f5a97f;
  --ctp-yellow: #eed49f;
  --ctp-green: #a6da95;
  --ctp-teal: #8bd5ca;
  --ctp-sky: #91d7e3;
  --ctp-sapphire: #7dc4e4;
  --ctp-blue: #8aadf4;
  --ctp-lavender: #b7bdf8;
  --ctp-text: #cad3f5;
  --ctp-subtext1: #b8c0e0;
  --ctp-subtext0: #a5adcb;
  --ctp-overlay2: #939ab7;
  --ctp-overlay1: #8087a2;
  --ctp-overlay0: #6e738d;
  --ctp-surface2: #5b6078;
  --ctp-surface1: #494d64;
  --ctp-surface0: #363a4f;
  --ctp-base: #24273a;
  --ctp-mantle: #1e2030;
  --ctp-crust: #181926;

  --md-default-bg-color: var(--ctp-base);
  --md-default-bg-color--light: var(--ctp-mantle);
  --md-default-bg-color--lighter: var(--ctp-surface0);
  --md-default-bg-color--lightest: var(--ctp-surface1);
  --md-default-fg-color: var(--ctp-text);
  --md-default-fg-color--light: var(--ctp-subtext1);
  --md-default-fg-color--lighter: var(--ctp-subtext0);
  --md-default-fg-color--lightest: var(--ctp-overlay2);

  --md-primary-fg-color: var(--ctp-mantle);
  --md-primary-fg-color--light: var(--ctp-base);
  --md-primary-fg-color--dark: var(--ctp-crust);
  --md-primary-bg-color: var(--ctp-text);
  --md-primary-bg-color--light: var(--ctp-subtext1);

  --md-accent-fg-color: var(--ctp-mauve);
  --md-accent-fg-color--transparent: rgba(198, 160, 246, 0.14);
  --md-typeset-a-color: var(--ctp-blue);

  --md-code-bg-color: var(--ctp-mantle);
  --md-code-fg-color: var(--ctp-text);
  --md-code-hl-color: rgba(238, 212, 159, 0.16);
  --md-code-hl-number-color: var(--ctp-peach);
  --md-code-hl-special-color: var(--ctp-pink);
  --md-code-hl-function-color: var(--ctp-blue);
  --md-code-hl-constant-color: var(--ctp-peach);
  --md-code-hl-keyword-color: var(--ctp-mauve);
  --md-code-hl-string-color: var(--ctp-green);
  --md-code-hl-name-color: var(--ctp-text);
  --md-code-hl-operator-color: var(--ctp-sky);
  --md-code-hl-punctuation-color: var(--ctp-subtext1);
  --md-code-hl-comment-color: var(--ctp-overlay1);
  --md-code-hl-generic-color: var(--ctp-text);
  --md-code-hl-variable-color: var(--ctp-flamingo);

  --md-admonition-fg-color: var(--ctp-text);
  --md-admonition-bg-color: rgba(54, 58, 79, 0.72);
  --md-footer-bg-color: var(--ctp-mantle);
  --md-footer-bg-color--dark: var(--ctp-crust);
  --md-footer-fg-color: var(--ctp-subtext1);
  --md-footer-fg-color--light: var(--ctp-subtext0);
  --md-footer-fg-color--lighter: var(--ctp-overlay2);
}

html,
body {
  background: var(--ctp-base);
}

body {
  color: var(--ctp-text);
  background:
    linear-gradient(180deg, rgba(30, 32, 48, 0.98), rgba(36, 39, 58, 1) 18rem),
    var(--ctp-base);
}

.md-header {
  background: var(--ctp-crust);
  border-bottom: 1px solid var(--ctp-surface0);
  box-shadow: none;
}

.md-tabs {
  background: var(--ctp-mantle);
  border-bottom: 1px solid var(--ctp-surface0);
}

.md-header__title,
.md-header__topic,
.md-header__button,
.md-tabs__link {
  color: var(--ctp-text) !important;
}

.md-tabs__link {
  opacity: 0.82;
}

.md-tabs__link:hover,
.md-tabs__link--active,
.md-nav__link:hover,
.md-nav__link--active {
  color: var(--ctp-mauve) !important;
}

.md-main {
  background: transparent;
}

.md-main__inner {
  margin-top: 1.2rem;
}

.md-content__inner {
  padding-top: 0.4rem;
}

.md-sidebar__scrollwrap,
.md-nav {
  background: transparent;
}

.md-nav__title {
  color: var(--ctp-peach);
  background: transparent !important;
  box-shadow: none !important;
}

.md-nav__item .md-nav__link--active {
  background: rgba(198, 160, 246, 0.10);
  border-radius: 0.45rem;
  padding-left: 0.45rem;
}

.md-typeset {
  color: var(--ctp-text);
}

.md-typeset h1 {
  color: var(--ctp-peach);
  font-weight: 750;
  letter-spacing: -0.03em;
}

.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  color: var(--ctp-lavender);
  font-weight: 700;
}

.md-typeset h1::after {
  content: "";
  display: block;
  width: 3.75rem;
  height: 0.16rem;
  margin-top: 0.65rem;
  border-radius: 999px;
  background: var(--ctp-mauve);
}

.md-typeset a {
  color: var(--ctp-blue);
}

.md-typeset a:hover {
  color: var(--ctp-sky);
}

.md-typeset blockquote {
  color: var(--ctp-subtext1);
  border-left-color: var(--ctp-green);
  background: rgba(166, 218, 149, 0.06);
  border-radius: 0.25rem;
}

.md-typeset hr {
  border-bottom-color: var(--ctp-surface0);
}

.md-typeset table:not([class]) {
  background: var(--ctp-mantle);
  border: 1px solid var(--ctp-surface0);
  border-radius: 0.4rem;
  overflow: hidden;
}

.md-typeset table:not([class]) th {
  background: var(--ctp-surface0);
  color: var(--ctp-peach);
}

.md-typeset table:not([class]) td {
  border-top-color: var(--ctp-surface0);
}

.md-typeset code,
.md-typeset pre > code,
.md-typeset .codehilite,
.highlight {
  background-color: var(--ctp-mantle) !important;
  color: var(--ctp-text);
  border-radius: 0.35rem;
}

.md-typeset :not(pre) > code {
  color: var(--ctp-yellow);
  border: 1px solid rgba(238, 212, 159, 0.14);
}

.md-typeset .admonition,
.md-typeset details {
  background: rgba(30, 32, 48, 0.74);
  border-color: var(--ctp-surface1);
  box-shadow: none;
}

.md-typeset .admonition-title,
.md-typeset summary {
  background: rgba(54, 58, 79, 0.42) !important;
  color: var(--ctp-lavender);
}

.md-search__form {
  background: var(--ctp-surface0);
  border: 1px solid var(--ctp-surface1);
  border-radius: 0.6rem;
}

.md-search__form:hover,
.md-search__form:focus-within {
  background: var(--ctp-surface1);
  border-color: var(--ctp-mauve);
}

.md-search__input,
.md-search__input::placeholder {
  color: var(--ctp-subtext1);
}

.md-search__scrollwrap,
.md-search__output,
.md-dialog {
  background: var(--ctp-mantle);
}

.md-search-result__title {
  color: var(--ctp-text);
}

.md-search-result__article--document .md-search-result__title {
  color: var(--ctp-blue);
}

.md-footer,
.md-footer-meta {
  background: var(--ctp-crust);
  color: var(--ctp-subtext0);
  border-top: 1px solid var(--ctp-surface0);
}

.md-button,
.md-typeset .md-button {
  color: var(--ctp-blue);
  border-color: var(--ctp-blue);
}

.md-button:hover,
.md-typeset .md-button:hover {
  color: var(--ctp-crust);
  background: var(--ctp-blue);
  border-color: var(--ctp-blue);
}

::selection {
  color: var(--ctp-crust);
  background: var(--ctp-mauve);
}

/* Front-page note / quoted lore should breathe, not look like a clipped aside. */
.md-typeset blockquote {
  margin: 1.25rem 0;
  padding: 0.85rem 1rem 0.85rem 1.15rem;
  line-height: 1.7;
}

.md-typeset blockquote p {
  margin: 0;
}
