/*!
 * FJJK 主题 - 与 WellCMS 数据对接所需的补充样式
 * 只补原版样式表里没有的元素，不覆盖既有版面
 */

/* 文字 Logo（替代原版图片 Logo） */
.navbar-brand .fjjk-brand {
    display: inline-block;
    font-family: "Outfit-Medium", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .5px;
    line-height: 1.2;
    color: currentColor;
    white-space: nowrap;
}
.site-navbar.fixed-top .navbar-brand .fjjk-brand { color: #fff; }
[data-scheme="dark"] .navbar-brand .fjjk-brand { color: #fff; }
/* 跟随系统深色（auto）：头部背景在 auto+系统深色下同样变深，文字品牌必须同步变白，
   否则详情页等非 fixed-top 页面会出现黑字深底、品牌"消失" */
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .navbar-brand .fjjk-brand { color: #fff; }
}

/* 无封面时的占位块 */
.fjjk-cover-empty {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 72px;
    background: linear-gradient(135deg, #f0f4fa 0%, #e3eaf5 45%, #d8e1f0 100%);
}
[data-scheme="dark"] .fjjk-cover-empty,
body[data-scheme="dark"] .fjjk-cover-empty {
    background: linear-gradient(135deg, #1c2331 0%, #18202c 45%, #141a24 100%);
}
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .fjjk-cover-empty {
        background: linear-gradient(135deg, #1c2331 0%, #18202c 45%, #141a24 100%);
    }
}

/* 作者名右侧的举报按钮：与 meta 小字同字号、同行对齐 */
.post-meta .fjjk-report-link {
    margin-left: .25rem;
    font-size: .75rem;
    line-height: 1;
    vertical-align: baseline;
}

/* 侧栏首屏推广位（原「作者卡」位置）：占位容器，换成投放代码后自动贴合 */
.fjjk-slot {
    margin: 0 0 1rem;
    overflow: hidden;
}
.fjjk-slot.fjjk-slot-block {
    margin: 1.25rem 0 .5rem;
}
.fjjk-slot .fjjk-slot-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    border: 1px dashed var(--border-secondary, #dee2e6);
    background: var(--bg-light, #f8f9fa);
    color: var(--color-muted, #9aa0a6);
    font-size: .75rem;
    letter-spacing: .3em;
}
.fjjk-slot .fjjk-slot-body img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
[data-scheme="dark"] .fjjk-slot .fjjk-slot-body {
    background: rgba(255, 255, 255, .03);
    border-color: rgba(255, 255, 255, .16);
}
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .fjjk-slot .fjjk-slot-body {
        background: rgba(255, 255, 255, .03);
        border-color: rgba(255, 255, 255, .16);
    }
}

/* 无封面时的默认图（img/cover-default.png）：有封面/缩略图显示封面，没有则显示默认图 */
.fjjk-cover-default {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 无头像占位：显示作者名首字（作者页 / 友链等通用） */
.fjjk-avatar-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-width: 32px;
    min-height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7f9bd6, #5d86dc);
    color: #fff;
    font-weight: 700;
    font-size: 44px;
    line-height: 1;
    user-select: none;
}
.fjjk-avatar-empty.fjjk-avatar-sm { font-size: 18px; }

/* 友链首字图标 */
.fjjk-link-letter {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 36px;
    font-weight: 700;
    color: #5d86dc;
    background: #eef2fa;
}

/* 首页杂志区背景（原来由脚本注入 data-img，改为内联样式） */
.bg-poster.bg-magazine {
    background-size: cover;
    background-position: center;
    opacity: .45;
}

/* 侧栏搜索表单 */
.site-sidebar .widget-search-form { padding: 0 0 4px; }
.site-sidebar .widget-search-form .form-control {
    width: 100%;
    height: 38px;
    padding: 0 12px;
    border: 1px solid #e6e8ec;
    border-radius: 6px;
    background: #fff;
    color: #333;
}
[data-scheme="dark"] .site-sidebar .widget-search-form .form-control {
    border-color: #2c3444;
    background: #161b24;
    color: #ddd;
}

/* 侧栏里的链接列表按行显示 */
.widget .footer-widget-links { display: block; }
.widget .footer-widget-links a {
    display: block;
    padding: 6px 0;
    font-size: 14px;
    border-bottom: 1px dashed rgba(0, 0, 0, .06);
}
.widget .footer-widget-links a:last-child { border-bottom: 0; }
.widget .footer-widget-links a.current { color: #5d86dc; font-weight: 600; }

/* 详情页：操作条 */
.post-actions form { margin: 0; }
.post-actions .btn-icon small { margin-left: 4px; font-size: 12px; }
.like-toggle .solid { display: none; }
.like-toggle.active .solid { display: inline-block; }
.like-toggle.active .line { display: none; }
.like-toggle.active { color: #e86452; }

/* 评论列表：版面完全沿用 fjjk-theme.css 的定位方案
   —— .comment{position:relative;margin:1.5rem 0;padding-left:48px}
      .comment-avatar{position:absolute;top:0;left:0}
      .children .comment{padding:0 0 0 36px} / .children .comment-avatar{width:1.875rem}
   此处绝对不得改写 display / padding / 头像尺寸，否则头像与文字重叠、楼中楼缩进错位
   （历史问题：曾在此写 display:flex + padding:16px 0，直接盖掉 48px 左内边距，
     导致「发表评论后版面错位」）。仅补去符号与分隔线。 */
.comment-list { margin: 0; padding: 0; list-style: none; }
.comment-list > li.comment { border-top: 1px solid rgba(0, 0, 0, .06); }
.comment-list > li.comment:first-child { border-top: 0; }
.comment-list .comment-empty { margin: .5rem 0; padding-left: 0; border-top: 0; }
[data-scheme="dark"] .comment-list > li.comment,
body[data-scheme="dark"] .comment-list > li.comment { border-top-color: rgba(255, 255, 255, .08); }
.comment-list .comment-content { font-size: 14px; line-height: 1.8; word-break: break-word; }
.comment-list .comment-footer .btn-link { text-decoration: none; }
.comment-respond .comment-inner .form-control {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e6e8ec;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
    color: #333;
}
/* 暗黑模式表单变量：核心 .form-control 走 Bootstrap 变量
   （--bs-form-control-bg / --bs-body-color / --bs-border-color），而主题的暗色变量块
   并未重定义这三个，因此评论框、搜索框、加密文章密码框在暗色下仍是白底黑字。
   在 body 层补齐变量，一次性覆盖全部表单控件（含插件 AJAX 插入的回复框）。 */
[data-scheme="dark"] {
    --bs-form-control-bg: #17171a;
    --bs-body-color: rgba(255, 255, 255, .9);
    --bs-border-color: #2c3444;
    --bs-secondary-color: rgba(255, 255, 255, .42);
}
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] {
        --bs-form-control-bg: #17171a;
        --bs-body-color: rgba(255, 255, 255, .9);
        --bs-border-color: #2c3444;
        --bs-secondary-color: rgba(255, 255, 255, .42);
    }
}
/* 暗黑模式：评论框深色底 + 白色文字（同时覆盖 dark 与 auto 跟随系统两种模式，
   参考 cosy 主题 --gray-1/--gray-2 灰阶；本文件亮色规则在后加载，
   必须以更高特异性写回，否则白底会盖过 fjjk-theme.css 的暗色变量） */
[data-scheme="dark"] .comment-respond .comment-inner .form-control,
body[data-scheme="dark"] .comment-respond .comment-inner .form-control {
    border-color: #2c3444;
    background: #17171a;
    color: #fff;
}
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .comment-respond .comment-inner .form-control {
        border-color: #2c3444;
        background: #17171a;
        color: #fff;
    }
}

/* 评论楼中楼：版面缩进完全沿用 fjjk-theme.css 原有 .children 系列规则
   （.children .comment{padding-left:36px} 等，头像绝对定位依赖该缩进），
   此处不得覆写 padding/头像尺寸，否则回复头像与文字重叠错位。
   仅补「展开更多回复」按钮与上下文块的间距。 */
.comment-more-wrap { margin-top: 4px; }
.comment-more-wrap .comment-more { text-decoration: none; }
.comment-context {
    margin-bottom: 12px;
    background: rgba(93, 134, 220, .04);
}
.comment-context ul.comment-list { margin: 0; }
.comment-context ul.comment-list .comment:first-child { border-top: 0; padding-top: 0; }
[data-scheme="dark"] .comment-context,
body[data-scheme="dark"] .comment-context { background: rgba(93, 134, 220, .08); }
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .comment-context { background: rgba(93, 134, 220, .08); }
}

/* 详情页悬浮操作条：版面（底部居中胶囊、sticky 上浮）完全沿用 fjjk-theme.css 的原站样式
   （.post-fixed-dock 固定底部、.dock-inner 白色胶囊），此处仅补深色模式底色。
   桌面端与移动端同一套 DOM（移动端会多一个 .sticky 类由 JS 添加），故一并覆盖；
   主题里 .dock-inner 是硬编码 #fff，必须用 !important 压过。 */
[data-scheme="dark"] .post-fixed-dock .dock-inner,
body[data-scheme="dark"] .post-fixed-dock .dock-inner,
html[data-scheme="dark"] .post-fixed-dock .dock-inner,
html.dark .post-fixed-dock .dock-inner {
    background-color: #17171a !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .55);
}
[data-scheme="dark"] .post-fixed-dock .dock-inner a,
body[data-scheme="dark"] .post-fixed-dock .dock-inner a { color: rgba(255, 255, 255, .82); }
[data-scheme="dark"] .post-fixed-dock .like-toggle.active a,
[data-scheme="dark"] .post-fixed-dock .like-toggle.active { color: #ff522b; }
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .post-fixed-dock .dock-inner {
        background-color: #17171a !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .55);
    }
    body[data-scheme="auto"] .post-fixed-dock .dock-inner a { color: rgba(255, 255, 255, .82); }
    body[data-scheme="auto"] .post-fixed-dock .like-toggle.active { color: #ff522b; }
}

/* 上一篇/下一篇卡片：
   ① 有封面图 —— 保留白字压图，仅把遮罩从 .4 降到 .3（白天不再发黑），暗色 .45；
   ② 无封面 —— 模板会给卡片加 .fjjk-no-cover，改用主题色块 + 主题文字色，
      彻底摆脱「白天一片黑、暗黑一片白」的问题（无封面时遮罩盖在浅色占位块上，
      两种模式都会算错颜色，所以直接把遮罩关掉、由底色决定明暗）。 */
.list-overlay .overlay-1 { opacity: .3; }
.list-overlay.overlay-hover:hover .overlay-1 { opacity: .5; }
[data-scheme="dark"] .list-overlay .overlay-1,
body[data-scheme="dark"] .list-overlay .overlay-1,
html.dark .list-overlay .overlay-1 { opacity: .45; }
[data-scheme="dark"] .list-overlay.overlay-hover:hover .overlay-1,
body[data-scheme="dark"] .list-overlay.overlay-hover:hover .overlay-1 { opacity: .6; }
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .list-overlay .overlay-1 { opacity: .45; }
    body[data-scheme="auto"] .list-overlay.overlay-hover:hover .overlay-1 { opacity: .6; }
}

/* 无封面卡片：底色与文字由主题变量决定，明暗两种模式各自可读 */
.list-overlay.fjjk-no-cover { background-color: #eef1f6; }
.list-overlay.fjjk-no-cover .fjjk-cover-empty { background: transparent; }
.list-overlay.fjjk-no-cover .overlay-1 { opacity: 0; }
.list-overlay.fjjk-no-cover .list-title,
.list-overlay.fjjk-no-cover .list-title.text-white { color: #1f2430 !important; }
.list-overlay.fjjk-no-cover .list-footer,
.list-overlay.fjjk-no-cover .list-footer.text-muted { color: #6b7280 !important; }
[data-scheme="dark"] .list-overlay.fjjk-no-cover,
body[data-scheme="dark"] .list-overlay.fjjk-no-cover,
html.dark .list-overlay.fjjk-no-cover { background-color: #1c1c1f; }
[data-scheme="dark"] .list-overlay.fjjk-no-cover .list-title,
body[data-scheme="dark"] .list-overlay.fjjk-no-cover .list-title { color: rgba(255, 255, 255, .92) !important; }
[data-scheme="dark"] .list-overlay.fjjk-no-cover .list-footer,
body[data-scheme="dark"] .list-overlay.fjjk-no-cover .list-footer { color: rgba(255, 255, 255, .45) !important; }
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .list-overlay.fjjk-no-cover { background-color: #1c1c1f; }
    body[data-scheme="auto"] .list-overlay.fjjk-no-cover .list-title { color: rgba(255, 255, 255, .92) !important; }
    body[data-scheme="auto"] .list-overlay.fjjk-no-cover .list-footer { color: rgba(255, 255, 255, .45) !important; }
}

/* 评论框 placeholder 在暗黑下的可读性 */
[data-scheme="dark"] .comment-respond .comment-inner .form-control::placeholder,
body[data-scheme="dark"] .comment-respond .comment-inner .form-control::placeholder { color: rgba(255, 255, 255, .38); }
@media (prefers-color-scheme: dark) {
    body[data-scheme="auto"] .comment-respond .comment-inner .form-control::placeholder { color: rgba(255, 255, 255, .38); }
}

/* 归档页标题区的计数与图标 */
.archive-heading .svg-icon-cat { display: none; }
.archive-heading h1 { text-align: center; }
.archive-heading .font-number { font-size: 14px; opacity: .7; }

/* 分页按钮区域 */
.posts-ajax-load .btn { min-width: 132px; }
.posts-ajax-load .text-muted { display: block; padding: 8px 0; }

/* 空状态（背景交给 .block 基类的 var(--card-bg)，自动适配明暗两种模式，
   避免暗色模式下残留白底：此前硬编码 #fff 仅在 data-scheme="dark" 时被覆盖，
   auto 跟随系统深色时白块会暴露在深色页面上） */
.block.p-5.text-center.text-muted { border-radius: 8px; }

/* 作者页头像与海报（Cosy 同款：头像 120px，骑压海报下缘居中）。
   主题原样式 .author-info .author-info-content .author-avatar 为 (0,3,0)，
   必须用 (0,4,0) 才能接管，否则头像一直是 150px 且水平错位。 */
.author-info .author-info-content .author-avatar.flex-avatar {
    position: relative;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    margin: -60px 0 0;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #fff;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .author-info .author-info-content .author-avatar.flex-avatar { width: 96px; height: 96px; margin-top: -48px; }
}
.author-info .author-info-content .author-avatar.flex-avatar img { width: 100%; height: 100%; object-fit: cover; }
.author-info[data-scheme="dark"] .author-info-content .author-avatar.flex-avatar,
body[data-scheme="dark"] .author-info .author-info-content .author-avatar.flex-avatar { border-color: #1b2130; background: #1b2130; }
.author-poster.media-4x1 .media-content { min-height: 160px; background: linear-gradient(135deg, #dfe6f3, #b7c4dd); }

/* 文章管理条（仅作者/管理员可见，普通访客不渲染） */
.post-manage {
    padding: 10px 12px;
    border: 1px dashed var(--border-color, #e5e7eb);
    border-radius: var(--border-radius-md, 8px);
    background: var(--bg-light, #f8f9fa);
}
.post-manage .btn { padding: 2px 10px; font-size: 12px; line-height: 20px; }
[data-scheme="dark"] .post-manage { background: #1b2130; border-color: #2b3446; }

/* 加密文章密码表单 */
.post-password {
    margin: 24px 0;
    padding: 24px 20px;
    border: 1px solid var(--border-light, #eef0f4);
    border-radius: var(--border-radius-lg, 10px);
    background: var(--bg-white, #fff);
    text-align: center;
}
[data-scheme="dark"] .post-password { background: #1b2130; border-color: #2b3446; }
.post-password .form-control { max-width: 320px; }

/* 评论脚部的次级操作（查看回复/举报/编辑/删除） */
.comment-footer .btn-link { text-decoration: none; font-size: 12px; line-height: 1; }
.comment-footer .btn-link:hover { color: var(--text-primary, #5d86dc); }
.comment-sublist-link { color: var(--text-muted, #8a8f99); }

/* 更正说明提示 */
.post-correction { text-decoration: none; }
.post-correction:hover { color: var(--text-primary, #5d86dc); }

/* ---------- 文章附加信息（更正 / 附件 / 来源 / 实体） ---------- */
.post-corrections,
.post-attachments,
.post-sources,
.post-entities { font-size: 14px; }
.post-corrections .font-title,
.post-attachments .font-title,
.post-sources .font-title,
.post-entities .font-title { color: var(--color-dark, #222); }
.post-correction-item { background: #fff8e6; border-color: #f3e3b8; }
[data-scheme="dark"] .post-correction-item { background: #2a2515; border-color: #4a3f1d; color: #d9cfae; }
.post-attachment-list,
.post-source-list { margin: 0; padding-left: 1.25rem; }
.post-attachment-list { padding-left: 0; list-style: none; }
.post-attachment-list li { margin-bottom: 8px; }
.post-attachment-list a { color: var(--text-primary, #5d86dc); }
.post-source-list li { margin-bottom: 6px; line-height: 1.7; color: #6b7280; }
.post-source-list a { color: var(--text-primary, #5d86dc); }
.post-entity-list { display: flex; flex-wrap: wrap; gap: 8px; }
.post-entities { margin-bottom: 4px; }

/* ---------- 评论区「查看全部评论」 ---------- */
.comments-more .btn { min-width: 160px; }

/* ---------- 侧栏通用文本列表（公告 / 快讯 / 置顶 / 随机推荐 / 最新评论） ---------- */
.site-sidebar .widget-list { margin: 0; padding: 0; list-style: none; }
.site-sidebar .widget-list li {
    padding: 8px 0;
    font-size: 14px;
    line-height: 1.6;
    border-bottom: 1px dashed rgba(0, 0, 0, .06);
}
.site-sidebar .widget-list li:last-child { border-bottom: 0; }
[data-scheme="dark"] .site-sidebar .widget-list li { border-bottom-color: rgba(255, 255, 255, .08); }
.site-sidebar .widget-list li a {
    display: block;
    overflow: hidden;
    color: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-sidebar .widget-list li a:hover { color: var(--text-primary, #5d86dc); }
.site-sidebar .widget-list-meta {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #a0a6b1;
}
.site-sidebar .widget-comment-excerpt {
    display: -webkit-box;
    overflow: hidden;
    color: #6b7280;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.site-sidebar .widget-comment-link { margin-top: 4px; font-size: 12px; color: var(--text-primary, #5d86dc); }
.site-sidebar .widget_tag_cloud .tagcloud { margin-top: 4px; }

/* ---------- 作者页：海报文字与资料按钮 ---------- */
.author-info .author-poster .poster-text { pointer-events: none; }
.author-info .author-info-content .btn-rounded { padding: 4px 14px; font-size: 12px; }

/* ---------- 详情页举报入口 ---------- */
.post-copyright .post-report .btn-link { vertical-align: baseline; }

/* ==========================================================================
   正文图片灯箱（lightGallery 1.10.0 样式，原站同源）
   用途：文章详情页正文中「链接指向图片」的图片点击后全屏放大浏览
   依赖：themes/fjjk/js/fjjk-lightgallery.js（提供 $.fn.lightGallery 兼容实现）
   ========================================================================== */
@font-face{font-family:lg;src:url(../fonts/lg.ttf) format("truetype"),url(../fonts/lg.woff) format("woff"),url(../fonts/lg.svg) format("svg");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-actions .lg-next,.lg-actions .lg-prev{background-color:rgba(0,0,0,.45);border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;border:none;outline:0}.lg-actions .lg-next.disabled,.lg-actions .lg-prev.disabled{pointer-events:none;opacity:.5}.lg-actions .lg-next:hover,.lg-actions .lg-prev:hover{color:#FFF}.lg-actions .lg-next{right:20px}.lg-actions .lg-next:before{content:"\e095"}.lg-actions .lg-prev{left:20px}.lg-actions .lg-prev:after{content:"\e094"}@-webkit-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-moz-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-ms-keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@keyframes lg-right-end{0%,100%{left:0}50%{left:-30px}}@-webkit-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-moz-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@-ms-keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}@keyframes lg-left-end{0%,100%{left:0}50%{left:30px}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%;background-color:rgba(0,0,0,.45)}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:0;background:0 0;border:none;box-shadow:none;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear}.lg-toolbar .lg-icon:hover{color:#FFF}.lg-toolbar .lg-close:after{content:"\e070"}.lg-toolbar .lg-download:after{content:"\e0f2"}.lg-sub-html{background-color:rgba(0,0,0,.45);bottom:0;color:#EEE;font-size:16px;left:0;padding:10px 40px;position:fixed;right:0;text-align:center;z-index:1080}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}#lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;vertical-align:middle}.lg-next,.lg-prev,.lg-toolbar{opacity:1;-webkit-transition:-webkit-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-moz-transition:-moz-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;-o-transition:-o-transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear;transition:transform .35s cubic-bezier(0,0,.25,1) 0s,opacity .35s cubic-bezier(0,0,.25,1) 0s,color .2s linear}.lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-object{-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);opacity:0;-webkit-transition:-webkit-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;transition:transform 250ms cubic-bezier(0,0,.25,1) 0s,opacity 250ms cubic-bezier(0,0,.25,1)!important;-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item.lg-complete .lg-object{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);opacity:1}.lg-outer .lg-thumb-outer{background-color:#0D0A0A;bottom:0;position:absolute;width:100%;z-index:1080;max-height:350px;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer.lg-thumb-open .lg-thumb-outer{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-thumb{padding:10px 0;height:100%;margin-bottom:-5px}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border:2px solid #FFF;border-radius:4px;margin-bottom:5px}@media (min-width:1025px){.lg-outer .lg-thumb-item{-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover}.lg-outer.lg-has-thumb .lg-item{padding-bottom:120px}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer.lg-pull-caption-up .lg-sub-html{-webkit-transition:bottom .25s ease;-o-transition:bottom .25s ease;transition:bottom .25s ease}.lg-outer.lg-pull-caption-up.lg-thumb-open .lg-sub-html{bottom:100px}.lg-outer .lg-toogle-thumb{background-color:#0D0A0A;border-radius:2px 2px 0 0;color:#999;cursor:pointer;font-size:24px;height:39px;line-height:27px;padding:5px 0;position:absolute;right:20px;text-align:center;top:-39px;width:50px;outline:0;border:none}.lg-outer .lg-toogle-thumb:after{content:"\e1ff"}.lg-outer .lg-toogle-thumb:hover{color:#FFF}.lg-outer .lg-video-cont{display:inline-block;vertical-align:middle;max-width:1140px;max-height:100%;width:100%;padding:0 5px}.lg-outer .lg-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}.lg-outer .lg-video .lg-object{display:inline-block;position:absolute;top:0;left:0;width:100%!important;height:100%!important}.lg-outer .lg-video .lg-video-play{width:84px;height:59px;position:absolute;left:50%;top:50%;margin-left:-42px;margin-top:-30px;z-index:1080;cursor:pointer}.lg-outer .lg-has-iframe .lg-video{-webkit-overflow-scrolling:touch;overflow:auto}.lg-outer .lg-has-vimeo .lg-video-play{background:url(../img/vimeo-play.png) no-repeat}.lg-outer .lg-has-vimeo:hover .lg-video-play{background:url(../img/vimeo-play.png) 0 -58px no-repeat}.lg-outer .lg-has-html5 .lg-video-play{background:url(../img/video-play.png) no-repeat;height:64px;margin-left:-32px;margin-top:-32px;width:64px;opacity:.8}.lg-outer .lg-has-html5:hover .lg-video-play{opacity:1}.lg-outer .lg-has-youtube .lg-video-play{background:url(../img/youtube-play.png) no-repeat}.lg-outer .lg-has-youtube:hover .lg-video-play{background:url(../img/youtube-play.png) 0 -60px no-repeat}.lg-outer .lg-video-object{width:100%!important;height:100%!important;position:absolute;top:0;left:0}.lg-outer .lg-has-video .lg-video-object{visibility:hidden}.lg-outer .lg-has-video.lg-video-playing .lg-object,.lg-outer .lg-has-video.lg-video-playing .lg-video-play{display:none}.lg-outer .lg-has-video.lg-video-playing .lg-video-object{visibility:visible}.lg-progress-bar{background-color:#333;height:5px;left:0;position:absolute;top:0;width:100%;z-index:1083;opacity:0;-webkit-transition:opacity 80ms ease 0s;-moz-transition:opacity 80ms ease 0s;-o-transition:opacity 80ms ease 0s;transition:opacity 80ms ease 0s}.lg-progress-bar .lg-progress{background-color:#a90707;height:5px;width:0}.lg-progress-bar.lg-start .lg-progress{width:100%}.lg-show-autoplay .lg-progress-bar{opacity:1}.lg-autoplay-button:after{content:"\e01d"}.lg-show-autoplay .lg-autoplay-button:after{content:"\e01a"}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition-duration:0s;transition-duration:0s}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s;transition:transform .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer.lg-use-left-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-moz-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;-o-transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s;transition:left .3s cubic-bezier(0,0,.25,1) 0s,top .3s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1);-webkit-transition:-webkit-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-moz-transition:-moz-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-o-transition:-o-transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;transition:transform .3s cubic-bezier(0,0,.25,1) 0s,opacity .15s!important;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}#lg-zoom-in:after{content:"\e311"}#lg-actual-size{font-size:20px}#lg-actual-size:after{content:"\e033"}#lg-zoom-out{opacity:.5;pointer-events:none}#lg-zoom-out:after{content:"\e312"}.lg-zoomed #lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer .lg-pager-outer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1080;height:10px}.lg-outer .lg-pager-outer.lg-pager-hover .lg-pager-cont{overflow:visible}.lg-outer .lg-pager-cont{cursor:pointer;display:inline-block;overflow:hidden;position:relative;vertical-align:top;margin:0 5px}.lg-outer .lg-pager-cont:hover .lg-pager-thumb-cont{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.lg-outer .lg-pager-cont.lg-pager-active .lg-pager{box-shadow:0 0 0 2px #fff inset}.lg-outer .lg-pager-thumb-cont{background-color:#fff;color:#FFF;bottom:100%;height:83px;left:0;margin-bottom:20px;margin-left:-60px;opacity:0;padding:5px;position:absolute;width:120px;border-radius:3px;-webkit-transition:opacity .15s ease 0s,-webkit-transform .15s ease 0s;-moz-transition:opacity .15s ease 0s,-moz-transform .15s ease 0s;-o-transition:opacity .15s ease 0s,-o-transform .15s ease 0s;transition:opacity .15s ease 0s,transform .15s ease 0s;-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}.lg-outer .lg-pager-thumb-cont img{width:100%;height:100%}.lg-outer .lg-pager{background-color:rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.7) inset;display:block;height:12px;-webkit-transition:box-shadow .3s ease 0s;-o-transition:box-shadow .3s ease 0s;transition:box-shadow .3s ease 0s;width:12px}.lg-outer .lg-pager:focus,.lg-outer .lg-pager:hover{box-shadow:0 0 0 8px #fff inset}.lg-outer .lg-caret{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px dashed;bottom:-10px;display:inline-block;height:0;left:50%;margin-left:-5px;position:absolute;vertical-align:middle;width:0}.lg-fullscreen:after{content:"\e20c"}.lg-fullscreen-on .lg-fullscreen:after{content:"\e20d"}.lg-outer #lg-dropdown-overlay{background-color:rgba(0,0,0,.25);bottom:0;cursor:default;left:0;position:fixed;right:0;top:0;z-index:1081;opacity:0;visibility:hidden;-webkit-transition:visibility 0s linear .18s,opacity .18s linear 0s;-o-transition:visibility 0s linear .18s,opacity .18s linear 0s;transition:visibility 0s linear .18s,opacity .18s linear 0s}.lg-outer.lg-dropdown-active #lg-dropdown-overlay,.lg-outer.lg-dropdown-active .lg-dropdown{-webkit-transition-delay:0s;transition-delay:0s;-moz-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;visibility:visible}.lg-outer.lg-dropdown-active #lg-share{color:#FFF}.lg-outer .lg-dropdown{background-color:#fff;border-radius:2px;font-size:14px;list-style-type:none;margin:0;padding:10px 0;position:absolute;right:0;text-align:left;top:50px;opacity:0;visibility:hidden;-moz-transform:translate3d(0,5px,0);-o-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0);-webkit-transition:-webkit-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-moz-transition:-moz-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;-o-transition:-o-transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s;transition:transform .18s linear 0s,visibility 0s linear .5s,opacity .18s linear 0s}.lg-outer .lg-dropdown:after{content:"";display:block;height:0;width:0;position:absolute;border:8px solid transparent;border-bottom-color:#FFF;right:16px;top:-16px}.lg-outer .lg-dropdown>li:last-child{margin-bottom:0}.lg-outer .lg-dropdown>li:hover .lg-icon,.lg-outer .lg-dropdown>li:hover a{color:#333}.lg-outer .lg-dropdown a{color:#333;display:block;white-space:pre;padding:4px 12px;font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}.lg-outer .lg-dropdown a:hover{background-color:rgba(0,0,0,.07)}.lg-outer .lg-dropdown .lg-dropdown-text{display:inline-block;line-height:1;margin-top:-3px;vertical-align:middle}.lg-outer .lg-dropdown .lg-icon{color:#333;display:inline-block;float:none;font-size:20px;height:auto;line-height:1;margin-right:8px;padding:0;vertical-align:middle;width:auto}.lg-outer,.lg-outer .lg,.lg-outer .lg-inner{height:100%;width:100%}.lg-outer #lg-share{position:relative}.lg-outer #lg-share:after{content:"\e80d"}.lg-outer #lg-share-facebook .lg-icon{color:#3b5998}.lg-outer #lg-share-facebook .lg-icon:after{content:"\e904"}.lg-outer #lg-share-twitter .lg-icon{color:#00aced}.lg-outer #lg-share-twitter .lg-icon:after{content:"\e907"}.lg-outer #lg-share-googleplus .lg-icon{color:#dd4b39}.lg-outer #lg-share-googleplus .lg-icon:after{content:"\e905"}.lg-outer #lg-share-pinterest .lg-icon{color:#cb2027}.lg-outer #lg-share-pinterest .lg-icon:after{content:"\e906"}.lg-outer .lg-img-rotate{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0;-webkit-transition:-webkit-transform .3s cubic-bezier(.32,0,.67,0) 0s;-moz-transition:-moz-transform .3s cubic-bezier(.32,0,.67,0) 0s;-o-transition:-o-transform .3s cubic-bezier(.32,0,.67,0) 0s;transition:transform .3s cubic-bezier(.32,0,.67,0) 0s}.lg-rotate-left:after{content:"\e900"}.lg-rotate-right:after{content:"\e901"}.lg-icon.lg-flip-hor,.lg-icon.lg-flip-ver{font-size:26px}.lg-flip-ver:after{content:"\e903"}.lg-flip-hor:after{content:"\e902"}.lg-group:after{content:"";display:table;clear:both}.lg-outer{position:fixed;top:0;left:0;z-index:1050;text-align:left;opacity:0;outline:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item.lg-current,.lg-outer.lg-css3 .lg-item.lg-next-slide,.lg-outer.lg-css3 .lg-item.lg-prev-slide{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-current,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg{position:relative;overflow:hidden;margin-left:auto;margin-right:auto;max-width:100%;max-height:100%}.lg-outer .lg-inner{position:absolute;left:0;top:0;white-space:nowrap}.lg-outer .lg-item{background:url(../img/loading.gif) center center no-repeat;display:none!important}.lg-outer.lg-css .lg-current,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css3 .lg-prev-slide{display:inline-block!important}.lg-outer .lg-img-wrap,.lg-outer .lg-item{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-img-wrap:before,.lg-outer .lg-item:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}.lg-outer .lg-img-wrap{position:absolute;padding:0 5px;left:0;right:0;top:0;bottom:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-image{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto!important;height:auto!important}.lg-outer.lg-show-after-load .lg-item .lg-object,.lg-outer.lg-show-after-load .lg-item .lg-video-play{opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-object,.lg-outer.lg-show-after-load .lg-item.lg-complete .lg-video-play{opacity:1}.lg-outer .lg-empty-html,.lg-outer.lg-hide-download #lg-download{display:none}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-current,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-prev-slide{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item,.lg-css3.lg-use-left .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-current,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-prev-slide{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-css3.lg-slide.lg-use-left .lg-item{opacity:0;position:absolute;left:0}.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{left:-100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide{left:100%}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current{left:0;opacity:1}.lg-css3.lg-slide.lg-use-left .lg-item.lg-current,.lg-css3.lg-slide.lg-use-left .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-left .lg-item.lg-prev-slide{-webkit-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:left 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}

/* ==========================================================================
   核心对话框 / 提示条兜底（WellCMS Dialog）
   核心 app/views/js/main.js 的弹窗用 Tailwind 原子类构建（fixed inset-0 / rounded-2xl …）。
   详情页等已按需引入 app/views/css/tailwind.min.css（body.has-tailwind），
   其余页面（首页、栏目、专题、作者、友链…）若不引入，弹窗会失去遮罩与定位；
   这里用 ID/结构选择器补一套等价外观，只在「未加载 Tailwind」的页面生效，不干扰主题排版。
   ========================================================================== */
body:not(.has-tailwind) #wellcms-global-dialog { position: fixed; inset: 0; z-index: 1080; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-backdrop {
    position: fixed; inset: 0;
    background: rgba(17, 24, 39, .55);
    -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}
body:not(.has-tailwind) #wellcms-global-dialog > div:last-child {
    position: fixed; inset: 0; overflow-y: auto; z-index: 1081;
}
body:not(.has-tailwind) #wellcms-global-dialog > div:last-child > div {
    min-height: 100%; display: flex; align-items: center; justify-content: center;
    padding: 1rem; text-align: center;
}
body:not(.has-tailwind) #wellcms-global-dialog .glass-panel {
    position: relative; width: 100%;
    max-width: min(36rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    display: flex; flex-direction: column;
    background: #fff; color: #111827;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 1rem; overflow: hidden; text-align: left;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .3);
}
body:not(.has-tailwind) #wellcms-global-dialog .glass-panel > div:nth-of-type(1) {
    padding: 1.5rem 1.5rem 1rem; overflow-y: auto;
}
body:not(.has-tailwind) #wellcms-global-dialog .glass-panel > div:nth-of-type(2) {
    display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem;
    padding: .9rem 1.5rem; background: #f8fafc; border-top: 1px solid #eef1f5;
}
body:not(.has-tailwind) #wellcms-global-dialog #modal-title {
    margin: 0 0 1rem; font-size: 1.0625rem; line-height: 1.45; font-weight: 600;
    color: #111827; text-align: center;
}
body:not(.has-tailwind) #wellcms-global-dialog #modal-title + div {
    max-height: 65vh; overflow-y: auto; margin-top: .25rem;
    font-size: .9375rem; line-height: 1.75; color: #4b5563; word-break: break-word;
}
body:not(.has-tailwind) #wellcms-global-dialog #modal-title + div img { max-width: 100%; height: auto; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-close-x {
    position: absolute; top: .75rem; right: .75rem; z-index: 2;
    width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center;
    padding: 0; border: 0; border-radius: 999px; background: transparent;
    color: #9ca3af; cursor: pointer; line-height: 1;
}
body:not(.has-tailwind) #wellcms-global-dialog #dialog-close-x:hover { background: #f3f4f6; color: #4b5563; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-close-x svg { width: 1.25rem; height: 1.25rem; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-confirm-btn,
body:not(.has-tailwind) #wellcms-global-dialog #dialog-cancel-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 5.5rem; padding: .5rem 1.15rem; border-radius: .65rem;
    border: 1px solid transparent; font-size: .9375rem; font-weight: 500; line-height: 1.5;
    cursor: pointer; text-decoration: none; box-shadow: 0 1px 2px rgba(15, 23, 42, .06);
}
body:not(.has-tailwind) #wellcms-global-dialog #dialog-confirm-btn { background: #2563eb; color: #fff; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-confirm-btn:hover { background: #1d4ed8; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-cancel-btn { background: #fff; border-color: #d1d5db; color: #374151; }
body:not(.has-tailwind) #wellcms-global-dialog #dialog-cancel-btn:hover { background: #f9fafb; }
body:not(.has-tailwind) #wellcms-global-dialog .custom-scrollbar { scrollbar-width: thin; }

/* 深色（主题以 body[data-scheme] 切换，脚本同时给 html 加 .dark） */
html.dark body:not(.has-tailwind) #wellcms-global-dialog .glass-panel {
    background: #111827; color: #e5e7eb; border-color: rgba(255, 255, 255, .08);
}
html.dark body:not(.has-tailwind) #wellcms-global-dialog #modal-title { color: #f3f4f6; }
html.dark body:not(.has-tailwind) #wellcms-global-dialog #modal-title + div { color: #9ca3af; }
html.dark body:not(.has-tailwind) #wellcms-global-dialog .glass-panel > div:nth-of-type(2) {
    background: #1f2937; border-top-color: #374151;
}
html.dark body:not(.has-tailwind) #wellcms-global-dialog #dialog-cancel-btn {
    background: #1f2937; border-color: #4b5563; color: #e5e7eb;
}
html.dark body:not(.has-tailwind) #wellcms-global-dialog #dialog-cancel-btn:hover { background: #374151; }
html.dark body:not(.has-tailwind) #wellcms-global-dialog #dialog-close-x { color: #6b7280; }
html.dark body:not(.has-tailwind) #wellcms-global-dialog #dialog-close-x:hover { background: rgba(255, 255, 255, .1); color: #d1d5db; }

/* 轻提示条（toast）：核心用 Tailwind 定位，未加载时补右上角卡片样式 */
body:not(.has-tailwind) #wellcms-toast-container {
    position: fixed; top: 5rem; right: 1rem; z-index: 1090;
    display: flex; flex-direction: column; gap: .75rem; pointer-events: none;
}
body:not(.has-tailwind) #wellcms-toast-container > div {
    pointer-events: auto; display: flex; align-items: center;
    max-width: min(24rem, calc(100vw - 2rem));
    padding: .875rem 1rem; border-radius: .75rem;
    background: #fff; color: #1f2937; border: 1px solid #e5e7eb;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .16);
    font-size: .9rem; line-height: 1.5;
}
body:not(.has-tailwind) #wellcms-toast-container > div > svg {
    width: 1.25rem; height: 1.25rem; margin-right: .5rem; flex: none; color: #3b82f6;
}
html.dark body:not(.has-tailwind) #wellcms-toast-container > div {
    background: #1f2937; color: #f3f4f6; border-color: #374151;
}

/* ===== 点赞 / 收藏 状态（对齐插件 JS 的 aria-pressed 同步） =====
   插件脚本只切换 Tailwind 类名，主题改用 .is-liked/.active 驱动，视觉与原站一致。 */
.like-toggle.active span { color: #fff; }
.favorite-toggle span .solid { display: none; }
.favorite-toggle.active { color: #f5a623; border-color: rgba(245, 166, 35, .35); }
.favorite-toggle.active span .line { display: none; }
.favorite-toggle.active span .solid { display: inline-block; }

/* 评论点赞：默认灰、已赞红心实心 */
.comment-like-link { color: var(--color-muted) !important; }
.comment-like-link:hover { color: #ff0755 !important; }
.comment-like-link .icon-heart_fill { display: none; }
.comment-like-link.is-liked { color: #ff0755 !important; }
.comment-like-link.is-liked .icon-heart_line { display: none; }
.comment-like-link.is-liked .icon-heart_fill { display: inline-block; }

/* ===== 评论回复子列表页（主题自绘评论区） ===== */
.comment-form--plain { padding-left: 0; }
.comment-context { background: rgba(0, 0, 0, .02); }
[data-scheme="dark"] .comment-context { background: rgba(255, 255, 255, .03); }
.comment-context .comment { margin: 0; }
.comment-more-wrap { padding-left: 0; }
.comment-more { font-size: .8125rem; }
.comment-list .comment-empty { list-style: none; }
.comment-sub-list .comment .comment-body { margin: 0; }

/* ===== 错误页（404 / 403 / 500）：沿用原站 error-empty 版式 ===== */
.error-page .site-main { display: flex; align-items: center; }
.error-page .error-empty { width: 100%; }
.error-page .error-icon-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 7.5rem; height: 7.5rem; border-radius: 50%;
    background: var(--outline-primary, rgba(93, 134, 220, .12));
    color: var(--color-primary, #5d86dc); font-size: 3rem; line-height: 1;
}
.error-page .error-code {
    margin-top: 1.25rem; font-size: 4.5rem; line-height: 1;
    letter-spacing: .04em; color: var(--color-dark, #111827); opacity: .12;
}
.error-page .text-muted { margin-top: .5rem; }

/* ===== 列表「加载更多」追加加载态（与原站 loading-spinners 等效的轻量提示） ===== */
.posts-ajax-load.is-loading { pointer-events: none; }
.posts-ajax-load.is-loading a[data-load-more] { opacity: .5; }
.posts-ajax-load.is-loading::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: .5rem;
    vertical-align: -.15em;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    opacity: .5;
    animation: fjjk-spin .8s linear infinite;
}
@keyframes fjjk-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .posts-ajax-load.is-loading::after { animation: none; }
}

/* ===== 页头导航可见性（列表页/详情页导航"不显示"） =====
   根因：主题把一级菜单文字（.navbar-site>li>a 的 color:#fff）和右上角图标
   （.navbar-submenu .btn-link 的 --bs-btn-color:rgba(255,255,255,.5)）硬编码成白色，
   那是给首页 fixed-top 透明头部压在海报上用的。
   而列表页/详情页的头部是普通 .site-navbar，背景是 --bg-white（#fff），
   白字白底 → 站点名可见、整排导航与图标全隐形。
   这里只在「非 fixed-top、非滚动后黑底」的头部形态下复位为正文色；
   首页透明头部与滚动后的黑底头部继续用白字，不做任何改动。 */
.site-navbar:not(.fixed-top):not(.fixed) .navbar-site > li > a {
    color: var(--color-body, #495057);
    opacity: 1;
}
.site-navbar:not(.fixed-top):not(.fixed) .navbar-site > li:hover > a,
.site-navbar:not(.fixed-top):not(.fixed) .navbar-site > li.current-menu-item > a,
.site-navbar:not(.fixed-top):not(.fixed) .navbar-site > li.current-menu-parent > a {
    color: var(--color-primary);
    opacity: 1;
}
/* 下拉箭头在浅色头部下同样要跟着变深（主题默认 --border-secondary 已自适应，这里兜一层） */
.site-navbar:not(.fixed-top):not(.fixed) .navbar-site > li.menu-item-has-children > a:after {
    border-left-color: var(--border-secondary, #ced4da);
    border-bottom-color: var(--border-secondary, #ced4da);
}
.site-navbar:not(.fixed-top):not(.fixed) .navbar-submenu .btn-link {
    --bs-btn-color: var(--color-body, #495057);
    --bs-btn-hover-color: var(--color-primary);
    --bs-btn-active-color: var(--color-primary);
}

/* ===== 详情页 PC 端导航整排消失的真正原因 =====
   详情页（$needTailwind）会额外加载核心 /views/css/tailwind.min.css，
   里面是 Tailwind 的工具类，其中
       .collapse { visibility: collapse }
   正好命中 Bootstrap 的导航容器 <div class="collapse navbar-collapse">。
   visibility:collapse 让整块导航「占位但不可见」，与明暗模式无关，
   而首页/栏目页不加载 tailwind，所以只有详情页出问题（移动端导航走侧栏，看起来正常）。
   这里把导航块复位为可见；移动端仍由 Bootstrap 的 .collapse{display:none} 控制，不受影响。 */
.site-navbar .navbar-collapse { visibility: visible; }

/* ===== 首页分类 tab 切换（Cosy .index-ajax-menu 同款交互）=====
   切换过程中列表轻微降透明度，避免旧内容与加载状态打架；
   .loading-spinners 由主题原版 CSS 提供转圈动画，这里只控制它在列表下的间距。 */
[data-posts-list].is-switching {
    opacity: .35;
    pointer-events: none;
    transition: opacity .2s ease-in-out;
}
.site-main .loading-spinners { margin: 1.25rem auto; }

/* ===== 搜索页右栏去掉重复的搜索模块 =====
   搜索页顶部已有站内搜索框，右栏再放一个纯属重复。
   模板侧已在引入侧栏前设置 $sideShowSearch = false（与栏目页同一开关）；
   这里再加一条样式兜底：万一模板编译缓存未及时更新，模块也不会显示。 */
body.search .site-sidebar .widget_search { display: none !important; }

/* ===== 作者页「编辑资料 / 个人主页」按钮文字对比度修复 =====
   主题 .btn-light 默认：日间文字 var(--color-muted)=#808080 压在 #eaeaea 上（发白看不清），
   夜间文字 var(--color-light)=rgba(255,255,255,.3) 压在 #484849 上（太暗）。
   按明暗两套提高文字对比度，背景维持原设计。 */
.author-info .btn.btn-light { --bs-btn-color: #1c1c1c; }
body[data-scheme="dark"] .author-info .btn.btn-light { --bs-btn-color: rgba(255, 255, 255, .92); }
@media (prefers-color-scheme:dark) {
    body[data-scheme="auto"] .author-info .btn.btn-light { --bs-btn-color: rgba(255, 255, 255, .92); }
}

/* ===== 置顶徽标（列表页 / 首页卡片 / 首页头图） =====
   后台「置顶」生效后，卡片左上角显示「置顶」，与右上角的「精选」徽标错开位置；
   用主题辅助蓝，避免与橙色精选徽标抢注意力。 */
.badge-pin{position:absolute;left:8px;top:8px;z-index:2;color:#fff;background:linear-gradient(135deg,#3d7bfd,#1f5be0);box-shadow:0 2px 8px rgb(31 91 224 / 35%)}
.badge-pin + .badge-sticky{right:8px;top:8px}

/* ===== 首页头图「置顶」文字（蓝色字，压在标题前面） =====
   首页只在头图大卡标题前显示置顶；列表卡片与栏目版块不再显示置顶标识。
   头图上文字是白色，这里用亮蓝 + 轻微投影保证在浅色/深色配图上都看得清。 */
.pin-tag{display:inline-block;flex:none;margin-right:6px;padding:0;background:none;color:#4b8dff;font-size:13px;font-weight:600;line-height:1;letter-spacing:.5px;text-indent:0;vertical-align:2px;white-space:nowrap;box-shadow:none;text-shadow:0 1px 6px rgb(0 0 0 / 45%)}
.index-magazine .pin-tag{vertical-align:3px}
@media (max-width:575.98px){
    .pin-tag{margin-right:4px;font-size:12px}
}
