/*
 * 分区索引目录 {{ BEGIN_TOC }} 的样式。改编自 TonyCrane/note 的 css/toc_extra.css
 * (CC BY 4.0)，见 hooks/toc.py 顶部署名。
 *
 * 类名（.index-item-wrapper/.title-wrapper/.item-*/.note-tag/.lab-tag）沿用原版，
 * 已核对与本仓库既有样式（首页全息卡 .card、友链 #links、fold_toc 等）无冲突。
 * 新增 .toc-collapsed / .toc-fold-caret 供本仓库的 toc_index.js 使用。
 */

:root {
    --toc-plugin-title-bg: rgba(0, 0, 0, 0.05);
    --toc-plugin-button-hover: rgba(0, 0, 0, 0.1);
    --toc-plugin-border: rgba(0, 0, 0, 0.15);
}
[data-md-color-scheme="slate"] {
    --toc-plugin-title-bg: rgba(255, 255, 255, 0.05);
    --toc-plugin-button-hover: rgba(255, 255, 255, 0.1);
    --toc-plugin-border: rgba(255, 255, 255, 0.15);
}

.index-item-wrapper {
    border: 1px solid var(--toc-plugin-border);
    border-radius: 6px;
    overflow: hidden;
}
.title-wrapper {
    padding: 10px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--toc-plugin-title-bg);
}
.title-wrapper:not(:first-child) {
    border-top: 1px solid var(--toc-plugin-border);
}
.title-wrapper button.toc-fold-btn {
    font-size: 1.12em;
    color: var(--md-typeset-color);
    display: flex;
    align-items: center;
    padding: 3px 8px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 6px;
}
.title-wrapper button.toc-fold-btn:hover:not(:active) {
    background-color: var(--toc-plugin-button-hover);
}
.toc-fold-caret {
    margin-right: 4px;
    font-size: 0.8em;
    display: inline-flex;
    transition: transform 0.2s ease;
}

/* 折叠：JS 切换 .toc-collapsed */
.content-item-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.content-item-wrapper.toc-collapsed {
    /* !important 用于压过 Material 的 `.md-typeset ul:not([hidden])`（更高特异性）——
       该 TOC 位于 .md-typeset 内容区内，故必须显式提权，否则折叠不生效。 */
    display: none !important;
}
.content-item-wrapper li {
    display: grid;
    grid-template:
        "status primary metadata actions" auto
        "status main-content metadata actions" auto
        / min-content minmax(7em, 1fr) minmax(0px, max-content) minmax(8em, max-content);
    gap: 4px;
    margin-left: 0 !important;
    margin-bottom: 0 !important;
    padding: 6px 14px;
}
.content-item-wrapper li:not(:last-child) {
    border-bottom: 1px solid var(--toc-plugin-border);
}

.item-primary { grid-area: primary; padding-top: 4px; }
.item-primary a { color: var(--md-typeset-color); }
.item-status { grid-area: status; padding-left: 4px; padding-right: 8px; }
.item-main-content {
    grid-area: main-content;
    font-size: 0.8em;
    margin-top: -3px;
    padding-bottom: 3px;
    opacity: 0.6;
}
.item-metadata {
    grid-area: metadata;
    display: flex;
    align-items: center;
    padding-right: 4px;
}
.item-actions, .item-lock {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 0.9em;
    opacity: 0.7;
    white-space: nowrap;
}

.note-tag, .lab-tag {
    border-radius: 0.9em;
    font-size: 0.9em;
    padding: 0px 8px;
    height: fit-content;
    align-self: center;
}
.note-tag { border: 1px solid #e6ad5b; color: #e6ad5b; }
.note-tag::before { content: "课程笔记"; }
.lab-tag { border: 1px solid #3f6ec6; color: #3f6ec6; margin-left: 4px; }
.lab-tag::before { content: "实验报告"; }

@media screen and (max-width: 510px) {
    .note-tag, .lab-tag { padding: 0 4px; }
    .note-tag::before { content: "笔记"; }
    .lab-tag::before { content: "实验"; }
    .content-item-wrapper li {
        grid-template:
            "status primary metadata" auto
            "status main-content actions" auto
            / min-content minmax(5em, 1fr) minmax(0px, max-content);
    }
    .item-actions { justify-content: flex-start; }
}
