/* ==============================
 * AI Series Publisher Frontend
 * DUX theme adaptive frontend style
 * v1.0.11
 * ============================== */

.aisp-series-index,
.aisp-series-nav {
    --aisp-main: var(--tb--main, #007bff);
    --aisp-base: var(--tb--base, #333);
    --aisp-muted: var(--tb--gray, #888);
    --aisp-card-bg: var(--tb--white, #fff);
    --aisp-soft-bg: var(--tb--tint, #fbfbfb);
    --aisp-body-bg: var(--tb--bdbg, #f4f4f4);
    --aisp-line: var(--tb--line, rgba(0, 0, 0, .08));
    --aisp-radius: 6px;
    --aisp-shadow: 0 1px 5px rgba(0, 0, 0, .04);
    margin: 24px 0;
    padding: 20px 22px;
    background: var(--aisp-card-bg);
    border: 1px solid var(--aisp-line);
    border-radius: var(--aisp-radius);
    box-shadow: var(--aisp-shadow);
    color: var(--aisp-base);
    box-sizing: border-box;
    clear: both;
}

.aisp-series-index *,
.aisp-series-nav * {
    box-sizing: border-box;
}

/* DUX article-content 会给正文 a 加蓝色和下划线，这里仅覆盖插件内部链接 */
.aisp-series-index a,
.aisp-series-index a:visited,
.aisp-series-nav a,
.aisp-series-nav a:visited,
.article-content .aisp-series-index a,
.article-content .aisp-series-index a:visited,
.article-content .aisp-series-nav a,
.article-content .aisp-series-nav a:visited,
.entry-content .aisp-series-index a,
.entry-content .aisp-series-nav a,
.post-content .aisp-series-index a,
.post-content .aisp-series-nav a {
    color: var(--aisp-main) !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.aisp-series-index a:hover,
.aisp-series-nav a:hover,
.article-content .aisp-series-index a:hover,
.article-content .aisp-series-nav a:hover,
.entry-content .aisp-series-index a:hover,
.entry-content .aisp-series-nav a:hover,
.post-content .aisp-series-index a:hover,
.post-content .aisp-series-nav a:hover {
    color: #ff5e52 !important;
    text-decoration: none !important;
}

/* 覆盖 DUX / dstyle 对 .article-content h2 的负边距、背景、左边框影响 */
.aisp-series-index h2,
.container .article-content .aisp-series-index h2,
.article-content .aisp-series-index h2,
.entry-content .aisp-series-index h2,
.post-content .aisp-series-index h2 {
    position: relative !important;
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 0 0 16px !important;
    border: 0 !important;
    border-left: 4px solid var(--aisp-main) !important;
    background: transparent !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    color: var(--aisp-base) !important;
}

.aisp-series-index h2::before,
.container .article-content .aisp-series-index h2::before,
.article-content .aisp-series-index h2::before,
.entry-content .aisp-series-index h2::before,
.post-content .aisp-series-index h2::before {
    content: none !important;
    display: none !important;
}

.aisp-series-index > p,
.article-content .aisp-series-index > p,
.entry-content .aisp-series-index > p,
.post-content .aisp-series-index > p {
    margin: 0 0 18px !important;
    padding: 12px 14px;
    background: var(--aisp-soft-bg);
    border: 1px solid var(--aisp-line);
    border-radius: var(--aisp-radius);
    color: var(--aisp-muted) !important;
    font-size: 14px;
    line-height: 1.8;
    text-indent: 0 !important;
}

.aisp-series-index ol,
.article-content .aisp-series-index ol,
.entry-content .aisp-series-index ol,
.post-content .aisp-series-index ol {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: aisp-series-counter;
}

.aisp-series-index li,
.article-content .aisp-series-index li,
.entry-content .aisp-series-index li,
.post-content .aisp-series-index li {
    position: relative;
    counter-increment: aisp-series-counter;
    list-style: none !important;
    margin: 0 0 10px !important;
    padding: 12px 14px 12px 50px !important;
    min-height: 48px;
    background: var(--aisp-soft-bg);
    border: 1px solid var(--aisp-line);
    border-radius: var(--aisp-radius);
    color: var(--aisp-base);
    line-height: 1.6;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.aisp-series-index li::before,
.article-content .aisp-series-index li::before,
.entry-content .aisp-series-index li::before,
.post-content .aisp-series-index li::before {
    content: counter(aisp-series-counter);
    position: absolute;
    left: 14px;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    line-height: 24px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--aisp-main);
    border-radius: 50%;
}

.aisp-series-index li:hover,
.article-content .aisp-series-index li:hover {
    background: var(--aisp-card-bg);
    border-color: var(--aisp-main);
}

.aisp-series-index li a,
.article-content .aisp-series-index li a,
.entry-content .aisp-series-index li a,
.post-content .aisp-series-index li a {
    display: inline;
    font-weight: 600;
    line-height: 1.6;
}

.aisp-series-index li span,
.article-content .aisp-series-index li span {
    color: var(--aisp-base) !important;
    opacity: .82;
}

.aisp-series-index em,
.article-content .aisp-series-index em {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    color: var(--aisp-muted) !important;
    background: var(--aisp-body-bg);
    border: 1px solid var(--aisp-line);
    border-radius: 999px;
    font-size: 12px;
    font-style: normal;
    vertical-align: middle;
}

/* 文章底部系列导航：参考 DUX article-author / article-nav 的轻卡片风格 */
.aisp-series-nav,
.article-content .aisp-series-nav,
.entry-content .aisp-series-nav,
.post-content .aisp-series-nav {
    margin: 28px 0 0 !important;
    padding: 18px 20px;
    background: var(--aisp-soft-bg);
    border: 1px solid var(--aisp-line);
    border-radius: var(--aisp-radius);
    color: var(--aisp-base);
    box-shadow: none;
    text-indent: 0 !important;
}

.aisp-series-nav p,
.article-content .aisp-series-nav p,
.entry-content .aisp-series-nav p,
.post-content .aisp-series-nav p {
    margin: 0 !important;
    color: var(--aisp-muted) !important;
    line-height: 1.8;
    text-indent: 0 !important;
}

.aisp-series-nav p + p,
.article-content .aisp-series-nav p + p {
    margin-top: 12px !important;
}

.aisp-series-nav strong,
.article-content .aisp-series-nav strong {
    color: var(--aisp-base) !important;
    font-weight: 700;
}

.aisp-series-nav > p:first-child a,
.article-content .aisp-series-nav > p:first-child a,
.entry-content .aisp-series-nav > p:first-child a,
.post-content .aisp-series-nav > p:first-child a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    margin-left: 8px;
    padding: 0 12px;
    color: #fff !important;
    background: var(--aisp-main) !important;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    line-height: 30px;
}

.aisp-series-nav > p:first-child a:hover,
.article-content .aisp-series-nav > p:first-child a:hover {
    color: #fff !important;
    opacity: .88;
}

.aisp-series-nav-links,
.article-content .aisp-series-nav-links {
    padding-top: 12px;
    border-top: 1px dashed var(--aisp-line);
}

.aisp-series-nav-links a,
.article-content .aisp-series-nav-links a,
.entry-content .aisp-series-nav-links a,
.post-content .aisp-series-nav-links a {
    color: var(--aisp-main) !important;
    font-weight: 600;
}

.aisp-series-nav-links a:hover,
.article-content .aisp-series-nav-links a:hover {
    color: #ff5e52 !important;
}

/* DUX 深色模式：DUX 使用 .darking 挂在 html/root 上 */
.darking .aisp-series-index,
.darking .aisp-series-nav {
    --aisp-main: var(--tb--main, #007bff);
    --aisp-base: var(--tb--base, #ccc);
    --aisp-muted: var(--tb--gray, #888);
    --aisp-card-bg: var(--tb--white, #14181b);
    --aisp-soft-bg: var(--tb--tint, #1d2025);
    --aisp-body-bg: var(--tb--bdbg, #0c0f14);
    --aisp-line: var(--tb--line, rgba(255, 255, 255, .12));
    --aisp-shadow: 0 1px 8px rgba(0, 0, 0, .18);
}

/* 兼容非 DUX 主题的常见深色 class */
html.dark .aisp-series-index,
html.dark .aisp-series-nav,
body.dark .aisp-series-index,
body.dark .aisp-series-nav,
body.dark-mode .aisp-series-index,
body.dark-mode .aisp-series-nav,
body.theme-dark .aisp-series-index,
body.theme-dark .aisp-series-nav,
body.night .aisp-series-index,
body.night .aisp-series-nav,
[data-theme="dark"] .aisp-series-index,
[data-theme="dark"] .aisp-series-nav {
    --aisp-base: #d6d6d6;
    --aisp-muted: rgba(255, 255, 255, .66);
    --aisp-card-bg: #161b22;
    --aisp-soft-bg: rgba(255, 255, 255, .045);
    --aisp-body-bg: rgba(255, 255, 255, .06);
    --aisp-line: rgba(255, 255, 255, .10);
    --aisp-shadow: 0 1px 8px rgba(0, 0, 0, .22);
}

@media (max-width: 768px) {
    .aisp-series-index,
    .aisp-series-nav {
        margin: 18px 0;
        padding: 16px;
        border-radius: 0;
    }

    .aisp-series-index h2,
    .container .article-content .aisp-series-index h2,
    .article-content .aisp-series-index h2 {
        font-size: 18px !important;
    }

    .aisp-series-index li,
    .article-content .aisp-series-index li {
        padding: 11px 12px 11px 46px !important;
    }

    .aisp-series-nav > p:first-child a,
    .article-content .aisp-series-nav > p:first-child a {
        margin: 8px 0 0;
    }
}
