/* =========================================================================
   VAN 子主题 · 全站基础层级（v1.12 新增）
   -------------------------------------------------------------------------
   最小侵入三件事：
     ① 语义令牌 --van-* 在全站可见（:root 级；双份定义支持亮 / 暗）
     ② 正文字重基线统一为 400
     ③ 字号-字重阶梯以 --van-fs-* 变量形式提供给全站组件
   约束：
     · 不写任何 width / margin / padding / display —— 不做布局级改动；
     · 不覆盖父主题的全局标题字号 —— 避免影响详情页 / 分类页既有排版，
       全局“标题阶梯”以 --van-fs-* 变量提供，由具体组件按需引用；
     · 铁律：不硬编码颜色，不引用 --ri-gray-* 作文字 / 面色。
   本文件整段可删除以回退。
   Version: 1.76
   ========================================================================= */

:root {
    /* 语义色（浅色模式） */
    --van-bg: #f5f6f8;
    --van-card: #fff;
    --van-soft: var(--ri-gray-100, #f8f9fb);
    --van-line: var(--ri-gray-100, #f8f9fb);
    --van-title: var(--ri-gray-800, #1a1c23);
    --van-strong: var(--ri-gray-700, #2d3039);
    --van-text: var(--ri-gray-600, #5d616e);
    --van-muted: #616875;

    /* 语义色（v1.12 新增） */
    --van-accent: #12B981;
    --van-accent-weak: rgba(18, 185, 129, .10);
    --van-accent-strong: #0a5c41;
    --van-accent-ink: #04150f;
    --van-cta: #FF6A3D;
    --van-cta-ink: #1a1c23;
    --van-glow: transparent;
    --van-on-media: #fff;                          /* 与主题无关，双份同值 */
    --van-scrim: rgba(12, 14, 18, .62);
    --van-hairline: 0 0 0 rgba(255, 255, 255, 0);

    /* 字号-字重阶梯（§3.1），供全站组件引用 */
    --van-fs-display: clamp(26px, 3.4vw, 40px);
    --van-fs-h1: clamp(22px, 2.2vw, 28px);
    --van-fs-h2: clamp(18px, 1.6vw, 20px);
    --van-fs-card: 16px;
    --van-fs-body: 14px;
    --van-fs-meta: 12.5px;
    --van-fs-cap: 12.5px;                  /* 与 Meta 合并，消除 11px 伪层级 */

    /* 形状 / 动效令牌（v1.76 补）
       原来这三个只写在 home-modules.css 的 :root 里，而那个文件**只在首页入队**
       （functions.php 里挂在首页分支下）。本文件是全站基础层，footer 的 pill 圆角
       （下方 :180）与链接过渡（:172）在文章页/分类页/页面模板上会因为变量未定义而失效 ——
       圆角退化直角、transition 整条作废。此处补一份同值定义补齐全站可见性；
       首页上后加载的 home-modules.css 会用同样的值覆盖，视觉结果一致。 */
    --van-pill: 999px;
    --van-dur: .35s;
    --van-ease: cubic-bezier(.215, .61, .355, 1);
}

[data-bs-theme="dark"] {
    --van-bg: #0e1014;
    --van-card: #21242b;
    --van-soft: rgba(255, 255, 255, .07);
    --van-line: var(--ri-border-color, rgba(255, 255, 255, .08));
    --van-title: var(--ri-emphasis-color, #fff);
    --van-strong: var(--ri-emphasis-color, #f0f1f5);
    --van-text: var(--ri-body-color, #b0b5bd);
    /* v1.12：此处**故意不用** var(--ri-secondary-color, ...)：父主题在暗色下已定义该变量
       且值就是半透明的 rgba(176,181,189,.75)，叠在 --van-soft 上实测仅约 4.47，压线。
       改用不透明字面值，实测约 5.2:1。 */
    --van-muted: #9aa0ab;

    --van-accent: #2FE0A8;
    --van-accent-weak: rgba(47, 224, 168, .14);
    --van-accent-strong: #2FE0A8;
    --van-accent-ink: #04150f;
    --van-cta: #FF7A45;
    --van-cta-ink: #1a1c23;
    --van-glow: var(--van-accent);
    --van-on-media: #fff;
    --van-scrim: rgba(8, 10, 13, .66);
    --van-hairline: inset 0 1px 0 rgba(255, 255, 255, .04);
}

/* 正文字重基线（不改字号，避免把父主题 15px 正文改小 / 影响其它页） */
body {
    font-weight: 400;
}

/* =========================================================================
   v1.16 移动端底部 TabBar：父主题在 ≤767.98px 隐藏右下角 .rollbar 浮窗，
   这里同断点把它反向改造成 App 式底部菜单（首页/用户中心/更新记录/帮助中心）。
   结构是父主题 DOM，本文件只做样式接管，不注入任何新节点；
   当前页高亮类 van-tab-active 由 assets/js/tabbar.js 写入。
   ========================================================================= */
@media (max-width: 767.98px) {
    /* ⚠️ 实测教训：父主题的隐藏规则与本表同为 .rollbar 特异性且后加载，
       同特异性会输 -> 全部加 body 前缀提一档（body .rollbar = 0,1,1 必胜） */
    body .rollbar {
        display: block !important;
        right: 0;
        left: 0;
        bottom: 0;
        width: auto;
        opacity: 1;
        visibility: visible;
        transition: none;
    }
    body .rollbar .actions {
        display: flex;
        width: 100%;
        border-radius: 0;
        overflow: visible;
        box-shadow: 0 -6px 20px rgba(16, 24, 40, .08);
        background: var(--van-card);
    }
    body .rollbar .actions li {
        flex: 1 1 0;
        min-width: 0;
        background: var(--van-card);
        border-right: 1px solid var(--van-line);
    }
    body .rollbar .actions li:last-child { border-right: 0; }
    body .rollbar .actions li > a {
        display: flex;
        width: 100%;            /* 实测：a 默认收缩到内容宽 44px，文字被挤折行 */
        flex-direction: column;
        align-items: center;
        gap: 3px;
        padding: 9px 0 calc(9px + env(safe-area-inset-bottom, 0px));
        border-bottom: 0;
        color: var(--van-muted);
    }
    body .rollbar .actions li > a > i {
        font-size: 20px;
        margin: 0;
        line-height: 1;
    }
    body .rollbar .actions li > a > span {
        font-size: 11px;
        letter-spacing: 0;
        padding: 0;
        margin: 0;
        line-height: 1.2;
        white-space: nowrap;
        color: inherit;
    }
    /* 触摸反馈 + 当前页高亮 */
    body .rollbar .actions li > a:active { color: var(--van-accent-strong); }
    body .rollbar .actions li.van-tab-active > a { color: var(--van-accent-strong); }
    /* 让页面底部内容不被 TabBar 遮挡 */
    body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }

    [data-bs-theme="dark"] body .rollbar .actions {
        box-shadow: 0 -6px 20px rgba(0, 0, 0, .5);
    }
}

/* =========================================================================
   v1.17 ① 大屏浮窗 hover：父主题蓝 #3b6ff5 -> 欢哥指定 #2FE0A8
   （只影响 ≥768px 的右下浮窗；小屏 TabBar 不受影响）
   ========================================================================= */
@media (min-width: 768px) {
    body .rollbar .actions li:hover a,
    body .rollbar .actions li:hover a > i { color: #2FE0A8; }
}

/* =========================================================================
   v1.19 页尾 footer 可见化改版（v1.17 版改动太轻用户看不出）。
   仍然纯样式接管、零 DOM 改动：logo/简介/快速导航/二维码/声明/版权全保留。
   变化点：① 背景与页面底融合+分隔线可见 ② 快速导航 pill 化（同 last-posts
   分类按钮风格）③ 简介/声明/版权弱化拉开层级 ④ 全链接 hover 青绿。
   ========================================================================= */
footer.site-footer {
    background: var(--van-bg);
    border-top: 1px solid rgba(16, 24, 40, .08);
}
[data-bs-theme="dark"] footer.site-footer {
    background: #21242b;
    border-top-color: rgba(255, 255, 255, .08);
}
footer.site-footer a { transition: color var(--van-dur) var(--van-ease), background var(--van-dur) var(--van-ease); }
footer.site-footer a:hover,
footer.site-footer a:focus { color: var(--van-accent-strong); text-decoration: none; }
/* 快速导航 -> 药丸 pill（与首页分类按钮同款视觉语言） */
footer.site-footer .widget-links a {
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border-radius: var(--van-pill);
    background: var(--van-soft);
    color: var(--van-text);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}
footer.site-footer .widget-links a:hover {
    background: var(--van-accent-weak);
    color: var(--van-accent-strong);
}
/* 简介 / 声明 / 版权 / 「手机快速访问」：统一弱化，拉开与导航的层级 */
footer.site-footer .small,
footer.site-footer .footer-text-wrapper,
footer.site-footer .footer-p { color: var(--van-muted); line-height: 1.7; }
footer.site-footer .footer-text-wrapper a { color: var(--van-text); }
footer.site-footer .footer-text-wrapper a:hover { color: var(--van-accent-strong); }
/* 版权行与声明之间留出呼吸（原两行贴死）。
   v1.22：.footer-text-large 从本规则移除——它的最终 margin-top 由 footer.php
   内联样式（全站生效）统一控制，此处再写 4px 会以更高特异性覆盖内联 -60px，
   导致首页声明行与导航行之间出现约 75px 空白带（v1.21 遗留问题）。 */
footer.site-footer .footer-text-small > div + div { margin-top: 4px; }
/* v1.26：大屏声明块改两行固定结构（版权在上、声明在下），行距与小屏版一致 */
footer.site-footer .footer-text-large > div + div { margin-top: 4px; }

/* =========================================================================
   v1.18 回到顶部按钮：父主题写死蓝底 #3b6ff5（亮暗同蓝、hover 蓝光晕）
   -> 底 #2FE0A8（欢哥指定）；箭头改深色（白箭头压在 2FE0A8 上对比仅 1.9:1）；
   hover 光晕同步换色。body 前缀提一档特异性，压过父主题亮/暗两套规则。
   ========================================================================= */
body .back-top { background: #2FE0A8; }
body .back-top i { color: #04150f; }
body .back-top:hover {
    background: #2FE0A8;
    box-shadow: 0 8px 24px rgba(47, 224, 168, .45);
}
[data-bs-theme="dark"] body .back-top { background: #2FE0A8; }
[data-bs-theme="dark"] body .back-top i { color: #04150f; }

/* =========================================================================
   v1.21 友链行排版：并入页尾体系（分隔线 + 统一字号色 + pill 触感 + 绿色入口）
   inline 旧样式已在 links.php 移除，全部由此接管。全站显示。
   ========================================================================= */
footer.site-footer .van-footer-links {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(16, 24, 40, .06);
    font-size: 13.5px;
    text-align: left;
}
[data-bs-theme="dark"] footer.site-footer .van-footer-links {
    border-top-color: rgba(255, 255, 255, .08);
}
/* v1.26：声明块（两行固定：版权上/声明下）底部与「手机快速访问」底部对齐——
   探针校准，1400px 恰为声明行折行临界点：
   ≥1400px 声明 1 行（块高 46px）-> -42px；992~1399px 折成 2 行（块高 66px）-> -62px。
   六宽度（1024/1280/1366/1400/1680/1920）底差全为 0。base.css 全站加载 = 唯一权威来源，
   footer.php 内联不再写 margin（v1.22 教训：同属性双来源必然打架）。 */
@media (min-width: 992px) and (max-width: 1399.98px) {
    footer.site-footer .footer-text-large { margin-top: -62px; }
}
@media (min-width: 1400px) {
    footer.site-footer .footer-text-large { margin-top: -42px; }
}
/* 友链分隔线贴紧对齐基线下 4px；<992px 二维码块隐藏，维持 14px 不变 */
@media (min-width: 992px) {
    footer.site-footer .van-footer-links { margin-top: 4px; }
}
footer.site-footer .van-footer-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 0;
}
footer.site-footer .van-footer-links li { display: inline-flex; align-items: center; }
footer.site-footer .van-footer-links li + li::before {
    content: "";
    width: 1px;
    height: 11px;
    margin: 0 8px;
    background: var(--van-line, #e9ebef);
}
footer.site-footer .van-footer-links .van-fl-label {
    font-weight: 600;
    color: var(--van-accent-strong, #0a5c41); /* v1.27：「友情链接：」标签改主题绿，与右侧「＋ 自助申请友链」入口呼应 */
    margin-right: 4px;
}
footer.site-footer .van-footer-links .van-fl-label::before { display: none; }
footer.site-footer .van-footer-links li:first-child::before { display: none; }
footer.site-footer .van-footer-links a {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: 6px;
    color: var(--van-text, #5d616e);
    text-decoration: none;
    transition: color var(--van-dur, .35s) var(--van-ease, cubic-bezier(.215,.61,.355,1)), background var(--van-dur, .35s) var(--van-ease, cubic-bezier(.215,.61,.355,1));
}
footer.site-footer .van-footer-links a:hover {
    color: var(--van-accent-strong, #0a5c41);
    background: var(--van-accent-weak, rgba(18,185,129,.10));
    text-decoration: none;
}
/* 自助申请入口：固定主题绿（后台颜色字段已停用） */
footer.site-footer .van-footer-links a.van-blink-entry {
    color: var(--van-accent-strong, #0a5c41);
    font-weight: 600;
    margin-left: 6px;
}
footer.site-footer .van-footer-links a.van-blink-entry:hover {
    color: var(--van-accent-strong, #0a5c41);
}

/* =========================================================================
   正文自动增强块（.rip5v2-enhance）· v1.71 新增
   -------------------------------------------------------------------------
   采集插件（wp-auto-collect-publish-v2 v2.14.0）会在正文**末尾**追加一段
   <section class="rip5v2-enhance"> 包裹的「常见问题 / 导读」，用于降低整站同质感。
   这里只做"读得舒服"的最小样式：
     · 与正文之间用一条极浅的主题绿分隔；
     · 问题（h3）加粗用 --van-strong，答案（p）用 --van-text；
     · 不写任何 width / margin 横向值 —— 不做布局级改动，不覆盖父主题正文排版；
     · 不写死颜色、不用伪元素（历史踩坑：玻璃态伪元素在部分容器里出过方块伪影）。
   本段整段可删除以回退（删掉只是回到父主题默认正文样式）。
   ========================================================================= */
.rip5v2-enhance {
    margin-top: 26px;
    padding-top: 16px;
    border-top: 1px solid var(--van-accent-weak, rgba(18, 185, 129, .10));
}
.rip5v2-enhance > h3 {
    margin: 18px 0 6px;
    font-size: var(--van-fs-card, 16px);
    font-weight: 600;
    line-height: 1.5;
    color: var(--van-strong, #2d3039);
}
.rip5v2-enhance > h3:first-child {
    margin-top: 2px;
}
.rip5v2-enhance > p {
    margin: 0 0 4px;
    font-size: var(--van-fs-body, 14px);
    line-height: 1.85;
    color: var(--van-text, #5d616e);
}
