/* ==========================================================================
   mywenxue.cn — 老站（帝国CMS / skin/ecms081）视觉风格迁移皮肤
   版本: 1.0   日期: 2026-10-20
   说明: 本文件只做「样式覆写」，不改动主题原始 CSS，便于随时回滚。
   加载顺序: 必须在 assets/vendor/xiaoboy2023.css 之后。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌 —— 全部取自老站 skin/ecms081/css/default.css
   -------------------------------------------------------------------------- */
:root {
    --mw-red:        #F22222;   /* 老站主色：导航条、表头、悬停 */
    --mw-red-dark:   #CC0000;   /* 老站 a:hover */
    --mw-ink:        #222222;   /* 老站正文字色 */
    --mw-ink-2:      #666666;   /* 老站次级文字 */
    --mw-ink-3:      #999999;   /* 老站弱化文字 */
    --mw-link:       #004276;   /* 老站链接色（深蓝） */
    --mw-page-bg:    #EEEEEE;   /* 老站页面底色 */
    --mw-card:       #FFFFFF;   /* 老站内容卡片 */
    --mw-line:       #DDDDDD;   /* 老站分隔线 */
    --mw-line-soft:  #F1F1F1;   /* 老站顶栏下边线 */
    --mw-blue:       #003399;   /* 老站标签按钮蓝 */
    --mw-wrap:       1190px;    /* 老站 #wrap 宽度 */
    --mw-left:       68.50%;    /* 老站 #left 占比 */
    --mw-right:      30.50%;    /* 老站 #right 占比 */
    --mw-font:       "Microsoft YaHei", "微软雅黑", "Hiragino Sans GB",
                     "Heiti SC", "WenQuanYi Micro Hei", Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   2. 全局：底色、字体、链接
   -------------------------------------------------------------------------- */
html { background: var(--mw-page-bg); }

body,
body.custom-background {
    background: var(--mw-page-bg) !important;
    color: var(--mw-ink);
    font-family: var(--mw-font);
    font-size: 14px;
    line-height: 1.7em;
    -webkit-font-smoothing: antialiased;
}

body a,
.context a,
.mainleft a {
    color: var(--mw-link);
    text-decoration: none;
    transition: color .15s linear, background-color .15s linear;
}
body a:hover { color: var(--mw-red-dark); }

::selection { background: var(--mw-red); color: #fff; text-shadow: none; }

/* 容器宽度对齐老站 1190px */
.container {
    max-width: var(--mw-wrap) !important;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   3. 顶部：主容器卡片化（老站 #wrap 白底 + 阴影）
   -------------------------------------------------------------------------- */
#head,
.main-container,
#footer { position: relative; }

/* 整体白卡：包住头/主体/页脚 */
body > .container:nth-of-type(1) { padding-top: 0; }

/* --------------------------------------------------------------------------
   4. 顶部工具栏（老站 #topnav：浅灰分隔线、小字、右侧）
   -------------------------------------------------------------------------- */
.mainbar {
    background: var(--mw-card) !important;
    border-bottom: 1px solid var(--mw-line-soft) !important;
    box-shadow: none !important;
    height: auto !important;
    padding: 5px 0;
}
#topbar { height: auto !important; line-height: 26px; }
#topbar ul.menu,
#toolbar { display: flex; flex-wrap: wrap; gap: 14px; }
#topbar ul.menu > li,
#toolbar > li { list-style: none; }
#topbar ul.menu > li > a,
#toolbar > li > a {
    color: var(--mw-ink) !important;
    font-size: 13px;
    font-weight: 400 !important;
    padding: 0;
    background: none !important;
}
#topbar ul.menu > li > a:hover,
#toolbar > li > a:hover { color: var(--mw-red) !important; }
.web_icons { display: none; }

/* --------------------------------------------------------------------------
   5. Logo 区（老站 #head：左 logo 70px 高 + 右 728px 广告位）
   -------------------------------------------------------------------------- */
#blogname {
    background: var(--mw-card) !important;
    padding: 10px 0 8px !important;
    overflow: hidden;
    box-shadow: none !important;
    border: none !important;
}
#blogname a { display: inline-block; line-height: 0; }
/* 主题原规则会 text-indent:-9999px 把 h1 藏起来，这里复位 */
#blogname h1 {
    text-indent: 0 !important;
    height: auto !important;
    width: auto !important;
    font-size: 26px;
    font-weight: bold;
    color: var(--mw-red);
    line-height: 56px;
    margin: 0;
    display: inline-block;
    letter-spacing: 1px;
}
#blogname img {
    max-height: 56px;
    width: auto !important;
    padding: 0 !important;
    vertical-align: middle;
}
#head .banner { float: right; height: 70px; overflow: hidden; }

/* --------------------------------------------------------------------------
   6. 主导航（老站 #nav：正红底、白字、悬停变黑）
   -------------------------------------------------------------------------- */
.mainmenu {
    background: var(--mw-red) !important;
    box-shadow: none !important;
    margin: 8px 0 10px !important;
    border-radius: 0;
    width: 100% !important;
}
.topnav {
    background: var(--mw-red) !important;
    background-image: none !important;
    height: auto !important;
    min-height: 40px;
    width: 100% !important;
    box-shadow: none !important;
    border-radius: 0;
    padding: 5px 15px !important;
    text-align: left !important;
    position: static !important;
    box-sizing: border-box;
}
.topnav > ul { display: flex; flex-wrap: wrap; align-items: center; }
.topnav > ul > li {
    float: none;
    list-style: none;
    position: relative;
}
.topnav > ul > li > a {
    display: block;
    color: #fff !important;
    font-size: 16px;
    font-weight: 400 !important;
    line-height: 30px;
    padding: 0 10px;
    background: transparent;
}
.topnav > ul > li > a:hover,
.topnav > ul > li.current-menu-item > a,
.topnav > ul > li.current-menu-parent > a,
.topnav > ul > li.current-post-ancestor > a {
    background: var(--mw-ink) !important;
    color: #fff !important;
}
.menu-button { display: none; }

/* 导航右侧补一块，确保红条铺满整行（老站 #nav 是整条红） */
.topnav::after {
    content: "";
    display: block;
    clear: both;
}

/* 侧栏「推荐阅读」缩略图网格（对齐老站 .function ul li .hotimg） */
#sidebar .widget ul li.has-thumb,
#sidebar .widget .imglist li {
    display: inline-block;
    width: 48%;
    vertical-align: top;
    border-bottom: none;
    margin: 0 1% 10px;
    white-space: normal;
}
#sidebar .widget .imglist li a { display: block; }
#sidebar .widget .imglist li p {
    font-size: 13px;
    line-height: 1.5em;
    margin: 4px 0 0;
    color: var(--mw-ink);
    overflow: hidden;
}

