ul.accordion-wrapper {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
  /* counter-reset: question; */
}

ul.accordion-wrapper > li {
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden;
  /* counter-increment: question; */
  cursor: pointer;
}

ul.accordion-wrapper > li:hover {
  background: rgba(0, 0, 0, 0.1);
}

ul.accordion-wrapper > li > p:first-of-type {
  position: relative;
  margin: 0;
  padding: 10px 20px;
  font-weight: bold;
}

ul.accordion-wrapper > li.active > p:first-of-type {
  padding: 10px 20px 20px 20px;
}

ul.accordion-wrapper > li.active > p:first-of-type::after {
  content: "";
  position: absolute;
  top: calc(100% - 10px);
  left: 40px;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border: 10px solid white;
  border-top-color: transparent;
  border-right-color: transparent;
  border-left-color: transparent;
}

ul.accordion-wrapper > li > .accordion-content-container {
  display: block;
  margin: 0 20px 20px 20px;
  padding: 0 15px 20px;
  background: white;
  cursor: default;
  overflow: hidden;
}

ul.accordion-wrapper > li:not(:first-of-type) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.accordion {
  background: whitesmoke;
}

.accordion.active {
  background: rgba(0, 0, 0, 0.1);
  border-left: 3px solid #014f17;
}

.accordion .accordion-content-container {
  display: none !important;
}

.accordion.active .accordion-content-container {
  display: block !important;
}


.arrow {
  border: solid black;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 4px;
  float:right;
  margin-top: 1.25%;
}

.right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

/* 文档页 footer（与首页 .portal-footer 保持一致） */
.doc-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--dm-border);
  color: var(--dm-fg-muted);
  font-size: 0.86rem;
  padding: 12px 0;
  margin-top: 2rem;
}

/* ── 深色模式 ─────────────────────────────────────────── */

:root {
  --dm-bg:              #ffffff;
  --dm-sidebar-bg:      #fafafa;
  --dm-fg:              #2c3e50;
  --dm-fg-muted:        #505d68;
  --dm-border:          rgba(0, 0, 0, .07);
  --dm-code-bg:         #f8f8f8;
  --dm-code-fg:         #2c3e50;
  --dm-heading-fg:      #2c3e50;
  --dm-table-stripe:    rgba(0, 0, 0, .04);
  --dm-blockquote-fg:   #858585;
  --dm-toggle-image:    url('../_media/moon.svg');
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme='light']) {
    --dm-bg:            #0d1117;
    --dm-sidebar-bg:    #161b22;
    --dm-fg:            #c9d1d9;
    --dm-fg-muted:      #8b949e;
    --dm-border:        #30363d;
    --dm-code-bg:       #1c2128;
    --dm-code-fg:       #e6edf3;
    --dm-heading-fg:    #e6edf3;
    --dm-table-stripe:  rgba(255, 255, 255, .04);
    --dm-blockquote-fg: #8b949e;
    --dm-toggle-image:  url('../_media/sun.svg');
  }
}

html[data-theme='dark'] {
  --dm-bg:            #0d1117;
  --dm-sidebar-bg:    #161b22;
  --dm-fg:            #c9d1d9;
  --dm-fg-muted:      #8b949e;
  --dm-border:        #30363d;
  --dm-code-bg:       #1c2128;
  --dm-code-fg:       #e6edf3;
  --dm-heading-fg:    #e6edf3;
  --dm-table-stripe:  rgba(255, 255, 255, .04);
  --dm-blockquote-fg: #8b949e;
  --dm-toggle-image:  url('../_media/sun.svg');
}

html, body, #app                              { background-color: var(--dm-bg)           !important; }
body                                          { color: var(--dm-fg)                      !important; }
.sidebar-toggle                               { background-color: var(--dm-bg)           !important; }
.sidebar                                      { background-color: var(--dm-sidebar-bg)   !important; border-right: 1px solid var(--dm-border) !important; }
.sidebar ul li a                              { color: var(--dm-fg-muted)                !important; }
.sidebar ul li.active > a,
.sidebar ul li a:hover                        { color: #42b983                           !important; }
.app-nav                                      { background-color: var(--dm-bg)           !important; border-bottom: 1px solid var(--dm-border) !important; }
.app-nav a                                    { color: var(--dm-fg)                      !important; }
.content                                      { background-color: var(--dm-bg)           !important; }
.markdown-section h1, .markdown-section h2,
.markdown-section h3, .markdown-section h4,
.markdown-section h5, .markdown-section h6   { color: var(--dm-heading-fg)              !important; }
.markdown-section code                        { background-color: var(--dm-code-bg)      !important; color: var(--dm-code-fg) !important; }
.markdown-section pre                         { background-color: var(--dm-sidebar-bg)   !important; border: 1px solid var(--dm-border) !important; }
.markdown-section pre code                    { color: var(--dm-code-fg)                 !important; }
.markdown-section blockquote                  { border-left-color: var(--dm-border)      !important; color: var(--dm-blockquote-fg) !important; }
.markdown-section table th,
.markdown-section table td                    { border-color: var(--dm-border)           !important; }
.markdown-section table tr:nth-child(2n)      { background-color: var(--dm-table-stripe) !important; }
.search input                                 { background-color: var(--dm-code-bg)      !important; color: var(--dm-fg) !important; border-color: var(--dm-border) !important; }
article.markdown-section                      { background-color: var(--dm-bg)           !important; }
footer, .page-footer, .doc-footer             { background-color: var(--dm-bg)           !important; color: var(--dm-fg-muted) !important; border-top-color: var(--dm-border) !important; }
aside.toc-nav                                 { background-color: var(--dm-bg)           !important; }
.page_toc div[class^="lv"] a                  { color: var(--dm-fg-muted)                !important; }
.page_toc div                                 { border-left-color: var(--dm-border)      !important; }

/* 深色/浅色切换按钮 */
#dark-toggle {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 300;
  width: 25px;
  height: 25px;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: var(--dm-toggle-image);
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  user-select: none;
  opacity: 0.75;
  transition: opacity 0.15s ease, background-image 0.15s ease-in-out 0.15s;
}
#dark-toggle:hover { opacity: 1; }