@font-face {
  font-family: 'Maple Mono';
  src: url("./fonts/MapleMono.ttf") format("truetype");
}

@font-face {
  font-family: 'LXGW WenKai';
  src: url('./fonts/LXGWWenKai-Regular.ttf') format('truetype');
  font-weight: 550;
  font-style: normal;
}

:root {
  --md-text-font: "LXGW WenKai", "Inter", sans-serif;
  --md-code-font: "Maple Mono", "JetBrains Mono", monospace;
}

/* 正文稍微大一点、粗一点 */
.md-typeset {
  font-size: 0.80rem;
  font-weight: 550;
  line-height: 1.50;
}

/* 正文里的英文、数字、符号优先用 Maple Mono */
.md-typeset {
  font-family: "Maple Mono", "LXGW WenKai", "Inter", sans-serif;
}

/* 但是中文仍然会自动回退到 LXGW WenKai */
.md-typeset p,
.md-typeset li,
.md-typeset td,
.md-typeset blockquote {
  font-family: "Maple Mono", "LXGW WenKai", "Inter", sans-serif;
}

/* 标题整体稍微粗一点，中英文都统一 */
.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5,
.md-typeset h6 {
  font-family: "Maple Mono", "LXGW WenKai", "Inter", sans-serif; /* 英文优先 Maple Mono，中文回退 LXGW WenKai */
  font-weight: 590; /* 比正文略粗 */
  letter-spacing: -0.02em; /* 可选，防止标题太松 */
}

/* --- New style admonitions for Zensical --- */
:root {
  --duck-admonition-code-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M8.7 17.3 3.4 12l5.3-5.3 1.4 1.4L6.2 12l3.9 3.9-1.4 1.4Zm6.6 0-1.4-1.4 3.9-3.9-3.9-3.9 1.4-1.4 5.3 5.3-5.3 5.3ZM11.4 19l-1.9-.6L12.6 5l1.9.6L11.4 19Z%27/%3E%3C/svg%3E");
}

.md-typeset .admonition,
.md-typeset details {
  --duck-admonition-color: rgb(68, 138, 255);
  --duck-admonition-color-rgb: 68, 138, 255;
  --duck-admonition-icon: var(--md-admonition-icon--note);
  background-color: var(--md-default-bg-color) !important;
  border: 0 solid var(--duck-admonition-color);
  border-left-width: 4px;
  border-radius: 0.2rem;
  box-shadow: var(--md-shadow-z1);
  color: var(--md-admonition-fg-color);
  display: flow-root;
  font-size: inherit;
  margin: 1.5625em 0;
  overflow: hidden;
  padding: 0 0.8rem 0.65rem;
  page-break-inside: avoid;
}

.md-typeset .admonition > *,
.md-typeset details > * {
  box-sizing: border-box;
}

.md-typeset .admonition-title,
.md-typeset summary {
  background-color: rgba(var(--duck-admonition-color-rgb), 0.1);
  border: 0;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 -0.8rem 0.8rem;
  min-height: 2.35rem;
  position: relative;
}

[dir="ltr"] .md-typeset .admonition-title,
[dir="ltr"] .md-typeset summary {
  padding: 0.56rem 2.4rem 0.48rem 2.1rem;
}

[dir="rtl"] .md-typeset .admonition-title,
[dir="rtl"] .md-typeset summary {
  padding: 0.56rem 2.1rem 0.48rem 2.4rem;
}

.md-typeset .admonition-title::before,
.md-typeset summary::before {
  background-color: var(--duck-admonition-color);
  content: "";
  height: 1.12rem;
  -webkit-mask-image: var(--duck-admonition-icon);
          mask-image: var(--duck-admonition-icon);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.12rem;
}

[dir="ltr"] .md-typeset .admonition-title::before,
[dir="ltr"] .md-typeset summary::before {
  left: 0.55rem;
}

[dir="rtl"] .md-typeset .admonition-title::before,
[dir="rtl"] .md-typeset summary::before {
  right: 0.55rem;
}

.md-typeset summary::after {
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
}

.md-typeset details[open] > summary::after {
  transform: translateY(-50%) rotate(90deg);
}

[dir="ltr"] .md-typeset summary::after {
  right: 0.55rem;
}

[dir="rtl"] .md-typeset summary::after {
  left: 0.55rem;
  transform: translateY(-50%) rotate(180deg);
}

[dir="rtl"] .md-typeset details[open] > summary::after {
  transform: translateY(-50%) rotate(90deg);
}

html .md-typeset .admonition > :last-child,
html .md-typeset details > :last-child {
  margin-bottom: 0.15rem;
}

.md-typeset details:not([open]) {
  padding-bottom: 0;
}

.md-typeset details:not([open]) > summary {
  margin-bottom: 0;
}

.md-typeset .admonition .highlight,
.md-typeset details .highlight {
  background: transparent;
  margin: 1em 0 0.2rem;
}