/* 二级下拉 */
.topnav > ul > li > ul.sub-menu {
    background: #fff;
    border: 1px solid var(--mw-line);
    min-width: 160px;
    padding: 4px 0;
    box-shadow: 0 3px 10px rgba(0,0,0,.12);
}
.topnav > ul > li > ul.sub-menu a {
    color: var(--mw-ink) !important;
    font-size: 14px;
    padding: 6px 14px;
    display: block;
    font-weight: 400;
}
.topnav > ul > li > ul.sub-menu a:hover {
    background: var(--mw-red);
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   7. 面包屑（老站 #place：14px、28px 行高、左缩进）
   -------------------------------------------------------------------------- */
.subsidiary {
    background: transparent !important;
    min-height: 0 !important;
    margin-bottom: 8px !important;
    box-shadow: none !important;
}
.subsidiary .bulletin {
    font-size: 14px;
    line-height: 28px;
    color: var(--mw-ink);
    padding-left: 4px;
    background: transparent !important;
}
.subsidiary .bulletin a { color: var(--mw-ink); }
.subsidiary .bulletin a:hover { color: var(--mw-red); }

/* --------------------------------------------------------------------------
   8. 两栏布局（老站 #left 68.5% / #right 30.5%）
   -------------------------------------------------------------------------- */
.main-container {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.mainleft {
    width: var(--mw-left) !important;
    float: none !important;
    flex: 1 1 auto;
    min-width: 0;
}
#sidebar {
    width: var(--mw-right) !important;
    float: none !important;
    margin-left: 0 !important;
    flex: 0 0 var(--mw-right);
    max-width: var(--mw-right);
}

/* --------------------------------------------------------------------------
   9. 文章卡片（老站 #info：白底、无圆角、轻阴影）
   -------------------------------------------------------------------------- */
.article_container.box,
.article_container {
    background: var(--mw-card) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: 0 0 8px rgba(0,0,0,.10) !important;
    padding: 18px 20px !important;
    margin-bottom: 12px;
}

/* 标题（老站 #title h1）—— 必须清掉主题的 border-bottom:#09f 蓝色粗线 */
.article_container h1,
.single h1,
#content h1 {
    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1.4em !important;
    color: var(--mw-ink) !important;
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border: none !important;
    border-bottom: 1px solid var(--mw-line) !important;
    text-align: left;
}

/* 文章信息条（老站 #title p：发布时间灰字，无蓝色粗线） */
.article_info {
    border-top: none !important;
    border-bottom: 1px solid var(--mw-line) !important;
    padding: 0 0 8px !important;
    margin-bottom: 14px;
    color: var(--mw-ink-3) !important;
    font-size: 13px !important;
    line-height: 24px;
}
.article_info span { margin-right: 14px; }
.article_info a { color: var(--mw-ink-2); }
.article_info a:hover { color: var(--mw-red); }
.article_info i,
.article_info .info_ico { font-style: normal; }

/* 正文 */
.context,
.context p,
.context a,
.context pre {
    font-size: 15px !important;
    line-height: 1.9em !important;
    color: var(--mw-ink);
}
.context p { margin: 0 0 10px; }
#post_content { word-break: break-word; }

/* --------------------------------------------------------------------------
   10. 正文表格（老站成语表格：灰底表头 + 浅灰正文，居中）
   注意：正文表格实际位于 .context 内的 .entry-content 中，与 #post_content 同级，
   必须同时覆盖 #post_content 与 .entry-content、以及桌面/移动两套选择器。
   -------------------------------------------------------------------------- */
#post_content table,
.context .entry-content table,
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 12px 0;
    font-size: 15px;
    line-height: 1.7em;
    background: #fff;
    table-layout: fixed;
    word-break: break-word;
}
#post_content table th,
.context .entry-content table th,
.entry-content table th {
    background: #F2F2F2;
    color: var(--mw-ink);
    font-weight: bold;
    border: 1px solid var(--mw-line);
    padding: 9px 12px;
    text-align: center;
    width: 24%;
    vertical-align: middle;
    word-break: break-word;
}
#post_content table td,
.context .entry-content table td,
.entry-content table td {
    border: 1px solid var(--mw-line);
    padding: 9px 12px;
    text-align: center;
    vertical-align: middle;
    color: #333;
    word-break: break-word;
}
#post_content table tr:nth-child(even) td { background: #FCFCFC; }
#post_content table th + td,
#post_content table td + th { width: auto; }

/* --------------------------------------------------------------------------
   11. 标签（老站 .tags a：灰字，悬停红底白字）
   -------------------------------------------------------------------------- */
.article_tags {
    border-top: 1px solid var(--mw-line-soft);
    margin-top: 18px;
    padding-top: 12px;
    text-align: left !important;
    line-height: 2em !important;
}
.article_tags .tagcloud { color: var(--mw-ink-3); font-size: 13px; }
.article_tags a,
.context .article_tags a {
    display: inline-block;
    color: var(--mw-ink-3) !important;
    background: #F5F5F5;
    border: 1px solid var(--mw-line);
    padding: 2px 9px;
    margin: 0 4px 4px 0;
    font-size: 13px;
    line-height: 20px;
    border-radius: 0;
}
.article_tags a:hover {
    background: var(--mw-red) !important;
    border-color: var(--mw-red) !important;
    color: #fff !important;
}

/* --------------------------------------------------------------------------
   12. 上一篇 / 下一篇（老站 .nav-single）
   -------------------------------------------------------------------------- */
.post-navigation {
    background: var(--mw-card);
    box-shadow: 0 0 8px rgba(0,0,0,.10);
    padding: 14px 20px !important;
    margin: 0 0 12px;
    border-radius: 0;
    display: flex;
    gap: 16px;
}
.post-navigation .post-previous,
.post-navigation .post-next {
    width: 50% !important;
    float: none !important;
    font-size: 14px;
    line-height: 1.6em;
}
.post-navigation .post-next { text-align: right; }
.post-navigation a { color: var(--mw-link); }
.post-navigation a:hover { color: var(--mw-red); }

/* --------------------------------------------------------------------------
   13. 侧栏（老站 #right .function：白底块、标题左侧红色竖条）
   -------------------------------------------------------------------------- */
#sidebar .widget,
#sidebar-follow .widget,
#sidebar dl.function {
    background: var(--mw-card);
    border-radius: 0 !important;
    box-shadow: 0 0 8px rgba(0,0,0,.10) !important;
    margin-bottom: 12px !important;
    padding: 0 0 10px !important;
    overflow: hidden;
}
#sidebar .widget h3,
#sidebar .widget .widget-title,
#sidebar-follow .widget h3,
#sidebar dl.function dt,
#sidebar dl.function_t {
    background: #FAFAFA !important;
    border: none !important;
    border-bottom: 1px solid var(--mw-line) !important;
    border-left: 4px solid var(--mw-red) !important;
    color: var(--mw-ink) !important;
    font-size: 15px !important;
    font-weight: bold !important;
    height: auto !important;
    line-height: 40px !important;
    margin: 0 0 8px !important;
    padding: 0 12px !important;
    text-transform: none;
}
#sidebar .widget span { color: var(--mw-ink-3) !important; }

