:root {
  --md-text-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --md-code-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --md-primary-fg-color: #8c432e;
  --md-accent-fg-color: #a7492d;
}
[data-md-color-scheme="default"] {
  --md-default-bg-color: #fcfaf6;
  --md-default-fg-color: #292a27;
  --md-default-fg-color--light: #64665e;
  --md-code-bg-color: #f1eee7;
  --md-code-fg-color: #333b36;
  --md-typeset-a-color: #8c432e;
  --book-rule: #dedbd2;
  --book-panel: #f3f0e8;
}
[data-md-color-scheme="slate"] {
  --md-default-bg-color: #202321;
  --md-default-fg-color: #e8e7df;
  --md-default-fg-color--light: #b1b6ad;
  --md-code-bg-color: #171c19;
  --md-code-fg-color: #e0e4db;
  --md-typeset-a-color: #efb39c;
  --md-accent-fg-color: #efb39c;
  --book-rule: #3c433c;
  --book-panel: #292f2a;
}
html { scroll-padding-top: 5rem; }
.md-header {
  color: var(--md-default-fg-color);
  background: var(--md-default-bg-color);
  border-bottom: 1px solid var(--book-rule);
  box-shadow: none;
}
.md-header__title { font-weight: 650; letter-spacing: .02em; }
.md-header__button.md-logo img { height: 1.45rem; width: 1.45rem; }
.md-search__form { background: var(--book-panel); color: var(--md-default-fg-color); border-radius: .25rem; }
.md-search__input::placeholder, .md-search__icon { color: var(--md-default-fg-color--light); }
.md-header .md-search__input + .md-search__icon { color: var(--md-default-fg-color--light); }
.md-grid { max-width: 76rem; }
.md-main__inner { margin-top: 1.75rem; }
.md-nav { font-size: .69rem; line-height: 1.65; }
.md-nav__item--section > .md-nav__link { color: var(--md-default-fg-color--light); font-size: .62rem; letter-spacing: .06em; margin-top: 1.25rem; }
.md-nav__link--active { font-weight: 650; }
.md-nav--primary .md-nav__title { box-shadow: none; background: var(--md-default-bg-color); }
.md-typeset { font-size: .82rem; line-height: 1.95; }
.md-typeset h1 { color: var(--md-default-fg-color); font-size: 1.85rem; line-height: 1.45; font-weight: 680; letter-spacing: -.04em; margin-bottom: 1.2rem; }
.md-typeset h2 { font-size: 1.23rem; font-weight: 650; border-top: 1px solid var(--book-rule); padding-top: 1.5rem; margin-top: 2.5rem; }
.md-typeset h3 { font-size: 1rem; font-weight: 650; }
.md-typeset p { margin-block: 1em; }
.md-typeset strong { font-weight: 650; }
.md-typeset a { text-underline-offset: .2em; }
.md-typeset :not(pre) > code { overflow-wrap: anywhere; border-radius: .15rem; padding: .15em .35em; }
.md-typeset pre { font-size: .7rem; line-height: 1.75; }
.md-typeset pre > code { border: 1px solid var(--book-rule); border-radius: .3rem; padding: 1rem 1.25rem; }
.md-typeset .language-json pre > code { white-space: pre-wrap; overflow-wrap: anywhere; }
.md-typeset table:not([class]) { font-size: .72rem; border-color: var(--book-rule); border-radius: .25rem; }
.md-typeset table:not([class]) th { background: var(--book-panel); font-weight: 650; }
.md-typeset table:not([class]) td, .md-typeset table:not([class]) th { padding: .75rem .9rem; }
.md-typeset .admonition { font-size: .76rem; box-shadow: none; }
.md-typeset .md-button { border-radius: .25rem; font-size: .73rem; border-width: 1px; padding: .65em 1.4em; margin: .25rem .4rem .25rem 0; }
.md-typeset .md-button--primary { color: #fffaf5; background: #8c432e; border-color: #8c432e; }
.md-typeset .md-button:focus-visible, .md-typeset .md-button:hover { background: #6e3323; color: #fffaf5; border-color: #6e3323; }
.book-cover { padding: 1.5rem 0 .5rem; }
.book-cover .book-kicker { font-size: .6rem; font-weight: 650; letter-spacing: .14em; color: var(--md-typeset-a-color); margin-bottom: 1.75rem; }
.book-cover h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.4; letter-spacing: -.05em; max-width: 28rem; }
.book-cover .book-lead { max-width: 29rem; font-size: .95rem; color: var(--md-default-fg-color--light); line-height: 1.95; margin-bottom: 1.5rem; }
.book-facts { margin-top: 2rem; padding-block: .75rem; border-block: 1px solid var(--book-rule); font-size: .62rem; color: var(--md-default-fg-color--light); }
.book-facts p { margin: 0; }
.reading-path ol { list-style: none; margin-left: 0; counter-reset: route; }
.reading-path li { counter-increment: route; position: relative; padding: .9rem 0 .9rem 2.5rem; margin: 0; border-bottom: 1px solid var(--book-rule); }
.reading-path li::before { content: "0" counter(route); position: absolute; left: 0; top: .95rem; font-family: var(--md-code-font); font-size: .75rem; color: var(--md-typeset-a-color); }
.reading-path span { display: block; font-size: .64rem; color: var(--md-default-fg-color--light); }
.reading-path br { display: none; }
.md-footer { background: var(--book-panel); color: var(--md-default-fg-color); border-top: 1px solid var(--book-rule); }
.md-footer-meta { background: transparent; }
.md-copyright, .md-copyright__highlight { color: var(--md-default-fg-color--light); }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--md-typeset-a-color); outline-offset: 3px; }
@media (min-width: 76.25em) { .md-content { max-width: 45rem; margin-inline: auto; min-width: 0; } }
@media (max-width: 59.984375em) {
  .md-nav--primary .md-nav__title { color: var(--md-default-fg-color); }
  .md-nav--primary .md-nav__source { background: var(--book-panel); }
}
@media (max-width: 44.984375em) {
  .md-main__inner { margin-top: .75rem; }
  .md-typeset { font-size: .8rem; }
  .md-typeset h1 { font-size: 1.5rem; }
  .book-cover { padding-top: .5rem; }
  .book-cover h1 { font-size: 1.85rem; }
  .book-facts { line-height: 2; }
}
@media print {
  .md-header, .md-sidebar, .md-footer, .md-top, .md-code__nav, .headerlink, .md-button { display: none !important; }
  .md-main__inner, .md-content, .md-content__inner { margin: 0 !important; max-width: none; }
  .md-typeset { font-size: 10pt; line-height: 1.6; color: #111; }
  .md-typeset pre > code { white-space: pre-wrap; overflow-wrap: anywhere; }
  .md-typeset table:not([class]) { display: table; width: 100%; font-size: 9pt; }
  .md-typeset h1, .md-typeset h2, .md-typeset h3 { break-after: avoid; }
}
.author-card { padding: .25rem 0 .5rem; }
.author-qr { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: flex-end; margin-top: 1rem; }
.author-qr figure { margin: 0; text-align: center; }
.author-qr img { border: 1px solid var(--book-rule); border-radius: .3rem; height: auto; max-width: 100%; }
.author-qr figcaption { font-size: .65rem; color: var(--md-default-fg-color--light); margin-top: .35rem; }
