/* 首页分类 / 标签索引（基础样式） */
.index-taxonomy {
  /* chip 区域与下方文章网格的间距 */
  padding-bottom: 0.75rem;
  margin-bottom: 1.25rem;
}

.index-taxonomy__block + .index-taxonomy__block {
  margin-top: 1.25rem;
}

.index-taxonomy__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  /* 最后一行 chip 与区块下沿留白 */
  padding-bottom: 0.25rem;
}

.index-taxonomy__tags-panel {
  margin: 0;
  padding: 0;
}

/* 首屏 chip 与「显示更多」同一 flex 行内顺序排列，summary 贴在标签序列尾部 */
.index-taxonomy__tags-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5rem;
  padding-bottom: 0.25rem;
}

.index-taxonomy__chips--in-flow {
  display: contents;
}

.index-taxonomy__tags-details {
  margin: 0;
  padding: 0;
  flex: 0 1 auto;
  min-width: 0;
}

.index-taxonomy__tags-details[open] {
  flex: 1 1 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* 溢出标签 + 「收起」同属可折叠块，挤压时一并消失，避免 summary 留高导致下方跳动 */
.index-taxonomy__tags-overflow-sleeve {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}

.index-taxonomy__tags-overflow-sleeve > .index-taxonomy__chips--overflow {
  width: 100%;
  padding-bottom: 0.25rem;
}

/* 脚本增强：展开时由 sleeve 内按钮收起，隐藏 summary，避免与内部「收起」重复 */
.index-taxonomy__tags-details--js[open] > .index-taxonomy__tags-summary {
  display: none;
}

/* 无 JS / 减少动效：仍用原生 summary 切换，隐藏 sleeve 内重复按钮 */
.index-taxonomy__tags-details:not(.index-taxonomy__tags-details--js) .index-taxonomy__tags-less {
  display: none;
}

.index-taxonomy__tags-summary {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.375rem 0.75rem;
  min-height: calc(var(--mdui-typescale-label-large-line-height, 1.25rem) + 0.75rem);
  border-radius: var(--mdui-shape-corner-large, 1rem);
  font-size: var(--mdui-typescale-label-large-size, 0.875rem);
  line-height: var(--mdui-typescale-label-large-line-height, 1.25rem);
  font-weight: 500;
  list-style: none;
  cursor: pointer;
  color: rgb(var(--mdui-color-on-surface-variant));
  background-color: rgb(var(--mdui-color-surface-container-low));
  border: 1px dashed color-mix(in srgb, rgb(var(--mdui-color-outline)) 40%, transparent);
}

.index-taxonomy__tags-summary::-webkit-details-marker {
  display: none;
}

.index-taxonomy__tags-details:not([open]) .index-taxonomy__tags-summary-label--expanded {
  display: none;
}

.index-taxonomy__tags-details[open] .index-taxonomy__tags-summary-label--collapsed {
  display: none;
}

.index-taxonomy__tags-summary:hover,
.index-taxonomy__tags-summary:focus {
  outline: none;
  color: rgb(var(--mdui-color-primary));
  background-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 8%, rgb(var(--mdui-color-surface-container-low)));
  border-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 28%, transparent);
}

.index-taxonomy__tags-summary:focus-visible {
  outline: 2px solid rgb(var(--mdui-color-primary));
  outline-offset: 2px;
}

.index-taxonomy__tags-less {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0.375rem 0.75rem;
  min-height: calc(var(--mdui-typescale-label-large-line-height, 1.25rem) + 0.75rem);
  border-radius: var(--mdui-shape-corner-large, 1rem);
  font: inherit;
  font-size: var(--mdui-typescale-label-large-size, 0.875rem);
  line-height: var(--mdui-typescale-label-large-line-height, 1.25rem);
  font-weight: 500;
  cursor: pointer;
  color: rgb(var(--mdui-color-on-surface-variant));
  background-color: rgb(var(--mdui-color-surface-container-low));
  border: 1px dashed color-mix(in srgb, rgb(var(--mdui-color-outline)) 40%, transparent);
}

.index-taxonomy__tags-less:hover,
.index-taxonomy__tags-less:focus {
  outline: none;
  color: rgb(var(--mdui-color-primary));
  background-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 8%, rgb(var(--mdui-color-surface-container-low)));
  border-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 28%, transparent);
}

.index-taxonomy__tags-less:focus-visible {
  outline: 2px solid rgb(var(--mdui-color-primary));
  outline-offset: 2px;
}

.index-taxonomy__chip {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  min-height: calc(var(--mdui-typescale-label-large-line-height, 1.25rem) + 0.75rem);
  border-radius: var(--mdui-shape-corner-large, 1rem);
  font-size: var(--mdui-typescale-label-large-size, 0.875rem);
  line-height: var(--mdui-typescale-label-large-line-height, 1.25rem);
  /* 与 .mdui-prose 正文链接的下划线解耦，避免悬停时行盒/单元格高度抖动 */
  text-decoration: none;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  color: rgb(var(--mdui-color-primary));
  background-color: rgb(var(--mdui-color-surface-container-high));
  border: 1px solid color-mix(in srgb, rgb(var(--mdui-color-outline)) 28%, transparent);
}

.index-taxonomy__chip[aria-current='page'] {
  background-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 14%, rgb(var(--mdui-color-surface-container-high)));
  border-color: var(--app-active-primary-border, color-mix(in srgb, rgb(var(--mdui-color-primary)) 35%, transparent));
  font-weight: 600;
}

.index-taxonomy__chip:hover,
.index-taxonomy__chip:focus,
.index-taxonomy__chip:focus-visible {
  background-color: color-mix(in srgb, rgb(var(--mdui-color-primary)) 10%, rgb(var(--mdui-color-surface-container-high)));
  outline: none;
  text-decoration: none;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
}

/* 正文内 #标签 链接：与首页 chip 同形，覆盖 .mdui-prose a 下划线 */
.mdui-prose a.index-taxonomy__chip {
  word-break: normal;
  vertical-align: middle;
  margin: 0.1em 0.15em 0.1em 0;
}

.mdui-prose a.index-taxonomy__chip:hover,
.mdui-prose a.index-taxonomy__chip:focus,
.mdui-prose a.index-taxonomy__chip:focus-visible {
  text-decoration: none;
  border-bottom: none;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
}

.mdui-prose a.index-taxonomy__chip:focus:not(:focus-visible) {
  border-bottom: none;
  text-decoration: none;
}

/* 表格内仅有一个 chip 时：单元格垂直居中，避免 top 对齐 + 行内盒在 hover 时顶行跳动 */
.mdui-prose table td:has(> a.index-taxonomy__chip:only-child),
.mdui-prose table th:has(> a.index-taxonomy__chip:only-child),
.mdui-prose figure:not(.highlight) > table td:has(> a.index-taxonomy__chip:only-child),
.mdui-prose figure:not(.highlight) > table th:has(> a.index-taxonomy__chip:only-child) {
  vertical-align: middle;
}

.mdui-prose table td a.index-taxonomy__chip,
.mdui-prose table th a.index-taxonomy__chip,
.mdui-prose figure:not(.highlight) > table td a.index-taxonomy__chip,
.mdui-prose figure:not(.highlight) > table th a.index-taxonomy__chip {
  vertical-align: middle;
  margin-top: 0;
  margin-bottom: 0;
}