#sidebar .widget ul { padding: 0 12px; }
#sidebar .widget ul li {
    border-bottom: 1px dashed var(--mw-line-soft);
    font-size: 14px;
    line-height: 2.1em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
#sidebar .widget ul li:last-child { border-bottom: none; }
#sidebar .widget ul li a { color: var(--mw-ink); display: inline; }
#sidebar .widget ul li a:hover { color: var(--mw-red); }
#sidebar .widget ul li .tag-count,
#sidebar .widget ul li span { color: var(--mw-ink-3); font-size: 12px; }

/* 侧栏搜索框（老站 #ss） */
#sidebar .widget_search form,
#sidebar .search-form { display: flex; padding: 10px 12px; gap: 6px; }
#sidebar input[type="text"],
#sidebar input[type="search"] {
    flex: 1;
    height: 32px;
    border: 1px solid var(--mw-line);
    border-radius: 0;
    padding: 0 10px;
    font-size: 13px;
    color: var(--mw-ink);
    background: #fff;
}
#sidebar input[type="submit"],
#sidebar button[type="submit"] {
    height: 32px;
    padding: 0 16px;
    background: var(--mw-red);
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 13px;
    cursor: pointer;
}
#sidebar input[type="submit"]:hover,
#sidebar button[type="submit"]:hover { background: var(--mw-ink); }

/* 侧栏带缩略图的列表（老站 .hotimg） */
#sidebar .widget ul li img {
    width: 100%;
    height: auto;
    display: block;
    border: 1px solid var(--mw-line-soft);
}

/* --------------------------------------------------------------------------
   14. 首页列表（对齐老站 #lieb：条目分隔线、标题悬停红底）
   -------------------------------------------------------------------------- */
#post_container { padding: 0 !important; }
#post_container li,
#post_container li.box {
    background: var(--mw-card) !important;
    border: none !important;
    border-bottom: 1px solid var(--mw-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 14px 20px !important;
    margin: 0 !important;
}
#post_container li:hover { background: #FCFCFC !important; }
#post_container li h2,
#post_container li h2 a {
    font-size: 17px !important;
    font-weight: bold !important;
    color: var(--mw-ink) !important;
    line-height: 1.5em !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    display: inline;
    background: none !important;
}
#post_container li h2 a:hover {
    color: #fff !important;
    background: var(--mw-red) !important;
    padding: 1px 5px;
}
#post_container li .entry_post,
#post_container li .article .entry_post {
    font-size: 14px !important;
    line-height: 1.8em !important;
    color: var(--mw-ink-2) !important;
    margin: 6px 0 !important;
}
#post_container li .info {
    color: var(--mw-ink-3) !important;
    font-size: 12px !important;
    line-height: 24px;
    border-top: 1px dashed var(--mw-line-soft);
    padding-top: 6px;
    margin-top: 6px;
}
#post_container li .info i { font-style: normal; }

/* 分页（老站 .pagebar：蓝色圆角小块） */
.pagination,
.pagebar,
#pagination {
    text-align: center;
    padding: 16px 0;
    background: var(--mw-card);
    box-shadow: 0 0 8px rgba(0,0,0,.10);
    margin-bottom: 12px;
}
.pagination a,
.pagination span.current,
.pagebar a,
.pagebar span {
    display: inline-block;
    min-width: 32px;
    height: 32px;
    line-height: 30px;
    padding: 0 8px;
    margin: 0 3px;
    border: 1px solid var(--mw-line);
    background: #fff;
    color: var(--mw-ink);
    font-size: 13px;
    border-radius: 4px;
    text-align: center;
}
.pagination a:hover,
.pagebar a:hover {
    background: var(--mw-blue);
    border-color: var(--mw-blue);
    color: #fff;
}
.pagination span.current,
.pagebar span.current {
    background: var(--mw-blue);
    border-color: var(--mw-blue);
    color: #fff;
    font-weight: bold;
}

/* --------------------------------------------------------------------------
   15. 页脚（老站 #footer：深色、小字、居中版权）
   -------------------------------------------------------------------------- */
#footer {
    background: #222 !important;
    border-top: 3px solid var(--mw-red) !important;
    color: #999 !important;
    font-size: 12px !important;
    line-height: 2em;
    margin-top: 20px !important;
    padding: 18px 0 16px !important;
}
#footer a { color: #bbb !important; }
#footer a:hover { color: #fff !important; }
#footer .copyright p { margin: 0 0 4px; }
#footer .third { float: right; }
#footer .footnav ul { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 8px; }
#footer .footnav ul li { list-style: none; }

/* 回到顶部（老站 .cd-top 风格，改为红色） */
#tbox a {
    background: var(--mw-red) !important;
    border-radius: 2px !important;
    opacity: .85;
}
#tbox a:hover { background: var(--mw-ink) !important; opacity: 1; }

/* --------------------------------------------------------------------------
   16. 评论区
   -------------------------------------------------------------------------- */
#comments_box,
.commentlist,
#comments {
    background: var(--mw-card);
    box-shadow: 0 0 8px rgba(0,0,0,.10);
    padding: 18px 20px;
    margin-bottom: 12px;
}
#comments_box h3,
#comments_box .comment-title {
    font-size: 15px;
    font-weight: bold;
    color: var(--mw-ink);
    border-left: 4px solid var(--mw-red);
    padding-left: 10px;
    line-height: 24px;
    margin: 0 0 12px;
}
.commentlist li { border-bottom: 1px dashed var(--mw-line-soft); padding: 10px 0; }

/* --------------------------------------------------------------------------
   17. 整体白卡（还原老站 #wrap：1190px 白底 + 外阴影 + 最小高度）
       做法：给 body 铺一层「居中白卡」背景，无需改模板结构
   -------------------------------------------------------------------------- */
html {
    background: var(--mw-page-bg) !important;
    /* 老站 #wrap 的白色承载层：水平居中、1190 宽、带外阴影 */
    background-image: linear-gradient(
        to right,
        transparent 0,
        transparent calc(50% - var(--mw-wrap) / 2 - 10px),
        #fff calc(50% - var(--mw-wrap) / 2 - 10px),
        #fff calc(50% + var(--mw-wrap) / 2 + 10px),
        transparent calc(50% + var(--mw-wrap) / 2 + 10px),
        transparent 100%
    ) !important;
    background-attachment: local;
    min-height: 100%;
}
body.custom-background,
body {
    background: transparent !important;
    min-height: 100vh;
}

/* 底部空白消除：主容器撑满，页脚贴底 */
.main-container { min-height: 0; }
#head .container { padding-top: 0; }