.md-typeset .admonition .highlight pre,
.md-typeset details .highlight pre {
  margin: 0;
}

.md-typeset .admonition pre > code,
.md-typeset details pre > code {
  background-color: var(--md-code-bg-color);
  border-radius: 0.2rem;
  padding: 0.7720588235em 1.1764705882em;
}

.md-typeset .admonition.note,
.md-typeset details.note,
.md-typeset .admonition.seealso,
.md-typeset details.seealso {
  --duck-admonition-color: rgb(68, 138, 255);
  --duck-admonition-color-rgb: 68, 138, 255;
  --duck-admonition-icon: var(--md-admonition-icon--note);
}

.md-typeset .admonition.abstract,
.md-typeset details.abstract,
.md-typeset .admonition.summary,
.md-typeset details.summary,
.md-typeset .admonition.tldr,
.md-typeset details.tldr {
  --duck-admonition-color: rgb(0, 176, 255);
  --duck-admonition-color-rgb: 0, 176, 255;
  --duck-admonition-icon: var(--md-admonition-icon--abstract);
}

.md-typeset .admonition.info,
.md-typeset details.info,
.md-typeset .admonition.todo,
.md-typeset details.todo {
  --duck-admonition-color: rgb(0, 184, 212);
  --duck-admonition-color-rgb: 0, 184, 212;
  --duck-admonition-icon: var(--md-admonition-icon--info);
}

.md-typeset .admonition.tip,
.md-typeset details.tip,
.md-typeset .admonition.hint,
.md-typeset details.hint,
.md-typeset .admonition.important,
.md-typeset details.important {
  --duck-admonition-color: rgb(0, 191, 165);
  --duck-admonition-color-rgb: 0, 191, 165;
  --duck-admonition-icon: var(--md-admonition-icon--tip);
}

.md-typeset .admonition.success,
.md-typeset details.success,
.md-typeset .admonition.check,
.md-typeset details.check,
.md-typeset .admonition.done,
.md-typeset details.done {
  --duck-admonition-color: rgb(0, 200, 83);
  --duck-admonition-color-rgb: 0, 200, 83;
  --duck-admonition-icon: var(--md-admonition-icon--success);
}

.md-typeset .admonition.question,
.md-typeset details.question,
.md-typeset .admonition.help,
.md-typeset details.help,
.md-typeset .admonition.faq,
.md-typeset details.faq {
  --duck-admonition-color: rgb(100, 221, 23);
  --duck-admonition-color-rgb: 100, 221, 23;
  --duck-admonition-icon: var(--md-admonition-icon--question);
}

.md-typeset .admonition.warning,
.md-typeset details.warning,
.md-typeset .admonition.caution,
.md-typeset details.caution,
.md-typeset .admonition.attention,
.md-typeset details.attention {
  --duck-admonition-color: rgb(255, 145, 0);
  --duck-admonition-color-rgb: 255, 145, 0;
  --duck-admonition-icon: var(--md-admonition-icon--warning);
}

.md-typeset .admonition.failure,
.md-typeset details.failure,
.md-typeset .admonition.fail,
.md-typeset details.fail,
.md-typeset .admonition.missing,
.md-typeset details.missing {
  --duck-admonition-color: rgb(255, 82, 82);
  --duck-admonition-color-rgb: 255, 82, 82;
  --duck-admonition-icon: var(--md-admonition-icon--failure);
}

.md-typeset .admonition.danger,
.md-typeset details.danger,
.md-typeset .admonition.error,
.md-typeset details.error {
  --duck-admonition-color: rgb(255, 23, 68);
  --duck-admonition-color-rgb: 255, 23, 68;
  --duck-admonition-icon: var(--md-admonition-icon--danger);
}

.md-typeset .admonition.bug,
.md-typeset details.bug {
  --duck-admonition-color: rgb(245, 0, 87);
  --duck-admonition-color-rgb: 245, 0, 87;
  --duck-admonition-icon: var(--md-admonition-icon--bug);
}

.md-typeset .admonition.example,
.md-typeset details.example {
  --duck-admonition-color: rgb(124, 77, 255);
  --duck-admonition-color-rgb: 124, 77, 255;
  --duck-admonition-icon: var(--md-admonition-icon--example);
}

.md-typeset .admonition.quote,
.md-typeset details.quote,
.md-typeset .admonition.cite,
.md-typeset details.cite {
  --duck-admonition-color: rgb(158, 158, 158);
  --duck-admonition-color-rgb: 158, 158, 158;
  --duck-admonition-icon: var(--md-admonition-icon--quote);
}

.md-typeset .admonition.code,
.md-typeset details.code {
  --duck-admonition-color: rgb(184, 184, 184);
  --duck-admonition-color-rgb: 184, 184, 184;
  --duck-admonition-icon: var(--duck-admonition-code-icon);
}

