/* =========================================
   字体变量
   ========================================= */
:root {
  --md-text-font: "LXGW WenKai", "PingFang SC", "Microsoft YaHei", serif;
  --md-code-font: "JetBrains Mono", "Fira Code", monospace;
}

body, input {
  font-family: var(--md-text-font);
}

code, pre, kbd,
.md-typeset code,
.md-typeset pre {
  font-family: var(--md-code-font);
}

/* =========================================
   标题 # 前缀（isshikih 风格）
   ========================================= */
.md-typeset h2::before,
.md-typeset h3::before,
.md-typeset h4::before {
  content: "# ";
  color: var(--md-primary-fg-color--light);
  font-weight: 400;
}

.md-ellipsis,
h1,
.headerlink {
  font-family: "LXGW WenKai", serif;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4,
.md-typeset h5 {
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* =========================================
   浅色模式（蓝色调，参考 isshikih 结构）
   ========================================= */
:root,
[data-md-color-scheme=default] {
  --md-default-fg-color:           rgba(22, 44, 72, .82);
  --md-default-fg-color--light:    rgba(22, 44, 72, .56);
  --md-default-fg-color--lighter:  rgba(22, 44, 72, .32);
  --md-default-fg-color--lightest: rgba(22, 44, 72, .14);

  --md-default-bg-color:           #f5f9ff;
  --md-default-bg-color--light:    hsla(220, 100%, 99%, .7);
  --md-default-bg-color--lighter:  hsla(220, 100%, 99%, .3);
  --md-default-bg-color--lightest: hsla(220, 100%, 99%, .12);

  --md-primary-fg-color:           #1565c0;
  --md-primary-fg-color--light:    #1976d2;
  --md-primary-fg-color--dark:     #0d47a1;
  --md-primary-bg-color:           #e8f4fd;
  --md-primary-bg-color--light:    hsla(210, 100%, 97%, .7);

  --md-accent-fg-color:            #2196f3;
  --md-accent-fg-color--light:     #1976d2;
  --md-accent-fg-color--transparent: rgba(33, 150, 243, .1);
  --md-accent-bg-color:            #fff;

  --md-code-fg-color:              #1a5276;
  --md-code-bg-color:              #eaf4fb;
  --md-code-hl-color:              #cce5f6;
  --md-code-hl-number-color:       #b92c2c;
  --md-code-hl-special-color:      #c0143c;
  --md-code-hl-function-color:     #7b1fa2;
  --md-code-hl-constant-color:     #283593;
  --md-code-hl-keyword-color:      #0d47a1;
  --md-code-hl-string-color:       #1b7a3e;
  --md-code-hl-name-color:         var(--md-code-fg-color);
  --md-code-hl-operator-color:     var(--md-default-fg-color--light);
  --md-code-hl-punctuation-color:  var(--md-default-fg-color--light);
  --md-code-hl-comment-color:      var(--md-default-fg-color--light);
  --md-code-hl-generic-color:      var(--md-default-fg-color--light);
  --md-code-hl-variable-color:     var(--md-default-fg-color--light);

  --md-typeset-color:              var(--md-default-fg-color);
  --md-typeset-a-color:            var(--md-accent-fg-color--light);
  --md-typeset-mark-color:         rgba(33, 150, 243, .3);
  --md-typeset-del-color:          rgba(229, 57, 53, .15);
  --md-typeset-ins-color:          rgba(56, 142, 60, .15);
  --md-typeset-kbd-color:          #fafafa;
  --md-typeset-kbd-accent-color:   #fff;
  --md-typeset-kbd-border-color:   #aec6e8;
  --md-typeset-table-color:        rgba(0, 80, 180, .08);

  --md-admonition-fg-color:        var(--md-default-fg-color);
  --md-admonition-bg-color:        #f0f7ff;

  --md-footer-bg-color:            rgba(10, 30, 60, .88);
  --md-footer-bg-color--dark:      rgba(10, 30, 60, .32);

  /* 蓝色阴影（对应 isshikih 的暖棕阴影） */
  --md-shadow-z1: 1px 1px 3px #eaf3ff, 1px 1px 5px #c5d9f0;
  --md-shadow-z2: 1px 1px 3px #eaf3ff, 2px 2px 7px #aec8e8;
  --md-shadow-z3: 1px 1px 3px #eaf3ff, 2px 2px 9px #aec8e8;
}

/* 选中文字颜色 */
::selection {
  background: rgba(33, 150, 243, .25);
}

/* =========================================
   Admonition 无左边框 + 阴影（isshikih 风格）
   ========================================= */
.md-typeset .admonition,
.md-typeset details {
  border: none;
  box-shadow: var(--md-shadow-z2);
  font-size: inherit;
}

.md-typeset details:not([open]) {
  box-shadow: var(--md-shadow-z2);
  padding-bottom: 0;
}

/* =========================================
   导航 Tab 栏
   ========================================= */
.md-tabs {
  background-color: var(--md-primary-fg-color--light);
}

.md-tabs__link {
  margin-top: .8rem;
  opacity: .5;
  font-family: var(--md-text-font);
  font-size: .82rem;
}

.md-tabs__link--active,
.md-tabs__link:is(:focus, :hover) {
  color: inherit;
  opacity: 1;
}

/* =========================================
   按钮样式（isshikih 风格：方角重边框）
   ========================================= */
.md-typeset .md-button {
  border: .15rem solid;
  border-radius: 0;
  font-weight: 700;
  padding: .225em 2em;
  transition: color 125ms, background-color 125ms, border-color 125ms;
}

/* =========================================
   正文排版
   ========================================= */
.md-typeset {
  font-size: 0.88rem;
  line-height: 1.85;
}

center, p, li {
  font-size: 1rem;
}

.md-nav__link {
  font-size: .86rem;
}

.md-header__title,
.md-header__topic,
.md-header__button,
.md-search__input,
.md-search-result__meta,
.md-nav__title,
.md-nav__item .md-nav__link,
.md-sidebar .md-nav__link,
.md-nav--secondary .md-nav__link,
.md-nav--secondary .md-nav__title,
.md-tabs__link,
.md-ellipsis {
  font-size: .9rem;
}

@media screen and (min-width: 76.25em) {
  .md-header__title,
  .md-header__topic,
  .md-header__button,
  .md-search__input,
  .md-search-result__meta,
  .md-nav__title,
  .md-nav__item .md-nav__link,
  .md-sidebar .md-nav__link,
  .md-nav--secondary .md-nav__link,
  .md-nav--secondary .md-nav__title,
  .md-tabs__link,
  .md-ellipsis {
    font-size: .98rem;
  }
}

/* 表格：紧凑字号 + 可横向滚动 */
.md-typeset table:not([class]) {
  font-size: 1rem;
}

.md-typeset__scrollwrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.md-typeset table:not([class]) td,
.md-typeset table:not([class]) th {
  padding: .6em .8em;
  font-size: 1rem;
}

.ode-notes table:not([class]) {
  font-size: 0.88rem;
  line-height: 1.75;
}

.ode-notes table:not([class]) td,
.ode-notes table:not([class]) th {
  padding: .55rem .7rem;
  font-size: 0.86rem;
  vertical-align: top;
  word-break: break-word;
}

.ode-notes table:not([class]) th {
  color: #4b5563;
  font-weight: 700;
  background: rgba(107, 114, 128, .08);
}


/* =========================================
   代码块
   ========================================= */
.md-typeset pre > code {
  font-size: 0.85em;
  line-height: 1.7;
}

/* =========================================
   自定义 Admonition 类型（参考 isshikih）
   ========================================= */

/* definition */
:root {
  --md-admonition-icon--definition: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1.5 21 12 3.5 22.5 21h-21M12 21l5-9H7l5 9Z"/></svg>');
}
.md-typeset .admonition.definition,
.md-typeset details.definition { border-color: #1e88e5; }
.md-typeset .definition > .admonition-title,
.md-typeset .definition > summary { background-color: #ddeeff; }
.md-typeset .definition > .admonition-title::before,
.md-typeset .definition > summary::before {
  background-color: #1e88e5;
  -webkit-mask-image: var(--md-admonition-icon--definition);
  mask-image: var(--md-admonition-icon--definition);
}

/* proof */
:root {
  --md-admonition-icon--proof: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.1 5.8 4.6 9.3l40.2 322H55.9L96.1 94c.4-3.5 2-6.8 4.6-9.3l80-80zM152 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-80zM32 448h320c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>');
}
.md-typeset .admonition.proof,
.md-typeset details.proof { border-color: #90caf9; }
.md-typeset .proof > .admonition-title,
.md-typeset .proof > summary { background-color: #e3f2fd; }
.md-typeset .proof > .admonition-title::before,
.md-typeset .proof > summary::before {
  background-color: #90caf9;
  -webkit-mask-image: var(--md-admonition-icon--proof);
  mask-image: var(--md-admonition-icon--proof);
}

/* key-point */
:root {
  --md-admonition-icon--key-point: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 112c30.88 0 56-25.12 56-56S286.9 0 256 0s-56.9 25.12-56.9 56 26 56 56.9 56zm255.1 85.4c0-5.178-2.509-10.2-7.096-13.26L476.4 168.2c-2.5-1.75-5.497-2.62-8.497-2.62-5.501.125-10.63 2.87-13.75 7.245-9.001 12-23.16 19.13-38.16 19.13-3.125 0-6.089-.253-9.089-.878-23.13-4.25-38.88-26.25-38.88-49.75C367.1 134 361.1 128 354.6 128h-38.75c-6.001 0-11.63 4-12.88 9.875C298.2 160.1 278.7 176 255.1 176c-22.75 0-42.25-15.88-47-38.12-.4-5.88-5.9-9.88-12-9.88h-38.75c-8.25 0-14.25 6-14.25 13.4 0 18.49-13.66 50.62-47.95 50.62-15.13 0-29.3-7.118-38.3-19.24-2.25-4.38-7.19-7.08-12.7-7.18-3 0-5.931.895-8.432 2.645l-28.63 16C2.509 187.2 0 192.3 0 197.4c0 2.438.558 4.901 1.72 7.185L109.9 432h53.13L69.85 236.4c8.5 2.4 17.26 3.6 26.13 3.6 2.432 0 56.83 1.503 84.76-52.5 17.36 23 45.86 36.5 75.16 36.5 29.38 0 57.01-13.38 75.26-36.25C336.1 197.6 360.6 240 416 240c8.751 0 17.5-1.125 26-3.5L349 432h53.13l108.1-227.4c1.17-2.3.87-4.8.87-7.2zM424 464H87.98c-13.26 0-24 10.75-24 23.1s10.74 24.9 24 24.9h336c13.26 0 24-10.75 24-23.1S437.3 464 424 464z"/></svg>');
}
.md-typeset .admonition.key-point,
.md-typeset details.key-point { border-color: #ff9800; }
.md-typeset .key-point > .admonition-title,
.md-typeset .key-point > summary { background-color: #fff3e0; }
.md-typeset .key-point > .admonition-title::before,
.md-typeset .key-point > summary::before {
  background-color: #ff9800;
  -webkit-mask-image: var(--md-admonition-icon--key-point);
  mask-image: var(--md-admonition-icon--key-point);
}

/* =========================================
   例题框（example admonition）
   ========================================= */
.ode-notes .admonition.example,
.ode-notes details.example {
  border: none;
  border-left: .22rem solid #6b7280;
  background: linear-gradient(135deg, rgba(107, 114, 128, .10) 0%, rgba(107, 114, 128, .03) 100%);
  box-shadow: var(--md-shadow-z2);
}

.ode-notes .example > .admonition-title,
.ode-notes .example > summary {
  background-color: rgba(107, 114, 128, .10);
  border-bottom: 1px solid rgba(107, 114, 128, .14);
  color: #374151;
  font-weight: 600;
}

.ode-notes .example > .admonition-title::before,
.ode-notes .example > summary::before {
  background-color: #6b7280;
}

/* =========================================
   深色模式（slate）适配
   ========================================= */
[data-md-color-scheme="slate"] {
  --md-admonition-bg-color: rgba(255, 255, 255, .04);
}

/* definition 深色 */
[data-md-color-scheme="slate"] .md-typeset .definition > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .definition > summary {
  background-color: rgba(30, 136, 229, .18);
  color: var(--md-default-fg-color);
}

/* proof 深色 */
[data-md-color-scheme="slate"] .md-typeset .proof > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .proof > summary {
  background-color: rgba(144, 202, 249, .14);
  color: var(--md-default-fg-color);
}

/* key-point 深色 */
[data-md-color-scheme="slate"] .md-typeset .key-point > .admonition-title,
[data-md-color-scheme="slate"] .md-typeset .key-point > summary {
  background-color: rgba(255, 152, 0, .16);
  color: var(--md-default-fg-color);
}

/* example 深色 */
[data-md-color-scheme="slate"] .ode-notes .admonition.example,
[data-md-color-scheme="slate"] .ode-notes details.example {
  border-left-color: #9ca3af;
  background: linear-gradient(135deg, rgba(156, 163, 175, .12) 0%, rgba(156, 163, 175, .04) 100%);
}

[data-md-color-scheme="slate"] .ode-notes .example > .admonition-title,
[data-md-color-scheme="slate"] .ode-notes .example > summary {
  background-color: rgba(156, 163, 175, .14);
  border-bottom-color: rgba(156, 163, 175, .08);
  color: var(--md-default-fg-color);
}