/* 顶部工具栏上方留白（老站 #wrap 有 10px 内边距感） */
.mainbar.row { margin-top: 0; }
#head { padding-top: 6px; }

/* --------------------------------------------------------------------------
   18. 移动端适配
   -------------------------------------------------------------------------- */
@media only screen and (max-width: 1210px) {
    html {
        background-image: none !important;
        background: var(--mw-page-bg) !important;
    }
    body {
        background: var(--mw-page-bg) !important;
    }
}

@media only screen and (max-width: 980px) {
    .main-container { display: block; }
    .mainleft, #sidebar {
        width: 100% !important;
        flex: none !important;
        max-width: 100% !important;
    }
    .container { padding: 0 8px; }
    #post_content table th { width: auto; }
}

@media only screen and (max-width: 640px) {
    body { font-size: 14px; }
    .article_container { padding: 14px 12px !important; }
    .article_container h1 { font-size: 20px !important; }
    .topnav { padding: 4px 8px !important; }
    .topnav > ul > li > a { font-size: 15px; padding: 0 7px; }
    #blogname h1 { font-size: 21px; line-height: 44px; }
    #blogname img { max-height: 44px; }

    /* 窄屏表格：4 列中文键值表在 390px 内无法完整容纳，
       改为「容器横向滚动」——内容一字不丢，用户可左右滑动查看 */
    html, body { overflow-x: hidden; width: 100%; }
    .container { padding: 0 8px !important; width: 100% !important; box-sizing: border-box; }
    .main-container, .mainleft { width: 100% !important; max-width: 100% !important; overflow: visible; }

    /* 滚动容器必须放在表格的“父级”上：正文表格在 .entry-content 内 */
    .context { max-width: 100%; }
    .entry-content,
    #post_content {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* 滚动条不压住最后一行 */
        padding-bottom: 4px;
    }
    /* 极细滚动条，避免遮挡内容 */
    .entry-content::-webkit-scrollbar,
    #post_content::-webkit-scrollbar { height: 4px; }
    .entry-content::-webkit-scrollbar-thumb,
    #post_content::-webkit-scrollbar-thumb { background: #CFCFCF; border-radius: 2px; }

    #post_content table,
    .context .entry-content table,
    .entry-content table {
        width: auto !important;
        min-width: 100%;
        max-width: none !important;
        table-layout: auto !important;
        font-size: 13px;
        line-height: 1.55em;
        margin: 10px 0 !important;
        word-break: normal !important;
    }
    /* 4 列键值表（th td th td）需要足够的物理宽度才不折断短词 */
    .entry-content table { min-width: 520px; }
    /* 双列键值表（th + td）在 390px 内可自适应，无需横向滚动 */
    .entry-content table.mw-two-col { min-width: 100% !important; }

    #post_content table th,
    .context .entry-content table th,
    .entry-content table th {
        width: auto !important;
        min-width: 62px !important;
        padding: 7px 6px !important;
        font-size: 12.5px !important;
        white-space: nowrap;
    }
    #post_content table td,
    .context .entry-content table td,
    .entry-content table td {
        padding: 7px 6px !important;
        min-width: 0 !important;
        font-size: 12.5px;
    }
    .entry-content td[style*="text-align"],
    #post_content td[style*="text-align"] { text-align: center !important; }

    .post-navigation { flex-direction: column; padding: 12px !important; }
    .post-navigation .post-previous,
    .post-navigation .post-next { width: 100% !important; text-align: left; }
}

/* ===== skin-v2 (body scoped) begin ===== */
/* ============================================================================
   mywenxue.cn — 内容页现代化皮肤 v2
   ----------------------------------------------------------------------------
   设计基调：纸感阅读（Paper Reading）
     · 暖白纸底 #FBF9F6 + 纯白正文卡，弱化老站灰底红条的压迫感
     · 主色沿用老站中国红 #E23A2E（略降饱和，更适合大面积阅读）
     · 文字用墨灰 #1F1B18，正文 17px / 行高 1.95，长文舒适
     · 关键：正文全部表格由 JS 语义化拆成 div（.mw-sec / .mw-grid / .mw-kv）
   作用范围：内容页正文、侧栏、上下篇、相关推荐、顶部导航
   ========================================================================== */

:root {
    /* —— 色板 —— */
    --v2-red:        #E23A2E;
    --v2-red-deep:   #C0281D;
    --v2-red-wash:   #FDF2F0;
    --v2-ink:        #1F1B18;
    --v2-ink-2:      #57504A;
    --v2-ink-3:      #8C837B;
    --v2-ink-4:      #B3AAA2;
    --v2-paper:      #FBF9F6;
    --v2-card:       #FFFFFF;
    --v2-line:       #EAE4DD;
    --v2-line-soft:  #F4F0EB;
    --v2-wash:       #F7F4F0;
    --v2-gold:       #B8860B;

    /* —— 尺寸 —— */
    --v2-wrap:       1180px;
    --v2-read:       720px;
    --v2-radius:     10px;
    --v2-radius-sm:  6px;

    /* —— 字体 —— */
    --v2-serif:  "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", Georgia, serif;
    --v2-sans:   -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
                 "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", sans-serif;
}

/* ============================================================================
   1. 全局底色 —— 暖白纸感，替换老站的 #EEE 灰底
   ========================================================================== */
html:where(body) {
    background: var(--v2-paper) !important;
    background-image: none !important;
    background-attachment: scroll !important;
}
:where(body) {
    background: transparent !important;
    color: var(--v2-ink);
    font-family: var(--v2-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* .mainmenu 用 100vw 拉通整行，需防止横向溢出 */
    overflow-x: hidden;
}

/* ============================================================================
   2. 顶部导航 —— 白底吸顶 + 细红指示线（重做，去掉红色横条）
   ========================================================================== */

/* 2.1 顶部工具条：极简细条 */
.mainbar {
    background: var(--v2-paper) !important;
    border-bottom: 1px solid var(--v2-line) !important;
}
#topbar { height: 36px !important; line-height: 36px !important; }
#toolbar.menu {
    display: flex !important;
    gap: 2px;
    height: 36px;
    align-items: center;
}
#toolbar.menu > li {
    float: none !important;
    height: auto !important;
    display: inline-block;
}
#toolbar.menu > li > a {
    display: inline-block;
    padding: 0 11px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    color: var(--v2-ink-3) !important;
    background: transparent !important;
    border-radius: 0;
    letter-spacing: .3px;
    transition: color .18s ease;
}
#toolbar.menu > li > a:hover {
    color: var(--v2-red) !important;
    background: transparent !important;
}

