:root {
  --lsyh-radius: 14px;
  --lsyh-typeset-font-size: 20px;
}

[data-md-color-scheme="default"] {
  --lsyh-paper-bg: #fffcf7;
  --lsyh-paper-border: #efe3cf;
  --lsyh-paper-shadow: 0 10px 30px rgba(112, 82, 49, 0.08);
  --lsyh-h1-line: #ddc29a;
  --md-footer-bg-color: #f1e6d8;
  --md-footer-bg-color--dark: #e7d6c3;
  --md-footer-fg-color: #5a4535;
  --md-footer-fg-color--light: rgba(90, 69, 53, 0.78);
  --md-footer-fg-color--lighter: rgba(90, 69, 53, 0.56);
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: #161a22;
  --md-default-bg-color--light: #1c2230;
  --md-default-bg-color--lighter: #242d3d;
  --md-default-fg-color: #e7e2d9;
  --lsyh-paper-bg: #232a36;
  --lsyh-paper-border: #3b4557;
  --lsyh-paper-shadow: 0 16px 38px rgba(0, 0, 0, 0.46);
  --lsyh-h1-line: #8a7558;
}

.md-main {
  background: var(--lsyh-paper-bg);
}

[data-md-color-scheme="slate"] .md-main {
  background: radial-gradient(circle at top, #222b3a 0%, #151a23 65%);
}

[data-md-color-scheme="default"] .md-footer-meta,
[data-md-color-scheme="default"] .md-footer-meta a {
  color: var(--md-footer-fg-color);
}

[data-md-color-scheme="slate"] .md-content__inner {
  backdrop-filter: saturate(115%);
}

.md-header {
  backdrop-filter: blur(8px);
}

.md-main__inner {
  margin-top: 0.2rem;
  padding-top: 0.5rem;
}

.md-content__inner {
  border: 1px solid var(--lsyh-paper-border);
  border-radius: var(--lsyh-radius);
  box-shadow: var(--lsyh-paper-shadow);
  padding-top: 0;
}

.md-typeset {
  font-size: var(--lsyh-typeset-font-size);
}

.md-typeset h1 {
  border-bottom: 2px solid var(--lsyh-h1-line);
  margin-bottom: 1rem;
  padding-bottom: 0.45rem;
}

.md-typeset h2 {
  border-left: 4px solid var(--lsyh-h1-line);
  padding-left: 0.55rem;
}

.md-nav--primary .md-nav__title {
  font-weight: 700;
}

.md-nav__item .md-nav__link--active {
  font-weight: 700;
}

.md-search__form {
  border-radius: 999px;
}

@media screen and (max-width: 76.2344em) {
  [dir="ltr"] .md-header__title {
    margin-left: 0.3rem;
    margin-right: 0.2rem;
  }

  [dir="rtl"] .md-header__title {
    margin-left: 0.2rem;
    margin-right: 0.3rem;
  }

  .md-header__button {
    margin: 0.1rem;
    padding: 0.35rem;
  }

  [dir="ltr"] .md-header__button[for="__drawer"] {
    margin-right: 0.05rem;
  }

  [dir="rtl"] .md-header__button[for="__drawer"] {
    margin-left: 0.05rem;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] {
    align-items: center;
    display: flex;
    gap: 0.35rem;
    height: auto;
    line-height: 1.25;
    min-height: 3rem;
    overflow: hidden;
    padding: 0.5rem calc(0.75rem + env(safe-area-inset-right)) 0.5rem 0.7rem;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .md-logo {
    display: none;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .lsyh-drawer-theme-left-btn {
    flex: 0 0 auto;
    margin-right: 0.15rem;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .lsyh-drawer-controls {
    align-items: center;
    display: inline-flex;
    gap: 0.1rem;
    flex-shrink: 0;
    margin-left: auto;
    margin-right: 0;
    padding-right: calc(0.2rem + env(safe-area-inset-right));
    position: relative;
    z-index: 2;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .lsyh-drawer-btn {
    align-items: center;
    border-radius: 999px;
    color: inherit;
    display: inline-flex;
    height: 1.9rem;
    justify-content: center;
    opacity: 0.95;
    width: 1.9rem;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .lsyh-drawer-btn svg {
    height: 1.15rem;
    width: 1.15rem;
  }

  .md-nav--primary .md-nav__title[for="__drawer"] .lsyh-drawer-btn:hover {
    background: rgba(255, 255, 255, 0.14);
    opacity: 1;
  }

  .md-header .lsyh-font-btn,
  .md-header label.md-header__button.md-icon[for^="__palette_"] {
    display: none;
  }
}

.lsyh-font-btn[disabled] {
  opacity: 0.45;
  pointer-events: none;
}

#pagefind-search .pagefind-ui {
  --pagefind-ui-font: var(--md-text-font-family);
}

#pagefind-search .pagefind-ui__result-nested {
  display: none;
}

[data-md-color-scheme="default"] .md-typeset mark.lsyh-inline-highlight {
  background: #ffd98a;
  color: #2d2313;
  border-radius: 0.2rem;
  padding: 0 0.2em;
}

[data-md-color-scheme="slate"] .md-typeset mark.lsyh-inline-highlight {
  background: #ffd28f;
  color: #1b2432;
  border-radius: 0.2rem;
  padding: 0 0.2em;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui {
  --pagefind-ui-primary: #f3ca8c;
  --pagefind-ui-text: #eee8df;
  --pagefind-ui-background: #1f2733;
  --pagefind-ui-border: #4f5f78;
  --pagefind-ui-tag: #2d3a4d;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__search-input {
  color: #f4efe7;
  border-color: #607290;
}

[data-md-color-scheme="slate"]
  #pagefind-search
  .pagefind-ui__search-input::placeholder {
  color: #b8c4d7;
  opacity: 0.75;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__search-clear,
[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__message,
[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__result-excerpt,
[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__result-tag {
  color: #dde4ef;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__result-link {
  color: #ffe1a6;
}

[data-md-color-scheme="slate"]
  #pagefind-search
  .pagefind-ui__result-link:hover {
  color: #fff2cf;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui mark {
  background: #ffd28f;
  border-radius: 0.18rem;
  color: #1b2432;
  padding: 0 0.2em;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__button {
  border-color: #607290;
  color: #f7d9a4;
}

[data-md-color-scheme="slate"] #pagefind-search .pagefind-ui__button:hover {
  background: #2a3546;
  border-color: #7d90ad;
  color: #ffebc4;
}

.md-search-result__breadcrumb {
  color: var(--md-default-fg-color--light);
  font-size: 0.75rem;
  line-height: 1.25;
  margin: 0 0 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.md-path__item:not(:first-child) {
  align-items: center;
}

.md-path__item:not(:first-child)::before {
  display: inline-block;
  flex: 0 0 0.8rem;
  vertical-align: middle;
}

.md-path {
  font-size: 18px;
  padding-top: 0.1rem;
  margin-bottom: 0.3rem;
}

@media screen and (min-width: 1220px) {
  .md-grid {
    max-width: 84rem;
  }

  .md-content {
    max-width: 60rem;
    margin-left: 0.5rem;
  }
}

@media screen and (max-width: 76.2344em) {
  [data-md-color-scheme="default"] .md-content__inner {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  [data-md-color-scheme="slate"] .md-content__inner {
    border: 1px solid var(--lsyh-paper-border);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.34);
    margin: 0 0.2rem;
    padding: 0.95rem 0.85rem;
  }
}
