/* ==========================================================================
   乐谱库 4列看板布局
========================================================================== */
.sheet-grid {
    display: grid;
    /* 【修改1】强制一行 4 列，让封面更大 */
    grid-template-columns: repeat(4, 1fr); 
    gap: 24px; /* 间距稍微调大一点，更大气 */
    margin-top: 20px;
}

/* 适配小屏幕 */
@media (max-width: 1200px) { .sheet-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .sheet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .sheet-grid { grid-template-columns: 1fr; } }

/* 乐谱卡片样式保持不变 */
.sheet-card {
    background: var(--md-default-bg-color);
    border: 1px solid var(--md-default-fg-color--lightest);
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sheet-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}
.sheet-card img {
    width: 100%;
    aspect-ratio: 1 / 1.414;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #eee;
    margin-bottom: 10px;
}

.sheet-actions {
    display: flex;
    flex-direction: column; 
    gap: 8px; /* 按钮之间的间距 */
    margin-top: 12px;
}

/* 【修改2】重写按钮样式，让它变得精致小巧 */
.sheet-btn {
    display: block;
    padding: 6px 4px !important; /* 关键：上下内边距压小 */
    font-size: 0.85rem !important;
    font-weight: bold;
    line-height: 1.2 !important; /* 关键：强行压缩文字行高 */
    border-radius: 6px;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap; /* 关键：宁愿文字稍微小点，也绝不换行 */
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn-detail { background-color: #8a2be2b0; }
.btn-detail:hover { background-color: #8A2BE2; }

.btn-download { background-color: #3b4252; }
.btn-download:hover { background-color: #4c566a; }

/* ==========================================================================
   全局字体替换：使用我们引入的公共 CDN 字体
========================================================================== */
:root {
    /* 替换全站的默认正文字体为霞鹜文楷 */
    --md-text-font: "LXGW WenKai Screen", sans-serif !important;
    
    /* 替换所有的代码块和代码行字体为 JetBrains Mono */
    --md-code-font: "JetBrains Mono", monospace !important;
}


@media screen and (min-width: 960px) {
  /* body {
    zoom: 1.1;
  } */
  html {
    font-size: 137.5%;
  }
}

@media screen and (min-width: 100em) {
  html {
    font-size: 137.5%;
  }
}

@media screen and (min-width: 125em) {
  html {
    font-size: 137.5%;
  }
}

.md-typeset h1, .md-typeset h2 {
  font-weight: 600;
}

.md-typeset h3 {
  font-weight: 500;
}

.md-typeset h1, .md-typeset h2, .md-typeset h3, .md-typeset h4 {
  letter-spacing: 0;
}

.md-typeset {
  font-size: .7rem;
}

.md-typeset h3 {
  font-weight: 600;
}

.md-typeset code:not(pre code) {
  font-size: inherit;
}

[data-md-color-scheme="default"] {
  --md-primary-fg-color: #efefef;
  --md-primary-bg-color: #000000;
  --md-typeset-a-color: #555555;
  --md-footer-fg-color: #000000;
  --md-footer-bg-color: #efefef;
  --md-footer-bg-color--dark: #efefef;
  --md-footer-fg-color--light: #000000;
  --md-footer-fg-color--lighter: #000000;
  --md-code-bg-color: #fafafa;
  --md-code-fg-color: var(--md-typeset-color);
}

[data-md-color-scheme="slate"][data-md-color-primary="indigo"] {
  --md-default-bg-color: #161616;
  --md-default-bg-color--light: #161616;
  --md-default-bg-color--lighter: #161616;
  --md-default-bg-color--lightest: #161616;
  --md-default-fg-color: rgba(255,255,255,0.9);
  --md-default-fg-color--light: rgba(255,255,255,0.85);
  --md-default-fg-color--lighter: rgba(255,255,255,0.8);
  --md-default-fg-color--lightest: rgba(255,255,255,0.6);
  --md-primary-fg-color: #0d0d0d;
  --md-typeset-a-color: #d3d3d3;
  --md-footer-fg-color: #fff;
  --md-footer-bg-color: #0d0d0d;
  --md-footer-bg-color--dark: #0d0d0d;
  --md-footer-fg-color--light: #fff;
  --md-footer-fg-color--lighter: #fff;
  --md-code-bg-color: #1d1d1d;
}

input.md-search__input {
  background-color: #fff;
}

[data-md-color-scheme="slate"] input.md-search__input {
  background-color: #000;
}

[data-md-color-scheme="slate"] .md-typeset .md-content__button {
  color: #555555;
}

.md-copyright {
  font-size: .55rem;
}

body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .light-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .system-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=slate] .md-icon .unknown-mode {
  display: none;
}
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .dark-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .system-mode,
body:not([data-md-prefers-color-scheme=true])[data-md-color-scheme=default] .md-icon .unknown-mode {
  display: none;
}
body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .dark-mode,
body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .light-mode,
body:not([data-md-prefers-color-scheme=true]):not([data-md-color-scheme=default]):not([data-md-color-scheme=slate]) .md-icon .system-mode {
  display: none;
}
body[data-md-prefers-color-scheme=true] .md-icon .dark-mode,
body[data-md-prefers-color-scheme=true] .md-icon .light-mode,
body[data-md-prefers-color-scheme=true] .md-icon .unknown-mode {
  display: none;
}

@media screen and (max-width: 59.9375em) {
  .md-nav__source {
    background-color: var(--md-primary-fg-color);
  }
}

@media screen and (max-width: 76.1875em) {
  .md-nav--primary .md-nav__title {
    background-color: var(--md-primary-fg-color);
  }
}

[data-md-color-scheme="slate"] .md-annotation__index:after {
  background-color: #4c4c4c;
}

input#mkdocs-content-password {
  width: 6rem;
}

[data-md-color-scheme="slate"] input#mkdocs-content-password {
  background-color: #161616;
}

.katex {
  -webkit-text-stroke-width: 0.3px;
}

.reference ol {
  counter-reset: li;
}
.reference li {
  padding-left: 0.7em;
  counter-increment: li;
  word-break: break-all;
}
.reference li::marker {
  content: "[" counter(li) "]";
  font-size: 0.8em;
}

.riscv-table, .fl-table {
  width: 100%;
  display: inline-table;
  table-layout: fixed;
  /* border-collapse: collapse; */
}
.riscv-table-node {
  text-align: center;
  padding: 0.2em;
  border: 0.04rem solid var(--md-default-fg-color);
}
.riscv-table-node-little, .fl-table-node {
  text-align: center;
  padding: 0.1em;
  border: 0.04rem solid var(--md-default-fg-color);
}
.riscv-table-numnode {
  font-size: .4rem;
}
.riscv-table-undernode {
  font-size: .6rem;
  text-align: center;
}
.riscv-table-numnodel {
  font-size: .4rem;
  text-align: left;
}
.riscv-table-numnoder {
  font-size: .4rem;
  text-align: right;
}
@media (max-width: 700px) {
  .riscv-table-node, .riscv-table-node-little, .fl-table-node {
    font-size: .6rem;
  }
}
@media (max-width: 610px) {
  .riscv-table-node, .riscv-table-node-little, .fl-table-node {
    font-size: .5rem;
  }
}
@media (max-width: 602px) {
  .riscv-table-node, .riscv-table-node-little {
    overflow-x: scroll;
    word-wrap: normal;
  }
  .riscv-table-numnoder {
    font-size: 0px;
  }
  .riscv-table-numnodel {
    word-wrap: normal;
  }
}

[data-md-color-scheme="slate"] .fl-affected {
  background: linear-gradient(
    45deg, 
    rgb(255 255 255 / 30%) 0, rgb(255 255 255 / 30%) 25%, transparent 25%, transparent 50%, 
    rgb(255 255 255 / 30%) 50%, rgb(255 255 255 / 30%) 75%, transparent 75%, transparent
  );
  background-size: 10px 10px;
}
[data-md-color-scheme="default"] .fl-affected {
  background: linear-gradient(
    45deg, 
    rgb(0 0 0 / 30%) 0, rgb(0 0 0 / 30%) 25%, transparent 25%, transparent 50%, 
    rgb(0 0 0 / 30%) 50%, rgb(0 0 0 / 30%) 75%, transparent 75%, transparent
  );
  background-size: 10px 10px;
}
[data-md-color-scheme="slate"] .fl-special {
  background: rgb(255 255 255 / 30%);
}
[data-md-color-scheme="default"] .fl-special {
  background: rgb(0 0 0 / 30%);
}
[data-md-color-scheme="slate"] .fl-undefined {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><g><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgba(255,255,255,0.9)" stroke-width="1"/></g><g><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgba(255,255,255,0.9)" stroke-width="1"/></g></svg>');
}
[data-md-color-scheme="default"] .fl-undefined {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><g><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgba(0, 0, 0, 0.85)" stroke-width="1"/></g><g><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgba(0, 0, 0, 0.85)" stroke-width="1"/></g></svg>');
}

.md-typeset :is(.emojione,.twemoji,.gemoji) {
  vertical-align: sub;
}

.toc-tag {
  background-color: #3f6ec6b0;
  border-radius: 3px;
  font-size: 80%;
  padding: 3px;
}

.toc-tag-classnotes {
  background-color: #e6ad5bb0;
}

.toc-tag-classnotes::before {
  content: "课程笔记"
}

.toc-tag-reports {
  background-color: #3f6ec6b0;
}

.toc-tag-reports::before {
  content: "实验报告"
}

.toc-tag-resource {
    background-color: #8a2be2b0 !important; /* 强制应用紫罗兰色及透明度 */
    color: #ffffff !important;              /* 强制纯白文字 */
    border-radius: 3px !important;          /* 强制小圆角 */
    padding: 3px 6px !important;            /* 强制撑开上下左右的边距 */
    font-size: 80% !important;              /* 字体稍微缩小显得精致 */
    display: inline-block !important;       /* 强制作为块级元素显示背景 */
    margin-right: 8px;                      /* 和右边的时间拉开一点距离 */
}

.toc-tag-resource::before {
    content: "资源整理";
}

.md-source-file__fact {
  font-size: 90%;
}

.hr-before-source-file:not(:has(+ aside)) {
  display: none;
}

:root {
  --md-admonition-icon--llm: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a2 2 0 0 1 2 2c0 .74-.4 1.39-1 1.73V7h1a7 7 0 0 1 7 7h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v1a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1a7 7 0 0 1 7-7h1V5.73c-.6-.34-1-.99-1-1.73a2 2 0 0 1 2-2M7.5 13A2.5 2.5 0 0 0 5 15.5A2.5 2.5 0 0 0 7.5 18a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 7.5 13m9 0a2.5 2.5 0 0 0-2.5 2.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5"/></svg>');
}
.md-typeset .admonition.llm,
.md-typeset details.llm {
  border-color: #9e9e9e;
}
.md-typeset .llm > .admonition-title,
.md-typeset .llm > summary {
  background-color: #9e9e9e1a;
}
.md-typeset .llm > .admonition-title::before,
.md-typeset .llm > summary::before {
  background-color: #9e9e9e;
  -webkit-mask-image: var(--md-admonition-icon--llm);
          mask-image: var(--md-admonition-icon--llm);
}