/* 2.2 Logo 区：白底，留白舒缓 */
#head { background: var(--v2-card) !important; }
#blogname {
    height: 96px !important;
    display: flex;
    align-items: center;
    background: var(--v2-card) !important;
    text-indent: 0 !important;
}
#blogname a {
    display: inline-flex;
    align-items: center;
    height: 96px !important;
    width: auto !important;
    text-indent: 0 !important;
    background: transparent !important;
}
#blogname img {
    max-height: 60px !important;
    width: auto !important;
    display: block;
    filter: none;
}
#blogname h1 {
    text-indent: 0 !important;
    height: auto !important;
    width: auto !important;
    font-family: var(--v2-serif);
    font-size: 30px !important;
    font-weight: 700;
    color: var(--v2-ink) !important;
    line-height: 96px !important;
    letter-spacing: 2px;
}

/* 主题把 label 和 input 都写死 width:250px，总宽 250+44+边框=316px > 侧栏 296px，
   必须用更高特异性覆写 */
#sidebar .search_site #searchform label,
.search_site #searchform label {
    width: auto !important;
    flex: 1 1 auto !important;
    height: 42px !important;
    min-width: 0 !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}
#sidebar .search_site #searchform .search-s,
.search_site #searchform .search-s {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    box-sizing: border-box !important;
}
#sidebar .search_site #searchform #searchsubmit,
.search_site #searchform #searchsubmit {
    float: none !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 42px !important;
    background: transparent !important;
    color: var(--v2-ink-3) !important;
}
.search_site #searchform #searchsubmit:hover {
    background: var(--v2-red) !important;
    color: #fff !important;
}

/* 2.3 主导航：白底 + 底部细红指示线，去掉整条红底
   .mainmenu 位于 .container（定宽居中）内，用「拉通到视口宽」的技巧铺满：
   width 用 100vw 会因滚动条产生 7px 溢出，改用负 margin 抵到屏幕两侧 */
.mainmenu {
    background: var(--v2-card) !important;
    position: relative !important;
    width: auto !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: calc(50vw - 50%) !important;
    padding-right: calc(50vw - 50%) !important;
    border-bottom: 1px solid var(--v2-line) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .02);
    box-sizing: content-box !important;
    overflow: visible;
}
.topnav {
    position: static !important;
    height: auto !important;
    min-height: 52px;
    background: transparent !important;
    padding: 0 !important;
    display: flex;
    align-items: stretch;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
}
.topnav > ul.menu {
    display: flex !important;
    align-items: stretch;
    gap: 4px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.topnav > ul.menu > li {
    float: none !important;
    display: flex !important;
    align-items: stretch;
    height: auto !important;
    background: transparent !important;
}
.topnav > ul.menu > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 52px !important;
    line-height: 52px !important;
    padding: 0 20px !important;
    font-size: 15.5px !important;
    font-weight: 500;
    color: var(--v2-ink-2) !important;
    background: transparent !important;
    letter-spacing: .5px;
    transition: color .18s ease;
}
/* 悬停 / 当前态：红色细线从中间展开 */
.topnav > ul.menu > li > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background: var(--v2-red);
    transform: translateX(-50%);
    transition: width .22s cubic-bezier(.4, 0, .2, 1);
}
.topnav > ul.menu > li > a:hover,
.topnav > ul.menu > li.current-menu-item > a,
.topnav > ul.menu > li.current-post-ancestor > a,
.topnav > ul.menu > li.current-menu-parent > a {
    color: var(--v2-red) !important;
    background: transparent !important;
}
.topnav > ul.menu > li > a:hover::after,
.topnav > ul.menu > li.current-menu-item > a::after,
.topnav > ul.menu > li.current-post-ancestor > a::after,
.topnav > ul.menu > li.current-menu-parent > a::after {
    width: 60%;
}
/* 移动端汉堡按钮 */
.menu-button {
    background: transparent !important;
    color: var(--v2-ink) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: var(--v2-radius-sm);
    height: 36px !important;
    line-height: 34px !important;
    padding: 0 12px !important;
    margin: 8px 0 !important;
}
.menu-button .daohang { color: var(--v2-ink-2) !important; }

/* ============================================================================
   3. 面包屑
   ========================================================================== */
.subsidiary {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.bulletin {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#crumbs {
    padding: 18px 0 16px !important;
    margin: 0 auto !important;
    font-size: 13px !important;
    color: var(--v2-ink-3) !important;
    background: transparent !important;
    border: none !important;
    max-width: var(--v2-wrap);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 2px;
}
#crumbs a {
    color: var(--v2-ink-3) !important;
    font-size: 13px !important;
    text-decoration: none;
    transition: color .16s;
}
#crumbs a:hover { color: var(--v2-red) !important; }
#crumbs .delimiter { color: var(--v2-ink-4) !important; padding: 0 6px; }
#crumbs .current { color: var(--v2-ink-2) !important; }

/* ============================================================================
   4. 两栏布局
   ========================================================================== */
.main-container {
    display: flex !important;
    align-items: flex-start;
    gap: 28px;
    width: 100% !important;
    max-width: var(--v2-wrap);
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    flex-wrap: nowrap;
}
.mainleft {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    box-sizing: border-box;
}
#sidebar {
    flex: 0 0 296px !important;
    width: 296px !important;
    max-width: 296px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}
/* 主题给 #sidebar-follow 写死 width:316px，是侧栏所有 widget 的父容器，
   不放开就会把搜索框等撑出 20px */
#sidebar #sidebar-follow {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
}

/* ============================================================================
   5. 文章卡 —— 纯白纸卡
   ========================================================================== */
.article_container {
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: var(--v2-radius) !important;
    padding: 40px 44px 36px !important;
    margin: 0 0 20px !important;
    box-shadow: 0 1px 2px rgba(31, 27, 24, .03), 0 8px 24px -12px rgba(31, 27, 24, .08);
    box-sizing: border-box;
    /* 不能用 overflow:hidden，会把内容/阴影裁掉 */
    overflow: visible;
    position: relative;
}

/* 5.1 标题 */
.article_container h1 {
    font-family: var(--v2-serif) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.42 !important;
    color: var(--v2-ink) !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    letter-spacing: .5px;
    text-align: left;
    word-break: break-word;
}
.article_container h1::after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    background: var(--v2-red);
    border-radius: 2px;
    margin-top: 16px;
}

/* 5.2 元信息行 */
.article_info {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 18px;
    padding: 0 0 22px !important;
    margin: 0 0 26px !important;
    /* 主题原本是 border-top:#09f solid 5px，必须一并清掉 */
    border: none !important;
    border-top: none !important;
    border-bottom: 1px solid var(--v2-line-soft) !important;
    font-size: 13px !important;
    color: var(--v2-ink-3) !important;
    line-height: 1.6;
}
.article_info > span { display: inline-flex; align-items: center; }
.article_info i, .article_info .info_ico {
    font-style: normal !important;
    color: var(--v2-ink-3) !important;
    font-size: 13px !important;
}
.article_info a { color: var(--v2-ink-2) !important; text-decoration: none; font-size: 13px !important; }
.article_info a:hover { color: var(--v2-red) !important; }

/* ============================================================================
   6. 摘要段 #post_content
   ========================================================================== */
#post_content {
    background: var(--v2-wash);
    border-left: 3px solid var(--v2-red);
    border-radius: 0 var(--v2-radius-sm) var(--v2-radius-sm) 0;
    padding: 18px 22px !important;
    margin: 0 0 30px !important;
    font-size: 15.5px !important;
    line-height: 1.9 !important;
    color: var(--v2-ink-2) !important;
    overflow: visible !important;
}
#post_content p {
    margin: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.9 !important;
    color: var(--v2-ink-2) !important;
    overflow: visible !important;
    max-height: none !important;
    /* 老站给摘要加过 line-clamp，去掉 */
    display: block !important;
    -webkit-line-clamp: none !important;
}
/* 摘要里的内联蓝字链接：只有第一个（词条名）保持强调，其余淡化为正文色 */
#post_content a,
#post_content a[style] {
    color: var(--v2-red) !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(226, 58, 46, .28);
    transition: border-color .16s;
}
/* 第二个及之后的链接（正文中夹带的关键词）弱化，避免整段泛红 */
#post_content a ~ a {
    color: var(--v2-ink-2) !important;
    font-weight: 400 !important;
    border-bottom-color: var(--v2-line);
}
#post_content a:hover { border-bottom-color: var(--v2-red); }

/* ============================================================================
   7. 正文通用
   ========================================================================== */
.entry-content {
    font-size: 17px !important;
    line-height: 1.95 !important;
    color: var(--v2-ink) !important;
    overflow: visible !important;
}
.context,
.context p,
.context pre {
    font-size: 17px !important;
    line-height: 1.95 !important;
    color: var(--v2-ink) !important;
}
.entry-content a,
.context a {
    color: var(--v2-red) !important;
}
.entry-content p { margin: 0 0 18px !important; }

/* ============================================================================
   8. 【核心】正文语义块 —— 由 JS 从表格转换而来
   ----------------------------------------------------------------------------
   JS 会把 5 个表格改写成：
     .mw-sec    纵向块（th 独占行 + td 独占行）→ 小节：标题 + 正文
     .mw-grid   4 列键值表 → 2×N 网格卡片
     .mw-kv     2 列键值表 → 行式键值对
   这样彻底摆脱表格的列宽死约束。
   ========================================================================== */

/* 8.1 小节块（解释 / 例句 / 出处 / 故事） */
.mw-sec {
    margin: 0 0 26px;
    padding: 0;
}
.mw-sec-title {
    position: relative;
    font-family: var(--v2-serif);
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.5;
    color: var(--v2-ink);
    margin: 0 0 12px;
    padding-left: 14px;
    letter-spacing: .3px;
}
.mw-sec-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 17px;
    background: var(--v2-red);
    border-radius: 2px;
}
.mw-sec-body {
    font-size: 17px !important;
    line-height: 1.95;
    color: var(--v2-ink-2);
    margin: 0;
    /* 解释/例句类短句：加浅色底衬托，读起来有呼吸感 */
    background: var(--v2-wash);
    border-radius: var(--v2-radius-sm);
    padding: 14px 18px;
}
/* 段落式的“故事 / 出处”不加底色，纯文字更耐读 */
.mw-sec-body.is-prose {
    background: transparent;
    padding: 0;
    color: var(--v2-ink);
    text-align: justify;
    text-justify: inter-ideograph;
}
.mw-sec-body.is-prose a { color: var(--v2-red) !important; }

/* 8.2 键值网格（4 列 → 2×N 卡片） */
.mw-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 26px;
}
.mw-grid-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: var(--v2-card);
    border: 1px solid var(--v2-line);
    border-radius: var(--v2-radius-sm);
    padding: 12px 15px;
    min-width: 0;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.mw-grid-item:hover {
    border-color: #DCD2C7;
    box-shadow: 0 2px 10px -4px rgba(31, 27, 24, .12);
}
.mw-grid-key {
    font-size: 12px !important;
    line-height: 1.5;
    color: var(--v2-ink-3) !important;
    font-weight: 400;
    letter-spacing: .2px;
}
.mw-grid-val {
    font-size: 15.5px !important;
    line-height: 1.6;
    color: var(--v2-ink) !important;
    font-weight: 500;
    word-break: break-word;
}
.mw-grid-val:empty::after {
    content: "—";
    color: var(--v2-ink-4);
    font-weight: 400;
}
.mw-grid-val a { color: var(--v2-red) !important; text-decoration: none; }

/* 8.3 行式键值（近义词 / 反义词 2 列） */
.mw-kv {
    display: flex;
    flex-direction: column;
    margin: 0 0 26px;
    border: 1px solid var(--v2-line);
    border-radius: var(--v2-radius-sm);
    overflow: hidden;
    background: var(--v2-card);
}
.mw-kv-row {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--v2-line-soft);
}
.mw-kv-row:last-child { border-bottom: none; }
.mw-kv-key {
    flex: 0 0 132px;
    background: var(--v2-wash);
    padding: 12px 15px;
    font-size: 13.5px !important;
    line-height: 1.7;
    color: var(--v2-ink-3) !important;
    display: flex;
    align-items: center;
}
.mw-kv-val {
    flex: 1 1 auto;
    min-width: 0;
    padding: 12px 15px;
    font-size: 15px !important;
    line-height: 1.7;
    color: var(--v2-ink) !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.mw-kv-val:empty::after {
    content: "暂无";
    color: var(--v2-ink-4);
}
.mw-kv-val a { color: var(--v2-red) !important; text-decoration: none; }

/* 近义词 / 反义词里的词，做成小标签 */
.mw-kv-val .mw-word {
    display: inline-block;
    padding: 3px 10px;
    background: var(--v2-red-wash);
    color: var(--v2-red-deep) !important;
    border-radius: 20px;
    font-size: 13.5px;
    line-height: 1.6;
    text-decoration: none;
    border: 1px solid rgba(226, 58, 46, .14);
}
.mw-kv-val .mw-word:hover {
    background: var(--v2-red);
    color: #fff !important;
    border-color: var(--v2-red);
}

/* ============================================================================
   9. 成语接龙 —— 竖排长列 → 横向 chips
   ========================================================================== */
/* 接龙标题紧跟词链，下间距收紧 */
.mw-chain-title {
    margin-top: 6px !important;
    margin-bottom: 14px !important;
}
.result_characters-container {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 30px !important;
    padding: 0 !important;
    counter-reset: mwchain;
}
.reault_characters-item {
    display: inline-flex !important;
    align-items: center;
    position: relative;
    height: auto !important;
    line-height: 1.5 !important;
    padding: 7px 14px 7px 30px !important;
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: 18px;
    font-family: var(--v2-serif);
    font-size: 14.5px !important;
    color: var(--v2-ink-2) !important;
    white-space: nowrap;
    counter-increment: mwchain;
    transition: all .18s ease;
    cursor: default;
}
.reault_characters-item::before {
    content: counter(mwchain);
    position: absolute;
    left: 9px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--v2-sans);
    font-size: 10.5px;
    font-weight: 600;
    color: var(--v2-ink-4);
    min-width: 14px;
    text-align: right;
}
.reault_characters-item:hover {
    background: var(--v2-red-wash) !important;
    border-color: rgba(226, 58, 46, .3) !important;
    color: var(--v2-red-deep) !important;
    transform: translateY(-1px);
}
.reault_characters-item:hover::before { color: var(--v2-red); }

/* ============================================================================
   10. 标签
   ========================================================================== */
.article_tags {
    border-top: 1px solid var(--v2-line-soft) !important;
    margin: 30px 0 0 !important;
    padding: 22px 0 0 !important;
    background: transparent !important;
}
.article_tags .tagcloud {
    font-size: 13px !important;
    color: var(--v2-ink-3) !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    line-height: 2;
}
.article_tags .tagcloud a {
    display: inline-block;
    padding: 4px 13px;
    background: var(--v2-wash) !important;
    border: 1px solid var(--v2-line);
    border-radius: 20px;
    color: var(--v2-ink-2) !important;
    font-size: 13px !important;
    text-decoration: none;
    transition: all .18s ease;
}
.article_tags .tagcloud a:hover {
    background: var(--v2-red) !important;
    border-color: var(--v2-red);
    color: #fff !important;
}

/* ============================================================================
   11. 上下篇导航
   ========================================================================== */
.post-navigation {
    display: flex !important;
    gap: 14px;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    list-style: none !important;
}
.post-navigation .post-previous,
.post-navigation .post-next {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0;
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: var(--v2-radius-sm);
    padding: 16px 20px !important;
    margin: 0 !important;
    float: none !important;
    font-size: 12.5px !important;
    color: var(--v2-ink-3) !important;
    line-height: 1.9;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.post-navigation .post-previous:hover,
.post-navigation .post-next:hover {
    border-color: #DCD2C7 !important;
    box-shadow: 0 2px 12px -5px rgba(31, 27, 24, .14);
}
.post-navigation .post-previous a,
.post-navigation .post-next a {
    display: block;
    margin-top: 6px;
    font-family: var(--v2-serif);
    font-size: 15.5px !important;
    font-weight: 600;
    line-height: 1.6;
    color: var(--v2-ink) !important;
    text-decoration: none;
    transition: color .16s;
}
.post-navigation .post-previous a:hover,
.post-navigation .post-next a:hover { color: var(--v2-red) !important; }

/* ============================================================================
   12. 相关推荐
   ========================================================================== */
.article_related { padding: 30px 44px 34px !important; }
.related .newrelated h2 {
    font-family: var(--v2-serif) !important;
    font-size: 19px !important;
    font-weight: 700;
    color: var(--v2-ink) !important;
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border: none !important;
    border-bottom: 1px solid var(--v2-line) !important;
    position: relative;
}
.related .newrelated h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 38px;
    height: 2px;
    background: var(--v2-red);
}
.related .newrelated ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 26px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.related .newrelated li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    line-height: 1.5 !important;
    min-width: 0;
}
.related .newrelated li a {
    display: block;
    padding: 9px 0 9px 16px;
    position: relative;
    font-size: 14.5px !important;
    line-height: 1.6;
    color: var(--v2-ink-2) !important;
    text-decoration: none;
    border-bottom: 1px solid var(--v2-line-soft);
    transition: color .16s ease, padding-left .16s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.related .newrelated li a::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--v2-ink-4);
    transition: background .16s;
}
.related .newrelated li a:hover {
    color: var(--v2-red) !important;
    padding-left: 20px;
}
.related .newrelated li a:hover::before { background: var(--v2-red); }

/* ============================================================================
   13. 侧栏
   ========================================================================== */
#sidebar { font-size: 14px !important; }
#sidebar .box,
#sidebar .widget {
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: var(--v2-radius) !important;
    padding: 20px !important;
    margin: 0 0 16px !important;
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(31, 27, 24, .03);
}
#sidebar .widget h3,
#sidebar h3 {
    font-family: var(--v2-serif) !important;
    font-size: 16px !important;
    font-weight: 700;
    color: var(--v2-ink) !important;
    margin: 0 0 14px !important;
    padding: 0 0 10px !important;
    border: none !important;
    border-bottom: 1px solid var(--v2-line-soft) !important;
    position: relative;
    line-height: 1.5 !important;
    height: auto !important;
}
#sidebar .widget h3::after,
#sidebar h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 30px;
    height: 2px;
    background: var(--v2-red);
}
/* tab 选中态：主题是 #tabnav .selected{border-bottom:#09f 3px} */
#tabnav .selected,
#tabnav li.selected {
    border-bottom: none !important;
    background: transparent !important;
    color: var(--v2-ink) !important;
    font-weight: 700;
    position: relative;
}
#tabnav .selected::after,
#tabnav li.selected::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background: var(--v2-red);
}
/* 正文 h2 的蓝色左边框改为红色 */
.context h2 {
    border-left: 4px solid var(--v2-red) !important;
    background: var(--v2-wash) !important;
    font-family: var(--v2-serif) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    padding: 12px 20px !important;
    margin: 28px 0 16px !important;
    border-radius: 0 var(--v2-radius-sm) var(--v2-radius-sm) 0;
}
/* 页脚那条 5px 蓝线 */
#footer { border-top: 1px solid var(--v2-line) !important; }

/* 13.1 搜索框 */
#sidebar .search {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 0 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
#sidebar .search_site {
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
#searchform {
    display: flex !important;
    align-items: stretch;
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    border-radius: var(--v2-radius-sm);
    overflow: hidden;
    height: 44px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color .18s;
}
#searchform:focus-within { border-color: var(--v2-red) !important; }
#searchform label {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
#searchform .search-s {
    width: 100% !important;
    height: 42px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: var(--v2-ink) !important;
    box-sizing: border-box;
    outline: none;
}
#searchform .search-s::placeholder { color: var(--v2-ink-4); }
#searchsubmit {
    flex: 0 0 46px;
    height: 42px !important;
    width: 46px !important;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid var(--v2-line) !important;
    color: var(--v2-ink-3) !important;
    font-size: 15px !important;
    cursor: pointer;
    transition: background .16s, color .16s;
}
#searchsubmit:hover { background: var(--v2-red) !important; color: #fff !important; }

/* 13.2 公告 widget —— 收敛那个 26px 的巨型字体 */
.custom-html-widget p,
#sidebar .textwidget p {
    font-family: var(--v2-serif) !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    color: var(--v2-ink-2) !important;
    margin: 0 0 6px !important;
    text-align: left !important;
    letter-spacing: .5px;
}
#sidebar .textwidget p:last-child { margin-bottom: 0 !important; }

/* 13.3 猜你想看 / tab 列表 */
#tab-title { margin-bottom: 4px; }
#tabnav { display: flex; gap: 4px; margin: 0 !important; padding: 0 !important; list-style: none !important; border: none !important; background: transparent !important; }
#tabnav li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 14px !important;
    color: var(--v2-ink-3) !important;
    line-height: 1.5;
}
#tab-content ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
#tab-content ul li {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    line-height: 1.5 !important;
    min-width: 0;
}
#tab-content ul li a {
    display: block;
    position: relative;
    padding: 8px 0 8px 15px;
    font-size: 14px !important;
    line-height: 1.62;
    color: var(--v2-ink-2) !important;
    text-decoration: none;
    border-bottom: 1px solid var(--v2-line-soft);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .16s ease, padding-left .16s ease;
}
#tab-content ul li a::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--v2-ink-4);
    transition: background .16s;
}
#tab-content ul li:last-child a { border-bottom: none; }
#tab-content ul li a:hover { color: var(--v2-red) !important; padding-left: 19px; }
#tab-content ul li a:hover::before { background: var(--v2-red); }

/* 13.4 侧栏通用列表兜底 */
#sidebar .widget ul li,
#sidebar .box ul li {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
#sidebar .widget ul li a,
#sidebar .box ul li a {
    color: var(--v2-ink-2) !important;
    font-size: 14px !important;
}

/* ============================================================================
   14. 页脚
   ========================================================================== */
#footer, .footer, #bottom {
    background: var(--v2-card) !important;
    border-top: 1px solid var(--v2-line) !important;
    color: var(--v2-ink-3) !important;
    margin-top: 40px !important;
    padding: 28px 0 !important;
    font-size: 13px !important;
    line-height: 1.9;
}
#footer a, .footer a, #bottom a {
    color: var(--v2-ink-3) !important;
    text-decoration: none;
    font-size: 13px !important;
}
#footer a:hover, .footer a:hover, #bottom a:hover { color: var(--v2-red) !important; }

/* ============================================================================
   15. 评论
   ========================================================================== */
#comments_box { margin-top: 20px !important; }
#comments_box .article_container { padding: 28px 36px !important; }

/* ============================================================================
   16. 响应式
   ========================================================================== */
@media only screen and (max-width: 1080px) {
    .main-container { flex-direction: column; gap: 20px; }
    #sidebar {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
    #sidebar > * { margin-bottom: 0 !important; }
    #sidebar-follow { display: contents; }
}

@media only screen and (max-width: 760px) {
    /* 移动端布局收敛：彻底掐断一切横向溢出的可能 */
    :where(html, body) {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .container,
    .main-container,
    .mainleft,
    .article_container,
    #post_content,
    .entry-content,
    .context {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }
    .container { padding: 0 12px !important; }
    .main-container { padding: 0 12px !important; flex-direction: column; gap: 16px; }
    .article_container {
        padding: 24px 16px 22px !important;
        border-radius: var(--v2-radius-sm) !important;
        margin: 0 0 14px !important;
    }
    .article_container h1 { font-size: 23px !important; line-height: 1.45 !important; }
    .article_container h1::after { width: 34px; height: 2px; margin-top: 12px; }
    .article_info { gap: 0 14px; padding-bottom: 16px !important; margin-bottom: 20px !important; }

    #post_content {
        padding: 14px 15px !important;
        font-size: 15px !important;
        margin-bottom: 22px !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    #post_content p { font-size: 15px !important; line-height: 1.85 !important; }

    .entry-content,
    .context,
    .context p {
        font-size: 15.5px !important;
        line-height: 1.88 !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    /* 正文内的块级元素不得超宽（不作用于行内元素，避免破坏排版） */
    .context div,
    .context p,
    .context ul,
    .context ol,
    .context table,
    .entry-content div,
    .entry-content p,
    .entry-content ul,
    .entry-content ol,
    .entry-content table {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .mw-grid { grid-template-columns: 1fr; gap: 7px; margin-bottom: 20px; }
    .mw-grid-item { padding: 10px 13px; }
    .mw-sec { margin-bottom: 20px; }
    .mw-sec-title { font-size: 16px !important; }
    .mw-sec-body {
        font-size: 15.5px !important;
        line-height: 1.85 !important;
        padding: 12px 14px;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .mw-kv-key { flex: 0 0 96px; padding: 10px 11px; font-size: 12.5px !important; }
    .mw-kv-val { padding: 10px 11px; font-size: 14.5px !important; }

    .reault_characters-item { font-size: 13.5px !important; padding: 6px 12px 6px 27px !important; }

    .post-navigation { flex-direction: column; gap: 10px; }
    .post-navigation .post-previous,
    .post-navigation .post-next { width: 100% !important; padding: 13px 16px !important; }

    .article_related { padding: 22px 20px 26px !important; }
    .related .newrelated ul { grid-template-columns: 1fr; gap: 0; }

    #sidebar { grid-template-columns: 1fr; }

    /* 顶部导航移动端 */
    #blogname { height: 66px !important; }
    #blogname a { height: 66px !important; }
    #blogname img { max-height: 40px !important; }
    #blogname h1 { font-size: 22px !important; line-height: 66px !important; }

    /* 移动端不用横向菜单（会挤成多行），交给主题自带汉堡按钮 */
    .mainmenu { min-height: 48px; }
    .topnav { min-height: 48px; padding: 0 12px !important; }
    .topnav > ul.menu {
        display: none !important;
    }
    .topnav .menu-button {
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        height: 34px !important;
        line-height: 34px !important;
        margin: 7px 0 !important;
        padding: 0 14px !important;
        border: 1px solid var(--v2-line) !important;
        border-radius: 20px;
        background: var(--v2-card) !important;
    }
    .topnav .menu-button .daohang {
        font-size: 14px !important;
        color: var(--v2-ink-2) !important;
        font-style: normal;
    }

    /* 卡片间距收紧但保留呼吸 */
    .mw-grid { gap: 7px; margin-bottom: 22px; }
    .mw-grid-item { padding: 10px 13px; }
}

@media only screen and (max-width: 420px) {
    .article_container { padding: 22px 16px 20px !important; }
    .article_container h1 { font-size: 21px !important; }
    .mw-kv { flex-direction: column; }
    .mw-kv-row { flex-direction: column; }
    .mw-kv-key {
        flex: none;
        padding: 8px 12px 4px;
        background: transparent;
        font-size: 12px !important;
        color: var(--v2-ink-4) !important;
    }
    .mw-kv-val { padding: 0 12px 11px; }
}

/* ===== skin-v2 (body scoped) end ===== */
